2024-02-06 17:55 청소년 강사 자동 배정 수정

This commit is contained in:
myname 2024-02-06 17:56:15 +09:00
parent a2baf8ad44
commit f9839f2085
6 changed files with 93 additions and 7 deletions

View File

@ -532,6 +532,21 @@ public class InnorixFileServiceImpl extends EgovAbstractServiceImpl implements I
vEEduAplctVO.setSbmtAtchFileId(atchFileId);
vEEduAplctService.updateSbmtAtchFileId(vEEduAplctVO);
//서류요청 제출
try {
iTNotiUtil.insertNotifyNew(
"10",
adrInnorixFileVO.getUniqId(),
VeConstants.NOTI_STATUS_98,
vEEduAplctVO.getEduDocReqOrd(),
"",
"0",
"1"
);
}catch(Exception ex) {
ex.printStackTrace();
}
} catch (Exception e) {
e.printStackTrace();

View File

@ -84,6 +84,10 @@ public class NotifyManageDAO extends EgovAbstractDAO {
return (NotifyManageVO) select("VEANotifyDAO.findByUserIdFromVE_EDU_DOC_REQ", eduAplctOrd);
}
public NotifyManageVO findByUserIdFromVE_EDU_DOC_REQ_2(String eduAplctOrd) {
return (NotifyManageVO) select("VEANotifyDAO.findByUserIdFromVE_EDU_DOC_REQ_2", eduAplctOrd);
}
public String selectNotifyInstr(NotifyManageVO notifyManageVO) {
return (String) select("VEANotifyDAO.selectNotifyInstr", notifyManageVO);
}

View File

@ -586,7 +586,12 @@ public class NotifyManageServiceImpl extends EgovAbstractServiceImpl implements
}else if (
"97".equals(p_noti_status) //서류요청
) {
notifyPath = "/ve/instr/tngrVisitEdu/asgnmInfo/instrAsgnmDetail.do"; //강사 - 강의내역상세
notifyPath = "/web/ve/instr/tngrVisitEdu/asgnmInfo/instrAsgnmDetail.do"; //강사 - 강의내역상세
}else if (
"98".equals(p_noti_status) //서류제출
) {
notifyPath = "/web/ve/aplct/tngrVisitEdu/eduEnd/eduEndDetail.do"; //사용자 - 완료목록상세
}
@ -735,6 +740,25 @@ public class NotifyManageServiceImpl extends EgovAbstractServiceImpl implements
p_notifyManageVO.setEduAplctOrd(t_notifyManageVO.getEduAplctOrd());
p_notifyManageVO.setEduChasiOrd(t_notifyManageVO.getEduChasiOrd());
}
}else if (
"98".equals(p_noti_status) //98-서류제출
) {
//해당 강사에게 알림
NotifyManageVO t_notifyManageVO = notifyManageDAO.findByUserIdFromVE_EDU_DOC_REQ_2(p_notifyManageVO.getEduAplctOrd());
//p_notifyManageVO.setToUserId(notifyManageDAO.findByUserIdFromLETTNBBS(p_notifyManageVO.getEduAplctOrd()));
p_notifyManageVO.setToUserId(t_notifyManageVO.getToUserId());
//서류요청은 상세 페이지 데이터가 없어서 여기서 셋팅한다.
{
p_notifyManageVO.setParams("eduAplctOrd:"+t_notifyManageVO.getEduAplctOrd()+",eduChasiOrd:"+t_notifyManageVO.getEduChasiOrd());
//ex)edu_aplct_ord:edu_001,edu_chasi_ord:edu_cha_001
p_notifyManageVO.setEduAplctOrd(t_notifyManageVO.getEduAplctOrd());
p_notifyManageVO.setEduChasiOrd(t_notifyManageVO.getEduChasiOrd());
}
}

View File

@ -1409,7 +1409,7 @@ public class CommonWebController {
//step3-4.월별시수대비할당이적은자 우선()
String s_orderByQuery = " NVL(aaa.instrSumChasi*10000,0)/(aaa.asgnmTm+1) asc ";
String s_orderByQuery = " NVL(aaa.instrSumChasi*10000,0)/(aaa.asgnmTm+1) asc, ccc0.areaCnt ASC, ccc0.weekCnt asc ";
s_user_id = "'aaa'";
for (int j=0;j<vEInstrAssiEduAplctVOList.size();j++) {
s_user_id = s_user_id + ",'" + vEInstrAssiEduAplctVOList.get(j).getUserId()+"'";

View File

@ -149,9 +149,20 @@
ORDER BY b.EDU_CHASI_ORD
LIMIT 1
SELECT FRST_REGISTER_ID AS toUserId
FROM LETTNBBS
WHERE ntt_id=#eduAplctOrd#
</select>
<select id="VEANotifyDAO.findByUserIdFromVE_EDU_DOC_REQ_2" parameterClass="String" resultClass="notifyManageVO">
/* VEANotifyDAO.findByUserIdFromVE_EDU_DOC_REQ_2 */
SELECT a.edu_aplct_ord AS eduAplctOrd
, b.EDU_CHASI_ORD AS eduChasiOrd
, a.FRST_REGISTER_ID AS toUserId
FROM VE_EDU_DOC_REQ a
, ve_edu_chasi_instr_asgnm b
WHERE a.edu_doc_req_ord=#eduAplctOrd#
AND a.EDU_APLCT_ORD =b.EDU_APLCT_ORD
AND a.SBMT_ID =b.USER_ID
ORDER BY b.EDU_CHASI_ORD
LIMIT 1
</select>

View File

@ -724,6 +724,38 @@
$pnltyQuery$
/* 패널티 적용시 쿼리 추가됨 - 끝 */
/* 지역이 적은 사람, 주간 교육 가능일수가 적은 사람을 위해 추가 */
LEFT OUTER JOIN (
SELECT aa.user_id AS userId, aa.areaCnt, bb.weekCnt
FROM (
SELECT a.user_id, count(*) AS areaCnt
FROM ve_lctr_area a
WHERE 1=1
AND a.instr_div='10'
GROUP BY a.user_id
)aa
,(
SELECT a0.user_id
, max(weekCnt) AS weekCnt
FROM (
SELECT a.user_id
,decode(a.mon_lctr_yn,'Y',1,0)
+decode(a.tue_lctr_yn,'Y',1,0)
+decode(a.wed_lctr_yn,'Y',1,0)
+decode(a.thu_lctr_yn,'Y',1,0)
+decode(a.fri_lctr_yn,'Y',1,0) AS weekCnt
FROM ve_lctr_stng a
WHERE a.use_yn='Y'
AND a.instr_div='10'
)a0
GROUP BY a0.user_id
)bb
WHERE aa.user_id=bb.user_id
AND bb.weekCnt>0
ORDER BY aa.areaCnt, bb.weekCnt
)ccc0
on ( aaa.user_id = ccc0.userId )
WHERE 1=1
/*