2023-10-27 17:11 청소년 강사 배정 작업

This commit is contained in:
myname 2023-10-27 17:11:58 +09:00
parent fdcb89d7c7
commit 234ddb5d74
24 changed files with 1811 additions and 888 deletions

View File

@ -46,7 +46,16 @@ public interface VEAStngMixService {
//vea_lctr_psbl_prd_stng - 해당 회차의 신청 가능한 기간일지 체크
String selectEduGetStngYrToStr(VEAStngVO vEAStngVO) throws Exception;
//VEA_INSTR_ASGNM_CNDTN - 강사배정조건
//강의가능기간 일정 데이터 - 강의가능기간 세부 선택 데이터
List<VEAStngVO> selectList_VEAIAC_1(VEAStngVO paramVO) throws Exception; // LIST
//VEA_INSTR_RSDNC_RATIO - 강사주거지비율
List<VEAStngVO> selectList_VEAIRR_1(VEAStngVO paramVO) throws Exception; // LIST
//VEA_INSTR_MNT_TM - 강사월별시수
List<VEAStngVO> selectList_VEAIMT_1(VEAStngVO paramVO) throws Exception; // LIST
//VEA_INSTR_MNT_TM - 강사월별시수
int selectList_VEAIMT_2(VEAStngVO paramVO) throws Exception; // LIST
}

View File

@ -89,6 +89,10 @@ public class VEAStngVO extends ComDefaultVO implements Serializable {
private String instrEa1; //해당월 1일강사수
private String instrTm1; //해당월 1일강사인당시간
private String asgnmChasi1; //해당월 1일강사배정총차시
private String instrEa0; //해당월 0일강사수
private String instrTm0; //해당월 0일강사인당시간
private String asgnmChasi0; //해당월 0일강사배정총차시
//etc
private String code; //설정 년도
@ -573,5 +577,23 @@ public class VEAStngVO extends ComDefaultVO implements Serializable {
public void setAsgnmNm(String asgnmNm) {
this.asgnmNm = asgnmNm;
}
public String getInstrEa0() {
return instrEa0;
}
public void setInstrEa0(String instrEa0) {
this.instrEa0 = instrEa0;
}
public String getInstrTm0() {
return instrTm0;
}
public void setInstrTm0(String instrTm0) {
this.instrTm0 = instrTm0;
}
public String getAsgnmChasi0() {
return asgnmChasi0;
}
public void setAsgnmChasi0(String asgnmChasi0) {
this.asgnmChasi0 = asgnmChasi0;
}
}

View File

@ -78,5 +78,20 @@ public class VEAStngMixDAO extends EgovAbstractDAO {
List<VEAStngVO> tlist = (List<VEAStngVO>) list("VEAAsgnmStngMixDAO.selectList_VEAIAC_1", paramVO);
return tlist;
}
//L
public List<VEAStngVO> selectList_VEAIRR_1(VEAStngVO paramVO) throws Exception {
List<VEAStngVO> tlist = (List<VEAStngVO>) list("VEAAsgnmStngMixDAO.selectList_VEAIRR_1", paramVO);
return tlist;
}
//L
public List<VEAStngVO> selectList_VEAIMT_1(VEAStngVO paramVO) throws Exception {
List<VEAStngVO> tlist = (List<VEAStngVO>) list("VEAAsgnmStngMixDAO.selectList_VEAIMT_1", paramVO);
return tlist;
}
public int selectList_VEAIMT_2(VEAStngVO paramVO) throws Exception {
return (int) select("VEAAsgnmStngMixDAO.selectList_VEAIMT_2", paramVO);
}
}

View File

@ -290,4 +290,16 @@ public class VEAStngMixServiceImpl implements VEAStngMixService {
public List<VEAStngVO> selectList_VEAIAC_1(VEAStngVO paramVO) throws Exception{
return vEAStngMixDAO.selectList_VEAIAC_1(paramVO);
}
public List<VEAStngVO> selectList_VEAIRR_1(VEAStngVO paramVO) throws Exception{
return vEAStngMixDAO.selectList_VEAIRR_1(paramVO);
}
public List<VEAStngVO> selectList_VEAIMT_1(VEAStngVO paramVO) throws Exception{
return vEAStngMixDAO.selectList_VEAIMT_1(paramVO);
}
public int selectList_VEAIMT_2(VEAStngVO paramVO) throws Exception{
return vEAStngMixDAO.selectList_VEAIMT_2(paramVO);
}
}

View File

@ -24,6 +24,8 @@ public interface VEEduMIXService {
List<VEEduAplctVO> selectTngrRsltPagingList(VEEduAplctVO paramVO) throws Exception;
List<VEEduAplctVO> selectTngrRsltList(VEEduAplctVO paramVO) throws Exception;
List<VEEduAplctVO> selectTngrFeePagingList(VEEduAplctVO paramVO) throws Exception;
List<VEEduAplctVO> selectTngrRsltPagingList4Excel(VEEduAplctVO paramVO) throws Exception;

View File

@ -62,6 +62,12 @@ public class VEEduMIXDAO extends EgovAbstractDAO {
return tlist;
}
public List<VEEduAplctVO> selectTngrRsltList(VEEduAplctVO paramVO) {
@SuppressWarnings("unchecked")
List<VEEduAplctVO> tlist = (List<VEEduAplctVO>) list("VEEduMIXDAO.selectTngrRsltList", paramVO);
return tlist;
}
public List<VEEduAplctVO> selectTngrFeePagingList(VEEduAplctVO paramVO) {
@SuppressWarnings("unchecked")
List<VEEduAplctVO> tlist = (List<VEEduAplctVO>) list("VEEduMIXDAO.selectTngrFeePagingList", paramVO);

View File

@ -55,6 +55,11 @@ public class VEEduMIXServiceImpl implements VEEduMIXService {
return vEEduMIXDAO.selectTngrRsltPagingList(paramVO);
}
@Override
public List<VEEduAplctVO> selectTngrRsltList(VEEduAplctVO paramVO) throws Exception{
return vEEduMIXDAO.selectTngrRsltList(paramVO);
}
@Override
public List<VEEduAplctVO> selectTngrFeePagingList(VEEduAplctVO paramVO) throws Exception{
return vEEduMIXDAO.selectTngrFeePagingList(paramVO);

View File

@ -162,6 +162,13 @@ public class VEInstrDetailVO extends ComDefaultVO implements Serializable {
private String sigMemo; // 특이사항 메모
private String day5cnt;
private String day4cnt;
private String day3cnt;
private String day2cnt;
private String day1cnt;
private String day0cnt;
public String getLrnTmSum() {
return lrnTmSum;
}
@ -810,5 +817,41 @@ public class VEInstrDetailVO extends ComDefaultVO implements Serializable {
public void setRprtScore(String rprtScore) {
this.rprtScore = rprtScore;
}
public String getDay5cnt() {
return day5cnt;
}
public void setDay5cnt(String day5cnt) {
this.day5cnt = day5cnt;
}
public String getDay4cnt() {
return day4cnt;
}
public void setDay4cnt(String day4cnt) {
this.day4cnt = day4cnt;
}
public String getDay3cnt() {
return day3cnt;
}
public void setDay3cnt(String day3cnt) {
this.day3cnt = day3cnt;
}
public String getDay2cnt() {
return day2cnt;
}
public void setDay2cnt(String day2cnt) {
this.day2cnt = day2cnt;
}
public String getDay1cnt() {
return day1cnt;
}
public void setDay1cnt(String day1cnt) {
this.day1cnt = day1cnt;
}
public String getDay0cnt() {
return day0cnt;
}
public void setDay0cnt(String day0cnt) {
this.day0cnt = day0cnt;
}
}

View File

@ -37,6 +37,12 @@ public interface VEInstrMixService {
//L page (강사디테일 믹스)
List<VEInstrDetailVO> selectPagingDetailList(VEInstrDetailVO vEInstrDetailVO) throws Exception;
//L page (강사디테일 믹스)
List<VEInstrDetailVO> selectPagingDetailList4Asgnm(VEInstrDetailVO vEInstrDetailVO) throws Exception;
//L (특정강사배정용리스트)
List<VEInstrDetailVO> selectDetailList(VEInstrDetailVO vEInstrDetailVO) throws Exception;
//R (강사 디테일 수정요청)
VEInstrDetailVO selectMdfyRqstDetail(VEInstrDetailVO vEInstrDetailVO) throws Exception;

View File

@ -85,6 +85,16 @@ public class VEInstrMixDAO extends EgovAbstractDAO {
return tlist;
}
public List<VEInstrDetailVO> selectPagingDetailList4Asgnm(VEInstrDetailVO vEInstrDetailVO) throws Exception {
List<VEInstrDetailVO> tlist = (List<VEInstrDetailVO>) list("VEInstrMixDAO.selectPagingDetailList4Asgnm", vEInstrDetailVO);
return tlist;
}
public List<VEInstrDetailVO> selectDetailList(VEInstrDetailVO vEInstrDetailVO) throws Exception {
List<VEInstrDetailVO> tlist = (List<VEInstrDetailVO>) list("VEInstrMixDAO.selectDetailList", vEInstrDetailVO);
return tlist;
}
/**
* 상세보기 - R
* @param VEInstrDetailVO

View File

@ -66,7 +66,17 @@ public class VEInstrMixServiceImpl implements VEInstrMixService {
public List<VEInstrDetailVO> selectPagingDetailList(VEInstrDetailVO vEInstrDetailVO) throws Exception{
return vEInstrMixDAO.selectPagingDetailList(vEInstrDetailVO);
}
//paging List
public List<VEInstrDetailVO> selectPagingDetailList4Asgnm(VEInstrDetailVO vEInstrDetailVO) throws Exception{
return vEInstrMixDAO.selectPagingDetailList4Asgnm(vEInstrDetailVO);
}
//List
public List<VEInstrDetailVO> selectDetailList(VEInstrDetailVO vEInstrDetailVO) throws Exception{
return vEInstrMixDAO.selectDetailList(vEInstrDetailVO);
}
//R
public VEInstrDetailVO selectMdfyRqstDetail(VEInstrDetailVO vEInstrDetailVO) throws Exception {
return vEInstrMixDAO.selectMdfyRqstDetail(vEInstrDetailVO);

View File

@ -745,6 +745,72 @@ public class EduCnfrmMngTngrController {
}
/**
* 강사배정 등록 처리
*/
@RequestMapping("popup/instrAsgnmForceAjax.do")
public ModelAndView instrAsgnmAjaxinstrAsgnmForceAjax(
@ModelAttribute("vEInstrAsgnmVO") VEInstrAsgnmVO vEInstrAsgnmVO
, ModelMap model
//, RedirectAttributes redirectAttributes
, HttpServletRequest request
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 처리====================================
//로그인 정보 가져오기
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
if (!"".equals(s_oprtnLoginCheckNInfo)) {
modelAndView.addObject("result", "loginFail");
return modelAndView;
}
//로그인 처리====================================
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
// 강사배정 테이블에 강사료 정보 update
try {
if("".equals(vEInstrAsgnmVO.getAsgnmAprvlCd()) || "10".equals(vEInstrAsgnmVO.getAsgnmAprvlCd())) {
//현재 상태값 없이 강사 최초 배치이거나, 상태가 요청대기인 경우는 요청대기 상태로 set
vEInstrAsgnmVO.setAsgnmAprvlCd("10");
} else if ("50".equals(vEInstrAsgnmVO.getAsgnmAprvlCd()) || "60".equals(vEInstrAsgnmVO.getAsgnmAprvlCd())) {
//추가신청 강사 선정 , 내역테이블의 해당 강사 선정확정, 나머지 강사 선정 제외 상태로 set
if("50".equals(vEInstrAsgnmVO.getAsgnmAprvlCd())) {
vEEduChasiInstrAsgnmService.updateAsgnmY(vEInstrAsgnmVO);
vEEduChasiInstrAsgnmService.updateAsgnmN(vEInstrAsgnmVO);
}
//현재 상태값이 추가신청이거나, 변경요청 상태인 경우SMS 교육확정 상태로 set
vEInstrAsgnmVO.setAsgnmAprvlCd("30");
}
//선택한 강사 데이터 등록 처리
vEInstrAsgnmVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
//// 데이터 있으면 update, 없으면 insert 처리(MERGE)
String[] a_aplct_chasi = vEInstrAsgnmVO.getEduAplctOrd().split("__");
for (int i=0;i<a_aplct_chasi.length;i++) {
String[] a_str = a_aplct_chasi[i].split("@");
if (a_str.length==2) {
vEInstrAsgnmVO.setEduAplctOrd(a_str[0]);
vEInstrAsgnmVO.setEduChasiOrd(a_str[1]);
vEEduChasiInstrAsgnmService.insert(vEInstrAsgnmVO);
}
}
} catch (Exception ex) {
ex.printStackTrace();
}
modelAndView.addObject("result", "success");
return modelAndView;
}
/**
* 강사배정 등록 처리 - 이전에 동일 학교 여부 체크
*/

View File

@ -17,11 +17,14 @@ import org.springframework.web.servlet.ModelAndView;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import kcc.com.cmm.ComDefaultVO;
import kcc.com.cmm.LoginVO;
import kcc.com.cmm.service.CmmnDetailCode;
import kcc.com.cmm.service.EgovCmmUseService;
import kcc.com.cmm.service.EgovFileMngService;
import kcc.com.cmm.service.EgovFileMngUtil;
import kcc.com.cmm.util.StringUtil;
import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.let.sym.ccm.cde.service.CmmnDetailCodeVO;
import kcc.let.sym.ccm.cde.service.EgovCcmCmmnDetailCodeManageService;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.let.utl.fcc.service.VEPagingUtil;
import kcc.ve.adv.tngr.stngInfo.service.VEAStngMixService;
@ -153,7 +156,8 @@ public class NewEduCnfrmMngTngrController {
@Resource(name = "vEAStngMixService")
private VEAStngMixService vEAStngMixService;
@Resource(name = "CmmnDetailCodeManageService")
private EgovCcmCmmnDetailCodeManageService cmmnDetailCodeManageService;
/**
@ -169,6 +173,9 @@ public class NewEduCnfrmMngTngrController {
, HttpServletRequest request
) throws Exception {
System.out.println("vEEduAplctVO.getEduAplctOrd()");
System.out.println(vEEduAplctVO.getEduAplctOrd());
//로그인 처리====================================
//로그인 정보 가져오기
@ -183,11 +190,11 @@ public class NewEduCnfrmMngTngrController {
//System.out.println(vEEduAplctVO.getEduSlctCd()); //10-온라인, 20-오프라인
//1.pageing step1
PaginationInfo paginationInfo = this.setPagingStep1(vEInstrDetailVO);
//PaginationInfo paginationInfo = this.setPagingStep1(vEInstrDetailVO);
//2. pageing step2
vEInstrDetailVO = this.setPagingStep2(vEInstrDetailVO, paginationInfo);
//vEInstrDetailVO = this.setPagingStep2(vEInstrDetailVO, paginationInfo);
//3. SelectPagingListQuery set 조건 설정
String selectCondition = new String();
@ -222,25 +229,24 @@ public class NewEduCnfrmMngTngrController {
vEInstrDetailVO.setInstrDiv("10");
vEInstrDetailVO.setSelectPagingListQuery(selectCondition);
List<VEInstrDetailVO> vEInstrDetailVOList = vEInstrMixService.selectPagingDetailList(vEInstrDetailVO);
vEInstrDetailVO.setInstrNm(egovCryptoUtil.encrypt(vEInstrDetailVO.getInstrNm()));
List<VEInstrDetailVO> vEInstrDetailVOList = vEInstrMixService.selectDetailList(vEInstrDetailVO);
vEInstrDetailVOList = egovCryptoUtil.decryptVEInstrDetailVOList(vEInstrDetailVOList);
//4.pageing step3
paginationInfo = this.setPagingStep3(vEInstrDetailVOList, paginationInfo);
model.addAttribute("paginationInfo", paginationInfo);
//대상 리스트, 페이징 정보 전달
model.addAttribute("resultList", vEInstrDetailVOList);
//배치 목록
//교육 목록
//1.pageing step1
PaginationInfo paginationInfo1 = this.setPagingStep_1(vEEduAplctVO);
//PaginationInfo paginationInfo1 = this.setPagingStep_1(vEEduAplctVO);
//2. pageing step2
vEEduAplctVO = this.setPagingStep_2(vEEduAplctVO, paginationInfo1);
//vEEduAplctVO = this.setPagingStep_2(vEEduAplctVO, paginationInfo1);
vEEduAplctVO.setInstrDiv("10"); //청소년
vEEduAplctVO.setLctrDivCd("10"); //청소년강의
vEEduAplctVO.setAprvlCd("60"); //확정코드
@ -251,7 +257,7 @@ public class NewEduCnfrmMngTngrController {
vEEduAplctVO.setAprvlCd("60"); //확정코드
List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectTngrRsltPagingList(vEEduAplctVO);
List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectTngrRsltList(vEEduAplctVO);
VEEduAplctVO vo = new VEEduAplctVO();
for(int i=0; i < vEEduAplctVOList.size(); i++) {
vo = egovCryptoUtil.decryptVEEduAplctVOInfo(vEEduAplctVOList.get(i));
@ -260,9 +266,9 @@ public class NewEduCnfrmMngTngrController {
}
//3.pageing step3
paginationInfo1 = this.setPagingStep_3(vEEduAplctVOList, paginationInfo1);
//paginationInfo1 = this.setPagingStep_3(vEEduAplctVOList, paginationInfo1);
model.addAttribute("paginationInfo1", paginationInfo1);
//model.addAttribute("paginationInfo1", paginationInfo1);
model.addAttribute("cryptoUtil", egovCryptoUtil);
//대상 리스트, 페이징 정보 전달
@ -299,7 +305,7 @@ public class NewEduCnfrmMngTngrController {
//vEEduAplctVO = vEEduAplctService.selectDetail(vEEduAplctVO);
//System.out.println(vEEduAplctVO.getEduSlctCd()); //10-온라인, 20-오프라인
//a
//강사배정조건대상 가져오기
VEAStngVO vEAStngVO = new VEAStngVO();
vEAStngVO.setCode("VEA007");
vEAStngVO.setUseYn("Y");
@ -336,56 +342,36 @@ public class NewEduCnfrmMngTngrController {
//로그인 처리====================================
System.out.println("request.getParameter(10)");
System.out.println(request.getParameter("10"));
System.out.println(request.getParameter("20"));
System.out.println(request.getParameter("30"));
String s_ret = "";
//기존에 강사 배정이 안된 차시에 대해서만 자동 배정 조건에 따라서 강사 배정을 한다.
//step0.소속 차시 정보 가져오기
//step1.온오프라인 여부 확인
//step2.대상 리스트 가져오기
//step3.없으면 저장하고, 있으면 skip
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
VEAStngVO vEAStngVO = new VEAStngVO();
vEAStngVO.setFrstRegisterId(loginVO.getUniqId());
//code-10
vEAStngVO.setAsgnmCd("10");
vEAStngVO.setUseYn(request.getParameter("10"));
int i_ret = vEAStngService.update_VEAIAC(vEAStngVO);
//작성자 정보
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
vEAStngVO.setFrstRegisterId(loginVO.getUniqId());
//강사배정조건 대상 코드 가져오기
CmmnDetailCodeVO searchVO = new CmmnDetailCodeVO();
searchVO.setCodeId("VEA007");
searchVO.setOrderByQuery(" CODE_NM ASC ");
List<CmmnDetailCode> rList = (List<CmmnDetailCode>)cmmnDetailCodeManageService.selectCmmnDetailCodeDetailListWithCode(searchVO);
//강사배정조건 대상 코드 저장하기
for (int i=0;i<rList.size();i++) {
CmmnDetailCode tDetailCode = rList.get(i);
String s_code = tDetailCode.getCode();
//code-10
vEAStngVO.setAsgnmCd(s_code);
vEAStngVO.setUseYn(request.getParameter(s_code));
int i_ret = vEAStngService.update_VEAIAC(vEAStngVO);
if (i_ret<=0) {
s_ret = "fail";
}
}
if (i_ret<=0) {
modelAndView.addObject("result", "fail");
return modelAndView;
}
//code-20
vEAStngVO.setAsgnmCd("20");
vEAStngVO.setUseYn(request.getParameter("20"));
i_ret = vEAStngService.update_VEAIAC(vEAStngVO);
if (i_ret<=0) {
modelAndView.addObject("result", "fail");
return modelAndView;
}
//code-30
vEAStngVO.setAsgnmCd("30");
vEAStngVO.setUseYn(request.getParameter("30"));
i_ret = vEAStngService.update_VEAIAC(vEAStngVO);
if (i_ret<=0) {
modelAndView.addObject("result", "fail");
return modelAndView;
}
//modelAndView.addObject("rsCnt", rs);
modelAndView.addObject("result", "success");
return modelAndView;
@ -404,108 +390,237 @@ public class NewEduCnfrmMngTngrController {
, HttpServletRequest request
) throws Exception {
//기준년도가 없으면 최종 신청년도가 속한 회차의 년도를 기본값으로 가져온다. // 없으면 올해가 기본
{
if ("".equals(vEEduAplctVO.getStngYr()) || vEEduAplctVO.getStngYr()==null) {
VEAStngVO vEAStngVO = new VEAStngVO();
String s_stngYr = vEAStngMixService.selectEduGetStngYrToStr(vEAStngVO);
vEEduAplctVO.setStngYr(s_stngYr);
}
}
//강사 월별 시수 계산 가져오기
VEAStngVO vEAStngVO = new VEAStngVO();
vEAStngVO.setYr(vEEduAplctVO.getStngYr()); //기준년도
List<VEAStngVO> asgnmStngVOList = vEAStngMixService.selectList_VEAIMT_1(vEAStngVO);
//대상 리스트, 페이징 정보 전달
model.addAttribute("asgnmStngVOList", asgnmStngVOList);
return "oprtn/tngrVisitEdu/popup/instrMntTmMngPopup";
}
/**
* 강사 월별 시수계산
* fncSpcfcInstrAsgnmInfo
*/
@RequestMapping("popup/instrMntTmMngPopupAjax.do")
public ModelAndView instrMntTmMngPopupAjax(ModelMap model
, HttpServletRequest request
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 처리====================================
//로그인 정보 가져오기
//로그인 정보 가져오기
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
if (!"".equals(s_oprtnLoginCheckNInfo)) {
modelAndView.addObject("result", "fail");
return modelAndView;
}
//String s_userCheckNInfo = checkLoginUtil.userCheckNInfo(model, request);
//if (!"".equals(s_userCheckNInfo)) return s_userCheckNInfo;
//로그인 처리====================================
//로그인 처리====================================
//0.pageing step0
//온라인 오프라인 여부 확인
//배치대상신청정보
//vEEduAplctVO = vEEduAplctService.selectDetail(vEEduAplctVO);
//System.out.println(vEEduAplctVO.getEduSlctCd()); //10-온라인, 20-오프라인
//step1.현재 일별 강사수 확인#1
//step2.총합 계산
//step3.1일당 비율 계산
//step4.일별 차시 확인#3
//step5.일별 총합 차시 계산#2
//1.pageing step1
PaginationInfo paginationInfo = this.setPagingStep1(vEInstrDetailVO);
//2. pageing step2
vEInstrDetailVO = this.setPagingStep2(vEInstrDetailVO, paginationInfo);
//3. SelectPagingListQuery set 조건 설정
String selectCondition = new String();
//3.1 제출 완료 사용중인 데이터 조회
selectCondition += "AND a0.sbmt_yn='Y' AND a0.use_yn = 'Y'";
//3.2 강사 테이블 성인강사여부 Y인것만 조회
//selectCondition += "AND (b0.tngr_instr_yn ='Y' OR a0.qlfct_end_yn = 'Y') ";
//3.3 이름 검색
if(StringUtil.isNotEmpty(vEInstrDetailVO.getSearchKeyword())){
//이름 암호화 - comDefaultVO 검색단어 공통 암호화
ComDefaultVO comDefaultVO = new ComDefaultVO();
comDefaultVO.setSearchKeyword(vEInstrDetailVO.getSearchKeyword());
comDefaultVO = egovCryptoUtil.encryptComDefaultVO(comDefaultVO);
vEInstrDetailVO.setSearchKeyword(comDefaultVO.getSearchKeyword());
//selectCondition += "AND a.instr_nm LIKE CONCAT ('%', '" +vEInstrDetailVO.getSearchKeyword() + "', '%')";
selectCondition += "AND a0.instr_nm LIKE '%'||'" +vEInstrDetailVO.getSearchKeyword() + "'||'%'";
comDefaultVO = egovCryptoUtil.decryptComDefaultVO(comDefaultVO);
vEInstrDetailVO.setSearchKeyword(comDefaultVO.getSearchKeyword());
}
//3.4 요청일 시작일 검색
/*if(StringUtil.isNotEmpty(vEInstrDetailVO.getSearchStartDt())){
selectCondition += "AND TO_CHAR(a.sbmt_pnttm, 'YYYYMMDD') >= REPLACE('"+vEInstrDetailVO.getSearchStartDt()+"', '.', '')";
}
//3.5 요청일 종료일 검색
if(StringUtil.isNotEmpty(vEInstrDetailVO.getSearchEndDt())){
selectCondition += "AND TO_CHAR(a.sbmt_pnttm, 'YYYYMMDD') <= REPLACE('"+vEInstrDetailVO.getSearchEndDt()+"', '.', '')";
}*/
String s_yrMnt = request.getParameter("yrMnt");
String s_stngYr = request.getParameter("stngYr");
//#1
VEInstrDetailVO vEInstrDetailVO4 = null; //일별강사수 정보 - #1
int i_rate_ttl = 0; //비율 총합
int i_chasiCnfrmCnt = 0; //교육확정차시
int i_rate_day = 0; //일당 차시수
//#2일별 차시
int i_tm5Ttl = 0;
int i_tm4Ttl = 0;
int i_tm3Ttl = 0;
int i_tm2Ttl = 0;
int i_tm1Ttl = 0;
int i_tm0Ttl = 0;
//#3일별 강사 시간
int i_tm5 = 0;
int i_tm4 = 0;
int i_tm3 = 0;
int i_tm2 = 0;
int i_tm1 = 0;
int i_tm0 = 0;
//step1.현재 일별 강사수 확인#1
//정보변경 요청사항 있는 강사부터 조회
VEInstrDetailVO vEInstrDetailVO = new VEInstrDetailVO();
//3. SelectPagingListQuery set 조건 설정
String selectCondition = new String();
//3.1 제출 완료 사용중인 데이터 조회
selectCondition += "AND a0.sbmt_yn='Y' AND a0.use_yn = 'Y'";
vEInstrDetailVO.setOrderByQuery(" rqstCnt DESC ");
vEInstrDetailVO.setInstrDiv("10");
vEInstrDetailVO.setSelectPagingListQuery(selectCondition);
vEInstrDetailVO.setSearchQlfctEndYn("N");
List<VEInstrDetailVO> vEInstrDetailVOList = vEInstrMixService.selectPagingDetailList(vEInstrDetailVO);
vEInstrDetailVOList = egovCryptoUtil.decryptVEInstrDetailVOList(vEInstrDetailVOList);
//4.pageing step3
paginationInfo = this.setPagingStep3(vEInstrDetailVOList, paginationInfo);
model.addAttribute("paginationInfo", paginationInfo);
//대상 리스트, 페이징 정보 전달
model.addAttribute("resultList", vEInstrDetailVOList);
List<VEInstrDetailVO> vEInstrDetailVOList = vEInstrMixService.selectPagingDetailList4Asgnm(vEInstrDetailVO);
//배치 목록
//1.pageing step1
PaginationInfo paginationInfo1 = this.setPagingStep_1(vEEduAplctVO);
//2. pageing step2
vEEduAplctVO = this.setPagingStep_2(vEEduAplctVO, paginationInfo1);
vEEduAplctVO.setInstrDiv("10"); //청소년
vEEduAplctVO.setLctrDivCd("10"); //청소년강의
vEEduAplctVO.setAprvlCd("60"); //확정코드
if(!"".equals(vEEduAplctVO.getSearchInstrNm())) {
vEEduAplctVO.setSearchInstrNm(egovCryptoUtil.encrypt(vEEduAplctVO.getSearchInstrNm()));
}
//step2.총합 계산
if (vEInstrDetailVOList.size()>0) {
vEInstrDetailVO4 = vEInstrDetailVOList.get(0);
i_rate_ttl = 5*Integer.parseInt(vEInstrDetailVO4.getDay5cnt())
+ 4*Integer.parseInt(vEInstrDetailVO4.getDay4cnt())
+ 3*Integer.parseInt(vEInstrDetailVO4.getDay3cnt())
+ 2*Integer.parseInt(vEInstrDetailVO4.getDay2cnt())
+ 1*Integer.parseInt(vEInstrDetailVO4.getDay1cnt());
}
//step3.1일당 비율 계산
//강사 월별 시수 계산 가져오기
VEAStngVO vEAStngVO = new VEAStngVO();
vEAStngVO.setYr(s_stngYr); //기준년도
vEAStngVO.setMnt(s_yrMnt); //기준년월
try {
i_chasiCnfrmCnt = vEAStngMixService.selectList_VEAIMT_2(vEAStngVO);
vEEduAplctVO.setAprvlCd("60"); //확정코드
}catch(Exception ex) {
ex.printStackTrace();
}
List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectTngrRsltPagingList(vEEduAplctVO);
VEEduAplctVO vo = new VEEduAplctVO();
for(int i=0; i < vEEduAplctVOList.size(); i++) {
vo = egovCryptoUtil.decryptVEEduAplctVOInfo(vEEduAplctVOList.get(i));
vEEduAplctVOList.get(i).setUserId(vo.getUserId());
vEEduAplctVOList.get(i).setChrgNm(vo.getChrgNm());
//일당 차시수
i_rate_day = (int) Math.ceil((double)i_chasiCnfrmCnt / i_rate_ttl);
System.out.println("i_chasiCnfrmCnt");
System.out.println(i_chasiCnfrmCnt);
System.out.println(i_rate_ttl);
System.out.println(i_rate_day);
//#3
i_tm5 = i_rate_day*5;
i_tm4 = i_rate_day*4;
i_tm3 = i_rate_day*3;
i_tm2 = i_rate_day*2;
i_tm1 = i_rate_day*1;
i_tm0 = i_rate_day*0;
//#2
i_tm5Ttl = i_tm5 * Integer.parseInt(vEInstrDetailVO4.getDay5cnt());
i_tm4Ttl = i_tm4 * Integer.parseInt(vEInstrDetailVO4.getDay4cnt());
i_tm3Ttl = i_tm3 * Integer.parseInt(vEInstrDetailVO4.getDay3cnt());
i_tm2Ttl = i_tm2 * Integer.parseInt(vEInstrDetailVO4.getDay2cnt());
i_tm1Ttl = i_tm1 * Integer.parseInt(vEInstrDetailVO4.getDay1cnt());
i_tm0Ttl = i_tm0 * Integer.parseInt(vEInstrDetailVO4.getDay0cnt());
vEAStngVO.setMnt(s_yrMnt.split("[.]")[1]);
vEAStngVO.setAplctChasi(Integer.toString(i_chasiCnfrmCnt));
vEAStngVO.setInstrEa5(vEInstrDetailVO4.getDay5cnt());
vEAStngVO.setInstrTm5(Integer.toString(i_tm5));
vEAStngVO.setAsgnmChasi5(Integer.toString(i_tm5Ttl));
vEAStngVO.setInstrEa4(vEInstrDetailVO4.getDay4cnt());
vEAStngVO.setInstrTm4(Integer.toString(i_tm4));
vEAStngVO.setAsgnmChasi4(Integer.toString(i_tm4Ttl));
vEAStngVO.setInstrEa3(vEInstrDetailVO4.getDay3cnt());
vEAStngVO.setInstrTm3(Integer.toString(i_tm3));
vEAStngVO.setAsgnmChasi3(Integer.toString(i_tm3Ttl));
vEAStngVO.setInstrEa2(vEInstrDetailVO4.getDay2cnt());
vEAStngVO.setInstrTm2(Integer.toString(i_tm2));
vEAStngVO.setAsgnmChasi2(Integer.toString(i_tm2Ttl));
vEAStngVO.setInstrEa1(vEInstrDetailVO4.getDay1cnt());
vEAStngVO.setInstrTm1(Integer.toString(i_tm1));
vEAStngVO.setAsgnmChasi1(Integer.toString(i_tm1Ttl));
vEAStngVO.setInstrEa0(vEInstrDetailVO4.getDay0cnt());
vEAStngVO.setInstrTm0(Integer.toString(i_tm0));
vEAStngVO.setAsgnmChasi0(Integer.toString(i_tm0Ttl));
int i_ret = vEAStngService.update_VEAIMT(vEAStngVO);
modelAndView.addObject("result", "success");
return modelAndView;
}
/**
* 강사 월별 시수계산-초기화
* fncSpcfcInstrAsgnmInfo
*/
@RequestMapping("popup/instrMntTmInitMngPopupAjax.do")
public ModelAndView instrMntTmInitMngPopupAjax(ModelMap model
, HttpServletRequest request
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 처리====================================
//로그인 정보 가져오기
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
if (!"".equals(s_oprtnLoginCheckNInfo)) {
modelAndView.addObject("result", "fail");
return modelAndView;
}
//3.pageing step3
paginationInfo1 = this.setPagingStep_3(vEEduAplctVOList, paginationInfo1);
//로그인 처리====================================
model.addAttribute("paginationInfo1", paginationInfo1);
model.addAttribute("cryptoUtil", egovCryptoUtil);
//step1.현재 일별 강사수 확인#1
//step2.총합 계산
//step3.1일당 비율 계산
//step4.일별 차시 확인#3
//step5.일별 총합 차시 계산#2
//대상 리스트, 페이징 정보 전달
model.addAttribute("list", vEEduAplctVOList);
return "oprtn/tngrVisitEdu/popup/instrMntTmMngPopup";
String s_yrMnt = request.getParameter("yrMnt");
//step3.1일당 비율 계산
//강사 월별 시수 계산 가져오기
VEAStngVO vEAStngVO = new VEAStngVO();
vEAStngVO.setYr(s_yrMnt.substring(0,4)); //기준년
vEAStngVO.setMnt(s_yrMnt.substring(5,7)); //기준월
int i_ret = vEAStngService.delete_VEAIMT(vEAStngVO);
modelAndView.addObject("result", "success");
return modelAndView;
}
/**
@ -534,98 +649,83 @@ public class NewEduCnfrmMngTngrController {
//vEEduAplctVO = vEEduAplctService.selectDetail(vEEduAplctVO);
//System.out.println(vEEduAplctVO.getEduSlctCd()); //10-온라인, 20-오프라인
//1.pageing step1
PaginationInfo paginationInfo = this.setPagingStep1(vEInstrDetailVO);
//2. pageing step2
vEInstrDetailVO = this.setPagingStep2(vEInstrDetailVO, paginationInfo);
//3. SelectPagingListQuery set 조건 설정
String selectCondition = new String();
//3.1 제출 완료 사용중인 데이터 조회
selectCondition += "AND a0.sbmt_yn='Y' AND a0.use_yn = 'Y'";
//3.2 강사 테이블 성인강사여부 Y인것만 조회
//selectCondition += "AND (b0.tngr_instr_yn ='Y' OR a0.qlfct_end_yn = 'Y') ";
//3.3 이름 검색
if(StringUtil.isNotEmpty(vEInstrDetailVO.getSearchKeyword())){
//이름 암호화 - comDefaultVO 검색단어 공통 암호화
ComDefaultVO comDefaultVO = new ComDefaultVO();
comDefaultVO.setSearchKeyword(vEInstrDetailVO.getSearchKeyword());
comDefaultVO = egovCryptoUtil.encryptComDefaultVO(comDefaultVO);
vEInstrDetailVO.setSearchKeyword(comDefaultVO.getSearchKeyword());
//selectCondition += "AND a.instr_nm LIKE CONCAT ('%', '" +vEInstrDetailVO.getSearchKeyword() + "', '%')";
selectCondition += "AND a0.instr_nm LIKE '%'||'" +vEInstrDetailVO.getSearchKeyword() + "'||'%'";
comDefaultVO = egovCryptoUtil.decryptComDefaultVO(comDefaultVO);
vEInstrDetailVO.setSearchKeyword(comDefaultVO.getSearchKeyword());
}
//3.4 요청일 시작일 검색
/*if(StringUtil.isNotEmpty(vEInstrDetailVO.getSearchStartDt())){
selectCondition += "AND TO_CHAR(a.sbmt_pnttm, 'YYYYMMDD') >= REPLACE('"+vEInstrDetailVO.getSearchStartDt()+"', '.', '')";
}
//3.5 요청일 종료일 검색
if(StringUtil.isNotEmpty(vEInstrDetailVO.getSearchEndDt())){
selectCondition += "AND TO_CHAR(a.sbmt_pnttm, 'YYYYMMDD') <= REPLACE('"+vEInstrDetailVO.getSearchEndDt()+"', '.', '')";
}*/
//정보변경 요청사항 있는 강사부터 조회
vEInstrDetailVO.setOrderByQuery(" rqstCnt DESC ");
vEInstrDetailVO.setInstrDiv("10");
vEInstrDetailVO.setSelectPagingListQuery(selectCondition);
List<VEInstrDetailVO> vEInstrDetailVOList = vEInstrMixService.selectPagingDetailList(vEInstrDetailVO);
vEInstrDetailVOList = egovCryptoUtil.decryptVEInstrDetailVOList(vEInstrDetailVOList);
//4.pageing step3
paginationInfo = this.setPagingStep3(vEInstrDetailVOList, paginationInfo);
model.addAttribute("paginationInfo", paginationInfo);
//강사배정조건대상 가져오기
VEAStngVO vEAStngVO = new VEAStngVO();
vEAStngVO.setCode("VE0008");
vEAStngVO.setUseYn("Y");
List<VEAStngVO> asgnmStngVOList = vEAStngMixService.selectList_VEAIRR_1(vEAStngVO);
//대상 리스트, 페이징 정보 전달
model.addAttribute("resultList", vEInstrDetailVOList);
//배치 목록
//1.pageing step1
PaginationInfo paginationInfo1 = this.setPagingStep_1(vEEduAplctVO);
//2. pageing step2
vEEduAplctVO = this.setPagingStep_2(vEEduAplctVO, paginationInfo1);
vEEduAplctVO.setInstrDiv("10"); //청소년
vEEduAplctVO.setLctrDivCd("10"); //청소년강의
vEEduAplctVO.setAprvlCd("60"); //확정코드
if(!"".equals(vEEduAplctVO.getSearchInstrNm())) {
vEEduAplctVO.setSearchInstrNm(egovCryptoUtil.encrypt(vEEduAplctVO.getSearchInstrNm()));
}
vEEduAplctVO.setAprvlCd("60"); //확정코드
List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectTngrRsltPagingList(vEEduAplctVO);
VEEduAplctVO vo = new VEEduAplctVO();
for(int i=0; i < vEEduAplctVOList.size(); i++) {
vo = egovCryptoUtil.decryptVEEduAplctVOInfo(vEEduAplctVOList.get(i));
vEEduAplctVOList.get(i).setUserId(vo.getUserId());
vEEduAplctVOList.get(i).setChrgNm(vo.getChrgNm());
}
//3.pageing step3
paginationInfo1 = this.setPagingStep_3(vEEduAplctVOList, paginationInfo1);
model.addAttribute("paginationInfo1", paginationInfo1);
model.addAttribute("cryptoUtil", egovCryptoUtil);
//대상 리스트, 페이징 정보 전달
model.addAttribute("list", vEEduAplctVOList);
model.addAttribute("asgnmStngVOList", asgnmStngVOList);
return "oprtn/tngrVisitEdu/popup/instrRsdncMngPopup";
//instrRsdncMng
}
/**
* 강사 배정 조건 관리 팝업
* fncSpcfcInstrAsgnmInfo
*/
@RequestMapping("popup/instrRsdncMngPopupAjax.do")
public ModelAndView instrRsdncMngPopupAjax(ModelMap model
, HttpServletRequest request
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 처리====================================
//로그인 정보 가져오기
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
if (!"".equals(s_oprtnLoginCheckNInfo)) {
modelAndView.addObject("result", "fail");
return modelAndView;
}
//로그인 처리====================================
String s_ret = "";
VEAStngVO vEAStngVO = new VEAStngVO();
//작성자 정보
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
vEAStngVO.setFrstRegisterId(loginVO.getUniqId());
//강사배정조건 대상 코드 가져오기
CmmnDetailCodeVO searchVO = new CmmnDetailCodeVO();
searchVO.setCodeId("VE0008");
searchVO.setOrderByQuery(" CODE_NM ASC ");
List<CmmnDetailCode> rList = (List<CmmnDetailCode>)cmmnDetailCodeManageService.selectCmmnDetailCodeDetailListWithCode(searchVO);
//강사배정조건 대상 코드 저장하기
for (int i=0;i<rList.size();i++) {
CmmnDetailCode tDetailCode = rList.get(i);
String s_code = tDetailCode.getCode();
//code-10
vEAStngVO.setAreaCd(s_code);
vEAStngVO.setRatio5(request.getParameter("ratio5_"+s_code));
vEAStngVO.setRatio4(request.getParameter("ratio4_"+s_code));
vEAStngVO.setRatio3(request.getParameter("ratio3_"+s_code));
vEAStngVO.setRatio2(request.getParameter("ratio2_"+s_code));
vEAStngVO.setRatio1(request.getParameter("ratio1_"+s_code));
int i_ret = vEAStngService.update_VEAIRR(vEAStngVO);
/*
if (i_ret<=0) {
s_ret = "fail";
}
*/
}
modelAndView.addObject("result", "success");
return modelAndView;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//

View File

@ -214,7 +214,7 @@
AND A.CODE = #code#
</isNotEmpty>
ORDER BY 1=1
ORDER BY 1
<isNotEmpty property="orderByQuery">
, $orderByQuery$

View File

@ -1673,6 +1673,287 @@
</isNotEqual>
</select>
<!-- 청소년 교육 결과 L page -->
<select id="VEEduMIXDAO.selectTngrRsltList" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO" remapResults="true">
/* VEEduMIXDAO.selectTngrRsltList */
SELECT
AA.*,
2 ,
COUNT(1) OVER() AS totCnt
FROM (
SELECT
a.edu_aplct_ord AS eduAplctOrd ,
TO_CHAR(a.aprvl_pnttm,'YYYY-MM-DD') AS aprvlPnttm ,
a.edu_slct_cd AS eduSlctCd ,
a.edu_slct_area_cd AS eduSlctAreaCd ,
a.schol_instt_nm AS scholInsttNm ,
a.instt_div_cd AS insttDivCd ,
a.instt_nm AS insttNm ,
a.addr AS addr ,
a.strt_oprtn_dt AS strtOprtnDt ,
a.end_oprtn_dt AS endOprtnDt ,
a.chrg_nm AS chrgNm ,
a.schol_div_cd AS scholDivCd ,
a.stndrd_schol_cd AS stndrdScholCd ,
a.clphone AS clphone ,
a.email AS email ,
b.edu_chasi_ord AS eduChasiOrd ,
b.lrn_tm AS lrnTm ,
b.edu_hope_dt AS eduHopeDt ,
b.instr_cnfrm_cd AS instrCnfrmCd ,
b.strt_tm AS strtTm ,
b.end_tm AS endTm ,
b.trgt AS trgt ,
b.prsnl AS eduPrsnl ,
b.div_cd AS lctrDivCd ,
NVL(b.chasi, 0) AS chasi,
c.sbmt_yn AS sbmtYn ,
d.user_id AS userId ,
d.asgnm_aprvl_cd AS asgnmAprvlCd,
e.instr_nm AS instrNm,
g.atch_file_id AS atchFileId,
g.APRVL_CD AS acmdtAprvlCd,
d.rmrks AS rmrks,
c.atch_file_id AS rprtAtchFileId,
(select
count(1)
from
ve_edu_rslt_rprt
where 1=1
AND edu_aplct_ord = a.edu_aplct_ord
AND edu_chasi_ord = b.edu_chasi_ord
AND frst_register_id = d.user_id
AND sbmt_yn = 'Y') as cnt
<isEqual property="asgnmAprvlCd" compareValue="30">
,
f.sbmt_yn AS feeSbmtYn,
f.aprvl_cd AS feeAprvlCd,
NVL(TO_NUMBER(IF(f.instr_fee='',0,f.instr_fee)),0)
+ NVL(TO_NUMBER(IF(f.bsns_trip_fee='',0,f.bsns_trip_fee)),0)
+ NVL(TO_NUMBER(IF(f.spare_fee='',0,f.spare_fee)),0)
+ NVL(TO_NUMBER(IF(f.special_work_allow='',0,f.special_work_allow)),0)
+ NVL(TO_NUMBER(IF(f.distance_allow='',0,f.distance_allow)),0)
+ NVL(TO_NUMBER(IF(f.traffic_fee='',0,f.traffic_fee)),0)
- NVL(TO_NUMBER(IF(f.income_tax='',0,f.income_tax)),0)
- NVL(TO_NUMBER(IF(f.local_income_tax='',0,f.local_income_tax)),0)
AS totFee
</isEqual>
, (
SELECT COUNT(1)
FROM ve_new_noti e
WHERE (b.edu_aplct_ord = e.tbl_uniq_ord OR b.edu_chasi_ord = e.tbl_uniq_ord)
AND e.menu_no = #menuNo#
AND e.frst_register_id = #notiUserId#
)
AS notiCnt
, h.oneway_dstnc AS onewayDstnc
,NVL((
SELECT
COUNT(1)
FROM
ve_instr a
INNER JOIN ve_instr_detail e
ON (
a.user_id = e.user_id
AND e.use_yn = 'Y'
AND e.instr_div = '10'
)
INNER JOIN ve_edu_chasi_instr_asgnm_hstry i
ON(
/* 추가 강사 인원은 선정완료(20), 선정제외(30), 강의신청(50) 모두 나와야 한다. */
e.user_id = i.user_id
AND i.hstry_cd in ('20', '30', '50')
/*
AND i.hstry_cd in ('50')
*/
)
WHERE 1=1
AND e.instr_div ='10'
AND b.edu_aplct_ord = i.edu_aplct_ord
AND b.edu_chasi_ord = i.edu_chasi_ord
GROUP BY i.edu_aplct_ord , i.edu_chasi_ord
),0) AS rowNo
FROM ve_edu_aplct a
, ve_edu_chasi b
LEFT OUTER JOIN ve_edu_rslt_rprt c
ON( b.edu_aplct_ord=c.edu_aplct_ord
AND b.edu_chasi_ord=c.edu_chasi_ord)
LEFT OUTER JOIN ve_edu_chasi_instr_asgnm d
ON( b.edu_aplct_ord=d.edu_aplct_ord
AND b.edu_chasi_ord=d.edu_chasi_ord)
<isNotEmpty property="searchTableJoin">
<isEqual property="searchTableJoin" compareValue="tngrResult">
INNER JOIN ve_instr_detail e
</isEqual>
</isNotEmpty>
<isEmpty property="searchTableJoin">
LEFT OUTER JOIN ve_instr_detail e
</isEmpty>
ON( d.user_id=e.user_id
AND e.instr_div=#instrDiv#
AND e.use_yn='Y'
)
<isEqual property="asgnmAprvlCd" compareValue="30">
LEFT OUTER JOIN ve_instr_fee f
ON( b.edu_aplct_ord = f.edu_aplct_ord
AND b.edu_chasi_ord = f.edu_chasi_ord
)
</isEqual>
/*
LEFT OUTER JOIN ve_acmdt_aplct g
*/
LEFT OUTER JOIN (
SELECT B00.*
FROM (
SELECT edu_aplct_ord, edu_chasi_ord, MAX(acmdt_aplct_ord) acmdt_aplct_ord
FROM ve_acmdt_aplct
GROUP BY edu_aplct_ord, edu_chasi_ord
)A00
, ve_acmdt_aplct B00
WHERE a00.edu_aplct_ord=b00.edu_aplct_ord
AND a00.edu_chasi_ord=b00.edu_chasi_ord
AND a00.acmdt_aplct_ord=b00.acmdt_aplct_ord
) g
ON ( b.edu_aplct_ord=g.edu_aplct_ord
AND b.edu_chasi_ord=g.edu_chasi_ord
)
LEFT OUTER JOIN ve_edu_instr_dstnc h
ON b.edu_aplct_ord = h.edu_aplct_ord AND d.user_id = h.user_id
WHERE 1=1
AND a.edu_aplct_ord=b.edu_aplct_ord
AND NVL(A.USE_YN, 'Y') <![CDATA[ <> ]]> 'N'
<isNotEmpty property="lctrDivCd">
AND a.LCTR_DIV_CD = #lctrDivCd#
</isNotEmpty>
<isNotEmpty property="aprvlCd">
AND a.aprvl_cd = #aprvlCd#
</isNotEmpty>
<isNotEmpty property="instrCnfrmCd">
AND b.instr_cnfrm_cd = #instrCnfrmCd#
</isNotEmpty>
<isNotEmpty property="searchInsttDivCd">
AND a.instt_div_cd = #searchInsttDivCd#
</isNotEmpty>
<isNotEmpty property="searchEduSlctCd">
AND a.edu_slct_cd = #searchEduSlctCd#
</isNotEmpty>
<isNotEmpty property="feeSbmtYn">
AND f.sbmt_yn = #feeSbmtYn#
</isNotEmpty>
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="searchAsgnmAprvlCd">
<isEqual property="searchAsgnmAprvlCd" compareValue="90">
AND d.asgnm_aprvl_cd is null
</isEqual>
<isNotEqual property="searchAsgnmAprvlCd" compareValue="90">
AND d.asgnm_aprvl_cd = #searchAsgnmAprvlCd#
</isNotEqual>
</isNotEmpty>
<isNotEmpty property="searchStartDt">
AND b.EDU_HOPE_DT <![CDATA[ >= ]]> REPLACE(#searchStartDt#, '.' , '')
</isNotEmpty>
<isNotEmpty property="searchEndDt">
AND b.EDU_HOPE_DT <![CDATA[ <= ]]> REPLACE(#searchEndDt#, '.' , '')
</isNotEmpty>
<isEmpty property="searchStartDt">
<isEmpty property="searchEndDt">
AND 1=1
</isEmpty>
</isEmpty>
) AA
WHERE 1=1
AND #eduAplctOrd# like '%'||AA.eduAplctOrd||'%'
AND #eduAplctOrd# like '%'||AA.eduChasiOrd||'%'
<isNotEmpty property="checkListQuery">
$checkListQuery$
</isNotEmpty>
<isEqual property="searchSubmitYn" compareValue="Y">
AND AA.CNT <![CDATA[ >= ]]> 1
</isEqual>
<isEqual property="searchSubmitYn" compareValue="N">
AND AA.CNT = 0
</isEqual>
<isNotEmpty property="searchScholDivCd">
AND AA.scholDivCd = #searchScholDivCd#
</isNotEmpty>
<isNotEmpty property="searchEduSlctAreaCd">
AND (
(
AA.eduSlctAreaCd = #searchEduSlctAreaCd#
AND AA.eduSlctCd = '20'
)
OR
(
'400' = #searchEduSlctAreaCd#
AND AA.eduSlctCd = '10'
)
)
</isNotEmpty>
<isNotEmpty property="searchScholNm">
AND AA.scholInsttNm LIKE '%' || #searchScholNm# || '%'
</isNotEmpty>
<isNotEmpty property="searchInsttNm">
AND AA.insttNm LIKE '%' || #searchInsttNm# || '%'
</isNotEmpty>
<isNotEmpty property="searchInstrNm">
AND AA.instrNm LIKE '%' || #searchInstrNm# || '%'
</isNotEmpty>
<isEmpty property="searchCondition">
<isNotEmpty property="searchKeyword">
AND (
A.SCHOL_INSTT_NM LIKE '%' || #searchKeyword# || '%' OR
A.INSTT_NM LIKE '%' || #searchKeyword# || '%'
)
</isNotEmpty>
</isEmpty>
<isNotEmpty property="searchKeyword">
<isEqual property="searchCondition" compareValue="0">
AND (AA.scholInsttNm LIKE '%' || #searchKeyword# || '%' OR AA.instrNm LIKE '%' || #instrNm# || '%')
</isEqual>
<isEqual property="searchCondition" compareValue="1">
AND AA.scholInsttNm LIKE '%' || #searchKeyword# || '%'
</isEqual>
<isEqual property="searchCondition" compareValue="2">
AND AA.instrNm LIKE '%' || #instrNm# || '%'
</isEqual>
<isEqual property="searchCondition" compareValue="3">
AND (AA.insttNm LIKE '%' || #searchKeyword# || '%' OR AA.instrNm LIKE '%' || #searchKeyword# || '%')
</isEqual>
<isEqual property="searchCondition" compareValue="4">
AND AA.insttNm LIKE '%' || #searchKeyword# || '%'
</isEqual>
</isNotEmpty>
ORDER BY 1
<isEmpty property="orderByQuery">
, eduAplctOrd desc, eduChasiOrd
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
</select>
<!-- 강사료 확정 처리 목록 L page -->
<select id="VEEduMIXDAO.selectTngrFeePagingList" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO" remapResults="true">
/* VEEduMIXDAO.selectTngrFeePagingList */

View File

@ -763,6 +763,285 @@
</select>
<!-- 강사 디테일 정보 L page -->
<select id="VEInstrMixDAO.selectPagingDetailList4Asgnm" parameterClass="VEInstrDetailVO" resultClass="VEInstrDetailVO">
/* VEInstrMixDAO.selectPagingDetailList4Asgnm */
SELECT totCnt
, sum(decode(workWeekCnt,5,1,0)) AS day5cnt
, sum(decode(workWeekCnt,4,1,0)) AS day4cnt
, sum(decode(workWeekCnt,3,1,0)) AS day3cnt
, sum(decode(workWeekCnt,2,1,0)) AS day2cnt
, sum(decode(workWeekCnt,1,1,0)) AS day1cnt
, sum(decode(workWeekCnt,0,1,0)) AS day0cnt
FROM (
SELECT
COUNT(1) OVER() AS totCnt
, CASE
WHEN d.mon_lctr_yn = 'Y'
THEN 1
ELSE 0
END
+
CASE
WHEN d.tue_lctr_yn = 'Y'
THEN 1
ELSE 0
END
+
CASE
WHEN d.wed_lctr_yn = 'Y'
THEN 1
ELSE 0
END
+
CASE
WHEN d.thu_lctr_yn = 'Y'
THEN 1
ELSE 0
END
+
CASE
WHEN d.fri_lctr_yn = 'Y'
THEN 1
ELSE 0
END AS workWeekCnt
, CASE WHEN d.mon_lctr_yn = 'Y' THEN 1
ELSE 0
END AS monLctrYn
, CASE WHEN d.tue_lctr_yn = 'Y' THEN 1
ELSE 0
END AS tueLctrYn
, CASE WHEN d.wed_lctr_yn = 'Y' THEN 1
ELSE 0
END AS wedLctrYn
, CASE WHEN d.thu_lctr_yn = 'Y' THEN 1
ELSE 0
END AS thuLctrYn
, CASE WHEN d.fri_lctr_yn = 'Y' THEN 1
ELSE 0
END AS friLctrYn
, (SELECT g.sbmt_pnttm
FROM ve_instr_detail g
WHERE g.user_id = a.user_id
AND g.instr_detail_ord = '1'
AND g.instr_div = a.instr_div
)AS regSbmtPnttm
FROM ( SELECT COUNT(1) OVER() AS totCnt ,
a0.instr_div AS instrDiv ,
a0.user_id AS userId ,
a0.instr_detail_ord AS instrDetailOrd
FROM ve_instr b0 ,
ve_instr_detail a0
WHERE 1 =1
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
GROUP BY a0.instr_div ,
a0.user_id ,
a0.instr_detail_ord
) a00
, <include refid="VEInstrMixDAO.detail_table_name"/> a
LEFT OUTER JOIN ve_lctr_stng d
ON (d.instr_div = a.instr_div
AND d.user_id = a.user_id
AND d.use_yn='Y'
)
WHERE 1=1
AND a00.instrDiv =a.instr_div
AND a00.userId =a.user_id
AND a00.instrDetailOrd=a.instr_detail_ord
<isNotEmpty property="searchQlfctEndYn">
<isEqual property="searchQlfctEndYn" compareValue="Y">
AND a.qlfct_end_yn = #searchQlfctEndYn#
</isEqual>
<isEqual property="searchQlfctEndYn" compareValue="N">
AND (a.qlfct_end_yn = #searchQlfctEndYn# OR a.qlfct_end_yn IS NULL)
</isEqual>
</isNotEmpty>
<isNotEmpty property="searcDivCd">
AND a.div_cd = #searcDivCd#
</isNotEmpty>
<isNotEmpty property="searchEduSlctAreaCd">
AND a.rsdne LIKE CONCAT('%',#rsdne#,'%')
</isNotEmpty>
<isNotEmpty property="instrDiv">
AND a.instr_div=#instrDiv#
</isNotEmpty>
)aa
GROUP BY totcnt
</select>
<!-- 특정 강사 배정용 리스트 L -->
<select id="VEInstrMixDAO.selectDetailList" parameterClass="VEInstrDetailVO" resultClass="VEInstrDetailVO">
/* VEInstrMixDAO.selectDetailList */
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VEInstrMixDAO.select_detail_column_name"/>,
<!-- useYN이 N인 수정요청 조회-->
(SELECT COUNT(1)
FROM ve_lctr_stng vls
WHERE a.instr_div = vls.instr_div
AND a.user_id = vls.user_id
AND vls.aprvl_cd = '10'
AND vls.use_yn = 'N'
) AS stngCnt,
(SELECT COUNT(1)
FROM <include refid="VEInstrMixDAO.detail_table_name"/> cc
WHERE a.instr_div = cc.instr_div
AND a.user_id = cc.user_id
AND cc.aprvl_cd = '10'
AND cc.use_yn = 'N'
AND cc.instr_detail_ord > a.instr_detail_ord
) AS rqstCnt
, (SELECT
MAX(cc.instr_detail_ord)
FROM <include refid="VEInstrMixDAO.detail_table_name"/> cc
WHERE a.instr_div = cc.instr_div
AND a.user_id = cc.user_id
AND cc.aprvl_cd = '10'
AND cc.use_yn = 'N'
AND cc.instr_detail_ord >a.instr_detail_ord
) AS instrMdfyOrd
/*
, (SELECT f.one_depth_nm
FROM ve_rsdnc f
WHERE f.post_id = MAX(e.area_cd)
GROUP BY f.one_depth_nm
) AS lctrAreaNm
, COUNT(e.area_cd) AS lctrAreaCnt
*/
, ( SELECT f.one_depth_nm
FROM ve_rsdnc f
WHERE f.post_id = (
SELECT MAX(ee.area_cd)
FROM ve_lctr_area ee
WHERE ee.instr_div = d.instr_div
AND ee.user_id = d.user_id
AND ee.lctr_stng_ord=d.lctr_stng_ord
)
GROUP BY f.one_depth_nm
) AS lctrAreaNm
, (
SELECT count(1)
FROM ve_lctr_area ee
WHERE ee.instr_div = d.instr_div
AND ee.user_id = d.user_id
AND ee.lctr_stng_ord=d.lctr_stng_ord
) AS lctrAreaCnt
, CASE WHEN d.mon_lctr_yn = 'Y' THEN 1
ELSE 0
END AS monLctrYn
, CASE WHEN d.tue_lctr_yn = 'Y' THEN 1
ELSE 0
END AS tueLctrYn
, CASE WHEN d.wed_lctr_yn = 'Y' THEN 1
ELSE 0
END AS wedLctrYn
, CASE WHEN d.thu_lctr_yn = 'Y' THEN 1
ELSE 0
END AS thuLctrYn
, CASE WHEN d.fri_lctr_yn = 'Y' THEN 1
ELSE 0
END AS friLctrYn
, (SELECT g.sbmt_pnttm
FROM ve_instr_detail g
WHERE g.user_id = a.user_id
AND g.instr_detail_ord = '1'
AND g.instr_div = a.instr_div
)AS regSbmtPnttm
FROM ( SELECT COUNT(1) OVER() AS totCnt ,
a0.instr_div AS instrDiv ,
a0.user_id AS userId ,
a0.instr_detail_ord AS instrDetailOrd
FROM ve_instr b0 ,
ve_instr_detail a0
WHERE 1 =1
/*
AND a0.user_id=b0.user_id
AND a0.sbmt_yn='Y'
AND a0.use_yn = 'Y'
AND
(
b0.tngr_instr_yn ='Y' OR a0.qlfct_end_yn = 'Y'
)
AND a0.instr_div='10'
*/
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
GROUP BY a0.instr_div ,
a0.user_id ,
a0.instr_detail_ord
) a00
, <include refid="VEInstrMixDAO.detail_table_name"/> a
LEFT OUTER JOIN ve_lctr_stng d
ON (d.instr_div = a.instr_div
AND d.user_id = a.user_id
AND d.use_yn='Y'
)
WHERE 1=1
AND a00.instrDiv =a.instr_div
AND a00.userId =a.user_id
AND a00.instrDetailOrd=a.instr_detail_ord
<isNotEmpty property="searchQlfctEndYn">
<isEqual property="searchQlfctEndYn" compareValue="Y">
AND a.qlfct_end_yn = #searchQlfctEndYn#
</isEqual>
<isEqual property="searchQlfctEndYn" compareValue="N">
AND (a.qlfct_end_yn = #searchQlfctEndYn# OR a.qlfct_end_yn IS NULL)
</isEqual>
</isNotEmpty>
<isNotEmpty property="searcDivCd">
AND a.div_cd = #searcDivCd#
</isNotEmpty>
<isNotEmpty property="searchEduSlctAreaCd">
AND a.rsdne LIKE CONCAT('%',#rsdne#,'%')
</isNotEmpty>
<isNotEmpty property="instrDiv">
AND a.instr_div=#instrDiv#
</isNotEmpty>
AND a.instr_nm=#instrNm#
<isNotEmpty property="searchStartDt">
<isNotEmpty property="searchEndDt">
HAVING TO_CHAR(regSbmtPnttm, 'YYYYMMDD') >= REPLACE(#searchStartDt#, '.', '')
<![CDATA[ AND TO_CHAR(regSbmtPnttm, 'YYYYMMDD') <= REPLACE(#searchEndDt#, '.', '') ]]>
</isNotEmpty>
</isNotEmpty>
ORDER BY 1
<isEmpty property="orderByQuery">
, a.user_id desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
</select>
<!-- 강사 수정 요청 디테일 R -->
<select id="VEInstrMixDAO.selectMdfyRqstDetail" parameterClass="VEInstrDetailVO" resultClass="VEInstrDetailVO">
/* VEInstrMixDAO.selectMdfyRqstDetail */

View File

@ -4,7 +4,7 @@
<sqlMap namespace="VEAAsgnmStngMix">
<typeAlias alias="VEAStngVO" type="kcc.ve.adv.tngr.stngInfo.service.VEAStngVO"/>
<!--의가능기간 달력 용 데이터 -->
<!--사 배정 조건 용 데이터 -->
<select id="VEAAsgnmStngMixDAO.selectList_VEAIAC_1" parameterClass="VEAStngVO" resultClass="VEAStngVO">
/* VEAAsgnmStngMixDAO.selectList_VEAIAC_1 */
@ -19,5 +19,122 @@
AND use_at=#useYn#
ORDER BY a.code ASC
</select>
</select>
<!-- 강사 거주지별 배정 비율 관리 데이터 -->
<select id="VEAAsgnmStngMixDAO.selectList_VEAIRR_1" parameterClass="VEAStngVO" resultClass="VEAStngVO">
/* VEAAsgnmStngMixDAO.selectList_VEAIRR_1 */
SELECT
a.code_nm AS asgnmNm
, NVL(b.area_cd, a.code) AS areaCd
, b.ratio_5 AS ratio5
, b.ratio_4 AS ratio4
, b.ratio_3 AS ratio3
, b.ratio_2 AS ratio2
, b.ratio_1 AS ratio1
FROM lettccmmndetailcode a
LEFT OUTER JOIN vea_instr_rsdnc_ratio b
on(a.code=b.area_cd)
WHERE code_id=#code#
AND use_at=#useYn#
ORDER BY a.code_nm ASC
</select>
<!-- 강사 월별 시수 관리 데이터 -->
<select id="VEAAsgnmStngMixDAO.selectList_VEAIMT_1" parameterClass="VEAStngVO" resultClass="VEAStngVO">
/* VEAAsgnmStngMixDAO.selectList_VEAIMT_1 */
SELECT a.yrmnt AS yr
, max(b.eduhopedt)
, sum(NVL(c.aplct_chasi, b.chasi)) AS aplctChasi
, max(c.instr_ea_5) AS instrEa5
, max(c.instr_tm_5) AS instrTm5
, max(c.ASGNM_CHASI_5) AS asgnmChasi5
, max(c.instr_ea_4) AS instrEa4
, max(c.instr_tm_4) AS instrTm4
, max(c.ASGNM_CHASI_4) AS asgnmChasi4
, max(c.instr_ea_3) AS instrEa3
, max(c.instr_tm_3) AS instrTm3
, max(c.ASGNM_CHASI_3) AS asgnmChasi3
, max(c.instr_ea_2) AS instrEa2
, max(c.instr_tm_2) AS instrTm2
, max(c.ASGNM_CHASI_2) AS asgnmChasi2
, max(c.instr_ea_1) AS instrEa1
, max(c.instr_tm_1) AS instrTm1
, max(c.ASGNM_CHASI_1) AS asgnmChasi1
, max(c.instr_ea_0) AS instrEa0
, max(c.instr_tm_0) AS instrTm0
, max(c.ASGNM_CHASI_0) AS asgnmChasi0
FROM (
SELECT #yr#||'.01' yrMnt FROM dual
UNION ALL SELECT #yr#||'.02' mnt FROM dual
UNION ALL SELECT #yr#||'.03' mnt FROM dual
UNION ALL SELECT #yr#||'.04' mnt FROM dual
UNION ALL SELECT #yr#||'.05' mnt FROM dual
UNION ALL SELECT #yr#||'.06' mnt FROM dual
UNION ALL SELECT #yr#||'.07' mnt FROM dual
UNION ALL SELECT #yr#||'.08' mnt FROM dual
UNION ALL SELECT #yr#||'.09' mnt FROM dual
UNION ALL SELECT #yr#||'.10' mnt FROM dual
UNION ALL SELECT #yr#||'.11' mnt FROM dual
UNION ALL SELECT #yr#||'.12' mnt FROM dual
)a
LEFT OUTER JOIN (
SELECT
substring(b.edu_hope_dt,1,7) AS eduHopeDt
, sum(b.chasi) AS chasi
FROM vea_lctr_rnds_stng z
, ve_edu_aplct a
, ve_edu_chasi b
WHERE z.yr=#yr#
AND a.edu_aplct_ord =b.edu_aplct_ord
AND NVL(a.USE_YN, 'Y') <![CDATA[ <> ]]> 'N'
AND a.LCTR_DIV_CD = '10'
AND a.aprvl_cd = '60'
AND z.rnds_ord=a.rnds_ord
GROUP BY substring(b.edu_hope_dt,1,7)
)b
on(a.yrMnt=b.eduhopedt)
LEFT OUTER JOIN vea_instr_mnt_tm c
on(
a.yrMnt=c.yr||'.'||c.mnt
)
GROUP BY rollup(a.yrmnt)
</select>
<!-- 강사 월별 시수 관리 데이터 -->
<select id="VEAAsgnmStngMixDAO.selectList_VEAIMT_2" parameterClass="VEAStngVO" resultClass="int">
/* VEAAsgnmStngMixDAO.selectList_VEAIMT_2 */
SELECT
/*
substring(b.edu_hope_dt,1,7) AS eduHopeDt
*/
sum(b.chasi) AS chasi
FROM vea_lctr_rnds_stng z
, ve_edu_aplct a
, ve_edu_chasi b
WHERE z.yr=#yr#
AND a.edu_aplct_ord =b.edu_aplct_ord
AND NVL(a.USE_YN, 'Y') <![CDATA[ <> ]]> 'N'
AND a.LCTR_DIV_CD = '10'
AND a.aprvl_cd = '60'
AND z.rnds_ord=a.rnds_ord
AND substring(b.edu_hope_dt,1,7)=#mnt#
GROUP BY substring(b.edu_hope_dt,1,7)
</select>
</sqlMap>

View File

@ -36,7 +36,11 @@
instr_ea_1,
instr_tm_1,
asgnm_chasi_1,
instr_ea_0,
instr_tm_0,
asgnm_chasi_0,
frst_regist_pnttm,
frst_register_id,
last_updt_pnttm,
@ -71,7 +75,11 @@
instr_ea_1 AS instrEa1,
instr_tm_1 AS instrTm1,
asgnm_chasi_1 AS asgnmChasi1,
instr_ea_0 AS instrEa0,
instr_tm_0 AS instrTm0,
asgnm_chasi_0 AS asgnmChasi0,
TO_CHAR(a.frst_regist_pnttm,'YYYY-MM-DD') AS frstRegistPnttm,
a.frst_register_id AS frstRegisterId,
TO_CHAR(a.last_updt_pnttm,'YYYY-MM-DD') AS lastUpdtPnttm,
@ -115,7 +123,11 @@
#instrEa1#,
#instrTm1#,
#asgnmChasi1#,
#asgnmChasi1#,
#instrEa0#,
#instrTm0#,
#asgnmChasi0#,
SYSDATE,
#frstRegisterId#,
@ -178,7 +190,17 @@
</isNotEmpty><isNotEmpty property="asgnmChasi1">
AND asgnm_chasi_1=#asgnmChasi1#
</isNotEmpty><isNotEmpty property="instrEa0">
AND instr_ea_0=#instrEa0#
</isNotEmpty><isNotEmpty property="instrTm0">
AND instr_tm_0=#instrTm0#
</isNotEmpty><isNotEmpty property="asgnmChasi0">
AND asgnm_chasi_0=#asgnmChasi0#
</isNotEmpty>
@ -233,7 +255,11 @@
#instrEa1#,
#instrTm1#,
#asgnmChasi1#,
#instrEa0#,
#instrTm0#,
#asgnmChasi0#,
SYSDATE,
#frstRegisterId#,
NULL,
@ -245,57 +271,67 @@
, last_updt_pnttm = SYSDATE
<isNotEmpty property="aplctChasi">
AND aplct_chasi=#aplctChasi#
, aplct_chasi=#aplctChasi#
</isNotEmpty><isNotEmpty property="instrEa5">
AND instr_ea_5=#instrEa5#
, instr_ea_5=#instrEa5#
</isNotEmpty><isNotEmpty property="instrTm5">
AND instr_tm_5=#instrTm5#
, instr_tm_5=#instrTm5#
</isNotEmpty><isNotEmpty property="asgnmChasi5">
AND asgnm_chasi_5=#asgnmChasi5#
, asgnm_chasi_5=#asgnmChasi5#
</isNotEmpty><isNotEmpty property="instrEa4">
AND instr_ea_4=#instrEa4#
, instr_ea_4=#instrEa4#
</isNotEmpty><isNotEmpty property="instrTm4">
AND instr_tm_4=#instrTm4#
, instr_tm_4=#instrTm4#
</isNotEmpty><isNotEmpty property="asgnmChasi4">
AND asgnm_chasi_4=#asgnmChasi4#
, asgnm_chasi_4=#asgnmChasi4#
</isNotEmpty><isNotEmpty property="instrEa3">
AND instr_ea_3=#instrEa3#
, instr_ea_3=#instrEa3#
</isNotEmpty><isNotEmpty property="instrTm3">
AND instr_tm_3=#instrTm3#
, instr_tm_3=#instrTm3#
</isNotEmpty><isNotEmpty property="asgnmChasi3">
AND asgnm_chasi_3=#asgnmChasi3#
, asgnm_chasi_3=#asgnmChasi3#
</isNotEmpty><isNotEmpty property="instrEa2">
AND instr_ea_2=#instrEa2#
, instr_ea_2=#instrEa2#
</isNotEmpty><isNotEmpty property="instrTm2">
AND instr_tm_2=#instrTm2#
, instr_tm_2=#instrTm2#
</isNotEmpty><isNotEmpty property="asgnmChasi2">
AND asgnm_chasi_2=#asgnmChasi2#
, asgnm_chasi_2=#asgnmChasi2#
</isNotEmpty><isNotEmpty property="instrEa1">
AND instr_ea_1=#instrEa1#
, instr_ea_1=#instrEa1#
</isNotEmpty><isNotEmpty property="instrTm1">
AND instr_tm_1=#instrTm1#
, instr_tm_1=#instrTm1#
</isNotEmpty><isNotEmpty property="asgnmChasi1">
AND asgnm_chasi_1=#asgnmChasi1#
, asgnm_chasi_1=#asgnmChasi1#
</isNotEmpty><isNotEmpty property="instrEa0">
, instr_ea_0=#instrEa0#
</isNotEmpty><isNotEmpty property="instrTm0">
, instr_tm_0=#instrTm0#
</isNotEmpty><isNotEmpty property="asgnmChasi0">
, asgnm_chasi_0=#asgnmChasi0#
</isNotEmpty>

View File

@ -77,19 +77,19 @@
, last_updt_pnttm = SYSDATE
<isNotEmpty property="ratio5">
AND ratio_5=#ratio5#
, ratio_5=#ratio5#
</isNotEmpty><isNotEmpty property="ratio4">
AND ratio_4=#ratio4#
, ratio_4=#ratio4#
</isNotEmpty><isNotEmpty property="ratio3">
AND ratio_3=#ratio3#
, ratio_3=#ratio3#
</isNotEmpty><isNotEmpty property="ratio2">
AND ratio_2=#ratio2#
, ratio_2=#ratio2#
</isNotEmpty><isNotEmpty property="ratio1">
AND ratio_1=#ratio1#
, ratio_1=#ratio1#
</isNotEmpty>
@ -139,21 +139,21 @@
, last_updt_pnttm = SYSDATE
<isNotEmpty property="ratio5">
AND ratio_5=#ratio5#
, ratio_5=#ratio5#
</isNotEmpty><isNotEmpty property="ratio4">
AND ratio_4=#ratio4#
, ratio_4=#ratio4#
</isNotEmpty><isNotEmpty property="ratio3">
AND ratio_3=#ratio3#
, ratio_3=#ratio3#
</isNotEmpty><isNotEmpty property="ratio2">
AND ratio_2=#ratio2#
, ratio_2=#ratio2#
</isNotEmpty><isNotEmpty property="ratio1">
AND ratio_1=#ratio1#
, ratio_1=#ratio1#
</isNotEmpty>
</isNotEmpty>
</update>

View File

@ -683,8 +683,31 @@
return;
}
var fnExit = false;
chkStatCd = "30";
msg = "특정강사배정(교육확정 건)";
var varEduAplctOrd = '';
$('input:checkbox[name="chk"]:checked').each(function() {
if(!fnExit){
varEduAplctOrd = varEduAplctOrd + $(this).val() + "__";
if($(this).attr("class") == chkStatCd) {
alert("선택한 목록 중 " + msg + "이 불가능한 건이 있습니다.");
fnExit = true;
}
}
});
//체크한 리스트 중 해당 상태에 실행 불가능한 건이 있는지 체크 후, 존재 시 함수 종료
if(fnExit) return false;
var form = document.listForm;
var form = document.popForm;
form.eduAplctOrd.value = varEduAplctOrd;
form.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/popup/spcfcInstrAsgnmPopup.do'/>";
@ -811,11 +834,8 @@
</div>
<div class="right_box">
<button type="button" class="btn_type06" onclick="fncInstrAsgnmCndtnMng(); return false;">강사배정조건관리</button>
<button type="button" class="btn_type06" onclick="fncInstrMntTmMng(); return false;">강사월별시수계산X</button>
<button type="button" class="btn_type06" onclick="fncInstrRsdncMng(); return false;">강사거주지별배정비율설정X</button>
<button type="button" class="btn_type06" onclick="fncInstrMntTmMng(); return false;">강사월별시수계산</button>
<button type="button" class="btn_type06" onclick="fncInstrRsdncMng(); return false;">강사거주지별배정비율설정</button>
</div>
</div>
@ -830,10 +850,10 @@
<button class="btn_type03" onclick="fncReset(this); return false;">초기화</button>
<div class="btn_wrap btn_layout01" style="width:100%;">
<div class="btn_right" style="width:100%;margin-bottom:40px;">
<button type="button" class="btn_type06" onclick="fncInstrMassAsgnm(); return false;">강사배정(전체)</button>
<button type="button" class="btn_type06" onclick="fncInstrMassAsgnmEA(); return false;">강사배정(개별)</button>
<button type="button" class="btn_type06" onclick="fncInstrMassAsgnm(); return false;">강사배정(전체)X</button>
<button type="button" class="btn_type06" onclick="fncInstrMassAsgnmEA(); return false;">강사배정(개별)X</button>
<button type="button" style="width:200px;" class="btn_type06" onclick="fncSpcfcInstrAsgnmInfo(); return false;">특정강사배정X</button>
<button type="button" style="width:200px;" class="btn_type06" onclick="fncSpcfcInstrAsgnmInfo(); return false;">특정강사배정</button>
</div>
</div>
</div>

View File

@ -178,7 +178,7 @@
</tr>
</thead>
<tbody>
<tbody>
<c:forEach var="row" items="${asgnmStngVOList}" varStatus="status">
<tr>
@ -194,10 +194,6 @@
</td>
</tr>
</c:forEach>
</tbody>
</table>

View File

@ -74,21 +74,15 @@
*/
}
function fncInstrAsgnm(id, p_rank) {
$("#userId").val(id);
if (p_rank=='-'){
$("#rmrks").val(p_rank);
}else{
$("#rmrks").val("배정기준"+p_rank+"순위");
}
function fncInstrAsgnmCndtnMng(p_yrMnt) {
$("#yrMnt").val(p_yrMnt);
var data1 = new FormData(document.getElementById("createForm"));
$.ajax({
type:"POST",
url:"${pageContext.request.contextPath}/kccadr/oprtn/tngrVisitEdu/popup/instrAsgnmAjax.do",
url:"${pageContext.request.contextPath}/kccadr/oprtn/tngrVisitEdu/popup/instrMntTmMngPopupAjax.do",
data: data1,
dataType:'json',
async: false,
@ -98,8 +92,9 @@
success:function(returnData){
if(returnData.result == 'success'){
alert("저장 되었습니다.");
opener.location.reload();
fncPopClose();
//opener.location.reload();
//fncPopClose();
location.reload();
}
},
error:function(request , status, error){
@ -109,6 +104,37 @@
}
function fncInstrAsgnmCndtnInitMng(p_yrMnt) {
$("#yrMnt").val(p_yrMnt);
var data1 = new FormData(document.getElementById("createForm"));
$.ajax({
type:"POST",
url:"${pageContext.request.contextPath}/kccadr/oprtn/tngrVisitEdu/popup/instrMntTmInitMngPopupAjax.do",
data: data1,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
if(returnData.result == 'success'){
alert("저장 되었습니다.");
//opener.location.reload();
//fncPopClose();
location.reload();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
//동일 학교 여부 체크
function fncInstrAsgnm_bef(id, p_rank) {
@ -148,7 +174,23 @@
function reloadPage(){
location.reload();
}
function fncGoListReset(){
$("#rndsOrd").val('');
linkPage(1);
}
function fncGoList(){
linkPage(1);
}
function linkPage(pageNo){
var listForm = document.createForm ;
//listForm.searchCondition.value = $('#searchCondition').val();
//listForm.searchKeyword.value = $('#searchKeyword').val();
listForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/popup/instrMntTmMngPopup.do'/>";
listForm.submit();
}
</script>
</head>
<body>
@ -163,229 +205,249 @@
<input type="hidden" name="userId" id="userId" />
<input type="hidden" name="rmrks" id="rmrks" />
<input type="hidden" name="asgnmAprvlCd" value="${vEEduAplctVO.asgnmAprvlCd}"/>
</form:form>
<form:form id="listForm" name="listForm" method="post" onsubmit="return false;">
<input type="hidden" name="pageIndex" value="<c:out value='${vEEduAplctVO.pageIndex}' default='1' />"/>
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEEduAplctVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEEduAplctVO.searchSortOrd}" />" />
<input type="hidden" name="eduAplctOrd" value="<c:out value="${vEEduAplctVO.eduAplctOrd}" />" />
<input type="hidden" name="eduChasiOrd" value="<c:out value="${vEEduAplctVO.eduChasiOrd}" />" />
<input type="hidden" name="instrDiv" value="<c:out value="${vEEduAplctVO.instrDiv}" />" /><!-- 성인 -->
<input type="hidden" name="yrMnt" id="yrMnt" />
<div class="area_popup">
<div class="cont_popup">
<div class="cont_popup">
<div class="pop_tb_tit01">
<p>강사 월별 시수 계산</p>
</div>
<!-- list_top -->
<div class="list_top">
<div class="list_top_1">
<div class="util_left">
<p>구분1</p>
</div>
<div class="util_right">
<p>&nbsp;&nbsp;&nbsp;년도&nbsp;&nbsp;</p>
<ve:select codeId="VE0029" name="stngYr" id="stngYr" css="class='sel_type1'"
selectedValue="${vEEduAplctVO.stngYr}"
onChange="fncGoListReset(); return false;"
/>
<!--
<p>&nbsp;&nbsp;&nbsp;지역&nbsp;&nbsp;</p>
<ve:select codeId="VE0008" name="areaCd" id="areaCd" css="class='sel_type1'"
selectedValue="${vELctrDetailVO.areaCd}" defaultValue=''
defaultText='전체'
/>
-->
<!-- <button class="btn_type08" onclick="fncGoList(); return false;">검색</button> -->
</div>
</div>
</div>
<div class="pop_tb_type01">
<table>
<colgroup>
<col style="width: auto;">
<col style="width: 7%;">
<col style="width: 7%;">
<col style="width: 7%;">
<col style="width: 7%;">
<col style="width: 7%;">
<col style="width: 7%;">
<col style="width: 7%;">
<col style="width: 7%;">
<col style="width: 7%;">
<col style="width: 7%;">
<col style="width: 7%;">
<%-- <col style="width: auto;"> --%>
<col style="width: 7%;">
<col style="width: 7%;">
<col style="width: 7%;">
<col style="width: 9%;">
<!--
<col style="width: 4%;">
<col style="width: 4%;">
<col style="width: 4%;">
-->
<col style="width: 3%;">
<col style="width: 4%;">
<col style="width: 3%;">
<col style="width: 3%;">
<col style="width: 4%;">
<col style="width: 3%;">
<col style="width: 3%;">
<col style="width: 4%;">
<col style="width: 3%;">
<col style="width: 3%;">
<col style="width: 4%;">
<col style="width: 3%;">
<col style="width: 3%;">
<col style="width: 4%;">
<col style="width: 3%;">
<col style="width: 3%;">
<col style="width: 3%;">
<col style="width: 3%;">
</colgroup>
<thead>
<tr>
<th scope="col"></th>
<th scope="col"><button type="button" class="btn_type04" onclick="fncInstrAsgnmCndtnMng(); return false;">초기화</button></th>
<th scope="col"><button type="button" class="btn_type06" onclick="fncInstrAsgnmCndtnMng(); return false;">계산</button></th>
<th scope="col"><button type="button" class="btn_type06" onclick="fncInstrAsgnmCndtnMng(); return false;">계산</button></th>
<th scope="col"><button type="button" class="btn_type06" onclick="fncInstrAsgnmCndtnMng(); return false;">계산</button></th>
<th scope="col"><button type="button" class="btn_type06" onclick="fncInstrAsgnmCndtnMng(); return false;">계산</button></th>
<th scope="col"><button type="button" class="btn_type06" onclick="fncInstrAsgnmCndtnMng(); return false;">계산</button></th>
<th scope="col"><button type="button" class="btn_type06" onclick="fncInstrAsgnmCndtnMng(); return false;">계산</button></th>
<th scope="col"><button type="button" class="btn_type06" onclick="fncInstrAsgnmCndtnMng(); return false;">계산</button></th>
<th scope="col"><button type="button" class="btn_type06" onclick="fncInstrAsgnmCndtnMng(); return false;">계산</button></th>
<th scope="col"><button type="button" class="btn_type06" onclick="fncInstrAsgnmCndtnMng(); return false;">계산</button></th>
<th scope="col"><button type="button" class="btn_type06" onclick="fncInstrAsgnmCndtnMng(); return false;">계산</button></th>
<th scope="col"><button type="button" class="btn_type06" onclick="fncInstrAsgnmCndtnMng(); return false;">계산</button></th>
<th scope="col">계</th>
<th scope="col" colspan="2" rowspan="2">교육일정(월)</th>
<th scope="col" rowspan="2">교육확정차시</th>
<!-- <th scope="col" colspan="3">구분</th> -->
<th scope="col" colspan="3">5일</th>
<th scope="col" colspan="3">4일</th>
<th scope="col" colspan="3">3일</th>
<th scope="col" colspan="3">2일</th>
<th scope="col" colspan="3">1일</th>
<th scope="col" colspan="3">0일</th>
</tr>
<tr>
<th scope="col">교육일정(월)</th>
<th scope="col">1월</th>
<th scope="col">2월</th>
<th scope="col">3월</th>
<th scope="col">4월</th>
<th scope="col">5월</th>
<th scope="col">6월</th>
<th scope="col">7월</th>
<th scope="col">8월</th>
<th scope="col">9월</th>
<th scope="col">10월</th>
<th scope="col">11월</th>
<th scope="col">12월</th>
<th scope="col">계</th>
</tr>
<th scope="col">강사</th>
<th scope="col">차시</th>
<th scope="col">시간</th>
<th scope="col">강사</th>
<th scope="col">차시</th>
<th scope="col">시간</th>
<th scope="col">강사</th>
<th scope="col">차시</th>
<th scope="col">시간</th>
<th scope="col">강사</th>
<th scope="col">차시</th>
<th scope="col">시간</th>
<th scope="col">강사</th>
<th scope="col">차시</th>
<th scope="col">시간</th>
<th scope="col">강사</th>
<th scope="col">차시</th>
<th scope="col">시간</th>
</tr>
<!--
<tr>
<th scope="col" colspan="2">거주지별비율</th>
<th scope="col">5일</th>
<th scope="col">4일</th>
<th scope="col">3일</th>
<th scope="col">2일</th>
<th scope="col">1일</th>
</tr>
<tr>
<th scope="col"></th>
<th scope="col">비율|차시</th>
<th scope="col">비율|차시</th>
<th scope="col">비율|차시</th>
<th scope="col">비율|차시</th>
<th scope="col">비율|차시</th>
<th scope="col">비율|차시</th>
<th scope="col">비율|차시</th>
<th scope="col">비율|차시</th>
<th scope="col">비율|차시</th>
<th scope="col">비율|차시</th>
<th scope="col">비율|차시</th>
<th scope="col">비율|차시</th>
<th scope="col">비율|차시</th>
<th scope="col">비율|차시</th>
<th scope="col">비율|차시</th>
<th scope="col">비율|차시</th>
<th scope="col">비율|차시</th>
<th scope="col">비율|차시</th>
</tr>
-->
</thead>
<tbody>
<c:forEach var="row" items="${asgnmStngVOList}" varStatus="status">
<tr>
<td scope="col">교육접수차시</td>
<td scope="col">100차시</td>
<td scope="col">100차시</td>
<td scope="col">100차시</td>
<td scope="col">100차시</td>
<td scope="col">100차시</td>
<td scope="col">100차시</td>
<td scope="col">100차시</td>
<td scope="col">100차시</td>
<td scope="col">100차시</td>
<td scope="col">100차시</td>
<td scope="col">100차시</td>
<td scope="col">100차시</td>
<td scope="col">1200차시</td>
</tr>
<tr>
<td scope="col">구분</td>
<td scope="col">강사|차시|시간(인)</td>
<td scope="col">강사|차시|시간(인)</td>
<td scope="col">강사|차시|시간(인)</td>
<td scope="col">강사|차시|시간(인)</td>
<td scope="col">강사|차시|시간(인)</td>
<td scope="col">강사|차시|시간(인)</td>
<td scope="col">강사|차시|시간(인)</td>
<td scope="col">강사|차시|시간(인)</td>
<td scope="col">강사|차시|시간(인)</td>
<td scope="col">강사|차시|시간(인)</td>
<td scope="col">강사|차시|시간(인)</td>
<td scope="col">강사|차시|시간(인)</td>
<td scope="col">강사|차시|시간(인)</td>
</tr>
<tr>
<td scope="col">5일</td>
<td scope="col">40|800|20</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">40|800|20</td>
</tr>
<tr>
<td scope="col">4일</td>
<td scope="col">30|480|16</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">30|480|16</td>
</tr>
<tr>
<td scope="col">3일</td>
<td scope="col">20|240|12</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">20|240|12</td>
</tr>
<tr>
<td scope="col">2일</td>
<td scope="col">10|80|8</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">10|80|8</td>
</tr>
<tr>
<td scope="col">1일</td>
<td scope="col">5|20|4</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">5|20|4</td>
</tr>
<tr>
<td scope="col">0일</td>
<td scope="col">5|0|0</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">5|0|0</td>
</tr>
<tr>
<td scope="col">계</td>
<td scope="col">110|1620|</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">||</td>
<td scope="col">110|1620|</td>
<td>
<c:choose>
<c:when test="${row.instrEa5 eq null}">
<button type="button" class="btn_type06" onclick="fncInstrAsgnmCndtnMng('${row.yr}'); return false;">계산</button>
</c:when>
<c:when test="${row.yr eq null}">
총계
</c:when>
<c:otherwise>
<button type="button" class="btn_type04" onclick="fncInstrAsgnmCndtnInitMng('${row.yr}'); return false;">초기화</button>
</c:otherwise>
</c:choose>
</td>
<td>
<p><c:out value='${row.yr}'/></p>
</td>
<td>
<p><c:out value='${row.aplctChasi}' default='0'/>차시</p>
</td>
<c:choose>
<c:when test="${row.yr eq null}">
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</c:when>
<c:otherwise>
<td><p><c:out value='${row.instrEa5}'/></p></td>
<td><p><c:out value='${row.asgnmChasi5}'/></p></td>
<td><p><c:out value='${row.instrTm5}'/></p></td>
<td><p><c:out value='${row.instrEa4}'/></p></td>
<td><p><c:out value='${row.asgnmChasi4}'/></p></td>
<td><p><c:out value='${row.instrTm4}'/></p></td>
<td><p><c:out value='${row.instrEa3}'/></p></td>
<td><p><c:out value='${row.asgnmChasi3}'/></p></td>
<td><p><c:out value='${row.instrTm3}'/></p></td>
<td><p><c:out value='${row.instrEa2}'/></p></td>
<td><p><c:out value='${row.asgnmChasi2}'/></p></td>
<td><p><c:out value='${row.instrTm2}'/></p></td>
<td><p><c:out value='${row.instrEa1}'/></p></td>
<td><p><c:out value='${row.asgnmChasi1}'/></p></td>
<td><p><c:out value='${row.instrTm1}'/></p></td>
<td><p><c:out value='${row.instrEa0}'/></p></td>
<td><p><c:out value='${row.asgnmChasi0}'/></p></td>
<td><p><c:out value='${row.instrTm0}'/></p></td>
</c:otherwise>
</c:choose>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</div>
<!--
<div class="btn_wrap_pop btn_layout01">
<div class="btn_left">
</div>
@ -395,7 +457,8 @@
</div>
<div class="btn_right">
</div>
</div>
</div>
-->
</div>
</div>

View File

@ -75,20 +75,11 @@
}
function fncInstrAsgnm(id, p_rank) {
$("#userId").val(id);
if (p_rank=='-'){
$("#rmrks").val(p_rank);
}else{
$("#rmrks").val("배정기준"+p_rank+"순위");
}
var data1 = new FormData(document.getElementById("createForm"));
$.ajax({
type:"POST",
url:"${pageContext.request.contextPath}/kccadr/oprtn/tngrVisitEdu/popup/instrAsgnmAjax.do",
url:"${pageContext.request.contextPath}/kccadr/oprtn/tngrVisitEdu/popup/instrRsdncMngPopupAjax.do",
data: data1,
dataType:'json',
async: false,
@ -98,16 +89,13 @@
success:function(returnData){
if(returnData.result == 'success'){
alert("저장 되었습니다.");
opener.location.reload();
fncPopClose();
location.reload();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
//동일 학교 여부 체크
@ -148,7 +136,25 @@
function reloadPage(){
location.reload();
}
//체크박스 전체 선택
function chkAll(thisObj){
$("input[name=chk]").prop("checked" , $(thisObj).is(":checked"));
}
function fncInstrMassAsgnm(){
var varEduAplctOrd = '';
$('input:checkbox[name="chk"]:checked').each(function() {
//alert($(this).val());
$("#ratio5_"+$(this).val()).val($("#ratio5_default").val());
$("#ratio4_"+$(this).val()).val($("#ratio4_default").val());
$("#ratio3_"+$(this).val()).val($("#ratio3_default").val());
$("#ratio2_"+$(this).val()).val($("#ratio2_default").val());
$("#ratio1_"+$(this).val()).val($("#ratio1_default").val());
});
}
</script>
</head>
<body>
@ -163,74 +169,110 @@
<input type="hidden" name="userId" id="userId" />
<input type="hidden" name="rmrks" id="rmrks" />
<input type="hidden" name="asgnmAprvlCd" value="${vEEduAplctVO.asgnmAprvlCd}"/>
</form:form>
<form:form id="listForm" name="listForm" method="post" onsubmit="return false;">
<input type="hidden" name="pageIndex" value="<c:out value='${vEEduAplctVO.pageIndex}' default='1' />"/>
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEEduAplctVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEEduAplctVO.searchSortOrd}" />" />
<input type="hidden" name="eduAplctOrd" value="<c:out value="${vEEduAplctVO.eduAplctOrd}" />" />
<input type="hidden" name="eduChasiOrd" value="<c:out value="${vEEduAplctVO.eduChasiOrd}" />" />
<input type="hidden" name="instrDiv" value="<c:out value="${vEEduAplctVO.instrDiv}" />" /><!-- 성인 -->
<div class="area_popup">
<div class="cont_popup">
<div class="pop_tb_tit01">
<p>강사 배정 조건 관리</p>
<p>강사 거주지별 배정 비율 관리</p>
</div>
<!-- list_top -->
<div class="list_top">
<div class="list_top_1">
<div class="util_left">
<p>구분1</p>
</div>
<div class="util_right">
<td>
5일<input type="text" id="ratio5_default" name="ratio5_default"
style="width:45px;" class="search_input" value="0"
maxLength="3"
/>
</td>
<td>
4일<input type="text" id="ratio4_default" name="ratio4_default"
style="width:45px;" class="search_input" value="0"
maxLength="3"
/>
</td>
<td>
3일<input type="text" id="ratio3_default" name="ratio3_default"
style="width:45px;" class="search_input" value="0"
maxLength="3"
/>
</td>
<td>
2일<input type="text" id="ratio2_default" name="ratio2_default"
style="width:45px;" class="search_input" value="0"
maxLength="3"
/>
</td>
<td>
1일<input type="text" id="ratio1_default" name="ratio1_default"
style="width:45px;" class="search_input" value="0"
maxLength="3"
/>
</td>
<button type="button" class="btn_type06" onclick="fncInstrMassAsgnm(); return false;">선택지역일괄적용</button>
<!--
<p>&nbsp;&nbsp;&nbsp;지역&nbsp;&nbsp;</p>
<ve:select codeId="VE0008" name="areaCd" id="areaCd" css="class='sel_type1'"
selectedValue="${vELctrDetailVO.areaCd}" defaultValue=''
defaultText='전체'
/>
-->
<!-- <button class="btn_type08" onclick="fncGoList(); return false;">검색</button> -->
</div>
</div>
</div>
<div class="pop_tb_type01">
<table>
<colgroup>
<col style="width: 7%;">
<col style="width: auto;">
<col style="width: 7%;">
<col style="width: 5%;">
<col style="width: 5%;">
<col style="width: 5%;">
<col style="width: 5%;">
<col style="width: 5%;">
<col style="width: 5%;">
<col style="width: 5%;">
<col style="width: 5%;">
<col style="width: 5%;">
<col style="width: 5%;">
<col style="width: 5%;">
<col style="width: 5%;">
<col style="width: 5%;">
<col style="width: 5%;">
<col style="width: 5%;">
<col style="width: 5%;">
<col style="width: 5%;">
<col style="width: 5%;">
<col style="width: 7%;">
<col style="width: 7%;">
<col style="width: 7%;">
<col style="width: 7%;">
<col style="width: 7%;">
<col style="width: 7%;">
<col style="width: 7%;">
<col style="width: 7%;">
<col style="width: 7%;">
<col style="width: 7%;">
</colgroup>
<thead>
<tr>
<th scope="col">거주지별비율</th>
<th scope="col" colspan="3">
<input type="checkbox" name="checkAll" id="checkAll" onclick="chkAll(this);" /><label for="checkAll"></label>
거주지별비율
</th>
<th scope="col">강원도</th>
<th scope="col">경기도</th>
<th scope="col">경상남도</th>
<th scope="col">경상북도</th>
<th scope="col">광주광역시</th>
<th scope="col">대구광역시</th>
<th scope="col">대전광역시</th>
<th scope="col">부산광역시</th>
<th scope="col">서울특별시</th>
<th scope="col">온라인</th>
<th scope="col" colspan="2">5일</th>
<th scope="col" colspan="2">4일</th>
<th scope="col" colspan="2">3일</th>
<th scope="col" colspan="2">2일</th>
<th scope="col" colspan="2">1일</th>
</tr>
<!--
<tr>
<th scope="col" colspan="2">거주지별비율</th>
<th scope="col">울산광역시</th>
<th scope="col">인천광역시</th>
<th scope="col">제외한국학교교육청</th>
<th scope="col">전라남도</th>
<th scope="col">전라북도</th>
<th scope="col">제주특별자치도</th>
<th scope="col">충청남도</th>
<th scope="col">충청북도</th>
</tr>
<th scope="col">5일</th>
<th scope="col">4일</th>
<th scope="col">3일</th>
<th scope="col">2일</th>
<th scope="col">1일</th>
</tr>
<tr>
<th scope="col"></th>
@ -253,316 +295,77 @@
<th scope="col">비율|차시</th>
<th scope="col">비율|차시</th>
<th scope="col">비율|차시</th>
</tr>
</tr>
-->
</thead>
<tbody>
<tr>
<td scope="col">5일</td>
<td scope="col">
<input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value="50"
maxLength="2"
/>10</td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
<c:forEach var="row" items="${asgnmStngVOList}" varStatus="status">
<tr>
<td>
<p><input name="chk" class="${row.areaCd}" value="<c:out value='${row.areaCd}' />"
title="Check" type="checkbox"/></p>
</td>
<td>
<p><c:out value='${row.asgnmNm}' default='1' /></p>
</td>
<td>비율</td>
<td colspan="2">
<input type="text" id="ratio5_${row.areaCd}" name="ratio5_${row.areaCd}"
style="width:55px;" class="search_input" value="<c:out value='${row.ratio5}' default='0' />"
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
/>
</td>
<%-- <td><c:out value='${row.ratio5}' default='0' /></td> --%>
<td colspan="2">
<input type="text" id="ratio4_${row.areaCd}" name="ratio4_${row.areaCd}"
style="width:55px;" class="search_input" value="<c:out value='${row.ratio4}' default='0' />"
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
/>
</td>
<%-- <td><c:out value='${row.ratio4}' default='0' /></td> --%>
<td colspan="2">
<input type="text" id="ratio3_${row.areaCd}" name="ratio3_${row.areaCd}"
style="width:55px;" class="search_input" value="<c:out value='${row.ratio3}' default='0' />"
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
/>
</td>
<%-- <td><c:out value='${row.ratio3}' default='0' /></td> --%>
<td colspan="2">
<input type="text" id="ratio2_${row.areaCd}" name="ratio2_${row.areaCd}"
style="width:55px;" class="search_input" value="<c:out value='${row.ratio2}' default='0' />"
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
/>
</td>
<%-- <td><c:out value='${row.ratio2}' default='0' /></td> --%>
<td colspan="2">
<input type="text" id="ratio1_${row.areaCd}" name="ratio1_${row.areaCd}"
style="width:55px;" class="search_input" value="<c:out value='${row.ratio1}' default='0' />"
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
/>
</td>
<%-- <td><c:out value='${row.ratio1}' default='0' /></td> --%>
</tr>
<tr>
<td scope="col">4일</td>
<td scope="col">
<input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value="50"
maxLength="2"
/>8</td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
</tr>
<tr>
<td scope="col">3일</td>
<td scope="col">
<input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value="50"
maxLength="2"
/>6</td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
</tr>
<tr>
<td scope="col">2일</td>
<td scope="col">
<input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value="50"
maxLength="2"
/>4</td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
</tr>
<tr>
<td scope="col">1일</td>
<td scope="col">
<input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value="50"
maxLength="2"
/>2</td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
<td scope="col"><input type="text" id="searchScholNm" name="searchScholNm" style="width:35px;" class="search_input" value=""
maxLength="2"
/></td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</div>
<div class="btn_wrap_pop btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<button type="button" class="btn_type06" onclick="self.close();">저장</button>
<button type="button" class="btn_type06" onclick="fncInstrAsgnm();return false;">저장</button>
<button type="button" class="btn_type04" onclick="self.close();">닫기</button>
</div>
<div class="btn_right">

View File

@ -73,22 +73,55 @@
listForm.submit();
*/
}
function fncInstrAsgnm(id, p_rank) {
$("#userId").val(id);
if (p_rank=='-'){
$("#rmrks").val(p_rank);
}else{
$("#rmrks").val("배정기준"+p_rank+"순위");
}
//특정강사배정
function fncInstrAsgnm(id) {
$("#userId").val(id);
$("#rmrks").val("특정강사배정");
var chkLen = $(listForm).find("input[name=chk]:checked").length;
if(chkLen == 0){
alert("선택된 항목이 없습니다.");
return;
}
//var fnExit = false;
//chkStatCd = "30";
//msg = "특정강사배정(교육확정 건)";
var varEduAplctOrd = '';
$('input:checkbox[name="chk"]:checked').each(function() {
varEduAplctOrd = varEduAplctOrd + $(this).val() + "__";
/*
if(!fnExit){
varEduAplctOrd = varEduAplctOrd + $(this).val() + "__";
if($(this).attr("class") == chkStatCd) {
alert("선택한 목록 중 " + msg + "이 불가능한 건이 있습니다.");
fnExit = true;
}
}
*/
});
//체크한 리스트 중 해당 상태에 실행 불가능한 건이 있는지 체크 후, 존재 시 함수 종료
//if(fnExit) return false;
var tForm = document.createForm ;
tForm.eduAplctOrd.value = varEduAplctOrd ;
tForm.asgnmAprvlCd.value = "10" ;
var data1 = new FormData(document.getElementById("createForm"));
$.ajax({
type:"POST",
url:"${pageContext.request.contextPath}/kccadr/oprtn/tngrVisitEdu/popup/instrAsgnmAjax.do",
url:"${pageContext.request.contextPath}/kccadr/oprtn/tngrVisitEdu/popup/instrAsgnmForceAjax.do",
data: data1,
dataType:'json',
async: false,
@ -111,6 +144,7 @@
}
//동일 학교 여부 체크
/*
function fncInstrAsgnm_bef(id, p_rank) {
$("#userId").val(id);
$("#rmrks").val("배정기준"+p_rank+"순위");
@ -144,10 +178,16 @@
}
*/
function reloadPage(){
location.reload();
}
//체크박스 전체 선택
function chkAll(thisObj){
$("input[name=chk]").prop("checked" , $(thisObj).is(":checked"));
}
</script>
</head>
@ -190,13 +230,15 @@
</div>
</div>
<!--
<div class="btn_wrap btn_layout01">
<div class="btn_left"></div>
<div class="btn_center"></div>
<div class="btn_right">
<button type="button" class="btn_type03" onclick="reloadPage();" id="btnDstnc" style="display:none;">이동거리확인</button>
</div>
</div>
</div>
-->
<div class="pop_tb_tit01">
<p>강사 목록</p>
@ -268,19 +310,8 @@
<%-- <td><c:out value='${list.cntnsLctrPsblYn}'/></td> --%>
<td><c:out value='${list.pnltyCnt}'/></td>
<td>
<c:if test='${empty list.chrgNm}'>
<c:choose>
<c:when test="${empty vEEduAplctVO.instrNm}">
<button class="btn_type06" onclick="fncInstrAsgnm_bef('<c:out value="${list.userId}" />', '<c:out value="${instrRank}"/>'); return false;">선택</button>
</c:when>
<c:otherwise>
<button class="btn_type06" onclick="fncInstrAsgnm_bef('<c:out value="${list.userId}" />', '-'); return false;">선택</button>
</c:otherwise>
</c:choose>
</c:if>
<%-- <button class="btn_type06" onclick="fncInstrAsgnm_bef('<c:out value="${list.userId}" />', '<c:out value="${instrRank}"/>'); return false;">선택</button> --%>
<button class="btn_type06" onclick="fncInstrAsgnm('<c:out value="${list.userId}" />'); return false;">선택</button>
</td>
</tr>
@ -291,16 +322,7 @@
</tbody>
</table>
</div>
<!-- page -->
<!--
<div class="page">
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</div>
-->
<!-- //page -->
<div class="btn_wrap_pop btn_layout01">
@ -421,7 +443,7 @@
<div class="btn_left">
</div>
<div class="btn_center">
<button type="button" class="btn_type04" onclick="self.close();">확인</button>
<button type="button" class="btn_type04" onclick="self.close();">닫기</button>
</div>
<div class="btn_right">
</div>