diff --git a/src/main/java/kcc/ve/aplct/comweb/CommonWebController.java b/src/main/java/kcc/ve/aplct/comweb/CommonWebController.java index 87298fb7..e8cec87e 100644 --- a/src/main/java/kcc/ve/aplct/comweb/CommonWebController.java +++ b/src/main/java/kcc/ve/aplct/comweb/CommonWebController.java @@ -640,39 +640,59 @@ public class CommonWebController { System.out.println(s_addr); - //필수 조건 - //step2-1.가능 강사중 월별 시수이상을 받지 않은자 & 해당 요일에 수업 가능한 강사 리스트(필) - VEAutoAsgnmVO vEAutoAsgnmVO = new VEAutoAsgnmVO(); - vEAutoAsgnmVO.setEduHopeMnt(s_eduHopeDt.substring(5,7)); - vEAutoAsgnmVO.setYr(s_eduHopeDt.substring(0,4)); - vEAutoAsgnmVO.setInstrDiv("10"); //10-청소년, 20-성인 - vEAutoAsgnmVO.setEduChasiOrd(tChasiInfo.getEduChasiOrd()); - List vEInstrAssiEduAplctVOList = vEAutoAsgnmMIXService.selectInstrMntAsgnmtChasiList(vEAutoAsgnmVO); + //파라미터 + VEAutoAsgnmVO vEAutoAsgnmVO = null; - //step2-2.희망 지역 강사 검색(필) String s_user_id = "'aaa'"; - for (int j=0;j vEInstrAssiEduAplctVOList = null; + + //필수 조건(월별시수제한, 요일, 희망지역) + { + //step2-1.가능 강사중 월별 시수이상을 받지 않은자 & 해당 요일에 수업 가능한 강사 리스트(필) + vEAutoAsgnmVO = new VEAutoAsgnmVO(); + vEAutoAsgnmVO.setEduHopeMnt(s_eduHopeDt.substring(5,7)); + vEAutoAsgnmVO.setYr(s_eduHopeDt.substring(0,4)); + vEAutoAsgnmVO.setInstrDiv("10"); //10-청소년, 20-성인 + vEAutoAsgnmVO.setEduChasiOrd(tChasiInfo.getEduChasiOrd()); + + vEInstrAssiEduAplctVOList = vEAutoAsgnmMIXService.selectInstrMntAsgnmtChasiList(vEAutoAsgnmVO); + + //step2-2.희망 지역 강사 검색(필) + + for (int j=0;j거주지별 배정 비율 필터(선택) - //강사배정 + //우선순위 + { + //step3-1.거주지 강사 우선(월별배정 비율 적용) + //step3-2.연강가능여부(같은날 연강은 연강강사가 우선 배정) + //step3-3.패널티(패널티 없는 사람이 우선순위 높게) + + //step3-4.월별시수대비할당이적은자 우선(필) + s_user_id = "'aaa'"; + for (int j=0;j0) { VEInstrAsgnmVO p_vEInstrAsgnmVO = new VEInstrAsgnmVO(); p_vEInstrAsgnmVO.setEduAplctOrd(tChasiInfo.getEduAplctOrd()); diff --git a/src/main/resources/egovframework/sqlmap/ve/edu/VEAutoAsgnm_MIX_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/edu/VEAutoAsgnm_MIX_SQL_Tibero.xml index ab31c3b8..93d27866 100644 --- a/src/main/resources/egovframework/sqlmap/ve/edu/VEAutoAsgnm_MIX_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/edu/VEAutoAsgnm_MIX_SQL_Tibero.xml @@ -575,12 +575,15 @@ /* VEAutoAsgnmDAO.selectInstrPriorityList */ SELECT - aaa.userId + aaa.user_id AS userId , aaa.instrSumChasi , aaa.asgnmTm , rownum FROM ( - SELECT bb.* + SELECT + aa.user_id + , bb.userId + , bb.instrSumChasi , NVL( CASE @@ -603,7 +606,8 @@ AS asgnmTm FROM vea_instr_indvd_mnt_tm aa - ,( + LEFT OUTER JOIN + ( /* 강사에게 교육이 할당(확정, 반려, 요청전, 요첮우 모두 포함)된 차시수 */ SELECT d.user_id AS userId, SUM(NVL(b.chasi, 0)) AS instrSumChasi @@ -625,9 +629,12 @@ GROUP BY d.user_id )bb + on( + 1=1 + AND aa.user_id=bb.userId + ) WHERE aa.yr=#yr# - AND aa.user_id IN ($userIds$) - AND aa.USER_ID =bb.userId + AND aa.user_id IN ($userIds$) )aaa ORDER BY aaa.instrSumChasi*10000/(aaa.asgnmTm+1) asc