2024-01-12 14:44 강사료 확정 관리 쿼리 수정, 자동 배정 수정 중
This commit is contained in:
parent
44023bf5dd
commit
bb821678ae
@ -643,95 +643,16 @@ public class CommonWebController {
|
||||
//step2.배정 대상별 가능한 대상 강사 찾기 및 등록
|
||||
int p=0;
|
||||
{
|
||||
System.out.println("vEEduAplctVOList.size()");
|
||||
System.out.println(vEEduAplctVOList.size());
|
||||
System.out.println(vEEduAplctVOList.size());
|
||||
for (int i=0;i<vEEduAplctVOList.size();i++) {
|
||||
|
||||
//chasiord, aplctord, hopedt & loginVO
|
||||
p = p + this.setTngrInstrAsgnm20231115(vEEduAplctVOList.get(i), loginVO);
|
||||
//p = p + this.setTngrInstrAsgnm20231115(vEEduAplctVOList.get(i), loginVO);
|
||||
|
||||
/*
|
||||
//eduChasiOrd, 희망일자가 필요
|
||||
VEEduAplctVO tChasiInfo = vEEduAplctVOList.get(i);
|
||||
|
||||
String s_eduHopeDt = tChasiInfo.getEduHopeDt(); //교육희망일자
|
||||
//String s_addr = tChasiInfo.getAddr(); //지역명
|
||||
|
||||
System.out.println(s_eduHopeDt);
|
||||
//System.out.println(s_addr);
|
||||
|
||||
|
||||
//파라미터
|
||||
VEAutoAsgnmVO vEAutoAsgnmVO = null;
|
||||
|
||||
String s_user_id = "'aaa'";
|
||||
|
||||
//대상 강사 리스트
|
||||
List<VEAutoAsgnmVO> 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<vEInstrAssiEduAplctVOList.size();j++) {
|
||||
s_user_id = s_user_id + ",'" + vEInstrAssiEduAplctVOList.get(j).getUserId()+"'";
|
||||
}
|
||||
|
||||
if (!"'aaa'".equals(s_user_id)) { //대상 강사가 있을때만 다음을 실행한다.
|
||||
vEAutoAsgnmVO.setUserIds(s_user_id);
|
||||
vEInstrAssiEduAplctVOList = vEAutoAsgnmMIXService.selectInstrHopeAreaList(vEAutoAsgnmVO);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
//우선순위
|
||||
{
|
||||
//step3-1.거주지 강사 우선(월별배정 비율 적용)
|
||||
//step3-2.연강가능여부(같은날 연강은 연강강사가 우선 배정)
|
||||
//step3-3.패널티(패널티 없는 사람이 우선순위 높게)
|
||||
|
||||
//step3-4.월별시수대비할당이적은자 우선(필)
|
||||
s_user_id = "'aaa'";
|
||||
for (int j=0;j<vEInstrAssiEduAplctVOList.size();j++) {
|
||||
s_user_id = s_user_id + ",'" + vEInstrAssiEduAplctVOList.get(j).getUserId()+"'";
|
||||
}
|
||||
|
||||
if (!"'aaa'".equals(s_user_id)) { //대상 강사가 있을때만 다음을 실행한다.
|
||||
vEAutoAsgnmVO.setUserIds(s_user_id);
|
||||
vEInstrAssiEduAplctVOList = vEAutoAsgnmMIXService.selectInstrPriorityList(vEAutoAsgnmVO);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//강사배정-대상 강사가 있어야 강사를 할당한다.
|
||||
if (vEInstrAssiEduAplctVOList.size()>0) {
|
||||
VEInstrAsgnmVO p_vEInstrAsgnmVO = new VEInstrAsgnmVO();
|
||||
p_vEInstrAsgnmVO.setEduAplctOrd(tChasiInfo.getEduAplctOrd());
|
||||
p_vEInstrAsgnmVO.setEduChasiOrd(tChasiInfo.getEduChasiOrd());
|
||||
|
||||
p_vEInstrAsgnmVO.setUserId(vEInstrAssiEduAplctVOList.get(0).getUserId());
|
||||
p_vEInstrAsgnmVO.setFrstRegisterId(loginVO.getUniqId());
|
||||
p_vEInstrAsgnmVO.setAsgnmAprvlCd("10");
|
||||
p_vEInstrAsgnmVO.setAsgnmAprvlId(loginVO.getUniqId());
|
||||
p_vEInstrAsgnmVO.setRmrks("배정기준1순위");
|
||||
|
||||
//저장
|
||||
vEEduChasiInstrAsgnmService.insert(p_vEInstrAsgnmVO);
|
||||
|
||||
//저장여부 확인
|
||||
//step3-1.해당 차시에 강사 배정이 있는지 확인
|
||||
VEInstrAsgnmVO vEInstrAsgnmVOTmp = vEEduChasiInstrAsgnmService.selectDetail(p_vEInstrAsgnmVO);
|
||||
if (vEInstrAsgnmVOTmp!=null) p = p+1;
|
||||
}
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -132,9 +132,9 @@
|
||||
, A.EDU_CHASI_ORD AS eduChasiOrd
|
||||
, B.INSTR_FEE_ORD AS instrFeeOrd
|
||||
, A.USER_ID AS userId
|
||||
,(SELECT AA.ADDR FROM VE_INSTR_DETAIL AA WHERE 1=1 AND AA.USER_ID = A.USER_ID AND aa.instr_div=e.lctr_div_cd AND aa.use_yn='Y') AS instrRsdnc
|
||||
,(SELECT AA.ADDR FROM VE_INSTR_DETAIL AA WHERE 1=1 AND AA.USER_ID = A.USER_ID AND aa.instr_div=e.lctr_div_cd AND aa.use_yn='Y' LIMIT 1) AS instrRsdnc
|
||||
|
||||
,(SELECT AA.div_cd FROM VE_INSTR_DETAIL AA WHERE 1=1 AND AA.USER_ID = A.USER_ID AND aa.instr_div=e.lctr_div_cd AND aa.use_yn ='Y') AS divCd
|
||||
,(SELECT AA.div_cd FROM VE_INSTR_DETAIL AA WHERE 1=1 AND AA.USER_ID = A.USER_ID AND aa.instr_div=e.lctr_div_cd AND aa.use_yn='Y' LIMIT 1) AS divCd
|
||||
,(SELECT EE.NEW_ADDR FROM VE_SCHOL EE WHERE 1=1 AND EE.STNDRD_SCHOL_CD = E.STNDRD_SCHOL_CD) AS scholArea
|
||||
|
||||
|
||||
|
||||
@ -771,19 +771,42 @@
|
||||
+ NVL(SUM(CASE WHEN substring(bb.yrmnt,6,7)='11' THEN bb.instrSumChasi END),0)
|
||||
+ NVL(SUM(CASE WHEN substring(bb.yrmnt,6,7)='12' THEN bb.instrSumChasi END),0))*100
|
||||
/
|
||||
( NVL(aa.m01_tm,0)
|
||||
+ NVL(aa.m02_tm,0)
|
||||
+ NVL(aa.m03_tm,0)
|
||||
+ NVL(aa.m04_tm,0)
|
||||
+ NVL(aa.m05_tm,0)
|
||||
+ NVL(aa.m06_tm,0)
|
||||
+ NVL(aa.m07_tm,0)
|
||||
+ NVL(aa.m08_tm,0)
|
||||
+ NVL(aa.m09_tm,0)
|
||||
+ NVL(aa.m10_tm,0)
|
||||
+ NVL(aa.m11_tm,0)
|
||||
+ NVL(aa.m12_tm,0)
|
||||
))
|
||||
/* 0 으로 나누는 오류를 막기위해서 처리함 */
|
||||
DECODE
|
||||
(
|
||||
(
|
||||
NVL(aa.m01_tm,0)
|
||||
+ NVL(aa.m02_tm,0)
|
||||
+ NVL(aa.m03_tm,0)
|
||||
+ NVL(aa.m04_tm,0)
|
||||
+ NVL(aa.m05_tm,0)
|
||||
+ NVL(aa.m06_tm,0)
|
||||
+ NVL(aa.m07_tm,0)
|
||||
+ NVL(aa.m08_tm,0)
|
||||
+ NVL(aa.m09_tm,0)
|
||||
+ NVL(aa.m10_tm,0)
|
||||
+ NVL(aa.m11_tm,0)
|
||||
+ NVL(aa.m12_tm,0)
|
||||
)
|
||||
,0
|
||||
,1
|
||||
,
|
||||
(
|
||||
NVL(aa.m01_tm,0)
|
||||
+ NVL(aa.m02_tm,0)
|
||||
+ NVL(aa.m03_tm,0)
|
||||
+ NVL(aa.m04_tm,0)
|
||||
+ NVL(aa.m05_tm,0)
|
||||
+ NVL(aa.m06_tm,0)
|
||||
+ NVL(aa.m07_tm,0)
|
||||
+ NVL(aa.m08_tm,0)
|
||||
+ NVL(aa.m09_tm,0)
|
||||
+ NVL(aa.m10_tm,0)
|
||||
+ NVL(aa.m11_tm,0)
|
||||
+ NVL(aa.m12_tm,0)
|
||||
)
|
||||
)
|
||||
)
|
||||
AS achvmRt
|
||||
|
||||
FROM vea_instr_indvd_mnt_tm aa
|
||||
|
||||
@ -1061,7 +1061,7 @@
|
||||
<th>교육대상</th>
|
||||
<th>강사명</th>
|
||||
<th>선택근거</th>
|
||||
<th>확정여부</th>
|
||||
<th>확정여부(코드)</th>
|
||||
<th>강사배치</th>
|
||||
<th>추가강사인원</th>
|
||||
</tr>
|
||||
@ -1078,7 +1078,7 @@
|
||||
<input name="chk" class="${list.asgnmAprvlCd}"
|
||||
value="${list.eduAplctOrd}@${list.eduChasiOrd}" data-phone="<c:out value='${list.clphone}' />"
|
||||
data-email="<c:out value='${list.email}' />" data-cnt="<c:out value='${list.cnt}'/>" data-lctr="<c:out value='${list.userId}' />"
|
||||
title="Check" type="checkbox"/>${list.asgnmAprvlCd}
|
||||
title="Check" type="checkbox"/>
|
||||
</td>
|
||||
<td>
|
||||
<fmt:parseDate value="${list.eduHopeDt}" var="eduHopeDt" pattern="yyyy.MM.dd"/>
|
||||
@ -1114,7 +1114,7 @@
|
||||
<c:out value="${list.rmrks}"/>
|
||||
</td>
|
||||
<td>
|
||||
<ve:code codeId="VE0019" code="${list.asgnmAprvlCd}"/>
|
||||
<ve:code codeId="VE0019" code="${list.asgnmAprvlCd}"/>(${list.asgnmAprvlCd})
|
||||
</td>
|
||||
<td>
|
||||
<c:if test="${list.asgnmAprvlCd ne '20' and list.asgnmAprvlCd ne '30' and list.asgnmAprvlCd ne '40'}">
|
||||
|
||||
Loading…
Reference in New Issue
Block a user