2024-02-08 12:36 알림 기능 개발

This commit is contained in:
myname 2024-02-08 12:37:00 +09:00
parent cf9b3feff9
commit b5c20f891d
10 changed files with 120 additions and 12 deletions

View File

@ -733,7 +733,22 @@ public class InnorixFileServiceImpl extends EgovAbstractServiceImpl implements I
//저장 //저장
vEAPrcsAplctPrdInstrAsgnmService.updatDocAtchFileId(vEAPrcsAplctPrdInstrAsgnmVO); vEAPrcsAplctPrdInstrAsgnmService.updatDocAtchFileId(vEAPrcsAplctPrdInstrAsgnmVO);
//결과보고서 제출 알림
try {
iTNotiUtil.insertNotifyNew_60(
adrInnorixFileVO.getLctrDivCd(),
adrInnorixFileVO.getUniqId(),
VeConstants.NOTI_STATUS_51,
adrInnorixFileVO.getPrcsAplctPrdOrd(),
"",
"1",
"1"
);
}catch(Exception ex) {
ex.printStackTrace();
}
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
return new RestResponse(HttpStatus.BAD_REQUEST, "등록에 실패하였습니다.", LocalDateTime.now()); return new RestResponse(HttpStatus.BAD_REQUEST, "등록에 실패하였습니다.", LocalDateTime.now());

View File

@ -663,14 +663,17 @@ public class NotifyManageServiceImpl extends EgovAbstractServiceImpl implements
}else if ( }else if (
"153".equals(p_noti_status) //교육확정 "153".equals(p_noti_status) //교육확정
||"154".equals(p_noti_status) //교육취소 ||"154".equals(p_noti_status) //교육취소
||"61".equals(p_noti_status) //강의만족도제출요청
) { ) {
notifyPath = "/web/ve/aplct/fndtnEnhanceTrn/main.do"; //운영자 - 교육신청관리 - 상세 notifyPath = "/web/ve/aplct/fndtnEnhanceTrn/main.do"; //운영자 - 교육신청관리 - 상세
}else if ( }else if (
"31".equals(p_noti_status) //강의계획서 제출 "31".equals(p_noti_status) //강의계획서 제출
||"51".equals(p_noti_status) //결과보고서 제출
||"62".equals(p_noti_status) //강의만족도 제출
) { ) {
notifyPath = "/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctCfnMngDetail.do"; //운영자 - 강의계획서 notifyPath = "/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctCfnMngDetail.do"; //운영자 - 강의계획서
}else if ( }else if (
"91".equals(p_noti_status) //교육문의 "91".equals(p_noti_status) //교육문의
) { ) {
@ -871,6 +874,8 @@ public class NotifyManageServiceImpl extends EgovAbstractServiceImpl implements
if ( if (
"10".equals(p_noti_status) //10-교육신청 "10".equals(p_noti_status) //10-교육신청
||"31".equals(p_noti_status) //31-강의계획서 ||"31".equals(p_noti_status) //31-강의계획서
||"51".equals(p_noti_status) //51-결과보고서제출
||"62".equals(p_noti_status) //62-강의만족도제출
||"91".equals(p_noti_status) //91-교육문의 ||"91".equals(p_noti_status) //91-교육문의
) { //10-교육신청 ) { //10-교육신청
//담당 관리자에게 모두 알림 //담당 관리자에게 모두 알림
@ -886,16 +891,18 @@ public class NotifyManageServiceImpl extends EgovAbstractServiceImpl implements
notifyManageListVO = notifyManageDAO.selectAplctList(p_notifyManageVO); //prcsAplctPrdOrd notifyManageListVO = notifyManageDAO.selectAplctList(p_notifyManageVO); //prcsAplctPrdOrd
} else if ( } else if (
"154".equals(p_noti_status) //153-교육확정 "154".equals(p_noti_status) //154-접수취소
) { ) {
// 신청자 ID 가져오기 // 신청자 ID 가져오기
p_notifyManageVO.setToUserId(p_notifyManageVO.getEduAplctOrd()); notifyManageListVO = notifyManageDAO.selectAplctList(p_notifyManageVO); //prcsAplctPrdOrd
} else if ( } else if (
"92".equals(p_noti_status) //92-교육문의답변 "92".equals(p_noti_status) //92-교육문의답변
||"61".equals(p_noti_status) //61-강의만족도제출요청
) { ) {
// 강사 ID 가져오기 // 강사 ID 가져오기
p_notifyManageVO.setToUserId(p_notifyManageVO.getEduAplctOrd()); p_notifyManageVO.setToUserId(p_notifyManageVO.getEduAplctOrd());
} }
}else if( "60".equals(p_lctrDivCd) ) { //기소유예 }else if( "60".equals(p_lctrDivCd) ) { //기소유예
@ -1109,6 +1116,19 @@ public class NotifyManageServiceImpl extends EgovAbstractServiceImpl implements
//과정명 가져오기 //과정명 가져오기
NotifyManageVO t_notifyManageVO = notifyManageDAO.findByUserIdFromVE_PRCS_APLCT_PRD(p_notifyManageVO.getPrcsAplctPrdOrd()); NotifyManageVO t_notifyManageVO = notifyManageDAO.findByUserIdFromVE_PRCS_APLCT_PRD(p_notifyManageVO.getPrcsAplctPrdOrd());
notifyCn = "`"+t_notifyManageVO.getPrcsNm()+"` 강의계획서 제출 건이 있습니다."; notifyCn = "`"+t_notifyManageVO.getPrcsNm()+"` 강의계획서 제출 건이 있습니다.";
}else if ("51".equals(p_noti_status)) {
//과정명 가져오기
NotifyManageVO t_notifyManageVO = notifyManageDAO.findByUserIdFromVE_PRCS_APLCT_PRD(p_notifyManageVO.getPrcsAplctPrdOrd());
notifyCn = "`"+t_notifyManageVO.getPrcsNm()+"` 결과보고서 제출 건이 있습니다.";
}else if ("61".equals(p_noti_status)) {
NotifyManageVO t_notifyManageVO = notifyManageDAO.findByUserIdFromVE_PRCS_APLCT_PRD(p_notifyManageVO.getPrcsAplctPrdOrd());
notifyCn = "`"+t_notifyManageVO.getPrcsNm()+"` 강의만족도 제출 요청이 있습니다.";
}else if ("62".equals(p_noti_status)) {
NotifyManageVO t_notifyManageVO = notifyManageDAO.findByUserIdFromVE_PRCS_APLCT_PRD(p_notifyManageVO.getPrcsAplctPrdOrd());
notifyCn = "`"+t_notifyManageVO.getPrcsNm()+"` 강의만족도 제출 건이 있습니다.";
}else if ("91".equals(p_noti_status)) { }else if ("91".equals(p_noti_status)) {
notifyCn = "교육 문의 건이 있습니다."; notifyCn = "교육 문의 건이 있습니다.";

View File

@ -1,6 +1,5 @@
package kcc.ve.aplct.tngrVisitEdu.eduEnd.web; package kcc.ve.aplct.tngrVisitEdu.eduEnd.web;
import java.util.ArrayList;
import java.util.Comparator; import java.util.Comparator;
import java.util.List; import java.util.List;
@ -1055,6 +1054,22 @@ public class EduEndTngrController {
vEEduMIXService.updateEduStateCd(vEEduAplctVO); vEEduMIXService.updateEduStateCd(vEEduAplctVO);
//알림 설문제출
try {
iTNotiUtil.insertNotifyNew_60(
vEEduAplctVO.getLctrDivCd(),
loginVO.getUniqId(),
VeConstants.NOTI_STATUS_62,
vEEduAplctVO.getPrcsAplctPrdOrd(),
vEEduAplctVO.getEduAplctOrd(),
"2",
"2"
);
}catch(Exception ex) {
ex.printStackTrace();
}
/*
// 알림 영역 // 알림 영역
List<String> eduAplctOrdList = new ArrayList<String>(); List<String> eduAplctOrdList = new ArrayList<String>();
eduAplctOrdList.add(vEEduAplctVO.getEduAplctOrd()); eduAplctOrdList.add(vEEduAplctVO.getEduAplctOrd());
@ -1066,6 +1081,7 @@ public class EduEndTngrController {
, vEEduAplctVO.getEduAplctOrdList() , vEEduAplctVO.getEduAplctOrdList()
, vEEduAplctVO.getAplctStateCd() , vEEduAplctVO.getAplctStateCd()
); );
*/

View File

@ -1301,6 +1301,62 @@ public class CndtnPrcsInfoMngController {
} }
return modelAndView;
}
/**
* 기소유예 교육확정상세 > 강의만족도 제출 요청
*/
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/updateAplctQustnrAjax.do")
public ModelAndView updateAplctQustnrAjax(
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
, 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", "loginFail");
return modelAndView;
}
//로그인 처리====================================
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
try {
for(String eduAplctOrd : vEPrcsDetailVO.getEduAplctOrdList()) {
//결과보고서 제출 알림
try {
iTNotiUtil.insertNotifyNew_60(
"50",
loginVO.getUniqId(),
VeConstants.NOTI_STATUS_61,
vEPrcsDetailVO.getPrcsAplctPrdOrd(),
eduAplctOrd,
"0",
"2"
);
}catch(Exception ex) {
ex.printStackTrace();
}
}
modelAndView.addObject("result", "success");
} catch (Exception ex) {
ex.printStackTrace();
modelAndView.addObject("result", "");
}
return modelAndView; return modelAndView;
} }

View File

@ -203,7 +203,7 @@
// "chk" 이름을 가진 체크박스가 체크된 항목들을 순회 // "chk" 이름을 가진 체크박스가 체크된 항목들을 순회
$("input[name='chk']:checked").each(function() { $("input[name='chk']:checked").each(function() {
var eduAplctOrdValue = $(this).val(); var eduAplctOrdValue = $(this).data('userid');
selectedEduAplctOrd.push(eduAplctOrdValue); selectedEduAplctOrd.push(eduAplctOrdValue);
}); });
@ -221,7 +221,7 @@
"lctrDivCd": '50' "lctrDivCd": '50'
}; };
var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/updateAplctStateCdListAjax.do'/>"; var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/updateAplctQustnrAjax.do'/>";
// AJAX 호출을 통해 서버에 데이터 전송 // AJAX 호출을 통해 서버에 데이터 전송

View File

@ -424,9 +424,8 @@ $(document).ready(function(){
<%-- </c:otherwise> --%> <%-- </c:otherwise> --%>
<%-- </c:choose> --%> <%-- </c:choose> --%>
<c:choose> <c:choose>
<c:when test="${list.aprvlCd eq 20 and list.qestRsltExists and list.aplctStateCd ne 10}"> <c:when test="${list.aprvlCd eq 20 and list.qestRsltExists and list.aplctStateCd ne 10 and list.aplctStateCd ne 30}">
<!-- 설문노출대상(승인처리를 받았음(20) && 교육기간이 지났음 list.qestRsltExists=true && 미이수가 아닌것(10) ) --> <!-- 설문노출대상(승인처리를 받았음(20) && 교육기간이 지났음 list.qestRsltExists=true && 미이수가 아닌것(10) ) -->
<c:choose> <c:choose>

View File

@ -344,7 +344,7 @@
<%-- </c:choose> --%> <%-- </c:choose> --%>
<c:choose> <c:choose>
<c:when test="${list.aprvlCd eq 20 and list.qestRsltExists and list.aplctStateCd ne 10}"> <c:when test="${list.aprvlCd eq 20 and list.qestRsltExists and list.aplctStateCd ne 10 and list.aplctStateCd ne 30}">
<!-- 설문노출대상(승인처리를 받았음(20) && 교육기간이 지났음 list.qestRsltExists=true && 미이수가 아닌것(10) ) --> <!-- 설문노출대상(승인처리를 받았음(20) && 교육기간이 지났음 list.qestRsltExists=true && 미이수가 아닌것(10) ) -->
<c:choose> <c:choose>

View File

@ -231,7 +231,7 @@
<%-- </c:choose> --%> <%-- </c:choose> --%>
<c:choose> <c:choose>
<c:when test="${list.aprvlCd eq 20 and list.qestRsltExists and list.aplctStateCd ne 10}"> <c:when test="${list.aprvlCd eq 20 and list.qestRsltExists and list.aplctStateCd ne 10 and list.aplctStateCd ne 30}">
<!-- 설문노출대상(승인처리를 받았음(20) && 교육기간이 지났음 list.qestRsltExists=true && 미이수가 아닌것(10) ) --> <!-- 설문노출대상(승인처리를 받았음(20) && 교육기간이 지났음 list.qestRsltExists=true && 미이수가 아닌것(10) ) -->
<c:choose> <c:choose>

View File

@ -87,6 +87,7 @@
, "innorixFileListVO": data , "innorixFileListVO": data
, "successMsg" : "제출 완료되었습니다." , "successMsg" : "제출 완료되었습니다."
, "fileType" : "DOCATCH" , "fileType" : "DOCATCH"
, "lctrDivCd" : "50"
} }
if(fn_innorixCmmAjax(sendData, url) == "OK") if(fn_innorixCmmAjax(sendData, url) == "OK")
{ {

View File

@ -87,6 +87,7 @@
, "innorixFileListVO": data , "innorixFileListVO": data
, "successMsg" : "제출 완료되었습니다." , "successMsg" : "제출 완료되었습니다."
, "fileType" : "DOCATCH" , "fileType" : "DOCATCH"
, "lctrDivCd" : "60"
} }
if(fn_innorixCmmAjax(sendData, url) == "OK") if(fn_innorixCmmAjax(sendData, url) == "OK")
{ {