diff --git a/src/main/java/kcc/kccadr/cmm/innorix/service/AdrInnorixFileVO.java b/src/main/java/kcc/kccadr/cmm/innorix/service/AdrInnorixFileVO.java index a7748920..adc3bd50 100644 --- a/src/main/java/kcc/kccadr/cmm/innorix/service/AdrInnorixFileVO.java +++ b/src/main/java/kcc/kccadr/cmm/innorix/service/AdrInnorixFileVO.java @@ -81,6 +81,8 @@ public class AdrInnorixFileVO extends ComDefaultVO implements Serializable { public String lctrEndH; public String lctrEndM; + public String lctrDivCd; + @@ -343,6 +345,14 @@ public class AdrInnorixFileVO extends ComDefaultVO implements Serializable { this.eduChasiOrd = eduChasiOrd; } + public String getLctrDivCd() { + return lctrDivCd; + } + + public void setLctrDivCd(String lctrDivCd) { + this.lctrDivCd = lctrDivCd; + } + diff --git a/src/main/java/kcc/kccadr/cmm/innorix/service/impl/InnorixFileServiceImpl.java b/src/main/java/kcc/kccadr/cmm/innorix/service/impl/InnorixFileServiceImpl.java index 3f5d24fd..6b469bee 100644 --- a/src/main/java/kcc/kccadr/cmm/innorix/service/impl/InnorixFileServiceImpl.java +++ b/src/main/java/kcc/kccadr/cmm/innorix/service/impl/InnorixFileServiceImpl.java @@ -488,6 +488,22 @@ public class InnorixFileServiceImpl extends EgovAbstractServiceImpl implements I vEEduAplctVO.setSbmtId(sbmtId); vEEduAplctVO.setEduDocReqOrd(docReqOrdGnrService.getNextStringId()); vEEduAplctService.insertDocReq(vEEduAplctVO); + + //서류요청 알림 + try { + iTNotiUtil.insertNotifyNew( + "10", + adrInnorixFileVO.getUniqId(), + VeConstants.NOTI_STATUS_97, + vEEduAplctVO.getEduDocReqOrd(), + "", + "0", + "1" + ); + + }catch(Exception ex) { + ex.printStackTrace(); + } } @@ -563,8 +579,7 @@ public class InnorixFileServiceImpl extends EgovAbstractServiceImpl implements I // 파일 정보 insert String atchFileId = fileManageDAO.insertFileInfs(result); - - + VEInstrDetailActvtHstryVO vEInstrActvtHstryVO = new VEInstrDetailActvtHstryVO(); vEInstrActvtHstryVO.setInstrDetailActvtHstryOrd(instrActvtHstryOrdGnrService.getNextStringId()); vEInstrActvtHstryVO.setInstrDetailOrd(adrInnorixFileVO.getInstrDetailOrd()); @@ -580,22 +595,22 @@ public class InnorixFileServiceImpl extends EgovAbstractServiceImpl implements I vEInstrActvtHstryVO.setPurpose(adrInnorixFileVO.getPurpose()); vEInstrActvtHstryVO.setBsnsNmbr(adrInnorixFileVO.getBsnsNmbr()); vEInstrActvtHstryVO.setBsnsNm(adrInnorixFileVO.getBsnsNm()); - vEInstrActvtHstryVO.setDocuNmbr(adrInnorixFileVO.getDocuNmbr()); - + vEInstrActvtHstryVO.setDocuNmbr(adrInnorixFileVO.getDocuNmbr()); vEInstrDetailActvtHstryDAO.insert(vEInstrActvtHstryVO); //강사활동확인서 신청 알림 - try { + try { iTNotiUtil.insertNotifyNew( - "20", + adrInnorixFileVO.getLctrDivCd(), adrInnorixFileVO.getUniqId(), VeConstants.NOTI_STATUS_71, adrInnorixFileVO.getEduAplctOrd(), adrInnorixFileVO.getEduChasiOrd(), "0", "0" - ); + ); + }catch(Exception ex) { ex.printStackTrace(); } diff --git a/src/main/java/kcc/let/cop/bbs/web/EgovBBSManageController.java b/src/main/java/kcc/let/cop/bbs/web/EgovBBSManageController.java index 3fdb0767..1cda279d 100644 --- a/src/main/java/kcc/let/cop/bbs/web/EgovBBSManageController.java +++ b/src/main/java/kcc/let/cop/bbs/web/EgovBBSManageController.java @@ -84,7 +84,9 @@ import kcc.let.sym.mnu.mpm.service.MenuManageVO; import kcc.let.sym.site.service.EgovSiteManagerService; import kcc.let.sym.site.service.SiteManagerVO; import kcc.let.uat.uia.service.SsoLoginVO; +import kcc.let.utl.fcc.service.ITNotiUtil; import kcc.let.utl.sim.service.EgovClntInfo; +import kcc.ve.cmm.VeConstants; /** * 게시물 관리를 위한 컨트롤러 클래스 @@ -158,6 +160,9 @@ public class EgovBBSManageController { @Resource(name = "meunManageService") private EgovMenuManageService menuManageService; + //알림 + @Resource(name = "iTNotiUtil") + private ITNotiUtil iTNotiUtil; private static final Logger LOGGER = LoggerFactory.getLogger(EgovBBSManageController.class); @@ -2291,6 +2296,11 @@ public class EgovBBSManageController { return modelAndView; } + System.out.println(board.toString()); + System.out.println("board.toString()1"); + System.out.println(bmVO.toString()); + System.out.println("board.toString()1"); + List result = null; String atchFileId = ""; String isThumbFile = ""; @@ -2319,11 +2329,45 @@ public class EgovBBSManageController { LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); board.setFrstRegisterId(loginVO.getUniqId()); //게시판 정보 입력 + + System.out.println(board.toString()); + System.out.println("board.toString()"); + /*board.setPassword(damoEnc(board.getPassword(), request)); //비번암호화*/ bbsMngService.insertBoardArticle(board); redirectAttributes.addAttribute("bbsId", boardVO.getBbsId()); redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.insert")); modelAndView.addObject("result", "success"); + + //zoom 문의 알림 + try { + if ("BBSMSTR_000000000725".equals(boardVO.getBbsId())) { + iTNotiUtil.insertNotifyNew( + "10", + loginVO.getUniqId(), + VeConstants.NOTI_STATUS_93, + "", + "", + "0", + "0" + ); + }else if ("BBSMSTR_000000000701".equals(boardVO.getBbsId())) { + iTNotiUtil.insertNotifyNew( + "10", + loginVO.getUniqId(), + VeConstants.NOTI_STATUS_95, + "", + "", + "0", + "0" + ); + } + + + }catch(Exception ex) { + ex.printStackTrace(); + } + return modelAndView; } diff --git a/src/main/java/kcc/let/cop/cmt/web/EgovArticleCommentController.java b/src/main/java/kcc/let/cop/cmt/web/EgovArticleCommentController.java index bd34c58f..183dd421 100644 --- a/src/main/java/kcc/let/cop/cmt/web/EgovArticleCommentController.java +++ b/src/main/java/kcc/let/cop/cmt/web/EgovArticleCommentController.java @@ -36,6 +36,8 @@ import kcc.let.sym.site.service.EgovSiteManagerService; import kcc.let.sym.site.service.SiteManagerVO; import kcc.let.uss.umt.service.UserManageVO; import kcc.let.utl.fcc.service.EgovCryptoUtil; +import kcc.let.utl.fcc.service.ITNotiUtil; +import kcc.ve.cmm.VeConstants; @Controller public class EgovArticleCommentController { @@ -66,7 +68,10 @@ public class EgovArticleCommentController { @Resource(name = "egovCryptoUtil") EgovCryptoUtil egovCryptoUtil; - + //알림 + @Resource(name = "iTNotiUtil") + private ITNotiUtil iTNotiUtil; + //protected Logger log = Logger.getLogger(this.getClass()); /** @@ -158,8 +163,39 @@ public class EgovArticleCommentController { comment.setWrterId(user.getUniqId()); comment.setWrterNm(user.getName()); + System.out.println("comment.toString()"); + System.out.println(comment.toString()); + egovArticleCommentService.insertArticleComment(comment); + //zoom 문의 답변 알림 + try { + if ("BBSMSTR_000000000725".equals(comment.getBbsId())) { + iTNotiUtil.insertNotifyNew( + "10", + user.getUniqId(), + VeConstants.NOTI_STATUS_94, + Long.toString(comment.getNttId()), + "", + "0", + "1" + ); + }else if ("BBSMSTR_000000000701".equals(comment.getBbsId())) { + iTNotiUtil.insertNotifyNew( + "10", + user.getUniqId(), + VeConstants.NOTI_STATUS_96, + Long.toString(comment.getNttId()), + "", + "0", + "1" + ); + } + + }catch(Exception ex) { + ex.printStackTrace(); + } + commentVO.setCommentCn(""); commentVO.setCommentNo(""); diff --git a/src/main/java/kcc/let/uss/notify/service/impl/NotifyManageDAO.java b/src/main/java/kcc/let/uss/notify/service/impl/NotifyManageDAO.java index 336d98e4..52ce4058 100644 --- a/src/main/java/kcc/let/uss/notify/service/impl/NotifyManageDAO.java +++ b/src/main/java/kcc/let/uss/notify/service/impl/NotifyManageDAO.java @@ -76,6 +76,14 @@ public class NotifyManageDAO extends EgovAbstractDAO { return (String) select("VEANotifyDAO.findByLctrDivCdFromVePrcsAplctPrd", prcsAplctPrdOrd); } + public String findByUserIdFromLETTNBBS(String eduAplctOrd) { + return (String) select("VEANotifyDAO.findByUserIdFromLETTNBBS", eduAplctOrd); + } + + public NotifyManageVO findByUserIdFromVE_EDU_DOC_REQ(String eduAplctOrd) { + return (NotifyManageVO) select("VEANotifyDAO.findByUserIdFromVE_EDU_DOC_REQ", eduAplctOrd); + } + public String selectNotifyInstr(NotifyManageVO notifyManageVO) { return (String) select("VEANotifyDAO.selectNotifyInstr", notifyManageVO); } diff --git a/src/main/java/kcc/let/uss/notify/service/impl/NotifyManageServiceImpl.java b/src/main/java/kcc/let/uss/notify/service/impl/NotifyManageServiceImpl.java index bd3c598a..8029c367 100644 --- a/src/main/java/kcc/let/uss/notify/service/impl/NotifyManageServiceImpl.java +++ b/src/main/java/kcc/let/uss/notify/service/impl/NotifyManageServiceImpl.java @@ -537,6 +537,60 @@ public class NotifyManageServiceImpl extends EgovAbstractServiceImpl implements if( "10".equals(p_lctrDivCd) ) { //청소년 notifyPath = "/web/ve/aplct/tngrVisitEdu/eduAplct/eduAplctDetail.do"; + + if ( + "14".equals(p_noti_status) //운영자 - 교육수정요청 - 상세 + ||"15".equals(p_noti_status) //운영자 - 교육확정 - 상세 + ) { + notifyPath = "/web/ve/aplct/tngrVisitEdu/eduAplct/eduAplctDetail.do"; //사용자 - 교육신청목록 - 상세 + }else if ( + "110".equals(p_noti_status) //강사 - 숙박신청 - 상세 + ) { + notifyPath = "/kccadr/oprtn/tngrVisitEdu/eduAsgnmCnfrmMngDetail.do"; //운영자 - 교육배치확정관리 - 상세 + + }else if ( + "111".equals(p_noti_status) //운영자 - 숙박신청승인 + || "112".equals(p_noti_status) //운영자 - 숙박신청반려 + ) { + notifyPath = "/web/ve/instr/tngrVisitEdu/asgnmInfo/instrAsgnmDetail.do"; //강사 - 강의내역목록 - 상세 + }else if ( + "71".equals(p_noti_status) //강사활동확인서 신청 + ) { + notifyPath = "/kccadr/oprtn/tngrVisitEdu/instrActvtHstryMngList.do"; //운영자 - 강사활동확인서신청관리목록 - 상세 + + }else if ( + "72".equals(p_noti_status) //강사활동확인서 승인 + || "82".equals(p_noti_status) //강사정보수정요청 승인 + ) { + notifyPath = "/web/ve/instr/tngrVisitEdu/instrInfo/instrPrflDetail.do"; //강사 - 성인강사신청상세 + }else if ( + "81".equals(p_noti_status) //강사정보수정요청 + ) { + notifyPath = "/ve/oprtn/instr/tngrVisitEdu/instrInfo/instrMngList.do"; //운영자 - 강사목록 + }else if ( + "93".equals(p_noti_status) //zoom문의 + ) { + notifyPath = "/cop/bbs/selectBoardList.do?bbsId=BBSMSTR_000000000725"; //운영자 - zoom 게시판 + }else if ( + "94".equals(p_noti_status) //zoom댓글 + ) { + notifyPath = "/web/cop/bbsWeb/selectBoardList.do?pageIndex=1&searchCnd=&searchWrd=&bbsId=BBSMSTR_000000000725"; //사용자 - zoom 게시판 + }else if ( + "95".equals(p_noti_status) //청소년전담게시판문의 + ) { + notifyPath = "/cop/bbs/selectBoardList.do?bbsId=BBSMSTR_000000000701"; //운영자 - 청소년전담게시판 게시판 + }else if ( + "96".equals(p_noti_status) //청소년전담게시판답변 + ) { + notifyPath = "/web/cop/bbsWeb/selectBoardList.do?bbsId=BBSMSTR_000000000701"; //사용자 - 청소년전담게시판 게시판 + }else if ( + "97".equals(p_noti_status) //서류요청 + ) { + notifyPath = "/ve/instr/tngrVisitEdu/asgnmInfo/instrAsgnmDetail.do"; //강사 - 강의내역상세 + } + + + } else if( "20".equals(p_lctrDivCd) ) { //성인 if ("10".equals(p_noti_status)) { @@ -582,9 +636,9 @@ public class NotifyManageServiceImpl extends EgovAbstractServiceImpl implements }else if ( "72".equals(p_noti_status) //강사활동확인서 승인 + || "82".equals(p_noti_status) //강사정보수정요청 승인 ) { notifyPath = "/web/ve/instr/adultVisitEdu/instrInfo/instrPrflDetail.do"; //강사 - 성인강사신청상세 - }else if ( "81".equals(p_noti_status) //강사정보수정요청 ) { @@ -619,11 +673,68 @@ public class NotifyManageServiceImpl extends EgovAbstractServiceImpl implements if( "10".equals(p_lctrDivCd) ) { //청소년 - if ("10".equals(p_noti_status)) { + if ( + "110".equals(p_noti_status) + ||"71".equals(p_noti_status) //71-강사활동확인서 신청 + ||"81".equals(p_noti_status) //81-정보수정요청 + ||"93".equals(p_noti_status) //93-zoom 게시판 + ||"95".equals(p_noti_status) //95-청소년강사 게시판 + ) { //숙박신청 + //담당 관리자에게 모두 알림 + p_notifyManageVO.setFirstIndex(0); + p_notifyManageVO.setRecordCountPerPage(1000); + // 담당자 조회 + notifyManageListVO = notifyManageDAO.selectMngPagingList(p_notifyManageVO); + }else if ( + "111".equals(p_noti_status) //숙박승인 + || "112".equals(p_noti_status) //숙박반려 + ) { + // 강사 ID 가져오기 + notifyManageListVO = notifyManageDAO.selectInstrList(p_notifyManageVO); //edu_aplct_ord & edu_chasi_ord - }else if ("11".equals(p_noti_status)) { - + }else if ( + "14".equals(p_noti_status) //11-교육상태변경, 12-교육문자발송, 13-교육메일발송 + ||"15".equals(p_noti_status) + ) { + + //해당 신청자에게 알림 + p_notifyManageVO.setToUserId(notifyManageDAO.findByUserIdFromVE_EDU_APLCT(p_notifyManageVO.getEduAplctOrd())); + + }else if ( + "72".equals(p_noti_status) //72-강사활동확인서 승인 + || "82".equals(p_noti_status) //82-강사정보수정요청 승인 + ) { + // 강사 ID 가져오기 + p_notifyManageVO.setToUserId(p_notifyManageVO.getEduAplctOrd()); + //notifyManageListVO = notifyManageDAO.selectInstrList(p_notifyManageVO); + + }else if ( + "94".equals(p_noti_status) //94-zoom 댓글 + ||"96".equals(p_noti_status) //96-청소년전담게시판 댓글 + ) { + + //해당 신청자에게 알림 + p_notifyManageVO.setToUserId(notifyManageDAO.findByUserIdFromLETTNBBS(p_notifyManageVO.getEduAplctOrd())); + + }else if ( + "97".equals(p_noti_status) //97-서류요청 + ) { + + //해당 강사에게 알림 + NotifyManageVO t_notifyManageVO = notifyManageDAO.findByUserIdFromVE_EDU_DOC_REQ(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()); + } } @@ -665,10 +776,11 @@ public class NotifyManageServiceImpl extends EgovAbstractServiceImpl implements ||"100".equals(p_noti_status) //교육확정 ) { // 강사 ID 가져오기 - notifyManageListVO = notifyManageDAO.selectInstrList(p_notifyManageVO); + notifyManageListVO = notifyManageDAO.selectInstrList(p_notifyManageVO); //edu_aplct_ord & edu_chasi_ord }else if ( - "72".equals(p_noti_status) //71-강사활동확인서 승인 + "72".equals(p_noti_status) //72-강사활동확인서 승인 + || "82".equals(p_noti_status) //82-강사정보수정요청 승인 ) { // 강사 ID 가져오기 p_notifyManageVO.setToUserId(p_notifyManageVO.getEduAplctOrd()); @@ -725,7 +837,52 @@ public class NotifyManageServiceImpl extends EgovAbstractServiceImpl implements notifyCn = "신규 교육신청 건이 있습니다."; }else if ("11".equals(p_noti_status)) { - notifyCn = "교육 상태가 변경 되었습니다."; + notifyCn = "교육 상태가 변경 되었습니다."; + + }else if ("14".equals(p_noti_status)) { + notifyCn = "교육신청 내용 수정바랍니다."; + + }else if ("15".equals(p_noti_status)) { + notifyCn = "교육일정이 확정 되었습니다.\n교육 일주일 전 강사정보 등 안내드리겠습니다."; + + }else if ("110".equals(p_noti_status)) { + notifyCn = "숙박 신청 건이 있습니다."; + + }else if ("111".equals(p_noti_status)) { + notifyCn = "숙박 신청 승인 건이 있습니다."; + + }else if ("112".equals(p_noti_status)) { + notifyCn = "숙박 신청 반려 건이 있습니다."; + + }else if ("71".equals(p_noti_status)) { //강사활동확인서신청 + notifyCn = "강사활동확인서 발급 신청 건이 있습니다."; + + }else if ("72".equals(p_noti_status)) { //강사활동확인서승인 + notifyCn = "강사활동확인서 발급이 완료 되었습니다."; + + }else if ("81".equals(p_noti_status)) { //정보수정요청 + notifyCn = "강사 정보 변경 요청 건이 있습니다."; + + }else if ("82".equals(p_noti_status)) { //정보수정승인 + notifyCn = "강사 정보 변경이 완료 되었습니다."; + + }else if ("93".equals(p_noti_status)) { //zoom 게시글 + notifyCn = "zoom 신청 게시판 신규 글이 있습니다."; + + }else if ("94".equals(p_noti_status)) { //zoom 게시글 + notifyCn = "zoom 신청 게시판 댓글 확인 바랍니다."; + + }else if ("95".equals(p_noti_status)) { //zoom 게시글 + notifyCn = "청소년 전담강사 게시판 신규 글이 있습니다."; + + }else if ("96".equals(p_noti_status)) { //zoom 게시글 + notifyCn = "청소년 전담강사 게시판 작성글에 신규 댓글이 있습니다."; + + }else if ("97".equals(p_noti_status)) { //zoom 게시글 + notifyCn = "서류 회신 요청 건이 있습니다."; + + }else if ("98".equals(p_noti_status)) { //zoom 게시글 + notifyCn = "요청하신 서류가 제출 되었습니다."; } } else if( "20".equals(p_lctrDivCd) ) { //성인 @@ -773,6 +930,9 @@ public class NotifyManageServiceImpl extends EgovAbstractServiceImpl implements }else if ("81".equals(p_noti_status)) { //정보수정요청 notifyCn = "정보수정 요청 건이 있습니다."; + + }else if ("82".equals(p_noti_status)) { //정보수정승인 + notifyCn = "정보수정 승인 건이 있습니다."; } } else if( "30".equals(p_lctrDivCd) ) { //체험 diff --git a/src/main/java/kcc/ve/cmm/VeConstants.java b/src/main/java/kcc/ve/cmm/VeConstants.java index 412093fe..0f13d5bf 100644 --- a/src/main/java/kcc/ve/cmm/VeConstants.java +++ b/src/main/java/kcc/ve/cmm/VeConstants.java @@ -144,6 +144,8 @@ public class VeConstants { public static final String NOTI_STATUS_11 = "11"; // 교육상태변경 public static final String NOTI_STATUS_12 = "12"; // 교육문자발송 public static final String NOTI_STATUS_13 = "13"; // 교육메일발송 + public static final String NOTI_STATUS_14 = "14"; // 교육수정요청 + public static final String NOTI_STATUS_15 = "15"; // 교육신청확정 public static final String NOTI_STATUS_20 = "20"; // 교육배치 public static final String NOTI_STATUS_21 = "21"; // 수락요청 @@ -151,10 +153,15 @@ public class VeConstants { public static final String NOTI_STATUS_23 = "23"; // 교육거절 public static final String NOTI_STATUS_24 = "24"; // 변경요청 - public static final String NOTI_STATUS_100 = "100"; // 교육확정 + public static final String NOTI_STATUS_100 = "100"; // 교육확정(강사배정확정) public static final String NOTI_STATUS_101 = "101"; // 교육문자발송 public static final String NOTI_STATUS_102 = "102"; // 교육메일발송 + public static final String NOTI_STATUS_110 = "110"; // 숙박신청 + public static final String NOTI_STATUS_111 = "111"; // 숙박승인 + public static final String NOTI_STATUS_112 = "112"; // 숙박반려 + + public static final String NOTI_STATUS_30 = "30"; // 강의계획서 public static final String NOTI_STATUS_31 = "31"; // 강의계획서제출 @@ -179,5 +186,12 @@ public class VeConstants { public static final String NOTI_STATUS_90 = "90"; // 교육문의 public static final String NOTI_STATUS_91 = "91"; // 교육문의건 public static final String NOTI_STATUS_92 = "92"; // 교육문의답변 + public static final String NOTI_STATUS_93 = "93"; // zoom문의건 + public static final String NOTI_STATUS_94 = "94"; // zoom문의답변 + public static final String NOTI_STATUS_95 = "95"; // 청소년전담문의건 + public static final String NOTI_STATUS_96 = "96"; // 청소년전담문의답변 + + public static final String NOTI_STATUS_97 = "97"; // 서류요청 + public static final String NOTI_STATUS_98 = "98"; // 서류제출 } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/web/VEAsgnmController.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/web/VEAsgnmController.java index ba61061a..90828841 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/web/VEAsgnmController.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/web/VEAsgnmController.java @@ -28,6 +28,7 @@ import kcc.let.uat.uia.service.SsoLoginVO; import kcc.let.uss.notify.service.NotifyManageService; import kcc.let.utl.fcc.service.EgovCryptoUtil; import kcc.let.utl.fcc.service.EgovCryptoUtil4VO; +import kcc.let.utl.fcc.service.ITNotiUtil; import kcc.let.utl.fcc.service.VisitEduTransUtil; import kcc.ve.cmm.VeConstants; import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAcmdtAplctService; @@ -46,7 +47,6 @@ import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService; import kcc.ve.oprtn.asgnmnoti.service.VEAsgnmNotiService; import kcc.ve.oprtn.asgnmnoti.service.VEAsgnmNotiVO; -import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngVO; @Controller @@ -110,6 +110,10 @@ public class VEAsgnmController { @Resource(name="veaLctrExchnOrdGnrService") private EgovIdGnrService veaLctrExchnOrdGnrService; + //알림 + @Resource(name = "iTNotiUtil") + private ITNotiUtil iTNotiUtil; + //청소년강사 강의 요청 목록 @RequestMapping("/web/ve/instr/tngrVisitEdu/asgnmInfo/instrAsgnmRqstList.do") public String instrAsgnmRqstList( @@ -1006,6 +1010,21 @@ public class VEAsgnmController { vEInstrFeeAcmdtVO.setFrstRegisterId(loginVO.getUniqId()); vEAcmdtAplctService.insert(vEInstrFeeAcmdtVO); + //숙박신청 알림 + try { + iTNotiUtil.insertNotifyNew( + "10", + loginVO.getUniqId(), + VeConstants.NOTI_STATUS_110, + vEInstrFeeAcmdtVO.getEduAplctOrd(), + vEInstrFeeAcmdtVO.getEduChasiOrd(), + "1", + "1" + ); + }catch(Exception ex) { + ex.printStackTrace(); + } + } catch (Exception ex) { ex.printStackTrace(); isSuccess = false; diff --git a/src/main/java/kcc/ve/oprtn/adultVisitEdu/instrActvtHstryMng/InstrActvtHstryAdultMngController.java b/src/main/java/kcc/ve/oprtn/adultVisitEdu/instrActvtHstryMng/InstrActvtHstryAdultMngController.java index 6f78a3d1..a08fee84 100644 --- a/src/main/java/kcc/ve/oprtn/adultVisitEdu/instrActvtHstryMng/InstrActvtHstryAdultMngController.java +++ b/src/main/java/kcc/ve/oprtn/adultVisitEdu/instrActvtHstryMng/InstrActvtHstryAdultMngController.java @@ -225,14 +225,14 @@ public class InstrActvtHstryAdultMngController { vEInstrDetailActvtHstryVO.setLastUpdusrId(loginVO.getUniqId()); vEInstrDetailActvtHstryService.updateStateCd(vEInstrDetailActvtHstryVO); + - VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVOInfo = new VEInstrDetailActvtHstryVO(); - vEInstrDetailActvtHstryVOInfo.setPrcsAplctPrdOrd(vEInstrDetailActvtHstryVO.getPrcsAplctPrdOrd()); - vEInstrDetailActvtHstryVOInfo = vEInstrDetailActvtHstryService.findById(vEInstrDetailActvtHstryVO); - - - if ("30".equals(vEInstrDetailActvtHstryVO.getStateCd())) { + if ("30".equals(vEInstrDetailActvtHstryVO.getStateCd())) { //강사활동확인서 승인 알림 + VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVOInfo = new VEInstrDetailActvtHstryVO(); + vEInstrDetailActvtHstryVOInfo.setPrcsAplctPrdOrd(vEInstrDetailActvtHstryVO.getPrcsAplctPrdOrd()); + vEInstrDetailActvtHstryVOInfo = vEInstrDetailActvtHstryService.findById(vEInstrDetailActvtHstryVO); + try { iTNotiUtil.insertNotifyNew( "20", @@ -248,6 +248,7 @@ public class InstrActvtHstryAdultMngController { } } + modelAndView.addObject("result", "success"); return modelAndView; diff --git a/src/main/java/kcc/ve/oprtn/comweb/CommonManageWebController.java b/src/main/java/kcc/ve/oprtn/comweb/CommonManageWebController.java index c57f9cb5..5778285d 100644 --- a/src/main/java/kcc/ve/oprtn/comweb/CommonManageWebController.java +++ b/src/main/java/kcc/ve/oprtn/comweb/CommonManageWebController.java @@ -180,23 +180,26 @@ public class CommonManageWebController { System.out.println(vEEduAplctVO.getLctrDivCd()); // 알림 insert if( - "10".equals(vEEduAplctVO.getLctrDivCd()) - || "20".equals(vEEduAplctVO.getLctrDivCd()) + "20".equals(vEEduAplctVO.getLctrDivCd()) //성인 || "30".equals(vEEduAplctVO.getLctrDivCd()) ) { //old //notifyManageService.insertNotifyAprvlCdForUser(loginVO, vEEduAplctVO.getEduAplctOrd(), vEEduAplctVO.getLctrDivCd(), vEEduAplctVO.getAprvlCd()); - iTNotiUtil.insertNotifyNew( - vEEduAplctVO.getLctrDivCd(), - loginVO.getUniqId(), - VeConstants.NOTI_STATUS_11, - vEEduAplctVO.getEduAplctOrd(), - vEEduAplctVO.getEduChasiOrd(), - "1", - "1" - ); + try { + iTNotiUtil.insertNotifyNew( + vEEduAplctVO.getLctrDivCd(), + loginVO.getUniqId(), + VeConstants.NOTI_STATUS_11, + vEEduAplctVO.getEduAplctOrd(), + vEEduAplctVO.getEduChasiOrd(), + "1", + "1" + ); + }catch(Exception ex) { + ex.printStackTrace(); + } /* iTNotiUtil.insertNotifyNew(p_notifyManageService, p_lctrDivCd, p_RegisterId, p_noti_status_cd, p_eduAplctOrd, p_eduChasiOrd, p_move_param_type, p_noti_param_type); @@ -229,6 +232,42 @@ public class CommonManageWebController { } */ + }else if( "10".equals(vEEduAplctVO.getLctrDivCd()) //청소년 + ) + { + + if ("70".equals(vEEduAplctVO.getAprvlCd())) { //교육수정요청 + try { + iTNotiUtil.insertNotifyNew( + vEEduAplctVO.getLctrDivCd(), + loginVO.getUniqId(), + VeConstants.NOTI_STATUS_14, + vEEduAplctVO.getEduAplctOrd(), + vEEduAplctVO.getEduChasiOrd(), + "1", + "1" + ); + }catch(Exception ex) { + ex.printStackTrace(); + } + + }else if ("60".equals(vEEduAplctVO.getAprvlCd())) { //교육신청확정 + try { + iTNotiUtil.insertNotifyNew( + vEEduAplctVO.getLctrDivCd(), + loginVO.getUniqId(), + VeConstants.NOTI_STATUS_15, + vEEduAplctVO.getEduAplctOrd(), + vEEduAplctVO.getEduChasiOrd(), + "1", + "1" + ); + }catch(Exception ex) { + ex.printStackTrace(); + } + + } + } modelAndView.addObject("rsCnt", rs); diff --git a/src/main/java/kcc/ve/oprtn/instr/adultVisitEdu/instrInfo/web/OprtnInstrAdultPrflContoller.java b/src/main/java/kcc/ve/oprtn/instr/adultVisitEdu/instrInfo/web/OprtnInstrAdultPrflContoller.java index 331f7320..f95574c7 100644 --- a/src/main/java/kcc/ve/oprtn/instr/adultVisitEdu/instrInfo/web/OprtnInstrAdultPrflContoller.java +++ b/src/main/java/kcc/ve/oprtn/instr/adultVisitEdu/instrInfo/web/OprtnInstrAdultPrflContoller.java @@ -46,10 +46,12 @@ import kcc.let.cop.bbs.service.Board; import kcc.let.uat.uia.service.SsoLoginVO; import kcc.let.utl.fcc.service.EgovCryptoUtil; import kcc.let.utl.fcc.service.EgovCryptoUtil4VO; +import kcc.let.utl.fcc.service.ITNotiUtil; import kcc.ve.adv.tngr.stngInfo.service.VEAStngService; import kcc.ve.adv.tngr.stngInfo.service.VEAStngVO; import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoService; import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoVO; +import kcc.ve.cmm.VeConstants; import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailService; import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO; import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrExcelVO; @@ -194,6 +196,10 @@ public class OprtnInstrAdultPrflContoller { //강의설정 관리 @Resource(name = "vEAStngService") private VEAStngService vEAStngService; + + //알림 + @Resource(name = "iTNotiUtil") + private ITNotiUtil iTNotiUtil; /** * 1.강사등록신청 목록 조회 - @@ -975,6 +981,21 @@ public class OprtnInstrAdultPrflContoller { vEInstrDetailVO.setUseYn("Y"); //디테일 다른 데이터들 useYn N 업데이트 vEInstrMixService.updateUseYnN(vEInstrDetailVO); + + //강사 정보 수정 + try { + iTNotiUtil.insertNotifyNew( + "20", + loginVO.getUniqId(), + VeConstants.NOTI_STATUS_82, + vEInstrDetailVO.getUserId(), + "", + "0", + "1" + ); + }catch(Exception ex) { + ex.printStackTrace(); + } } vEInstrDetailService.update(vEInstrDetailVO); diff --git a/src/main/java/kcc/ve/oprtn/instr/tngrVisitEdu/instrInfo/web/OprtnInstrTngrPrflContoller.java b/src/main/java/kcc/ve/oprtn/instr/tngrVisitEdu/instrInfo/web/OprtnInstrTngrPrflContoller.java index 0911fdbd..b17c4ba7 100644 --- a/src/main/java/kcc/ve/oprtn/instr/tngrVisitEdu/instrInfo/web/OprtnInstrTngrPrflContoller.java +++ b/src/main/java/kcc/ve/oprtn/instr/tngrVisitEdu/instrInfo/web/OprtnInstrTngrPrflContoller.java @@ -46,11 +46,13 @@ import kcc.let.cop.bbs.service.Board; import kcc.let.uat.uia.service.SsoLoginVO; import kcc.let.utl.fcc.service.EgovCryptoUtil; import kcc.let.utl.fcc.service.EgovCryptoUtil4VO; +import kcc.let.utl.fcc.service.ITNotiUtil; import kcc.ve.adv.tngr.stngInfo.service.VEAStngMixService; import kcc.ve.adv.tngr.stngInfo.service.VEAStngService; import kcc.ve.adv.tngr.stngInfo.service.VEAStngVO; import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoService; import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoVO; +import kcc.ve.cmm.VeConstants; import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEEduPnltyService; import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrAsgnmVO; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEAutoAsgnmMIXService; @@ -230,6 +232,10 @@ public class OprtnInstrTngrPrflContoller { @Resource(name = "vEAutoAsgnmMIXService") private VEAutoAsgnmMIXService vEAutoAsgnmMIXService; + //알림 + @Resource(name = "iTNotiUtil") + private ITNotiUtil iTNotiUtil; + /** * 1.강사등록신청 목록 조회 - */ @@ -1609,6 +1615,21 @@ public class OprtnInstrTngrPrflContoller { vEInstrDetailVO.setUseYn("Y"); //디테일 다른 데이터들 useYn N 업데이트 vEInstrMixService.updateUseYnN(vEInstrDetailVO); + + //강사 정보 수정요청 + try { + iTNotiUtil.insertNotifyNew( + "10", + loginVO.getUniqId(), + VeConstants.NOTI_STATUS_82, + vEInstrDetailVO.getUserId(), + "", + "0", + "1" + ); + }catch(Exception ex) { + ex.printStackTrace(); + } } vEInstrDetailService.update(vEInstrDetailVO); diff --git a/src/main/java/kcc/ve/oprtn/tngrVisitEdu/eduAsgnmCnfrmMng/web/EduAsgnmCnfrmMngTngrController.java b/src/main/java/kcc/ve/oprtn/tngrVisitEdu/eduAsgnmCnfrmMng/web/EduAsgnmCnfrmMngTngrController.java index 8dac599b..ab30d896 100644 --- a/src/main/java/kcc/ve/oprtn/tngrVisitEdu/eduAsgnmCnfrmMng/web/EduAsgnmCnfrmMngTngrController.java +++ b/src/main/java/kcc/ve/oprtn/tngrVisitEdu/eduAsgnmCnfrmMng/web/EduAsgnmCnfrmMngTngrController.java @@ -29,6 +29,7 @@ import kcc.com.cmm.util.IpUtil; import kcc.com.cmm.util.StringUtil; import kcc.com.utl.user.service.CheckLoginUtil; import kcc.let.utl.fcc.service.EgovCryptoUtil; +import kcc.let.utl.fcc.service.ITNotiUtil; import kcc.let.utl.fcc.service.VEPagingUtil; import kcc.ve.cmm.VeConstants; import kcc.ve.cmm.VeInstrFeeMng; @@ -182,6 +183,10 @@ public class EduAsgnmCnfrmMngTngrController { @Resource(name = "vEAutoAsgnmMIXService") private VEAutoAsgnmMIXService vEAutoAsgnmMIXService; + //알림 + @Resource(name = "iTNotiUtil") + private ITNotiUtil iTNotiUtil; + /** * 교육배정확정관리 목록 화면 */ @@ -511,6 +516,36 @@ public class EduAsgnmCnfrmMngTngrController { vEAcmdtAplctService.update(vEInstrFeeAcmdtVO); + //확정/반려 알림 + try { + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + + if ("10".equals(vEInstrFeeAcmdtVO.getAprvlCd())) { + iTNotiUtil.insertNotifyNew( + "10", + loginVO.getUniqId(), + VeConstants.NOTI_STATUS_111, + vEInstrFeeAcmdtVO.getEduAplctOrd(), + vEInstrFeeAcmdtVO.getEduChasiOrd(), + "2", + "2" + ); + }else if ("20".equals(vEInstrFeeAcmdtVO.getAprvlCd())) { + iTNotiUtil.insertNotifyNew( + "10", + loginVO.getUniqId(), + VeConstants.NOTI_STATUS_112, + vEInstrFeeAcmdtVO.getEduAplctOrd(), + vEInstrFeeAcmdtVO.getEduChasiOrd(), + "2", + "2" + ); + } + + }catch(Exception ex) { + ex.printStackTrace(); + } + modelAndView.addObject("result", "success"); return modelAndView; @@ -548,6 +583,30 @@ public class EduAsgnmCnfrmMngTngrController { vEInstrFeeAcmdtVO2.setAprvlCd(vEInstrFeeAcmdtVO.getAprvlCd()); // 승인코드 vEInstrFeeAcmdtVO2.setAprvlCn(vEInstrFeeAcmdtVO.getAprvlCn()); // 승인내용 vEAcmdtAplctService.update(vEInstrFeeAcmdtVO2); + + //확정/반려 알림 + try { + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + + System.out.println("vEInstrFeeAcmdtVO.getAprvlCd()"); + System.out.println(vEInstrFeeAcmdtVO.getAprvlCd()); + System.out.println(vEInstrFeeAcmdtVO.getAprvlCd()); + + if ("20".equals(vEInstrFeeAcmdtVO.getAprvlCd())) { + iTNotiUtil.insertNotifyNew( + "10", + loginVO.getUniqId(), + VeConstants.NOTI_STATUS_112, + vEInstrFeeAcmdtVO.getEduAplctOrd(), + vEInstrFeeAcmdtVO.getEduChasiOrd(), + "2", + "2" + ); + } + + }catch(Exception ex) { + ex.printStackTrace(); + } } } catch (Exception ex) { ex.printStackTrace(); diff --git a/src/main/java/kcc/ve/oprtn/tngrVisitEdu/instrActvtHstryMng/InstrActvtHstryTngrMngController.java b/src/main/java/kcc/ve/oprtn/tngrVisitEdu/instrActvtHstryMng/InstrActvtHstryTngrMngController.java index 5772ec43..cb5b9bf4 100644 --- a/src/main/java/kcc/ve/oprtn/tngrVisitEdu/instrActvtHstryMng/InstrActvtHstryTngrMngController.java +++ b/src/main/java/kcc/ve/oprtn/tngrVisitEdu/instrActvtHstryMng/InstrActvtHstryTngrMngController.java @@ -1,311 +1,337 @@ -package kcc.ve.oprtn.tngrVisitEdu.instrActvtHstryMng; - -import java.util.List; -import java.util.Properties; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.stereotype.Controller; -import org.springframework.ui.ModelMap; -import org.springframework.web.bind.annotation.ModelAttribute; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.servlet.ModelAndView; - -import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; -import kcc.com.cmm.LoginVO; -import kcc.com.cmm.service.EgovCmmUseService; -import kcc.com.cmm.service.EgovFileMngService; -import kcc.com.cmm.service.EgovFileMngUtil; -import kcc.com.utl.user.service.CheckLoginUtil; -import kcc.let.uat.uia.service.SsoLoginVO; -import kcc.let.utl.fcc.service.EgovCryptoUtil; -import kcc.ve.cmm.VeConstants; -import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailActvtHstryService; -import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailActvtHstryVO; - -/** - * 교육일정관리(관리자-청소년찾아가는저작권교육) - * 교육일정관리에 관한 controller 클래스를 정의한다. - * @author 조용준 - * @since 2021.12.16 - * @version 1.0 - * @see - * - *
- * << 개정이력(Modification Information) >>
- *
- *   수정일      수정자           수정내용
- *  -------    --------    ---------------------------
- *   2021.12.16  조용준          최초 생성
- *
- * 
- */ - -@Controller -public class InstrActvtHstryTngrMngController { - - private static final Logger LOGGER = LoggerFactory.getLogger(InstrActvtHstryTngrMngController.class); - - //로그인 체크 util - @Resource(name = "checkLoginUtil") - private CheckLoginUtil checkLoginUtil; - - // eGov 공통코드 - @Resource(name = "EgovCmmUseService") - private EgovCmmUseService cmmUseService; - - @Resource(name = "EgovFileMngService") - private EgovFileMngService fileService; - - // global 프로퍼티 - @Resource(name="globalSettings") - protected Properties propertiesService; - - //첨부파일 경로, realPath 설정 - @Resource(name="EgovFileMngUtil") - private EgovFileMngUtil fileUtil; - - // 첨부파일 정보 - @Resource(name="EgovFileMngService") - private EgovFileMngService fileMngService; - - // 첨부파일 정보 - @Resource(name="vEInstrDetailActvtHstryService") - private VEInstrDetailActvtHstryService vEInstrDetailActvtHstryService; - - //암복호화 유틸 - @Resource(name = "egovCryptoUtil") - EgovCryptoUtil egovCryptoUtil; - - - - /** - * @methodName : instrActvtHstryMngList - * @author : 이호영 - * @date : 2023.11.16 - * @description : 강사활동확인서신청관리 목록 - * @param vEInstrDetailActvtHstryVO - * @param model - * @param request - * @return - * @throws Exception - */ - @RequestMapping("/kccadr/oprtn/tngrVisitEdu/instrActvtHstryMngList.do") - public String instrActvtHstryMngList( - @ModelAttribute("vEInstrActvtHstryVO") VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVO - , ModelMap model - , HttpServletRequest request - ) throws Exception { - - //로그인 처리==================================== - //로그인 정보 가져오기 - LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 - SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 - -// if (loginVO == null || ssoLoginVO == null) { -// return checkLoginUtil.getUserLoginPage(model); //로그인 정보가 없으면 로그인 페이지로 이동한다. -// } - //로그인 처리==================================== - vEInstrDetailActvtHstryVO.setInstrDiv(VeConstants.LCTR_DIV_CD_10); //청소년 - - //1.pageing step1 - PaginationInfo paginationInfo = this.setPagingStep1(vEInstrDetailActvtHstryVO); - //2. pageing step2 - vEInstrDetailActvtHstryVO = this.setPagingStep2(vEInstrDetailActvtHstryVO, paginationInfo); - vEInstrDetailActvtHstryVO.setSearchKeyword(egovCryptoUtil.encrypt(vEInstrDetailActvtHstryVO.getSearchKeyword())); - List vEInstrDetailActvtHstryVOList = vEInstrDetailActvtHstryService.selectPagingList(vEInstrDetailActvtHstryVO); - - vEInstrDetailActvtHstryVOList.stream().forEach(t-> t.setInstrNm(egovCryptoUtil.decrypt(t.getInstrNm()))); - - //3.pageing step3 - paginationInfo = this.setPagingStep3(vEInstrDetailActvtHstryVOList, paginationInfo); - model.addAttribute("paginationInfo", paginationInfo); - - // 검색어 복호화 - vEInstrDetailActvtHstryVO.setSearchKeyword(egovCryptoUtil.decrypt(vEInstrDetailActvtHstryVO.getSearchKeyword())); - //대상 리스트, 페이징 정보 전달 - model.addAttribute("list", vEInstrDetailActvtHstryVOList); - - - - return "oprtn/tngrVisitEdu/instrActvtHstryMngList"; - } - - - /** - * @methodName : instrActvtHstryMngDetail - * @author : 이호영 - * @date : 2023.11.16 - * @description : 강사활동확인서신청관리 상세 - * @param vEInstrDetailActvtHstryVO - * @param model - * @param request - * @return - * @throws Exception - */ - @RequestMapping("/kccadr/oprtn/tngrVisitEdu/instrActvtHstryMngDetail.do") - public String instrActvtHstryMngDetail( - @ModelAttribute("vEInstrActvtHstryVO") VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVO - , ModelMap model - , HttpServletRequest request - ) throws Exception { - - //로그인 처리==================================== - //로그인 정보 가져오기 -// String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); -// if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo; - - //로그인 처리==================================== - //로그인 정보 가져오기 - LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 - SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 - -// if (loginVO == null || ssoLoginVO == null) { -// return checkLoginUtil.getUserLoginPage(model); //로그인 정보가 없으면 로그인 페이지로 이동한다. -// } -// vEInstrDetailActvtHstryVO.setInstrDiv(VeConstants.LCTR_DIV_CD_20); //청소년 - - VEInstrDetailActvtHstryVO vEInstrActvtHstryVO = vEInstrDetailActvtHstryService.findById(vEInstrDetailActvtHstryVO); - - vEInstrActvtHstryVO.setInstrNm(egovCryptoUtil.decrypt(vEInstrActvtHstryVO.getInstrNm())); - vEInstrActvtHstryVO.setPhone(egovCryptoUtil.decrypt(vEInstrActvtHstryVO.getPhone())); - - //대상 리스트, 페이징 정보 전달 - model.addAttribute("info", vEInstrActvtHstryVO); - - - - return "oprtn/tngrVisitEdu/instrActvtHstryMngDetail"; - } - - /** - * @methodName : instrCnclPopup - * @author : 이호영 - * @date : 2023.11.16 - * @description : 강사활동확인서신청관리 상세 - * @param vEInstrDetailActvtHstryVO - * @param model - * @param request - * @return - * @throws Exception - */ - @RequestMapping("/kccadr/oprtn/tngrVisitEdu/popup/instrCnclPopup.do") - public String instrCnclPopup( - @ModelAttribute("vEInstrActvtHstryVO") VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVO - , ModelMap model - , HttpServletRequest request - ) throws Exception { - - //로그인 처리==================================== - //로그인 정보 가져오기 - LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 - SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 - -// if (loginVO == null || ssoLoginVO == null) { -// return checkLoginUtil.getUserLoginPage(model); //로그인 정보가 없으면 로그인 페이지로 이동한다. -// } - //대상 리스트, 페이징 정보 전달 - model.addAttribute("info", vEInstrDetailActvtHstryVO); - - - - return "oprtn/tngrVisitEdu/popup/instrCnclPopup"; - } - - - - @RequestMapping("/kccadr/oprtn/tngrVisitEdu/updateStateCd.do") - public ModelAndView updateStateCd( - @ModelAttribute("vEInstrActvtHstryVO") VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVO - , ModelMap model - //, RedirectAttributes redirectAttributes - , 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(); //권한에 따른 로그인 정보 가져오기 - SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 - - - vEInstrDetailActvtHstryVO.setLastUpdusrId(loginVO.getUniqId()); - vEInstrDetailActvtHstryService.updateStateCd(vEInstrDetailActvtHstryVO); - - modelAndView.addObject("result", "success"); - - return modelAndView; - - } - - - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - // - // private function - // - // - - //페이징을 위한 처리 step1 - 페이징 기본 정보 설정 - private PaginationInfo setPagingStep1( - VEInstrDetailActvtHstryVO p_vEEduAplctVO - )throws Exception{ - // pageing step1 - PaginationInfo paginationInfo = new PaginationInfo(); - paginationInfo.setCurrentPageNo(p_vEEduAplctVO.getPageIndex()); - paginationInfo.setRecordCountPerPage(p_vEEduAplctVO.getPageUnit()); - paginationInfo.setPageSize(p_vEEduAplctVO.getPageSize()); - - return paginationInfo; - } - - - //페이징을 위한 처리 step2 - 게시물 리스트 수량 설정 및 검색 조건 초기화 - private VEInstrDetailActvtHstryVO setPagingStep2( - VEInstrDetailActvtHstryVO p_vEEduAplctVO - , PaginationInfo p_paginationInfo - )throws Exception{ - // pageing step2 - p_vEEduAplctVO.setFirstIndex(p_paginationInfo.getFirstRecordIndex()); - p_vEEduAplctVO.setLastIndex(p_paginationInfo.getLastRecordIndex()); - p_vEEduAplctVO.setRecordCountPerPage(p_paginationInfo.getRecordCountPerPage()); - - if("".equals(p_vEEduAplctVO.getSearchSortCnd())){ //최초조회시 최신것 조회List - p_vEEduAplctVO.setSearchSortCnd("prcs_ord"); - p_vEEduAplctVO.setSearchSortOrd("desc"); - } - - return p_vEEduAplctVO; - } - - - //페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기 - private PaginationInfo setPagingStep3( - List p_vEEduAplctVOList - - , PaginationInfo p_paginationInfo - )throws Exception{ - // pageing step3 - int totCnt = 0; - if(p_vEEduAplctVOList.size() > 0) totCnt = p_vEEduAplctVOList.get(0).getTotCnt(); - p_paginationInfo.setTotalRecordCount(totCnt); - - return p_paginationInfo; - } -} +package kcc.ve.oprtn.tngrVisitEdu.instrActvtHstryMng; + +import java.util.List; +import java.util.Properties; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.servlet.ModelAndView; + +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; +import kcc.com.cmm.LoginVO; +import kcc.com.cmm.service.EgovCmmUseService; +import kcc.com.cmm.service.EgovFileMngService; +import kcc.com.cmm.service.EgovFileMngUtil; +import kcc.com.utl.user.service.CheckLoginUtil; +import kcc.let.uat.uia.service.SsoLoginVO; +import kcc.let.utl.fcc.service.EgovCryptoUtil; +import kcc.let.utl.fcc.service.ITNotiUtil; +import kcc.ve.cmm.VeConstants; +import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailActvtHstryService; +import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailActvtHstryVO; + +/** + * 교육일정관리(관리자-청소년찾아가는저작권교육) + * 교육일정관리에 관한 controller 클래스를 정의한다. + * @author 조용준 + * @since 2021.12.16 + * @version 1.0 + * @see + * + *
+ * << 개정이력(Modification Information) >>
+ *
+ *   수정일      수정자           수정내용
+ *  -------    --------    ---------------------------
+ *   2021.12.16  조용준          최초 생성
+ *
+ * 
+ */ + +@Controller +public class InstrActvtHstryTngrMngController { + + private static final Logger LOGGER = LoggerFactory.getLogger(InstrActvtHstryTngrMngController.class); + + //로그인 체크 util + @Resource(name = "checkLoginUtil") + private CheckLoginUtil checkLoginUtil; + + // eGov 공통코드 + @Resource(name = "EgovCmmUseService") + private EgovCmmUseService cmmUseService; + + @Resource(name = "EgovFileMngService") + private EgovFileMngService fileService; + + // global 프로퍼티 + @Resource(name="globalSettings") + protected Properties propertiesService; + + //첨부파일 경로, realPath 설정 + @Resource(name="EgovFileMngUtil") + private EgovFileMngUtil fileUtil; + + // 첨부파일 정보 + @Resource(name="EgovFileMngService") + private EgovFileMngService fileMngService; + + // 첨부파일 정보 + @Resource(name="vEInstrDetailActvtHstryService") + private VEInstrDetailActvtHstryService vEInstrDetailActvtHstryService; + + //암복호화 유틸 + @Resource(name = "egovCryptoUtil") + EgovCryptoUtil egovCryptoUtil; + + //알림 + @Resource(name = "iTNotiUtil") + private ITNotiUtil iTNotiUtil; + + /** + * @methodName : instrActvtHstryMngList + * @author : 이호영 + * @date : 2023.11.16 + * @description : 강사활동확인서신청관리 목록 + * @param vEInstrDetailActvtHstryVO + * @param model + * @param request + * @return + * @throws Exception + */ + @RequestMapping("/kccadr/oprtn/tngrVisitEdu/instrActvtHstryMngList.do") + public String instrActvtHstryMngList( + @ModelAttribute("vEInstrActvtHstryVO") VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVO + , ModelMap model + , HttpServletRequest request + ) throws Exception { + + //로그인 처리==================================== + //로그인 정보 가져오기 + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + +// if (loginVO == null || ssoLoginVO == null) { +// return checkLoginUtil.getUserLoginPage(model); //로그인 정보가 없으면 로그인 페이지로 이동한다. +// } + //로그인 처리==================================== + vEInstrDetailActvtHstryVO.setInstrDiv(VeConstants.LCTR_DIV_CD_10); //청소년 + + //1.pageing step1 + PaginationInfo paginationInfo = this.setPagingStep1(vEInstrDetailActvtHstryVO); + //2. pageing step2 + vEInstrDetailActvtHstryVO = this.setPagingStep2(vEInstrDetailActvtHstryVO, paginationInfo); + vEInstrDetailActvtHstryVO.setSearchKeyword(egovCryptoUtil.encrypt(vEInstrDetailActvtHstryVO.getSearchKeyword())); + List vEInstrDetailActvtHstryVOList = vEInstrDetailActvtHstryService.selectPagingList(vEInstrDetailActvtHstryVO); + + vEInstrDetailActvtHstryVOList.stream().forEach(t-> t.setInstrNm(egovCryptoUtil.decrypt(t.getInstrNm()))); + + //3.pageing step3 + paginationInfo = this.setPagingStep3(vEInstrDetailActvtHstryVOList, paginationInfo); + model.addAttribute("paginationInfo", paginationInfo); + + // 검색어 복호화 + vEInstrDetailActvtHstryVO.setSearchKeyword(egovCryptoUtil.decrypt(vEInstrDetailActvtHstryVO.getSearchKeyword())); + //대상 리스트, 페이징 정보 전달 + model.addAttribute("list", vEInstrDetailActvtHstryVOList); + + + + return "oprtn/tngrVisitEdu/instrActvtHstryMngList"; + } + + + /** + * @methodName : instrActvtHstryMngDetail + * @author : 이호영 + * @date : 2023.11.16 + * @description : 강사활동확인서신청관리 상세 + * @param vEInstrDetailActvtHstryVO + * @param model + * @param request + * @return + * @throws Exception + */ + @RequestMapping("/kccadr/oprtn/tngrVisitEdu/instrActvtHstryMngDetail.do") + public String instrActvtHstryMngDetail( + @ModelAttribute("vEInstrActvtHstryVO") VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVO + , ModelMap model + , HttpServletRequest request + ) throws Exception { + + //로그인 처리==================================== + //로그인 정보 가져오기 +// String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); +// if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo; + + //로그인 처리==================================== + //로그인 정보 가져오기 + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + +// if (loginVO == null || ssoLoginVO == null) { +// return checkLoginUtil.getUserLoginPage(model); //로그인 정보가 없으면 로그인 페이지로 이동한다. +// } +// vEInstrDetailActvtHstryVO.setInstrDiv(VeConstants.LCTR_DIV_CD_20); //청소년 + + VEInstrDetailActvtHstryVO vEInstrActvtHstryVO = vEInstrDetailActvtHstryService.findById(vEInstrDetailActvtHstryVO); + + vEInstrActvtHstryVO.setInstrNm(egovCryptoUtil.decrypt(vEInstrActvtHstryVO.getInstrNm())); + vEInstrActvtHstryVO.setPhone(egovCryptoUtil.decrypt(vEInstrActvtHstryVO.getPhone())); + + //대상 리스트, 페이징 정보 전달 + model.addAttribute("info", vEInstrActvtHstryVO); + + + + return "oprtn/tngrVisitEdu/instrActvtHstryMngDetail"; + } + + /** + * @methodName : instrCnclPopup + * @author : 이호영 + * @date : 2023.11.16 + * @description : 강사활동확인서신청관리 상세 + * @param vEInstrDetailActvtHstryVO + * @param model + * @param request + * @return + * @throws Exception + */ + @RequestMapping("/kccadr/oprtn/tngrVisitEdu/popup/instrCnclPopup.do") + public String instrCnclPopup( + @ModelAttribute("vEInstrActvtHstryVO") VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVO + , ModelMap model + , HttpServletRequest request + ) throws Exception { + + //로그인 처리==================================== + //로그인 정보 가져오기 + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + +// if (loginVO == null || ssoLoginVO == null) { +// return checkLoginUtil.getUserLoginPage(model); //로그인 정보가 없으면 로그인 페이지로 이동한다. +// } + //대상 리스트, 페이징 정보 전달 + model.addAttribute("info", vEInstrDetailActvtHstryVO); + + + + return "oprtn/tngrVisitEdu/popup/instrCnclPopup"; + } + + + + @RequestMapping("/kccadr/oprtn/tngrVisitEdu/updateStateCd.do") + public ModelAndView updateStateCd( + @ModelAttribute("vEInstrActvtHstryVO") VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVO + , ModelMap model + //, RedirectAttributes redirectAttributes + , 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(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + + vEInstrDetailActvtHstryVO.setLastUpdusrId(loginVO.getUniqId()); + vEInstrDetailActvtHstryService.updateStateCd(vEInstrDetailActvtHstryVO); + + + if ("30".equals(vEInstrDetailActvtHstryVO.getStateCd())) { + //강사활동확인서 승인 알림 + VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVOInfo = new VEInstrDetailActvtHstryVO(); + vEInstrDetailActvtHstryVOInfo.setPrcsAplctPrdOrd(vEInstrDetailActvtHstryVO.getPrcsAplctPrdOrd()); + vEInstrDetailActvtHstryVOInfo = vEInstrDetailActvtHstryService.findById(vEInstrDetailActvtHstryVO); + + try { + iTNotiUtil.insertNotifyNew( + "10", + loginVO.getUniqId(), + VeConstants.NOTI_STATUS_72, + vEInstrDetailActvtHstryVOInfo.getUserId(), + "", + "0", + "1" + ); + }catch(Exception ex) { + ex.printStackTrace(); + } + } + + + modelAndView.addObject("result", "success"); + + return modelAndView; + + } + + + + ////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // + // + // private function + // + // + + //페이징을 위한 처리 step1 - 페이징 기본 정보 설정 + private PaginationInfo setPagingStep1( + VEInstrDetailActvtHstryVO p_vEEduAplctVO + )throws Exception{ + // pageing step1 + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(p_vEEduAplctVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(p_vEEduAplctVO.getPageUnit()); + paginationInfo.setPageSize(p_vEEduAplctVO.getPageSize()); + + return paginationInfo; + } + + + //페이징을 위한 처리 step2 - 게시물 리스트 수량 설정 및 검색 조건 초기화 + private VEInstrDetailActvtHstryVO setPagingStep2( + VEInstrDetailActvtHstryVO p_vEEduAplctVO + , PaginationInfo p_paginationInfo + )throws Exception{ + // pageing step2 + p_vEEduAplctVO.setFirstIndex(p_paginationInfo.getFirstRecordIndex()); + p_vEEduAplctVO.setLastIndex(p_paginationInfo.getLastRecordIndex()); + p_vEEduAplctVO.setRecordCountPerPage(p_paginationInfo.getRecordCountPerPage()); + + if("".equals(p_vEEduAplctVO.getSearchSortCnd())){ //최초조회시 최신것 조회List + p_vEEduAplctVO.setSearchSortCnd("prcs_ord"); + p_vEEduAplctVO.setSearchSortOrd("desc"); + } + + return p_vEEduAplctVO; + } + + + //페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기 + private PaginationInfo setPagingStep3( + List p_vEEduAplctVOList + + , PaginationInfo p_paginationInfo + )throws Exception{ + // pageing step3 + int totCnt = 0; + if(p_vEEduAplctVOList.size() > 0) totCnt = p_vEEduAplctVOList.get(0).getTotCnt(); + p_paginationInfo.setTotalRecordCount(totCnt); + + return p_paginationInfo; + } +} diff --git a/src/main/resources/egovframework/sqlmap/let/sym/ccm/notify/VEANotify_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/let/sym/ccm/notify/VEANotify_SQL_Tibero.xml index feae17e5..a45d8741 100644 --- a/src/main/resources/egovframework/sqlmap/let/sym/ccm/notify/VEANotify_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/let/sym/ccm/notify/VEANotify_SQL_Tibero.xml @@ -127,8 +127,34 @@ WHERE a.EDU_APLCT_ORD = #eduAplctOrd# - - + + + + +