2024-01-12 14:44 강사료 확정 관리 쿼리 수정, 자동 배정 수정 중
This commit is contained in:
parent
44023bf5dd
commit
bb821678ae
@ -643,95 +643,16 @@ public class CommonWebController {
|
|||||||
//step2.배정 대상별 가능한 대상 강사 찾기 및 등록
|
//step2.배정 대상별 가능한 대상 강사 찾기 및 등록
|
||||||
int p=0;
|
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++) {
|
for (int i=0;i<vEEduAplctVOList.size();i++) {
|
||||||
|
|
||||||
//chasiord, aplctord, hopedt & loginVO
|
//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
|
, A.EDU_CHASI_ORD AS eduChasiOrd
|
||||||
, B.INSTR_FEE_ORD AS instrFeeOrd
|
, B.INSTR_FEE_ORD AS instrFeeOrd
|
||||||
, A.USER_ID AS userId
|
, 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
|
,(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)='11' THEN bb.instrSumChasi END),0)
|
||||||
+ NVL(SUM(CASE WHEN substring(bb.yrmnt,6,7)='12' THEN bb.instrSumChasi END),0))*100
|
+ NVL(SUM(CASE WHEN substring(bb.yrmnt,6,7)='12' THEN bb.instrSumChasi END),0))*100
|
||||||
/
|
/
|
||||||
( NVL(aa.m01_tm,0)
|
/* 0 으로 나누는 오류를 막기위해서 처리함 */
|
||||||
+ NVL(aa.m02_tm,0)
|
DECODE
|
||||||
+ NVL(aa.m03_tm,0)
|
(
|
||||||
+ NVL(aa.m04_tm,0)
|
(
|
||||||
+ NVL(aa.m05_tm,0)
|
NVL(aa.m01_tm,0)
|
||||||
+ NVL(aa.m06_tm,0)
|
+ NVL(aa.m02_tm,0)
|
||||||
+ NVL(aa.m07_tm,0)
|
+ NVL(aa.m03_tm,0)
|
||||||
+ NVL(aa.m08_tm,0)
|
+ NVL(aa.m04_tm,0)
|
||||||
+ NVL(aa.m09_tm,0)
|
+ NVL(aa.m05_tm,0)
|
||||||
+ NVL(aa.m10_tm,0)
|
+ NVL(aa.m06_tm,0)
|
||||||
+ NVL(aa.m11_tm,0)
|
+ NVL(aa.m07_tm,0)
|
||||||
+ NVL(aa.m12_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
|
AS achvmRt
|
||||||
|
|
||||||
FROM vea_instr_indvd_mnt_tm aa
|
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>
|
<th>확정여부(코드)</th>
|
||||||
<th>강사배치</th>
|
<th>강사배치</th>
|
||||||
<th>추가강사인원</th>
|
<th>추가강사인원</th>
|
||||||
</tr>
|
</tr>
|
||||||
@ -1078,7 +1078,7 @@
|
|||||||
<input name="chk" class="${list.asgnmAprvlCd}"
|
<input name="chk" class="${list.asgnmAprvlCd}"
|
||||||
value="${list.eduAplctOrd}@${list.eduChasiOrd}" data-phone="<c:out value='${list.clphone}' />"
|
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}' />"
|
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>
|
||||||
<td>
|
<td>
|
||||||
<fmt:parseDate value="${list.eduHopeDt}" var="eduHopeDt" pattern="yyyy.MM.dd"/>
|
<fmt:parseDate value="${list.eduHopeDt}" var="eduHopeDt" pattern="yyyy.MM.dd"/>
|
||||||
@ -1114,7 +1114,7 @@
|
|||||||
<c:out value="${list.rmrks}"/>
|
<c:out value="${list.rmrks}"/>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<ve:code codeId="VE0019" code="${list.asgnmAprvlCd}"/>
|
<ve:code codeId="VE0019" code="${list.asgnmAprvlCd}"/>(${list.asgnmAprvlCd})
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<c:if test="${list.asgnmAprvlCd ne '20' and list.asgnmAprvlCd ne '30' and list.asgnmAprvlCd ne '40'}">
|
<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