diff --git a/src/main/java/kcc/let/my/web/MyPageController.java b/src/main/java/kcc/let/my/web/MyPageController.java index dcb1dc98..36ca54f2 100644 --- a/src/main/java/kcc/let/my/web/MyPageController.java +++ b/src/main/java/kcc/let/my/web/MyPageController.java @@ -24,6 +24,8 @@ import kcc.com.utl.user.service.CheckLoginUtil; import kcc.let.cop.bbs.service.BoardMasterVO; import kcc.let.cop.bbs.service.BoardVO; import kcc.let.uat.uia.service.SsoLoginVO; +import kcc.let.uss.notify.service.NotifyManageService; +import kcc.let.uss.notify.service.NotifyManageVO; import kcc.let.utl.fcc.service.EgovCryptoUtil; import kcc.ve.aplct.fndtnEnhanceTrn.service.FndtnEnhanceTrnService; import kcc.ve.cmm.VeConstants; @@ -79,7 +81,9 @@ public class MyPageController { //온라인콘텐츠과정 관리 @Resource(name = "fndtnEnhanceTrnService") private FndtnEnhanceTrnService fndtnEnhanceTrnService; - + + @Resource(name = "NotifyManageService") + private NotifyManageService notifyManageService; private static final Logger LOGGER = LoggerFactory.getLogger(MyPageController.class); @@ -307,7 +311,77 @@ public class MyPageController { return "web/my/myQnaMngList"; } - + @RequestMapping(value = { "/web/my/myNotifyMngList.do" }) + public String myNotifyMngList( + HttpServletRequest request + , @ModelAttribute("notifyManageVO") NotifyManageVO notifyManageVO + , ModelMap model + ) throws Exception { + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); // 권한에 따른 로그인 정보 가져오기 + //1.pageing step1 + PaginationInfo paginationInfo = this.setNotiPagingStep1(notifyManageVO); + //2. pageing step2 + notifyManageVO = this.setNotiPagingStep2(notifyManageVO, paginationInfo); +// + notifyManageVO.setToUserId(loginVO.getUniqId()); + + + /*if(StringUtils.isNotEmpty(notifyManageVO.getSearchStatus())) { + String status = ""; + if("Y".equals(notifyManageVO.getSearchStatus())) + status = "IS NOT NULL"; + if("N".equals(notifyManageVO.getSearchStatus())) + status = "IS NULL"; + + notifyManageVO.setSearchQuery(" AND qn.QNA_ANSWER_CN "+status); + } */ + + List notifyManageVOList = notifyManageService.selectPagingList(notifyManageVO); + + //3.pageing step3 + paginationInfo = this.setNotiPagingStep3(notifyManageVOList, paginationInfo); + + model.addAttribute("paginationInfo", paginationInfo); + + // 사용자 이름 디코딩 +// vEPrcsDetailVOList.stream().forEach(t->t.setMberNm(egovCryptoUtil.decrypt(t.getMberNm()))); + + //대상 리스트, 페이징 정보 전달 + model.addAttribute("list", notifyManageVOList); + +// return "web/my/myQnaMngList"; + return "web/my/myNotifyMngList"; + } + + @RequestMapping(value = { "/web/my/myNotifyMngDetail.do"}) + public String myNotifyMngDetail( + @ModelAttribute("notifyManageVO") NotifyManageVO notifyManageVO + , ModelMap model + , RedirectAttributes redirectAttributes + , HttpSession session + , HttpServletRequest request + ) throws Exception { + + //로그인 처리==================================== + //로그인 정보 가져오기 + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + if (loginVO == null || ssoLoginVO == null) { + return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다. + } + //로그인 처리==================================== + + //과정 조회 + NotifyManageVO notifyManageInfo = notifyManageService.findById(notifyManageVO); + + model.addAttribute("info", notifyManageInfo); + //세부과정 목록 조회 + + return "web/my/myNotifyMngDetail"; + } + @RequestMapping(value = { "/web/my/myQnaMngDetail.do"}) public String myQnaMngDetail( @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO @@ -394,4 +468,40 @@ public class MyPageController { return p_paginationInfo; } + + + private PaginationInfo setNotiPagingStep1(NotifyManageVO notifyManageVO) { + // pageing step1 + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(notifyManageVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(notifyManageVO.getPageUnit()); + paginationInfo.setPageSize(notifyManageVO.getPageSize()); + + return paginationInfo; + } + + private NotifyManageVO setNotiPagingStep2(NotifyManageVO notifyManageVO, PaginationInfo paginationInfo) { + // pageing step2 + notifyManageVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + notifyManageVO.setLastIndex(paginationInfo.getLastRecordIndex()); + notifyManageVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + if("".equals(notifyManageVO.getSearchSortCnd())){ //최초조회시 최신것 조회List + notifyManageVO.setSearchSortCnd("prcs_ord"); + notifyManageVO.setSearchSortOrd("desc"); + } + + return notifyManageVO; + } + + private PaginationInfo setNotiPagingStep3(List vEPrcsDetailVOList, PaginationInfo paginationInfo) { + // pageing step3 + int totCnt = 0; + if(vEPrcsDetailVOList.size() > 0) totCnt = vEPrcsDetailVOList.get(0).getTotCnt(); + paginationInfo.setTotalRecordCount(totCnt); + + return paginationInfo; + } + + } diff --git a/src/main/java/kcc/let/uss/notify/service/NotifyManageService.java b/src/main/java/kcc/let/uss/notify/service/NotifyManageService.java index bc090464..c0a945b4 100644 --- a/src/main/java/kcc/let/uss/notify/service/NotifyManageService.java +++ b/src/main/java/kcc/let/uss/notify/service/NotifyManageService.java @@ -3,6 +3,7 @@ package kcc.let.uss.notify.service; import java.util.List; import egovframework.rte.fdl.cmmn.exception.FdlException; +import kcc.com.cmm.LoginVO; /** * @@ -34,13 +35,31 @@ public interface NotifyManageService { void mngDel(NotifyManageVO notifyManageVO); - void insertNotifyEduForAdmin(String userId, String eduAplctOrd, List eduChasiOrdList, String lctrDivCd) throws FdlException; + void insertNotifyEduForAdmin(LoginVO loginVO, String eduAplctOrd, List eduChasiOrdList, String lctrDivCd) throws FdlException; - void insertNotifyClsrmForAdmin(String userId, String eduAplctOrd, String lctrDivCd) throws FdlException; + void insertNotifyClsrmForAdmin(LoginVO loginVO, String eduAplctOrd, String lctrDivCd) throws FdlException; List selectPagingList(NotifyManageVO notifyManageVO); NotifyManageVO findById(NotifyManageVO notifyManageVO); void updateNotifyChkWhereCmmNotifyOrd(String cmmNotifyOrd); + + void insertNotifyAprvlCdForUser(LoginVO loginVO, String eduAplctOrd, String lctrDivCd, String aprvlCd) throws FdlException; + + void insertNotifyAprvlCd5060ForUser(LoginVO loginVO, String prcsAplctPrdOrd, String lctrDivCd, List eduAplctOrdList, String aprvlCd) + throws FdlException; + + void insertNotifyAprvlCd5060CmpltForUser(LoginVO loginVO, String prcsAplctPrdOrd, String lctrDivCd, List eduAplctOrdList, String aprvlCd) + throws FdlException; + + void insertNotifyForInstr5060(LoginVO loginVO, String prcsAplctPrdOrd, String asgnmAprvlCd, String userId) throws FdlException; + + void insertNotifyAsgnmCnfrmForInstr(LoginVO loginVO, String eduAplctOrd, String eduChasiOrd, String asgnmAprvlCd) throws FdlException; + + int selectNotifyCnt(String uniqId); + + } + + 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 33a6205a..a6d89fd0 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 @@ -50,8 +50,8 @@ public class NotifyManageDAO extends EgovAbstractDAO { update("VEANotifyMngDAO.mngDel", notifyManageVO); } - public void insertNotifyEduForAdmin(NotifyManageVO notifyManageVO) { - insert("VEANotifyDAO.insertNotifyEduForAdmin", notifyManageVO); + public void insertNotifyInfo(NotifyManageVO notifyManageVO) { + insert("VEANotifyDAO.insertNotifyInfo", notifyManageVO); } public List selectPagingList(NotifyManageVO notifyManageVO) { @@ -66,5 +66,21 @@ public class NotifyManageDAO extends EgovAbstractDAO { update("VEANotifyDAO.updateNotifyChkWhereCmmNotifyOrd", cmmNotifyOrd); } + public String findByUserIdFromVE_EDU_APLCT(String eduAplctOrd) { + return (String) select("VEANotifyDAO.findByUserIdFromVE_EDU_APLCT", eduAplctOrd); + } + + public String findByLctrDivCdFromVePrcsAplctPrd(String prcsAplctPrdOrd) { + return (String) select("VEANotifyDAO.findByLctrDivCdFromVePrcsAplctPrd", prcsAplctPrdOrd); + } + + public String selectNotifyInstr(NotifyManageVO notifyManageVO) { + return (String) select("VEANotifyDAO.selectNotifyInstr", notifyManageVO); + } + + public int selectNotifyCnt(String uniqId) { + return (int) select("VEANotifyDAO.selectNotifyCnt", uniqId); + } + } 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 a9eb6543..272cffab 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 @@ -4,11 +4,15 @@ import java.util.List; import javax.annotation.Resource; +import org.apache.ibatis.javassist.compiler.ast.Symbol; import org.springframework.stereotype.Service; import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; import egovframework.rte.fdl.cmmn.exception.FdlException; import egovframework.rte.fdl.idgnr.EgovIdGnrService; +import kcc.com.cmm.ComDefaultCodeVO; +import kcc.com.cmm.LoginVO; +import kcc.com.cmm.service.EgovCmmUseService; import kcc.let.uss.notify.service.NotifyManageService; import kcc.let.uss.notify.service.NotifyManageVO; @@ -39,6 +43,10 @@ public class NotifyManageServiceImpl extends EgovAbstractServiceImpl implements //교육과정순번 @Resource(name="veaCmmNotifyMngOrdGnrService") private EgovIdGnrService veaCmmNotifyOrdGnrService; + + @Resource(name = "EgovCmmUseService") + private EgovCmmUseService egovCmmUseService; + @Override public List selectMngPagingList(NotifyManageVO notifyManageVO) { @@ -75,7 +83,7 @@ public class NotifyManageServiceImpl extends EgovAbstractServiceImpl implements * @청소년 찾교 사용자 등록 -> 관리자 알림 */ @Override - public void insertNotifyEduForAdmin(String userId, String eduAplctOrd, List eduChasiOrdList, String lctrDivCd) throws FdlException { + public void insertNotifyEduForAdmin(LoginVO loginVO, String eduAplctOrd, List eduChasiOrdList, String lctrDivCd) throws FdlException { // 담당자 ID 가져오기 @@ -91,23 +99,22 @@ public class NotifyManageServiceImpl extends EgovAbstractServiceImpl implements NotifyManageVO notifyManageVO = new NotifyManageVO(); notifyManageVO.setCmmNotifyOrd(veaCmmNotifyOrdGnrService.getNextStringId()); notifyManageVO.setLctrDivCd(lctrDivCd); - notifyManageVO.setNotifyCn("["+userId+"]["+eduChasiOrdList.size()+"개 차시] 교육신청을 하였습니다."); + notifyManageVO.setNotifyCn("["+loginVO.getId()+"]["+eduChasiOrdList.size()+"개 차시] 교육신청을 하였습니다."); String notifyPath = ""; - if("10".equals(lctrDivCd)) + + if("10".equals(lctrDivCd)) // 청소년 notifyPath = "/kccadr/oprtn/tngrVisitEdu/eduAplctMngDetail.do"; - if("20".equals(lctrDivCd)) + if("20".equals(lctrDivCd)) // 찾교 notifyPath = "/kccadr/oprtn/adultVisitEdu/eduAplctMngDetail.do"; - if("30".equals(lctrDivCd)) - notifyPath = "/kccadr/oprtn/cpyrgExprnClsrm/oprtnAplctMngDetail.do"; notifyManageVO.setNotifyPath(notifyPath); notifyManageVO.setNotifyChk("N"); notifyManageVO.setEduAplctOrd(eduAplctOrd); notifyManageVO.setEduChasiOrd(eduChasiOrdList.toString()); - notifyManageVO.setFrstRegisterId(userId); + notifyManageVO.setFrstRegisterId(loginVO.getUniqId()); for(NotifyManageVO vo : notifyManageListVO) { notifyManageVO.setToUserId(vo.getMngUserId()); - notifyManageDAO.insertNotifyEduForAdmin(notifyManageVO); + notifyManageDAO.insertNotifyInfo(notifyManageVO); } // } @@ -117,7 +124,7 @@ public class NotifyManageServiceImpl extends EgovAbstractServiceImpl implements * @체험교실 사용자 등록 -> 관리자 알림 */ @Override - public void insertNotifyClsrmForAdmin(String userId, String eduAplctOrd, String lctrDivCd) throws FdlException { + public void insertNotifyClsrmForAdmin(LoginVO loginVO, String eduAplctOrd, String lctrDivCd) throws FdlException { // 담당자 ID 가져오기 @@ -132,20 +139,236 @@ public class NotifyManageServiceImpl extends EgovAbstractServiceImpl implements NotifyManageVO notifyManageVO = new NotifyManageVO(); notifyManageVO.setCmmNotifyOrd(veaCmmNotifyOrdGnrService.getNextStringId()); notifyManageVO.setLctrDivCd(lctrDivCd); - notifyManageVO.setNotifyCn("["+userId+"] 교육신청을 하였습니다."); + notifyManageVO.setNotifyCn("["+loginVO.getId()+"] 교육신청을 하였습니다."); String notifyPath = ""; notifyPath = "/kccadr/oprtn/cpyrgExprnClsrm/oprtnAplctMngDetail.do"; notifyManageVO.setNotifyPath(notifyPath); notifyManageVO.setNotifyChk("N"); notifyManageVO.setEduAplctOrd(eduAplctOrd); - notifyManageVO.setFrstRegisterId(userId); + notifyManageVO.setFrstRegisterId(loginVO.getUniqId()); for(NotifyManageVO vo : notifyManageListVO) { notifyManageVO.setToUserId(vo.getMngUserId()); - notifyManageDAO.insertNotifyEduForAdmin(notifyManageVO); + notifyManageDAO.insertNotifyInfo(notifyManageVO); } } + + // 관리자가 사용자 신청 값을 수정하면 알림 등록 + @Override + public void insertNotifyAprvlCdForUser(LoginVO loginVO, String eduAplctOrd, String lctrDivCd, String aprvlCd) throws FdlException { + + + // 상태 변경된 교육의 USERID 가져오기 + NotifyManageVO notifyManageVO = new NotifyManageVO(); + // 교육 담당자 조회 - 노티 받을 대상 + notifyManageVO.setToUserId(notifyManageDAO.findByUserIdFromVE_EDU_APLCT(eduAplctOrd)); + // pk + notifyManageVO.setCmmNotifyOrd(veaCmmNotifyOrdGnrService.getNextStringId()); + + notifyManageVO.setLctrDivCd(lctrDivCd); + + // 청소년 , 성인 , 기소 , 기반 공통코드로 test 추출 + String lctrDivNm = this.getCodeNm(lctrDivCd, "VE0011"); + + // 상태값 text + String aprvlNm = this.getCodeNm(aprvlCd, "VE0003"); + + notifyManageVO.setNotifyCn("["+lctrDivNm+"]교육 상태값이 "+aprvlNm+"(으)로 변경되었습니다."); + + + String notifyPath = ""; + if( "10".equals(lctrDivCd) ) { + notifyPath = "/web/ve/aplct/tngrVisitEdu/eduAplct/eduAplctDetail.do"; + } + else if( "20".equals(lctrDivCd) ) { + notifyPath = "/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctDetail.do"; + } + else if( "30".equals(lctrDivCd) ) { + notifyPath = "/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctDetail.do"; + } + + + notifyManageVO.setNotifyPath(notifyPath); + notifyManageVO.setNotifyChk("N"); + notifyManageVO.setEduAplctOrd(eduAplctOrd); + notifyManageVO.setFrstRegisterId(loginVO.getUniqId()); + + notifyManageDAO.insertNotifyInfo(notifyManageVO); + } + + // 관리자가 사용자 신청 값을 수정하면 알림 등록 + @Override + public void insertNotifyAprvlCd5060ForUser(LoginVO loginVO, String prcsAplctPrdOrd, String lctrDivCd, List eduAplctOrdList, String aprvlCd) throws FdlException { + + + // 상태 변경된 교육의 USERID 가져오기 + NotifyManageVO notifyManageVO = new NotifyManageVO(); + // 교육 담당자 조회 - 노티 받을 대상 + // pk + + notifyManageVO.setLctrDivCd(lctrDivCd); + + // 청소년 , 성인 , 기소 , 기반 공통코드로 test 추출 + String lctrDivNm = this.getCodeNm(lctrDivCd, "VE0011"); + + // 상태값 text + String aprvlNm = this.getCodeNm(aprvlCd, "VE0003"); + + notifyManageVO.setNotifyCn("["+lctrDivNm+"]교육 상태값이 "+aprvlNm+"(으)로 변경되었습니다."); + + + String notifyPath = ""; + if( "50".equals(lctrDivCd) ) { + notifyPath = "/web/ve/aplct/fndtnEnhanceTrn/eduAplctDetail.do"; + } + else if( "60".equals(lctrDivCd) ) { + notifyPath = "/web/ve/aplct/sspnIdtmt/eduAplctDetail.do"; + } + + + notifyManageVO.setNotifyPath(notifyPath); + notifyManageVO.setNotifyChk("N"); + notifyManageVO.setEduAplctOrd(prcsAplctPrdOrd); //50, 60은 pk값이 다름 + notifyManageVO.setFrstRegisterId(loginVO.getUniqId()); + + + for(String eduAplctOrd : eduAplctOrdList) { + notifyManageVO.setCmmNotifyOrd(veaCmmNotifyOrdGnrService.getNextStringId()); + notifyManageVO.setToUserId(notifyManageDAO.findByUserIdFromVE_EDU_APLCT(eduAplctOrd)); + notifyManageDAO.insertNotifyInfo(notifyManageVO); + } + + } + + @Override + public void insertNotifyAprvlCd5060CmpltForUser(LoginVO loginVO, String prcsAplctPrdOrd, String lctrDivCd, List eduAplctOrdList, String aprvlCd) throws FdlException { + + + // 상태 변경된 교육의 USERID 가져오기 + NotifyManageVO notifyManageVO = new NotifyManageVO(); + // 교육 담당자 조회 - 노티 받을 대상 + // pk + + notifyManageVO.setLctrDivCd(lctrDivCd); + + // 청소년 , 성인 , 기소 , 기반 공통코드로 test 추출 + String lctrDivNm = this.getCodeNm(lctrDivCd, "VE0011"); + + // 상태값 text + String aprvlNm = this.getCodeNm(aprvlCd, "VEA003"); + + notifyManageVO.setNotifyCn("["+lctrDivNm+"]교육 상태값이 "+aprvlNm+"(으)로 변경되었습니다."); + + + String notifyPath = ""; + if( "50".equals(lctrDivCd) ) { + notifyPath = "/web/ve/aplct/fndtnEnhanceTrn/eduAplctDetail.do"; + } + else if( "60".equals(lctrDivCd) ) { + notifyPath = "/web/ve/aplct/sspnIdtmt/eduAplctDetail.do"; + } + + + notifyManageVO.setNotifyPath(notifyPath); + notifyManageVO.setNotifyChk("N"); + notifyManageVO.setEduAplctOrd(prcsAplctPrdOrd); //50, 60은 pk값이 다름 + notifyManageVO.setFrstRegisterId(loginVO.getUniqId()); + + + for(String eduAplctOrd : eduAplctOrdList) { + notifyManageVO.setCmmNotifyOrd(veaCmmNotifyOrdGnrService.getNextStringId()); + notifyManageVO.setToUserId(notifyManageDAO.findByUserIdFromVE_EDU_APLCT(eduAplctOrd)); + notifyManageDAO.insertNotifyInfo(notifyManageVO); + } + + } + + @Override + public void insertNotifyForInstr5060(LoginVO loginVO, String prcsAplctPrdOrd, String asgnmAprvlCd, String userId) throws FdlException { + + + // 상태 변경된 교육의 USERID 가져오기 + NotifyManageVO notifyManageVO = new NotifyManageVO(); + // 교육 담당자 조회 - 노티 받을 대상 + // pk + + String lctrDivCd = notifyManageDAO.findByLctrDivCdFromVePrcsAplctPrd(prcsAplctPrdOrd); + notifyManageVO.setLctrDivCd(lctrDivCd); + + // 청소년 , 성인 , 기소 , 기반 공통코드로 test 추출 + String lctrDivNm = this.getCodeNm(lctrDivCd, "VE0011"); + + // 상태값 text + String aprvlNm = this.getCodeNm(asgnmAprvlCd, "VEA011"); + + notifyManageVO.setNotifyCn("["+lctrDivNm+"]강사 신청 상태가 "+aprvlNm+"(으)로 변경되었습니다."); + + + String notifyPath = ""; + if( "50".equals(lctrDivCd) ) { + notifyPath = "/web/ve/instr/fndtnVisitEdu/asgnmInfo/instrAsgnmDetail.do"; + } + else if( "60".equals(lctrDivCd) ) { + notifyPath = "/web/ve/instr/sspnIdtmt/asgnmInfo/instrAsgnmDetail.do"; + } + + + notifyManageVO.setNotifyPath(notifyPath); + notifyManageVO.setNotifyChk("N"); + notifyManageVO.setEduAplctOrd(prcsAplctPrdOrd); + notifyManageVO.setFrstRegisterId(loginVO.getUniqId()); + + + notifyManageVO.setCmmNotifyOrd(veaCmmNotifyOrdGnrService.getNextStringId()); + notifyManageVO.setToUserId(userId); + notifyManageDAO.insertNotifyInfo(notifyManageVO); + + } + + /* + * @ + */ + @Override + public void insertNotifyAsgnmCnfrmForInstr(LoginVO loginVO, String eduAplctOrd, String eduChasiOrd, String asgnmAprvlCd) throws FdlException { + + NotifyManageVO notifyManageVO = new NotifyManageVO(); + notifyManageVO.setEduAplctOrd(eduAplctOrd); + notifyManageVO.setEduChasiOrd(eduChasiOrd); + + String toUserId = notifyManageDAO.selectNotifyInstr(notifyManageVO); + + + + // 상태값 text + String asgnmAprvlNm = this.getCodeNm(asgnmAprvlCd, "VE0019"); + + notifyManageVO.setNotifyCn("강사 상태가 "+asgnmAprvlNm+"(으)로 변경되었습니다."); + + // 청소년 성인구분 + String lctrDivCd = notifyManageDAO.findByLctrDivCdFromVePrcsAplctPrd(eduAplctOrd); + notifyManageVO.setLctrDivCd(lctrDivCd); + if("10".equals(lctrDivCd)) + notifyManageVO.setNotifyPath("/web/ve/instr/tngrVisitEdu/asgnmInfo/instrAsgnmRqstDetail.do"); + else if("20".equals(lctrDivCd)) + notifyManageVO.setNotifyPath("/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmRqstDetail.do"); + notifyManageVO.setNotifyChk("N"); + notifyManageVO.setFrstRegisterId(loginVO.getUniqId()); + + + notifyManageVO.setCmmNotifyOrd(veaCmmNotifyOrdGnrService.getNextStringId()); + notifyManageVO.setToUserId(toUserId); + notifyManageDAO.insertNotifyInfo(notifyManageVO); + + } + + + private String getCodeNm(String code, String codeId) { + ComDefaultCodeVO codeParam = new ComDefaultCodeVO(); + codeParam.setCodeId(codeId); + codeParam.setCode(code); + return egovCmmUseService.selectCmmCodeDetailCodeValueOnlyName(codeParam); + } @Override public List selectPagingList(NotifyManageVO notifyManageVO) { @@ -157,4 +380,8 @@ public class NotifyManageServiceImpl extends EgovAbstractServiceImpl implements notifyManageDAO.updateNotifyChkWhereCmmNotifyOrd(cmmNotifyOrd); } + @Override + public int selectNotifyCnt(String uniqId) { + return notifyManageDAO.selectNotifyCnt(uniqId); + } } diff --git a/src/main/java/kcc/ve/aplct/adultVisitEdu/eduAplct/service/impl/EduAplctAdultServiceImpl.java b/src/main/java/kcc/ve/aplct/adultVisitEdu/eduAplct/service/impl/EduAplctAdultServiceImpl.java index 95df9d9c..2a000e5b 100644 --- a/src/main/java/kcc/ve/aplct/adultVisitEdu/eduAplct/service/impl/EduAplctAdultServiceImpl.java +++ b/src/main/java/kcc/ve/aplct/adultVisitEdu/eduAplct/service/impl/EduAplctAdultServiceImpl.java @@ -164,7 +164,7 @@ public class EduAplctAdultServiceImpl implements EduAplctAdultService { } // 성인 교육 신청 성공시 노티 insert - notifyManageService.insertNotifyEduForAdmin(loginVO.getMembId(), eduAplctOrd, eduChasiOrdList, vEEduAplctVO.getLctrDivCd()); + notifyManageService.insertNotifyEduForAdmin(loginVO, eduAplctOrd, eduChasiOrdList, vEEduAplctVO.getLctrDivCd()); return true; diff --git a/src/main/java/kcc/ve/aplct/adultVisitEdu/eduAplct/web/EduAplctAdultController.java b/src/main/java/kcc/ve/aplct/adultVisitEdu/eduAplct/web/EduAplctAdultController.java index d085ddb0..bc0a8bf3 100644 --- a/src/main/java/kcc/ve/aplct/adultVisitEdu/eduAplct/web/EduAplctAdultController.java +++ b/src/main/java/kcc/ve/aplct/adultVisitEdu/eduAplct/web/EduAplctAdultController.java @@ -6,6 +6,7 @@ import java.util.Map; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; @@ -27,6 +28,7 @@ import kcc.com.cmm.service.impl.CmmUseDAO; import kcc.com.utl.user.service.CheckFileUtil; import kcc.com.utl.user.service.CheckLoginUtil; import kcc.let.uat.uia.service.SsoLoginVO; +import kcc.let.uss.notify.service.NotifyManageService; import kcc.let.utl.fcc.service.EgovCryptoUtil; import kcc.ve.aplct.adultVisitEdu.eduAplct.service.EduAplctAdultService; import kcc.ve.cmm.VeConstants; @@ -105,10 +107,10 @@ public class EduAplctAdultController { //교육과정신청 @Resource(name = "vEPrcsMIXService") private VEPrcsMIXService vEPrcsMIXService; - - - - + + // 알림 서비스 + @Resource(name = "NotifyManageService") + private NotifyManageService notifyManageService; //교육과정순번 @Resource(name="prcsGnrService") @@ -258,6 +260,13 @@ public class EduAplctAdultController { */ @RequestMapping("eduAplctDetail.do") public String eduAplctDetail( @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO , ModelMap model , HttpServletRequest request ) throws Exception { + + // 확인 체크 + if(StringUtils.isNotEmpty(vEEduAplctVO.getCmmNotifyOrd())) + { + notifyManageService.updateNotifyChkWhereCmmNotifyOrd(vEEduAplctVO.getCmmNotifyOrd()); + } + //기본데이터 불러오기 vEEduAplctVO = vEEduAplctService.selectDetail(vEEduAplctVO); diff --git a/src/main/java/kcc/ve/aplct/cpyrgExprnClsrm/exprnClsrmAplct/service/impl/ExprnClsrmAplctServiceImpl.java b/src/main/java/kcc/ve/aplct/cpyrgExprnClsrm/exprnClsrmAplct/service/impl/ExprnClsrmAplctServiceImpl.java index 2dcf278b..663e1d33 100644 --- a/src/main/java/kcc/ve/aplct/cpyrgExprnClsrm/exprnClsrmAplct/service/impl/ExprnClsrmAplctServiceImpl.java +++ b/src/main/java/kcc/ve/aplct/cpyrgExprnClsrm/exprnClsrmAplct/service/impl/ExprnClsrmAplctServiceImpl.java @@ -140,7 +140,7 @@ public class ExprnClsrmAplctServiceImpl implements ExprnClsrmAplctService { // 저작권 등록 veEduOprtnService.insert(oprtn); // 성인 교육 신청 성공시 노티 insert - notifyManageService.insertNotifyClsrmForAdmin(loginVO.getMembId(), eduAplctOrd, vEEduAplctVO.getLctrDivCd()); + notifyManageService.insertNotifyClsrmForAdmin(loginVO, eduAplctOrd, vEEduAplctVO.getLctrDivCd()); return true; } diff --git a/src/main/java/kcc/ve/aplct/cpyrgExprnClsrm/exprnClsrmAplct/web/ExprnClsrmAplctController.java b/src/main/java/kcc/ve/aplct/cpyrgExprnClsrm/exprnClsrmAplct/web/ExprnClsrmAplctController.java index 9559b664..5d9ac14d 100644 --- a/src/main/java/kcc/ve/aplct/cpyrgExprnClsrm/exprnClsrmAplct/web/ExprnClsrmAplctController.java +++ b/src/main/java/kcc/ve/aplct/cpyrgExprnClsrm/exprnClsrmAplct/web/ExprnClsrmAplctController.java @@ -9,6 +9,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; @@ -29,6 +30,7 @@ import kcc.com.cmm.util.DateUtil; import kcc.com.utl.user.service.CheckFileUtil; import kcc.com.utl.user.service.CheckLoginUtil; import kcc.let.uat.uia.service.SsoLoginVO; +import kcc.let.uss.notify.service.NotifyManageService; import kcc.let.utl.fcc.service.EgovCryptoUtil; import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ExprnClsrmAplctService; import kcc.ve.cmm.VeConstants; @@ -135,6 +137,9 @@ public class ExprnClsrmAplctController { @Resource(name = "vEPrcsAplctPrdService") private VEPrcsAplctPrdService vEPrcsAplctPrdService; + // 알림 service + @Resource(name = "NotifyManageService") + private NotifyManageService notifyManageService; /** * 체험교실신청 목록 화면 */ @@ -350,6 +355,11 @@ public class ExprnClsrmAplctController { @RequestMapping("exprnClsrmAplctDetail.do") public String exprnClsrmAplctDetail( @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO , ModelMap model , HttpServletRequest request ) throws Exception { + // 확인 체크 + if(StringUtils.isNotEmpty(vEEduAplctVO.getCmmNotifyOrd())) + { + notifyManageService.updateNotifyChkWhereCmmNotifyOrd(vEEduAplctVO.getCmmNotifyOrd()); + } //기본데이터 불러오기 vEEduAplctVO = vEEduAplctService.selectOprtnDetail(vEEduAplctVO); diff --git a/src/main/java/kcc/ve/aplct/fndtnEnhanceTrn/web/FndtnEnhanceTrnController.java b/src/main/java/kcc/ve/aplct/fndtnEnhanceTrn/web/FndtnEnhanceTrnController.java index 1dc50ef8..7a589d85 100644 --- a/src/main/java/kcc/ve/aplct/fndtnEnhanceTrn/web/FndtnEnhanceTrnController.java +++ b/src/main/java/kcc/ve/aplct/fndtnEnhanceTrn/web/FndtnEnhanceTrnController.java @@ -29,6 +29,7 @@ import kcc.com.utl.user.service.CheckFileUtil; import kcc.com.utl.user.service.CheckLoginUtil; import kcc.com.utl.user.service.QustnrCommonUtil; import kcc.let.uat.uia.service.SsoLoginVO; +import kcc.let.uss.notify.service.NotifyManageService; import kcc.let.uss.olp.qri.service.EgovQustnrRespondInfoService; import kcc.let.uss.olp.qri.service.QustnrRespondInfoVO; import kcc.let.utl.fcc.service.EgovCryptoUtil; @@ -118,8 +119,9 @@ public class FndtnEnhanceTrnController { //과정차시 관리 @Resource(name = "vEPrcsAplctPrdService") private VEPrcsAplctPrdService vEPrcsAplctPrdService; - - + + @Resource(name = "NotifyManageService") + private NotifyManageService notifyManageService; //교육과정순번 @Resource(name="prcsGnrService") @@ -454,6 +456,18 @@ public class FndtnEnhanceTrnController { @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO , ModelMap model , HttpServletRequest request ) throws Exception { + + + + // 확인 체크 + if(StringUtils.isNotEmpty(vEPrcsDetailVO.getCmmNotifyOrd())) + { + notifyManageService.updateNotifyChkWhereCmmNotifyOrd(vEPrcsDetailVO.getCmmNotifyOrd()); + } + + + + //로그인 처리==================================== LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 diff --git a/src/main/java/kcc/ve/aplct/sspnIdtmt/web/SspnIdtmtController.java b/src/main/java/kcc/ve/aplct/sspnIdtmt/web/SspnIdtmtController.java index 81e98134..b03c5dd1 100644 --- a/src/main/java/kcc/ve/aplct/sspnIdtmt/web/SspnIdtmtController.java +++ b/src/main/java/kcc/ve/aplct/sspnIdtmt/web/SspnIdtmtController.java @@ -1,824 +1,835 @@ -package kcc.ve.aplct.sspnIdtmt.web; - -import java.time.LocalDate; -import java.time.format.DateTimeFormatter; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang3.StringUtils; -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.fdl.idgnr.EgovIdGnrService; -import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; -import kcc.com.cmm.LoginVO; -import kcc.com.cmm.service.EgovFileMngService; -import kcc.com.cmm.service.impl.CmmUseDAO; -import kcc.com.cmm.util.StringUtil; -import kcc.com.utl.user.service.CheckFileUtil; -import kcc.com.utl.user.service.CheckLoginUtil; -import kcc.let.uat.uia.service.SsoLoginVO; -import kcc.let.utl.fcc.service.EgovCryptoUtil; -import kcc.ve.aplct.adultVisitEdu.eduAplct.service.EduAplctAdultService; -import kcc.ve.aplct.fndtnEnhanceTrn.service.FndtnEnhanceTrnService; -import kcc.ve.aplct.sspnIdtmt.service.SspnIdtmtService; -import kcc.ve.cmm.VeConstants; -import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctOnlnService; -import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService; -import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; -import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiService; -import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService; -import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService; -import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; -import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsMIXService; -import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsOnlnCntntService; -import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService; -import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngService; -import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngVO; - -/** - * 교육신청(성인찾아가는교육) - * 교육신청에 관한 controller 클래스를 정의한다. - * @author 조용준 - * @since 2021.12.16 - * @version 1.0 - * @see - * - *
- * << 개정이력(Modification Information) >>
- *
- *   수정일      수정자           수정내용
- *  -------    --------    ---------------------------
- *   2021.12.16  조용준          최초 생성
- *
- * 
- */ - -@Controller -//@RequestMapping("/web/ve/aplct/sspnIdtmt") -public class SspnIdtmtController { - - private static final Logger LOGGER = LoggerFactory.getLogger(SspnIdtmtController.class); - - //암복호화 유틸 - @Resource(name = "egovCryptoUtil") - EgovCryptoUtil egovCryptoUtil; - - //파일 체크 util - @Resource(name = "checkFileUtil") - private CheckFileUtil checkFileUtil; - - //로그인 체크 util - @Resource(name = "checkLoginUtil") - private CheckLoginUtil checkLoginUtil; - - //파일정보의 관리 - @Resource(name = "EgovFileMngService") - private EgovFileMngService fileService; - - - //과정 관리 - @Resource(name = "vEPrcsService") - private VEPrcsService vEPrcsService; - - //온라인콘텐츠과정 관리 - @Resource(name = "vEPrcsOnlnCntntService") - private VEPrcsOnlnCntntService vEPrcsOnlnCntntService; - - //교육신청 - @Resource(name = "vEEduAplctService") - private VEEduAplctService vEEduAplctService; - - //차시 - @Resource(name = "vEEduChasiService") - private VEEduChasiService vVEEduChasiService; - - //교육과정신청 - @Resource(name = "vEEduMIXService") - private VEEduMIXService vEEduMIXService; - - //교육과정신청 - @Resource(name = "vEPrcsMIXService") - private VEPrcsMIXService vEPrcsMIXService; - - - //과정차시 관리 - @Resource(name = "vEPrcsAplctPrdService") - private VEPrcsAplctPrdService vEPrcsAplctPrdService; - - - //온라인콘텐츠과정 관리 - @Resource(name = "fndtnEnhanceTrnService") - private FndtnEnhanceTrnService fndtnEnhanceTrnService; - - - //교육과정순번 - @Resource(name="prcsGnrService") - private EgovIdGnrService prcsGnrService; - - //과정온라인콘텐츠순번 - @Resource(name="prcsOnlnGnrService") - private EgovIdGnrService prcsOnlnGnrService; - - //교육신청순번 - @Resource(name="eduAplctGnrService") - private EgovIdGnrService eduAplctGnrService; - - //교육차시순번 - @Resource(name="eduChasiGnrService") - private EgovIdGnrService eduChasiGnrService; - - //교육신청온라인 - @Resource(name = "vEEduAplctOnlnService") - private VEEduAplctOnlnService vEEduAplctOnlnService; - - @Resource(name = "eduAplctAdultService") - private EduAplctAdultService eduAplctAdultService; - - //과정 관리 - @Resource(name = "cndtnTrgtInfoMngService") - private CndtnTrgtMngService cndtnTrgtInfoMngService; - - //qna순번 - @Resource(name="prcsAplctPrdQnaOrdGnrService") - private EgovIdGnrService prcsAplctPrdQnaOrdGnrService; - - //코드 - @Resource(name="cmmUseDAO") - private CmmUseDAO cmmUseDAO; - - - //온라인콘텐츠과정 관리 - @Resource(name = "sspnIdtmtService") - private SspnIdtmtService sspnIdtmtService; - - - /** - * 대시보드 임시 - */ - @RequestMapping("/web/ve/aplct/sspnIdtmt/main_2.do") - public String main_2( @ModelAttribute("vEEduAplctVO") VEPrcsDetailVO vEPrcsDetailVO , ModelMap model , HttpServletRequest request ) throws Exception { - - return "/web/ve/aplct/sspnIdtmt/main_2"; - } - - /** - * 교육신청 목록 화면 - */ - @RequestMapping("/web/ve/aplct/sspnIdtmt/main.do") - public String main( @ModelAttribute("vEEduAplctVO") VEPrcsDetailVO vEPrcsDetailVO , ModelMap model , HttpServletRequest request ) throws Exception { - - - //로그인 처리==================================== - LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 - SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 - - if (loginVO == null || ssoLoginVO == null) { - //이전 url 처리(beforeSiteUrl)_이준호_220228추가 - return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다. - } - vEPrcsDetailVO.setUserId(loginVO.getUniqId()); - - - //1.pageing step1 - //5개만 select을 위한 설정 - vEPrcsDetailVO.setPageUnit(5); - PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); - - - //로그인 처리==================================== - - //1.pageing step1 - - //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 - //paginationInfo.setRecordCountPerPage(10000); - - //2. pageing step2 - vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); - - //기반강화 조회 - vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_60); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 - - - /* - if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsDiv())) { - vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모 - } - */ - List vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlList(vEPrcsDetailVO); - - // 현재 날짜를 가져옵니다. - LocalDate currentDate = LocalDate.now(); - // 날짜비교 - vEPrcsDetailVOList.stream().forEach(t->{ - t.setDateChk(this.dateChk(t, currentDate)); - }); - - - Map countMap = vEPrcsAplctPrdService.findAllSspnldtmtDashboardCnt(vEPrcsDetailVO); - // 리스트 row마다 신청 확인하기 - //대상 리스트, 페이징 정보 전달 - model.addAttribute("list", vEPrcsDetailVOList); - model.addAttribute("countMap", countMap); - - - - // Q&A 영역 - vEPrcsDetailVO.setQnaRegist(loginVO.getUniqId()); - List vEPrcsDetailQnaVOList = fndtnEnhanceTrnService.selectVeEduQna(vEPrcsDetailVO); - model.addAttribute("qnaList", vEPrcsDetailQnaVOList); - - - return "/web/ve/aplct/sspnIdtmt/main"; - } - - - - /** - * 교육신청 목록 화면 - */ - @RequestMapping("/web/ve/aplct/sspnIdtmt/eduAplctList.do") - public String eduAplctList( - @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO - , ModelMap model - , HttpServletRequest request ) throws Exception { - //로그인 처리==================================== - LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 - SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 - - if (loginVO == null || ssoLoginVO == null) { - //이전 url 처리(beforeSiteUrl)_이준호_220228추가 - return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다. - } - //1.pageing step1 - PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); - - - //로그인 처리==================================== - - //1.pageing step1 - - //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 - //paginationInfo.setRecordCountPerPage(10000); - - //2. pageing step2 - vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); - - //기반강화 조회 - vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_60); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 - - if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){ - String selectCondition = "AND b.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')"; - vEPrcsDetailVO.setSelectPagingListQuery(selectCondition); - - } - - if(StringUtil.isNotEmpty(vEPrcsDetailVO.getPrcsKind())){ - String[] splited = vEPrcsDetailVO.getPrcsKind().split(","); - vEPrcsDetailVO.setSearchStatusArr(splited); - } - - if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsDiv())) { - - //vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모 - - } - List vEPrcsDetailVOList = vEPrcsAplctPrdService.selectPagingList4Fndth(vEPrcsDetailVO); - - // 리스트 row마다 신청 확인하기 - vEPrcsDetailVOList.stream().forEach(t->{ - VEEduAplctVO vEEduAplctReqVO = new VEEduAplctVO(); - vEEduAplctReqVO.setUserId(loginVO.getUniqId()); - vEEduAplctReqVO.setLctrDivCd(t.getLctrDivCd()); - vEEduAplctReqVO.setPrcsAplctPrdOrd(t.getPrcsAplctPrdOrd()); - vEEduAplctReqVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_60); - VEEduAplctVO vEEduAplctVO = sspnIdtmtService.findByAprvlCd(vEEduAplctReqVO); - // VO를 먼저 null 체크 후 진행해야 에러안남 - // vEEduAplctVO != null && - if(vEEduAplctVO != null && StringUtils.isNotEmpty(vEEduAplctVO.getAprvlCd())) { - System.out.println("vEEduAplctVO.getAprvlCd() :: "+ vEEduAplctVO.getAprvlCd()); - t.setAprvlCd(vEEduAplctVO.getAprvlCd()); - } - }); - - //대상 리스트, 페이징 정보 전달 - model.addAttribute("list", vEPrcsDetailVOList); - - //3.pageing step3 - paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); - - - model.addAttribute("paginationInfo", paginationInfo); - - - - - return "/web/ve/aplct/sspnIdtmt/eduAplctList"; - } - - /** - * 교육신청 목록 화면 - */ - /*@RequestMapping("/web/ve/aplct/sspnIdtmt/fndtnEduAplctList.do") - public String fndtnEduAplctList( - @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO - , ModelMap model - , HttpServletRequest request ) throws Exception { - //로그인 처리==================================== - LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 - SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 - - if (loginVO == null || ssoLoginVO == null) { - //이전 url 처리(beforeSiteUrl)_이준호_220228추가 - return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다. - } - vEPrcsDetailVO.setUserId(loginVO.getUniqId()); - //1.pageing step1 - PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); - - - //로그인 처리==================================== - - //1.pageing step1 - - //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 - //paginationInfo.setRecordCountPerPage(10000); - - //2. pageing step2 - vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); - - //기반강화 조회 - vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_50); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 - - if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){ - String selectCondition = "AND b.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')"; - vEPrcsDetailVO.setSelectPagingListQuery(selectCondition); - - } - - if(StringUtil.isNotEmpty(vEPrcsDetailVO.getPrcsKind())){ - String[] splited = vEPrcsDetailVO.getPrcsKind().split(","); - vEPrcsDetailVO.setSearchStatusArr(splited); - } - - if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsDiv())) { - - //vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모 - - } - List vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlList(vEPrcsDetailVO); - // 리스트 row마다 신청 확인하기 - //대상 리스트, 페이징 정보 전달 - model.addAttribute("list", vEPrcsDetailVOList); - - //3.pageing step3 - paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); - - - model.addAttribute("paginationInfo", paginationInfo); - - - - - return "/web/ve/aplct/sspnIdtmt/fndtnEduAplctList"; - } - *//** - * 교육상세 - */ - @RequestMapping("/web/ve/aplct/sspnIdtmt/eduAplctDetail.do") - public String eduAplctDetail( - @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO - , ModelMap model - , HttpServletRequest request ) throws Exception { - //로그인 처리==================================== - LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 - SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 - - if (loginVO == null || ssoLoginVO == null) { - //이전 url 처리(beforeSiteUrl)_이준호_220228추가 - return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다. - } - //1.pageing step1 - //과정 조회 - VEPrcsDetailVO vEPrcsDetailVODetail = vEPrcsAplctPrdService.selectDetailNewOne4Fndth(vEPrcsDetailVO); - VEEduAplctVO vEEduAplctReqVO = new VEEduAplctVO(); - vEEduAplctReqVO.setUserId(loginVO.getUniqId()); - vEEduAplctReqVO.setLctrDivCd(vEPrcsDetailVODetail.getLctrDivCd()); - vEEduAplctReqVO.setPrcsAplctPrdOrd(vEPrcsDetailVODetail.getPrcsAplctPrdOrd()); - vEEduAplctReqVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_60); - VEEduAplctVO vEEduAplctVO = sspnIdtmtService.findByAprvlCd(vEEduAplctReqVO); - // VO를 먼저 null 체크 후 진행해야 에러안남 - // vEEduAplctVO != null && - if(vEEduAplctVO != null && StringUtils.isNotEmpty(vEEduAplctVO.getAprvlCd())) { - vEPrcsDetailVODetail.setAprvlCd(vEEduAplctVO.getAprvlCd()); - } - - - model.addAttribute("info", vEPrcsDetailVODetail); - - - return "/web/ve/aplct/sspnIdtmt/eduAplctDetail"; - } - - - /** - * 기반강화연수과정 신청기간 등록 - */ - @RequestMapping("/web/ve/aplct/sspnIdtmt/eduRegAjax.do") - public ModelAndView fndthEduPrcsAplctPrdMngRegAjax( - @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(); //권한에 따른 로그인 정보 가져오기 - SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 - - - VEEduAplctVO vEEduAplctVO = new VEEduAplctVO(); - - vEEduAplctVO.setEduAplctOrd(eduAplctGnrService.getNextStringId()); - - vEEduAplctVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_60); // 기소유예 - vEEduAplctVO.setAprvlCd("10"); // 승인코드 VE0003 10 - 요청, 20 - 승인, 30 - 반려 -// sbmt_pnttm 제출일시 - vEEduAplctVO.setSbmtYn("Y"); // 제출여부 - vEEduAplctVO.setFrstRegisterId(loginVO.getUniqId()); -// frst_regist_pnttm - vEEduAplctVO.setUserId(loginVO.getUniqId()); - vEEduAplctVO.setPrcsOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd()); - - String result = ""; - try { - - sspnIdtmtService.insertVeEduAplct(vEEduAplctVO); - - - CndtnTrgtMngVO cndtnTrgtMngVO = new CndtnTrgtMngVO(); - - cndtnTrgtMngVO.setUserId(loginVO.getUniqId()); - cndtnTrgtMngVO.setSspnIdtmtTrgtOrd(vEPrcsDetailVO.getSspnIdtmtTrgtOrd()); - cndtnTrgtMngVO.setEduStateCd("25"); // 신청 - cndtnTrgtMngVO.setPrcsAplctPrdOrdCmplt(vEPrcsDetailVO.getPrcsAplctPrdOrd()); // 교육 번호 -// , edu_state_cd = #eduStateCd# -// , prcs_aplct_prd_ord_cmplt = #prcsAplctPrdOrdCmplt# - - - cndtnTrgtInfoMngService.updateUserId(cndtnTrgtMngVO); - - result = "success"; - } catch (Exception e) { - // TODO: handle exception - } - - - - modelAndView.addObject("result", result); - - return modelAndView; - - } - - /** - * 기반강화연수과정 신청기간 등록 - */ - @RequestMapping("/web/ve/aplct/sspnIdtmt/cnclUpdateAjax.do") - public ModelAndView cnclUpdateAjax( - @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO - , 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(); //권한에 따른 로그인 정보 가져오기 - SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 - - - String result = "false"; - - try { - sspnIdtmtService.updateAprvlCd(vEEduAplctVO); - - result = "success"; - } catch (Exception e) { - // TODO: handle exception - } - - - - modelAndView.addObject("result", result); - - return modelAndView; - - } - - /** - * 기반강화연수과정 신청기간 등록 - */ - @RequestMapping("/web/ve/aplct/sspnIdtmt/userConfirmAjax.do") - public ModelAndView userConfirmAjax( - @ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO - , 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; - } - return sspnIdtmtService.findByTrgtNmAndDBirthAndEduStateCd(cndtnTrgtInfoMngVO); -/* - try { - - - - // 이미 이수한 사용자가 있는지 확인 - // 있으면 리턴 - id = sspnIdtmtService.findByTrgtNmAndDBirthAndEduStateCd(cndtnTrgtInfoMngVO); - if(StringUtils.isNotEmpty(id)) { - modelAndView.addObject("msg", "확인되었습니다."); - modelAndView.addObject("result", "success"); - modelAndView.addObject("id", id); - - - return modelAndView; - } - - } catch (Exception e) { - result = "fail"; - msg = "오류가 발생하였습니다. 담당자에게 문의해주세요."; - } - modelAndView.addObject("msg", msg); - modelAndView.addObject("result", result); - modelAndView.addObject("id", id); - - - return modelAndView; - */ - } - - - /** - * 교육신청 목록 화면 - */ - @RequestMapping("/web/ve/aplct/sspnIdtmt/sspnIdtmtEduAplctList.do") - public String sspnIdtmtEduAplctList( - @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO - , ModelMap model - , HttpServletRequest request ) throws Exception { - - try { - - //로그인 처리==================================== - LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 - SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 - - if (loginVO == null || ssoLoginVO == null) { - //이전 url 처리(beforeSiteUrl)_이준호_220228추가 - return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다. - } - vEPrcsDetailVO.setUserId(loginVO.getUniqId()); - //1.pageing step1 - PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); - - - //로그인 처리==================================== - - //1.pageing step1 - - //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 - //paginationInfo.setRecordCountPerPage(10000); - - //2. pageing step2 - vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); - - //기반강화 조회 - vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_60); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 - - if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){ - String selectCondition = "AND b.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')"; - vEPrcsDetailVO.setSelectPagingListQuery(selectCondition); - - } - - if(StringUtil.isNotEmpty(vEPrcsDetailVO.getPrcsKind())){ - String[] splited = vEPrcsDetailVO.getPrcsKind().split(","); - vEPrcsDetailVO.setSearchStatusArr(splited); - } - - if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsDiv())) { - - //vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모 - - } - List vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlList(vEPrcsDetailVO); - - - // 현재 날짜를 가져옵니다. - LocalDate currentDate = LocalDate.now(); - // 날짜비교 - vEPrcsDetailVOList.stream().forEach(t->{ - t.setDateChk(this.dateChk(t, currentDate)); - }); - - - //대상 리스트, 페이징 정보 전달 - model.addAttribute("list", vEPrcsDetailVOList); - - //3.pageing step3 - paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); - - - model.addAttribute("paginationInfo", paginationInfo); - - - } catch (Exception e) { - e.printStackTrace(); - // TODO: handle exception - } - - return "/web/ve/aplct/sspnIdtmt/sspnIdtmtEduAplctList"; - - } - - - private String dateChk(VEPrcsDetailVO vEPrcsDetailVO , LocalDate currentDate) { - - String returnDate = ""; - - String targetDateString = vEPrcsDetailVO.getEduStrtPnttm(); - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd"); - - // 문자열로부터 LocalDate 객체를 생성합니다. - LocalDate targetDate = LocalDate.parse(targetDateString, formatter); - - - // 교육종료 날짜와 현재날짜 비교 - if (currentDate.isBefore(targetDate)) { //현재날짜가 종료날짜보다 이전이면 0 - returnDate = "0"; - } else if (currentDate.isAfter(targetDate)) { //현재날짜가 종료날짜 이후면 1 - returnDate = "1"; - } else { // 종료날짜와 같으면 2 - returnDate = "2"; - } - - return returnDate; - } - - /** - * 교육소개 임시페이지 - */ - @RequestMapping("/web/ve/aplct/sspnIdtmt/eduInfo.do") - public String eduInfo( @ModelAttribute("modelVO") VEPrcsDetailVO vEPrcsDetailVO , ModelMap model , HttpServletRequest request ) throws Exception { - - return "/web/ve/aplct/sspnIdtmt/eduInfo"; - } - - - @RequestMapping("/web/ve/aplct/sspnIdtmt/qnaRegAjax.do") - public ModelAndView qnaSspnIdtmtRegAjax( - @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(); //권한에 따른 로그인 정보 가져오기 - SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 - - - vEPrcsDetailVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id - vEPrcsDetailVO.setQnaRegist(loginVO.getUniqId()); //esntl_id - vEPrcsDetailVO.setLctrDivCd("60"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 - vEPrcsDetailVO.setPrcsAplctPrdQnaOrd(prcsAplctPrdQnaOrdGnrService.getNextStringId()); - vEPrcsDetailVO.setQnaRegist(loginVO.getUniqId()); - - String msg = "등록되었습니다"; - try { - fndtnEnhanceTrnService.insertVeEduQna(vEPrcsDetailVO); - - } catch (Exception e) { - // TODO: handle exception - e.printStackTrace(); - msg = "등록에 실패하였습니다. 관리자에게 문의해주세요"; - } - - - modelAndView.addObject("msg", msg); - modelAndView.addObject("result", "success"); - - return modelAndView; - - } - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - // - // private function - // - // - - //페이징을 위한 처리 step1 - 페이징 기본 정보 설정 - private PaginationInfo setPagingStep1( - VEPrcsDetailVO p_vEPrcsDetailVO - )throws Exception{ - // pageing step1 - PaginationInfo paginationInfo = new PaginationInfo(); - paginationInfo.setCurrentPageNo(p_vEPrcsDetailVO.getPageIndex()); - paginationInfo.setRecordCountPerPage(p_vEPrcsDetailVO.getPageUnit()); - paginationInfo.setPageSize(p_vEPrcsDetailVO.getPageSize()); - - return paginationInfo; - } - - - //페이징을 위한 처리 step2 - 게시물 리스트 수량 설정 및 검색 조건 초기화 - private VEPrcsDetailVO setPagingStep2( - VEPrcsDetailVO p_vEPrcsDetailVO - , PaginationInfo p_paginationInfo - )throws Exception{ - // pageing step2 - p_vEPrcsDetailVO.setFirstIndex(p_paginationInfo.getFirstRecordIndex()); - p_vEPrcsDetailVO.setLastIndex(p_paginationInfo.getLastRecordIndex()); - p_vEPrcsDetailVO.setRecordCountPerPage(p_paginationInfo.getRecordCountPerPage()); - - if("".equals(p_vEPrcsDetailVO.getSearchSortCnd())){ //최초조회시 최신것 조회List - p_vEPrcsDetailVO.setSearchSortCnd("prcs_ord"); - p_vEPrcsDetailVO.setSearchSortOrd("desc"); - } - - return p_vEPrcsDetailVO; - } - - - //페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기 - private PaginationInfo setPagingStep3( - List p_vEPrcsDetailVOList - - , PaginationInfo p_paginationInfo - )throws Exception{ - // pageing step3 - int totCnt = 0; - if(p_vEPrcsDetailVOList.size() > 0) totCnt = p_vEPrcsDetailVOList.get(0).getTotCnt(); - p_paginationInfo.setTotalRecordCount(totCnt); - - return p_paginationInfo; - } -} +package kcc.ve.aplct.sspnIdtmt.web; + +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.List; +import java.util.Map; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; + +import org.apache.commons.lang3.StringUtils; +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.fdl.idgnr.EgovIdGnrService; +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; +import kcc.com.cmm.LoginVO; +import kcc.com.cmm.service.EgovFileMngService; +import kcc.com.cmm.service.impl.CmmUseDAO; +import kcc.com.cmm.util.StringUtil; +import kcc.com.utl.user.service.CheckFileUtil; +import kcc.com.utl.user.service.CheckLoginUtil; +import kcc.let.uat.uia.service.SsoLoginVO; +import kcc.let.uss.notify.service.NotifyManageService; +import kcc.let.utl.fcc.service.EgovCryptoUtil; +import kcc.ve.aplct.adultVisitEdu.eduAplct.service.EduAplctAdultService; +import kcc.ve.aplct.fndtnEnhanceTrn.service.FndtnEnhanceTrnService; +import kcc.ve.aplct.sspnIdtmt.service.SspnIdtmtService; +import kcc.ve.cmm.VeConstants; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctOnlnService; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiService; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsMIXService; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsOnlnCntntService; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService; +import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngService; +import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngVO; + +/** + * 교육신청(성인찾아가는교육) + * 교육신청에 관한 controller 클래스를 정의한다. + * @author 조용준 + * @since 2021.12.16 + * @version 1.0 + * @see + * + *
+ * << 개정이력(Modification Information) >>
+ *
+ *   수정일      수정자           수정내용
+ *  -------    --------    ---------------------------
+ *   2021.12.16  조용준          최초 생성
+ *
+ * 
+ */ + +@Controller +//@RequestMapping("/web/ve/aplct/sspnIdtmt") +public class SspnIdtmtController { + + private static final Logger LOGGER = LoggerFactory.getLogger(SspnIdtmtController.class); + + //암복호화 유틸 + @Resource(name = "egovCryptoUtil") + EgovCryptoUtil egovCryptoUtil; + + //파일 체크 util + @Resource(name = "checkFileUtil") + private CheckFileUtil checkFileUtil; + + //로그인 체크 util + @Resource(name = "checkLoginUtil") + private CheckLoginUtil checkLoginUtil; + + //파일정보의 관리 + @Resource(name = "EgovFileMngService") + private EgovFileMngService fileService; + + + //과정 관리 + @Resource(name = "vEPrcsService") + private VEPrcsService vEPrcsService; + + //온라인콘텐츠과정 관리 + @Resource(name = "vEPrcsOnlnCntntService") + private VEPrcsOnlnCntntService vEPrcsOnlnCntntService; + + //교육신청 + @Resource(name = "vEEduAplctService") + private VEEduAplctService vEEduAplctService; + + //차시 + @Resource(name = "vEEduChasiService") + private VEEduChasiService vVEEduChasiService; + + //교육과정신청 + @Resource(name = "vEEduMIXService") + private VEEduMIXService vEEduMIXService; + + //교육과정신청 + @Resource(name = "vEPrcsMIXService") + private VEPrcsMIXService vEPrcsMIXService; + + + //과정차시 관리 + @Resource(name = "vEPrcsAplctPrdService") + private VEPrcsAplctPrdService vEPrcsAplctPrdService; + + + //온라인콘텐츠과정 관리 + @Resource(name = "fndtnEnhanceTrnService") + private FndtnEnhanceTrnService fndtnEnhanceTrnService; + + + //교육과정순번 + @Resource(name="prcsGnrService") + private EgovIdGnrService prcsGnrService; + + //과정온라인콘텐츠순번 + @Resource(name="prcsOnlnGnrService") + private EgovIdGnrService prcsOnlnGnrService; + + //교육신청순번 + @Resource(name="eduAplctGnrService") + private EgovIdGnrService eduAplctGnrService; + + //교육차시순번 + @Resource(name="eduChasiGnrService") + private EgovIdGnrService eduChasiGnrService; + + //교육신청온라인 + @Resource(name = "vEEduAplctOnlnService") + private VEEduAplctOnlnService vEEduAplctOnlnService; + + @Resource(name = "eduAplctAdultService") + private EduAplctAdultService eduAplctAdultService; + + //과정 관리 + @Resource(name = "cndtnTrgtInfoMngService") + private CndtnTrgtMngService cndtnTrgtInfoMngService; + + //qna순번 + @Resource(name="prcsAplctPrdQnaOrdGnrService") + private EgovIdGnrService prcsAplctPrdQnaOrdGnrService; + + //코드 + @Resource(name="cmmUseDAO") + private CmmUseDAO cmmUseDAO; + + //온라인콘텐츠과정 관리 + @Resource(name = "sspnIdtmtService") + private SspnIdtmtService sspnIdtmtService; + + @Resource(name = "NotifyManageService") + private NotifyManageService notifyManageService; + + /** + * 대시보드 임시 + */ + @RequestMapping("/web/ve/aplct/sspnIdtmt/main_2.do") + public String main_2( @ModelAttribute("vEEduAplctVO") VEPrcsDetailVO vEPrcsDetailVO , ModelMap model , HttpServletRequest request ) throws Exception { + + return "/web/ve/aplct/sspnIdtmt/main_2"; + } + + /** + * 교육신청 목록 화면 + */ + @RequestMapping("/web/ve/aplct/sspnIdtmt/main.do") + public String main( @ModelAttribute("vEEduAplctVO") VEPrcsDetailVO vEPrcsDetailVO , ModelMap model , HttpServletRequest request ) throws Exception { + + + //로그인 처리==================================== + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + if (loginVO == null || ssoLoginVO == null) { + //이전 url 처리(beforeSiteUrl)_이준호_220228추가 + return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다. + } + vEPrcsDetailVO.setUserId(loginVO.getUniqId()); + + + //1.pageing step1 + //5개만 select을 위한 설정 + vEPrcsDetailVO.setPageUnit(5); + PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); + + + //로그인 처리==================================== + + //1.pageing step1 + + //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 + //paginationInfo.setRecordCountPerPage(10000); + + //2. pageing step2 + vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); + + //기반강화 조회 + vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_60); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + + + /* + if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsDiv())) { + vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모 + } + */ + List vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlList(vEPrcsDetailVO); + + // 현재 날짜를 가져옵니다. + LocalDate currentDate = LocalDate.now(); + // 날짜비교 + vEPrcsDetailVOList.stream().forEach(t->{ + t.setDateChk(this.dateChk(t, currentDate)); + }); + + + Map countMap = vEPrcsAplctPrdService.findAllSspnldtmtDashboardCnt(vEPrcsDetailVO); + // 리스트 row마다 신청 확인하기 + //대상 리스트, 페이징 정보 전달 + model.addAttribute("list", vEPrcsDetailVOList); + model.addAttribute("countMap", countMap); + + + + // Q&A 영역 + vEPrcsDetailVO.setQnaRegist(loginVO.getUniqId()); + List vEPrcsDetailQnaVOList = fndtnEnhanceTrnService.selectVeEduQna(vEPrcsDetailVO); + model.addAttribute("qnaList", vEPrcsDetailQnaVOList); + + + return "/web/ve/aplct/sspnIdtmt/main"; + } + + + + /** + * 교육신청 목록 화면 + */ + @RequestMapping("/web/ve/aplct/sspnIdtmt/eduAplctList.do") + public String eduAplctList( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + , ModelMap model + , HttpServletRequest request ) throws Exception { + //로그인 처리==================================== + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + if (loginVO == null || ssoLoginVO == null) { + //이전 url 처리(beforeSiteUrl)_이준호_220228추가 + return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다. + } + //1.pageing step1 + PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); + + + //로그인 처리==================================== + + //1.pageing step1 + + //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 + //paginationInfo.setRecordCountPerPage(10000); + + //2. pageing step2 + vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); + + //기반강화 조회 + vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_60); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + + if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){ + String selectCondition = "AND b.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')"; + vEPrcsDetailVO.setSelectPagingListQuery(selectCondition); + + } + + if(StringUtil.isNotEmpty(vEPrcsDetailVO.getPrcsKind())){ + String[] splited = vEPrcsDetailVO.getPrcsKind().split(","); + vEPrcsDetailVO.setSearchStatusArr(splited); + } + + if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsDiv())) { + + //vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모 + + } + List vEPrcsDetailVOList = vEPrcsAplctPrdService.selectPagingList4Fndth(vEPrcsDetailVO); + + // 리스트 row마다 신청 확인하기 + vEPrcsDetailVOList.stream().forEach(t->{ + VEEduAplctVO vEEduAplctReqVO = new VEEduAplctVO(); + vEEduAplctReqVO.setUserId(loginVO.getUniqId()); + vEEduAplctReqVO.setLctrDivCd(t.getLctrDivCd()); + vEEduAplctReqVO.setPrcsAplctPrdOrd(t.getPrcsAplctPrdOrd()); + vEEduAplctReqVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_60); + VEEduAplctVO vEEduAplctVO = sspnIdtmtService.findByAprvlCd(vEEduAplctReqVO); + // VO를 먼저 null 체크 후 진행해야 에러안남 + // vEEduAplctVO != null && + if(vEEduAplctVO != null && StringUtils.isNotEmpty(vEEduAplctVO.getAprvlCd())) { + System.out.println("vEEduAplctVO.getAprvlCd() :: "+ vEEduAplctVO.getAprvlCd()); + t.setAprvlCd(vEEduAplctVO.getAprvlCd()); + } + }); + + //대상 리스트, 페이징 정보 전달 + model.addAttribute("list", vEPrcsDetailVOList); + + //3.pageing step3 + paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); + + + model.addAttribute("paginationInfo", paginationInfo); + + + + + return "/web/ve/aplct/sspnIdtmt/eduAplctList"; + } + + /** + * 교육신청 목록 화면 + */ + /*@RequestMapping("/web/ve/aplct/sspnIdtmt/fndtnEduAplctList.do") + public String fndtnEduAplctList( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + , ModelMap model + , HttpServletRequest request ) throws Exception { + //로그인 처리==================================== + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + if (loginVO == null || ssoLoginVO == null) { + //이전 url 처리(beforeSiteUrl)_이준호_220228추가 + return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다. + } + vEPrcsDetailVO.setUserId(loginVO.getUniqId()); + //1.pageing step1 + PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); + + + //로그인 처리==================================== + + //1.pageing step1 + + //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 + //paginationInfo.setRecordCountPerPage(10000); + + //2. pageing step2 + vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); + + //기반강화 조회 + vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_50); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + + if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){ + String selectCondition = "AND b.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')"; + vEPrcsDetailVO.setSelectPagingListQuery(selectCondition); + + } + + if(StringUtil.isNotEmpty(vEPrcsDetailVO.getPrcsKind())){ + String[] splited = vEPrcsDetailVO.getPrcsKind().split(","); + vEPrcsDetailVO.setSearchStatusArr(splited); + } + + if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsDiv())) { + + //vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모 + + } + List vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlList(vEPrcsDetailVO); + // 리스트 row마다 신청 확인하기 + //대상 리스트, 페이징 정보 전달 + model.addAttribute("list", vEPrcsDetailVOList); + + //3.pageing step3 + paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); + + + model.addAttribute("paginationInfo", paginationInfo); + + + + + return "/web/ve/aplct/sspnIdtmt/fndtnEduAplctList"; + } + *//** + * 교육상세 + */ + @RequestMapping("/web/ve/aplct/sspnIdtmt/eduAplctDetail.do") + public String eduAplctDetail( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + , ModelMap model + , HttpServletRequest request ) throws Exception { + + + // 확인 체크 + if(StringUtils.isNotEmpty(vEPrcsDetailVO.getCmmNotifyOrd())) + { + notifyManageService.updateNotifyChkWhereCmmNotifyOrd(vEPrcsDetailVO.getCmmNotifyOrd()); + } + + + //로그인 처리==================================== + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + if (loginVO == null || ssoLoginVO == null) { + //이전 url 처리(beforeSiteUrl)_이준호_220228추가 + return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다. + } + //1.pageing step1 + //과정 조회 + VEPrcsDetailVO vEPrcsDetailVODetail = vEPrcsAplctPrdService.selectDetailNewOne4Fndth(vEPrcsDetailVO); + VEEduAplctVO vEEduAplctReqVO = new VEEduAplctVO(); + vEEduAplctReqVO.setUserId(loginVO.getUniqId()); + vEEduAplctReqVO.setLctrDivCd(vEPrcsDetailVODetail.getLctrDivCd()); + vEEduAplctReqVO.setPrcsAplctPrdOrd(vEPrcsDetailVODetail.getPrcsAplctPrdOrd()); + vEEduAplctReqVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_60); + VEEduAplctVO vEEduAplctVO = sspnIdtmtService.findByAprvlCd(vEEduAplctReqVO); + // VO를 먼저 null 체크 후 진행해야 에러안남 + // vEEduAplctVO != null && + if(vEEduAplctVO != null && StringUtils.isNotEmpty(vEEduAplctVO.getAprvlCd())) { + vEPrcsDetailVODetail.setAprvlCd(vEEduAplctVO.getAprvlCd()); + } + + + model.addAttribute("info", vEPrcsDetailVODetail); + + + return "/web/ve/aplct/sspnIdtmt/eduAplctDetail"; + } + + + /** + * 기반강화연수과정 신청기간 등록 + */ + @RequestMapping("/web/ve/aplct/sspnIdtmt/eduRegAjax.do") + public ModelAndView fndthEduPrcsAplctPrdMngRegAjax( + @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(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + + VEEduAplctVO vEEduAplctVO = new VEEduAplctVO(); + + vEEduAplctVO.setEduAplctOrd(eduAplctGnrService.getNextStringId()); + + vEEduAplctVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_60); // 기소유예 + vEEduAplctVO.setAprvlCd("10"); // 승인코드 VE0003 10 - 요청, 20 - 승인, 30 - 반려 +// sbmt_pnttm 제출일시 + vEEduAplctVO.setSbmtYn("Y"); // 제출여부 + vEEduAplctVO.setFrstRegisterId(loginVO.getUniqId()); +// frst_regist_pnttm + vEEduAplctVO.setUserId(loginVO.getUniqId()); + vEEduAplctVO.setPrcsOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd()); + + String result = ""; + try { + + sspnIdtmtService.insertVeEduAplct(vEEduAplctVO); + + + CndtnTrgtMngVO cndtnTrgtMngVO = new CndtnTrgtMngVO(); + + cndtnTrgtMngVO.setUserId(loginVO.getUniqId()); + cndtnTrgtMngVO.setSspnIdtmtTrgtOrd(vEPrcsDetailVO.getSspnIdtmtTrgtOrd()); + cndtnTrgtMngVO.setEduStateCd("25"); // 신청 + cndtnTrgtMngVO.setPrcsAplctPrdOrdCmplt(vEPrcsDetailVO.getPrcsAplctPrdOrd()); // 교육 번호 +// , edu_state_cd = #eduStateCd# +// , prcs_aplct_prd_ord_cmplt = #prcsAplctPrdOrdCmplt# + + + cndtnTrgtInfoMngService.updateUserId(cndtnTrgtMngVO); + + result = "success"; + } catch (Exception e) { + // TODO: handle exception + } + + + + modelAndView.addObject("result", result); + + return modelAndView; + + } + + /** + * 기반강화연수과정 신청기간 등록 + */ + @RequestMapping("/web/ve/aplct/sspnIdtmt/cnclUpdateAjax.do") + public ModelAndView cnclUpdateAjax( + @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO + , 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(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + + String result = "false"; + + try { + sspnIdtmtService.updateAprvlCd(vEEduAplctVO); + + result = "success"; + } catch (Exception e) { + // TODO: handle exception + } + + + + modelAndView.addObject("result", result); + + return modelAndView; + + } + + /** + * 기반강화연수과정 신청기간 등록 + */ + @RequestMapping("/web/ve/aplct/sspnIdtmt/userConfirmAjax.do") + public ModelAndView userConfirmAjax( + @ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO + , 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; + } + return sspnIdtmtService.findByTrgtNmAndDBirthAndEduStateCd(cndtnTrgtInfoMngVO); +/* + try { + + + + // 이미 이수한 사용자가 있는지 확인 + // 있으면 리턴 + id = sspnIdtmtService.findByTrgtNmAndDBirthAndEduStateCd(cndtnTrgtInfoMngVO); + if(StringUtils.isNotEmpty(id)) { + modelAndView.addObject("msg", "확인되었습니다."); + modelAndView.addObject("result", "success"); + modelAndView.addObject("id", id); + + + return modelAndView; + } + + } catch (Exception e) { + result = "fail"; + msg = "오류가 발생하였습니다. 담당자에게 문의해주세요."; + } + modelAndView.addObject("msg", msg); + modelAndView.addObject("result", result); + modelAndView.addObject("id", id); + + + return modelAndView; + */ + } + + + /** + * 교육신청 목록 화면 + */ + @RequestMapping("/web/ve/aplct/sspnIdtmt/sspnIdtmtEduAplctList.do") + public String sspnIdtmtEduAplctList( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + , ModelMap model + , HttpServletRequest request ) throws Exception { + + try { + + //로그인 처리==================================== + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + if (loginVO == null || ssoLoginVO == null) { + //이전 url 처리(beforeSiteUrl)_이준호_220228추가 + return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다. + } + vEPrcsDetailVO.setUserId(loginVO.getUniqId()); + //1.pageing step1 + PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); + + + //로그인 처리==================================== + + //1.pageing step1 + + //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 + //paginationInfo.setRecordCountPerPage(10000); + + //2. pageing step2 + vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); + + //기반강화 조회 + vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_60); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + + if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){ + String selectCondition = "AND b.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')"; + vEPrcsDetailVO.setSelectPagingListQuery(selectCondition); + + } + + if(StringUtil.isNotEmpty(vEPrcsDetailVO.getPrcsKind())){ + String[] splited = vEPrcsDetailVO.getPrcsKind().split(","); + vEPrcsDetailVO.setSearchStatusArr(splited); + } + + if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsDiv())) { + + //vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모 + + } + List vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlList(vEPrcsDetailVO); + + + // 현재 날짜를 가져옵니다. + LocalDate currentDate = LocalDate.now(); + // 날짜비교 + vEPrcsDetailVOList.stream().forEach(t->{ + t.setDateChk(this.dateChk(t, currentDate)); + }); + + + //대상 리스트, 페이징 정보 전달 + model.addAttribute("list", vEPrcsDetailVOList); + + //3.pageing step3 + paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); + + + model.addAttribute("paginationInfo", paginationInfo); + + + } catch (Exception e) { + e.printStackTrace(); + // TODO: handle exception + } + + return "/web/ve/aplct/sspnIdtmt/sspnIdtmtEduAplctList"; + + } + + + private String dateChk(VEPrcsDetailVO vEPrcsDetailVO , LocalDate currentDate) { + + String returnDate = ""; + + String targetDateString = vEPrcsDetailVO.getEduStrtPnttm(); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd"); + + // 문자열로부터 LocalDate 객체를 생성합니다. + LocalDate targetDate = LocalDate.parse(targetDateString, formatter); + + + // 교육종료 날짜와 현재날짜 비교 + if (currentDate.isBefore(targetDate)) { //현재날짜가 종료날짜보다 이전이면 0 + returnDate = "0"; + } else if (currentDate.isAfter(targetDate)) { //현재날짜가 종료날짜 이후면 1 + returnDate = "1"; + } else { // 종료날짜와 같으면 2 + returnDate = "2"; + } + + return returnDate; + } + + /** + * 교육소개 임시페이지 + */ + @RequestMapping("/web/ve/aplct/sspnIdtmt/eduInfo.do") + public String eduInfo( @ModelAttribute("modelVO") VEPrcsDetailVO vEPrcsDetailVO , ModelMap model , HttpServletRequest request ) throws Exception { + + return "/web/ve/aplct/sspnIdtmt/eduInfo"; + } + + + @RequestMapping("/web/ve/aplct/sspnIdtmt/qnaRegAjax.do") + public ModelAndView qnaSspnIdtmtRegAjax( + @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(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + + vEPrcsDetailVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id + vEPrcsDetailVO.setQnaRegist(loginVO.getUniqId()); //esntl_id + vEPrcsDetailVO.setLctrDivCd("60"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + vEPrcsDetailVO.setPrcsAplctPrdQnaOrd(prcsAplctPrdQnaOrdGnrService.getNextStringId()); + vEPrcsDetailVO.setQnaRegist(loginVO.getUniqId()); + + String msg = "등록되었습니다"; + try { + fndtnEnhanceTrnService.insertVeEduQna(vEPrcsDetailVO); + + } catch (Exception e) { + // TODO: handle exception + e.printStackTrace(); + msg = "등록에 실패하였습니다. 관리자에게 문의해주세요"; + } + + + modelAndView.addObject("msg", msg); + modelAndView.addObject("result", "success"); + + return modelAndView; + + } + + ////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // + // + // private function + // + // + + //페이징을 위한 처리 step1 - 페이징 기본 정보 설정 + private PaginationInfo setPagingStep1( + VEPrcsDetailVO p_vEPrcsDetailVO + )throws Exception{ + // pageing step1 + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(p_vEPrcsDetailVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(p_vEPrcsDetailVO.getPageUnit()); + paginationInfo.setPageSize(p_vEPrcsDetailVO.getPageSize()); + + return paginationInfo; + } + + + //페이징을 위한 처리 step2 - 게시물 리스트 수량 설정 및 검색 조건 초기화 + private VEPrcsDetailVO setPagingStep2( + VEPrcsDetailVO p_vEPrcsDetailVO + , PaginationInfo p_paginationInfo + )throws Exception{ + // pageing step2 + p_vEPrcsDetailVO.setFirstIndex(p_paginationInfo.getFirstRecordIndex()); + p_vEPrcsDetailVO.setLastIndex(p_paginationInfo.getLastRecordIndex()); + p_vEPrcsDetailVO.setRecordCountPerPage(p_paginationInfo.getRecordCountPerPage()); + + if("".equals(p_vEPrcsDetailVO.getSearchSortCnd())){ //최초조회시 최신것 조회List + p_vEPrcsDetailVO.setSearchSortCnd("prcs_ord"); + p_vEPrcsDetailVO.setSearchSortOrd("desc"); + } + + return p_vEPrcsDetailVO; + } + + + //페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기 + private PaginationInfo setPagingStep3( + List p_vEPrcsDetailVOList + + , PaginationInfo p_paginationInfo + )throws Exception{ + // pageing step3 + int totCnt = 0; + if(p_vEPrcsDetailVOList.size() > 0) totCnt = p_vEPrcsDetailVOList.get(0).getTotCnt(); + p_paginationInfo.setTotalRecordCount(totCnt); + + return p_paginationInfo; + } +} diff --git a/src/main/java/kcc/ve/aplct/tngrVisitEdu/eduAplct/service/impl/EduAplctTngrServiceImpl.java b/src/main/java/kcc/ve/aplct/tngrVisitEdu/eduAplct/service/impl/EduAplctTngrServiceImpl.java index f396867f..535513f8 100644 --- a/src/main/java/kcc/ve/aplct/tngrVisitEdu/eduAplct/service/impl/EduAplctTngrServiceImpl.java +++ b/src/main/java/kcc/ve/aplct/tngrVisitEdu/eduAplct/service/impl/EduAplctTngrServiceImpl.java @@ -274,7 +274,7 @@ public class EduAplctTngrServiceImpl implements EduAplctTngrService { } // 성인 교육 신청 성공시 노티 insert - notifyManageService.insertNotifyEduForAdmin(loginVO.getMembId(), eduAplctOrd, eduChasiOrdList, vEEduAplctVO.getLctrDivCd()); + notifyManageService.insertNotifyEduForAdmin(loginVO, eduAplctOrd, eduChasiOrdList, vEEduAplctVO.getLctrDivCd()); return true; } diff --git a/src/main/java/kcc/ve/aplct/tngrVisitEdu/eduAplct/web/EduAplctTngrController.java b/src/main/java/kcc/ve/aplct/tngrVisitEdu/eduAplct/web/EduAplctTngrController.java index 40af68c6..8575a316 100644 --- a/src/main/java/kcc/ve/aplct/tngrVisitEdu/eduAplct/web/EduAplctTngrController.java +++ b/src/main/java/kcc/ve/aplct/tngrVisitEdu/eduAplct/web/EduAplctTngrController.java @@ -7,6 +7,7 @@ import java.util.stream.Collectors; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; @@ -24,6 +25,7 @@ import kcc.com.cmm.service.FileVO; import kcc.com.utl.user.service.CheckFileUtil; import kcc.com.utl.user.service.CheckLoginUtil; import kcc.let.uat.uia.service.SsoLoginVO; +import kcc.let.uss.notify.service.NotifyManageService; import kcc.let.utl.fcc.service.EgovCryptoUtil; import kcc.ve.adv.tngr.stngInfo.service.VEAStngMixService; import kcc.ve.adv.tngr.stngInfo.service.VEAStngService; @@ -145,6 +147,8 @@ public class EduAplctTngrController { @Resource(name = "vEInstrMixService") private VEInstrMixService vEInstrMixService; + @Resource(name = "NotifyManageService") + private NotifyManageService notifyManageService; /* * START @@ -681,7 +685,13 @@ public class EduAplctTngrController { */ @RequestMapping("eduAplctDetail.do") public String eduAplctDetail( @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO , ModelMap model , HttpServletRequest request ) throws Exception { - + + // 확인 체크 + if(StringUtils.isNotEmpty(vEEduAplctVO.getCmmNotifyOrd())) + { + notifyManageService.updateNotifyChkWhereCmmNotifyOrd(vEEduAplctVO.getCmmNotifyOrd()); + } + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 diff --git a/src/main/java/kcc/ve/instr/fndtnVisitEdu/asgnmInfo/web/VEFndtnAsgnmController.java b/src/main/java/kcc/ve/instr/fndtnVisitEdu/asgnmInfo/web/VEFndtnAsgnmController.java index 1cf64446..89a23c30 100644 --- a/src/main/java/kcc/ve/instr/fndtnVisitEdu/asgnmInfo/web/VEFndtnAsgnmController.java +++ b/src/main/java/kcc/ve/instr/fndtnVisitEdu/asgnmInfo/web/VEFndtnAsgnmController.java @@ -6,6 +6,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.ModelAttribute; @@ -16,6 +17,7 @@ import kcc.com.cmm.EgovMessageSource; import kcc.com.cmm.LoginVO; import kcc.com.utl.user.service.CheckLoginUtil; import kcc.let.uat.uia.service.SsoLoginVO; +import kcc.let.uss.notify.service.NotifyManageService; import kcc.let.utl.fcc.service.EgovCryptoUtil; import kcc.ve.cmm.VeConstants; import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAsgnmMIXService; @@ -64,6 +66,9 @@ public class VEFndtnAsgnmController { @Resource(name = "vEPrcsMIXService") private VEPrcsMIXService vEPrcsMIXService; + @Resource(name = "NotifyManageService") + private NotifyManageService notifyManageService; + // 기반강화 강의목록(확정) @RequestMapping("/web/ve/instr/fndtnVisitEdu/asgnmInfo/instrAsgnmList.do") public String instrAsgnmList( @@ -135,6 +140,12 @@ public class VEFndtnAsgnmController { , ModelMap model , HttpServletRequest request ) throws Exception { + + // 확인 체크 + if(StringUtils.isNotEmpty(vEPrcsDetailVO.getCmmNotifyOrd())) + { + notifyManageService.updateNotifyChkWhereCmmNotifyOrd(vEPrcsDetailVO.getCmmNotifyOrd()); + } //로그인 처리==================================== //로그인 정보 가져오기 diff --git a/src/main/java/kcc/ve/instr/sspnIdtmt/asgnmInfo/web/VESspnIdtmtAsgnmController.java b/src/main/java/kcc/ve/instr/sspnIdtmt/asgnmInfo/web/VESspnIdtmtAsgnmController.java index f554b495..6f8fbc98 100644 --- a/src/main/java/kcc/ve/instr/sspnIdtmt/asgnmInfo/web/VESspnIdtmtAsgnmController.java +++ b/src/main/java/kcc/ve/instr/sspnIdtmt/asgnmInfo/web/VESspnIdtmtAsgnmController.java @@ -6,6 +6,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.ModelAttribute; @@ -16,6 +17,7 @@ import kcc.com.cmm.EgovMessageSource; import kcc.com.cmm.LoginVO; import kcc.com.utl.user.service.CheckLoginUtil; import kcc.let.uat.uia.service.SsoLoginVO; +import kcc.let.uss.notify.service.NotifyManageService; import kcc.let.utl.fcc.service.EgovCryptoUtil; import kcc.ve.cmm.VeConstants; import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAsgnmMIXService; @@ -64,6 +66,10 @@ public class VESspnIdtmtAsgnmController { @Resource(name = "vEPrcsMIXService") private VEPrcsMIXService vEPrcsMIXService; + @Resource(name = "NotifyManageService") + private NotifyManageService notifyManageService; + + // 기반강화 강의목록(확정) @RequestMapping("/web/ve/instr/sspnIdtmt/asgnmInfo/instrAsgnmList.do") public String instrAsgnmList( @@ -138,6 +144,12 @@ public class VESspnIdtmtAsgnmController { //로그인 처리==================================== //로그인 정보 가져오기 + + // 확인 체크 + if(StringUtils.isNotEmpty(vEPrcsDetailVO.getCmmNotifyOrd())) + { + notifyManageService.updateNotifyChkWhereCmmNotifyOrd(vEPrcsDetailVO.getCmmNotifyOrd()); + } LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/VEInstrAsgnmVO.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/VEInstrAsgnmVO.java index 5ba2ab0d..a635d415 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/VEInstrAsgnmVO.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/VEInstrAsgnmVO.java @@ -159,6 +159,8 @@ public class VEInstrAsgnmVO extends ComDefaultVO implements Serializable { private String avgScore; //평균점수 + private String cmmNotifyOrd; //평균점수 + public String getMemoCn() { @@ -791,5 +793,11 @@ public class VEInstrAsgnmVO extends ComDefaultVO implements Serializable { public void setAvgScore(String avgScore) { this.avgScore = avgScore; } + public String getCmmNotifyOrd() { + return cmmNotifyOrd; + } + public void setCmmNotifyOrd(String cmmNotifyOrd) { + this.cmmNotifyOrd = cmmNotifyOrd; + } } 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 cb72fb2c..65aa0117 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 @@ -21,6 +21,7 @@ import kcc.com.cmm.LoginVO; import kcc.com.cmm.util.IpUtil; import kcc.com.utl.user.service.CheckLoginUtil; 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.VisitEduTransUtil; @@ -91,7 +92,11 @@ public class VEAsgnmController { @Resource(name = "vEEduAplctService") private VEEduAplctService vEEduAplctService; - + + @Resource(name = "NotifyManageService") + private NotifyManageService notifyManageService; + + //청소년강사 강의 요청 목록 @RequestMapping("/web/ve/instr/tngrVisitEdu/asgnmInfo/instrAsgnmRqstList.do") public String instrAsgnmRqstList( @@ -324,6 +329,14 @@ public class VEAsgnmController { try{ System.out.println("adultVisitEdu-endInfo-instrEduEndDetail"); + + // 확인 체크 + if(StringUtils.isNotEmpty(vEInstrAsgnmVO.getCmmNotifyOrd())) + { + notifyManageService.updateNotifyChkWhereCmmNotifyOrd(vEInstrAsgnmVO.getCmmNotifyOrd()); + } + + //로그인 처리==================================== //로그인 정보 가져오기 LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 @@ -445,6 +458,13 @@ public class VEAsgnmController { , HttpServletRequest request ) throws Exception { + // 확인 체크 + if(StringUtils.isNotEmpty(vEInstrAsgnmVO.getCmmNotifyOrd())) + { + notifyManageService.updateNotifyChkWhereCmmNotifyOrd(vEInstrAsgnmVO.getCmmNotifyOrd()); + } + + try{ System.out.println("tngrVisitEdu-asgnmInfo-instrAsgnmDetail"); diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsDetailVO.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsDetailVO.java index bf775b54..42cead11 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsDetailVO.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsDetailVO.java @@ -199,6 +199,7 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable { private String qestnrId30; private String eduPrcsOrd; + private String cmmNotifyOrd; // @@ -968,6 +969,12 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable { public void setTrafficFee(String trafficFee) { this.trafficFee = trafficFee; } + public String getCmmNotifyOrd() { + return cmmNotifyOrd; + } + public void setCmmNotifyOrd(String cmmNotifyOrd) { + this.cmmNotifyOrd = cmmNotifyOrd; + } } diff --git a/src/main/java/kcc/ve/oprtn/adultVisitEdu/eduAplctMng/web/EduAplctMngAdultController.java b/src/main/java/kcc/ve/oprtn/adultVisitEdu/eduAplctMng/web/EduAplctMngAdultController.java index f2a69af0..96ad678b 100644 --- a/src/main/java/kcc/ve/oprtn/adultVisitEdu/eduAplctMng/web/EduAplctMngAdultController.java +++ b/src/main/java/kcc/ve/oprtn/adultVisitEdu/eduAplctMng/web/EduAplctMngAdultController.java @@ -218,7 +218,10 @@ public class EduAplctMngAdultController { public String eduAplctMngDetail( @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO , ModelMap model ,HttpSession session, HttpServletRequest request ) throws Exception { - notifyManageService.updateNotifyChkWhereCmmNotifyOrd(vEEduAplctVO.getCmmNotifyOrd()); + if(StringUtils.isNotEmpty(vEEduAplctVO.getCmmNotifyOrd())) + { + notifyManageService.updateNotifyChkWhereCmmNotifyOrd(vEEduAplctVO.getCmmNotifyOrd()); + } LoginVO user = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; diff --git a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/web/CndtnPrcsInfoMngController.java b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/web/CndtnPrcsInfoMngController.java index 5f323f47..7f1c9082 100644 --- a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/web/CndtnPrcsInfoMngController.java +++ b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/web/CndtnPrcsInfoMngController.java @@ -1,5 +1,6 @@ package kcc.ve.oprtn.cndtnSspnIdtmt.web; +import java.util.ArrayList; import java.util.Comparator; import java.util.List; @@ -28,6 +29,7 @@ import kcc.com.cmm.service.impl.CmmUseDAO; import kcc.com.cmm.util.StringUtil; import kcc.com.utl.user.service.CheckLoginUtil; import kcc.let.uat.uia.service.SsoLoginVO; +import kcc.let.uss.notify.service.NotifyManageService; import kcc.let.utl.fcc.service.EgovCryptoUtil; import kcc.ve.aplct.sspnIdtmt.service.SspnIdtmtService; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; @@ -129,6 +131,10 @@ public class CndtnPrcsInfoMngController { //과정신청기간순번 @Resource(name="prcsAplctPrdGnrService") private EgovIdGnrService prcsAplctPrdGnrService; + + //알림 서비스 + @Resource(name = "NotifyManageService") + private NotifyManageService notifyManageService; /** * 기반강화연수 과정 관리 목록 화면 @@ -900,8 +906,25 @@ public class CndtnPrcsInfoMngController { vEEduAplctVO.setLastUpdusrId(loginVO.getUniqId()); vEEduMIXService.updateAplctStateCd(vEEduAplctVO); + // 기소유예 대상자 상태값 udpate vEEduMIXService.updateEduStateCd(vEEduAplctVO); + + + // 알림 영역 + List eduAplctOrdList = new ArrayList(); + eduAplctOrdList.add(vEEduAplctVO.getEduAplctOrd()); + vEEduAplctVO.setEduAplctOrdList(eduAplctOrdList); + notifyManageService.insertNotifyAprvlCd5060CmpltForUser( + loginVO + , vEEduAplctVO.getPrcsAplctPrdOrd() + , vEEduAplctVO.getLctrDivCd() + , vEEduAplctVO.getEduAplctOrdList() + , vEEduAplctVO.getAplctStateCd() + ); + + + modelAndView.addObject("result", "success"); } catch (Exception e) { modelAndView.addObject("result", ""); @@ -946,8 +969,6 @@ public class CndtnPrcsInfoMngController { , HttpServletRequest request ) throws Exception { - System.out.println(vEPrcsDetailVO.getPrcsAplctPrdOrd() +"!!!"); - ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); //로그인 처리==================================== @@ -965,6 +986,25 @@ public class CndtnPrcsInfoMngController { // 교육 신청 테이블에 신청자 상태값 update vEAPrcsAplctPrdInstrAsgnmService.udpateAprvlCdEduAplct(vEPrcsDetailVO); + /*var dataToSend = { + "eduAplctOrdList": selectedEduAplctOrd, + "aprvlCd": p_aprvlCd, + "prcsAplctPrdOrd": p_prcsAplctPrdOrd, + "lctrDivCd" : $("#lctrDivCd").val() + }; + */ + notifyManageService.insertNotifyAprvlCd5060ForUser( + loginVO + , vEPrcsDetailVO.getPrcsAplctPrdOrd() + , vEPrcsDetailVO.getLctrDivCd() + , vEPrcsDetailVO.getEduAplctOrdList() + , vEPrcsDetailVO.getAprvlCd() + ); + + + + + // 승인 - 승인일 경우 vea_aplct_detail_info TB에 넣어줘야함 if("20".equals(vEPrcsDetailVO.getAprvlCd())) { this.aprvlCd20(vEPrcsDetailVO,loginVO.getUniqId()); @@ -1045,9 +1085,20 @@ public class CndtnPrcsInfoMngController { vEAPrcsAplctPrdInstrAsgnmService.updateAplctStateCdListAjax(vEPrcsDetailVO); } - - // 교육 신청 테이블에 신청자 상태값 update + notifyManageService.insertNotifyAprvlCd5060CmpltForUser( + loginVO + , vEPrcsDetailVO.getPrcsAplctPrdOrd() + , vEPrcsDetailVO.getLctrDivCd() + , vEPrcsDetailVO.getEduAplctOrdList() + , vEPrcsDetailVO.getAprvlCd() + ); + + + + + + // 교육 신청 테이블에 신청자 상태값 update if(vEPrcsDetailVO.getSspnIdtmtTrgtOrdList() != null && !vEPrcsDetailVO.getSspnIdtmtTrgtOrdList().isEmpty()) { // 대상자 테이블에 update @@ -1409,7 +1460,8 @@ public class CndtnPrcsInfoMngController { //선택한 강사 데이터 등록 처리 vEAPrcsAplctPrdInstrAsgnmVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id vEAPrcsAplctPrdInstrAsgnmService.instrInsert(vEAPrcsAplctPrdInstrAsgnmVO); - + + notifyManageService.insertNotifyForInstr5060(loginVO, vEAPrcsAplctPrdInstrAsgnmVO.getPrcsAplctPrdOrd(), vEAPrcsAplctPrdInstrAsgnmVO.getAsgnmAprvlCd(), vEAPrcsAplctPrdInstrAsgnmVO.getUserId()); } catch (Exception ex) { diff --git a/src/main/java/kcc/ve/oprtn/comweb/CommonManageWebController.java b/src/main/java/kcc/ve/oprtn/comweb/CommonManageWebController.java index 8e7acc94..0a5d7d0f 100644 --- a/src/main/java/kcc/ve/oprtn/comweb/CommonManageWebController.java +++ b/src/main/java/kcc/ve/oprtn/comweb/CommonManageWebController.java @@ -1,281 +1,295 @@ -package kcc.ve.oprtn.comweb; - -import java.util.List; - -import javax.annotation.Resource; -import javax.servlet.ServletContext; -import javax.servlet.http.HttpServletRequest; - -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.fdl.idgnr.EgovIdGnrService; -import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; -import kcc.com.cmm.LoginVO; -import kcc.com.utl.user.service.CheckLoginUtil; -import kcc.let.uss.umt.service.EgovUserManageService; -import kcc.let.uss.umt.service.UserManageVO; -import kcc.ve.adv.tngr.stngInfo.service.VEAStngService; -import kcc.ve.adv.tngr.stngInfo.service.VEAStngVO; -import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoMIXService; -import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoService; -import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoVO; -import kcc.ve.cmm.VeSendMail; -import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService; -import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctSndHstryService; -import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; -import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsCntntVO; -import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsOnlnCntntService; - -@Controller -@RequestMapping("/kccadr/oprtn/comm") -public class CommonManageWebController { - - @Resource(name = "scholInfoService") - private ScholInfoService scholInfoService; - - @Resource(name = "scholInfoMIXService") - private ScholInfoMIXService scholInfoMIXService; - - @Resource(name = "vEEduAplctService") - private VEEduAplctService vEEduAplctService; - - @Resource(name = "vEPrcsOnlnCntntService") - private VEPrcsOnlnCntntService vEPrcsOnlnCntntService; - - //로그인 체크 util - @Resource(name = "checkLoginUtil") - private CheckLoginUtil checkLoginUtil; - - //snd_hstry id gen - @Resource(name = "sndGnrService") - private EgovIdGnrService sndGnrService; - - // 교육신청발송이력 - @Resource(name = "vEEduAplctSndHstryService") - private VEEduAplctSndHstryService vEEduAplctSndHstryService; - - - //회원조회 - @Resource(name = "userManageService") - private EgovUserManageService userManageService; - - - //강의 회차 정보 - @Resource(name = "vEAStngService") - private VEAStngService vEAStngService; - - - /** - * 학교정보 검색 팝업 리스트 - */ - @RequestMapping("popup/scholPopList.do") - public String exprnClsrmAplctList(@ModelAttribute("scholInfoVO") ScholInfoVO scholInfoVO , ModelMap model , HttpServletRequest request ) throws Exception { - PaginationInfo paginationInfo = new PaginationInfo(); - paginationInfo.setCurrentPageNo(scholInfoVO.getPageIndex()); - paginationInfo.setRecordCountPerPage(scholInfoVO.getPageUnit()); - paginationInfo.setPageSize(5); - - // paging step2 - scholInfoVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); - scholInfoVO.setLastIndex(paginationInfo.getLastRecordIndex()); - scholInfoVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); - - if("".equals(scholInfoVO.getSearchSortCnd())){ //최초조회시 최신것 조회List - scholInfoVO.setSearchSortCnd("schol_nm"); - scholInfoVO.setSearchSortOrd("desc"); - } - - - //검색 조건 - String selectCondition = new String(); - if (!"".equals(scholInfoVO.getSearchKeyword())) { - selectCondition += " AND A.SCHOL_NM LIKE '%"+scholInfoVO.getSearchKeyword()+"%' "; - } - - //2.2 학교종류 - /*if(StringUtil.isNotEmpty(scholInfoVO.getSearchCondition())){ - selectCondition += "AND DECODE(schol_grade_nm, '초등학교','10', '중학교','20', '고등학교','30',IF (INSTR(schol_grade_nm,'각종학교')>0,'40','50')) IN ('"+scholInfoVO.getSearchCondition()+"')"; - }*/ - if (!"".equals(scholInfoVO.getSearchCondition())) { - if(scholInfoVO.getSearchCondition().equals("10")) { - selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%초등%' "; - }else if(scholInfoVO.getSearchCondition().equals("20")) { - selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%중학%' "; - }else if(scholInfoVO.getSearchCondition().equals("30")) { - selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%고등%' "; - }else if(scholInfoVO.getSearchCondition().equals("40")) { - selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%특수%' "; - }else if(scholInfoVO.getSearchCondition().equals("50")) { - selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%각종%' "; - } - } - scholInfoVO.setSelectPagingListQuery(selectCondition); - - - List scholInfoVOList = scholInfoMIXService.selectPagingList(scholInfoVO); - //3.paging step3 - int totCnt = 0; - if(scholInfoVOList.size() > 0) totCnt = scholInfoVOList.get(0).getTotCnt(); - paginationInfo.setTotalRecordCount(totCnt); - - model.addAttribute("paginationInfo", paginationInfo); - //학교정보 리스트, 페이징 정보 전달 - model.addAttribute("scholList", scholInfoVOList); - return "oprtn/cmm/scholPopListBower"; - } - - /** - * 학교정보 검색 팝업 리스트 - */ - @RequestMapping("popup/rejectPopup.do") - public String rejectPopup(@ModelAttribute("veEduAplctVO") VEEduAplctVO veEduAplctVO , ModelMap model , HttpServletRequest request ) throws Exception { - return "oprtn/cmm/rejectPopup"; - } - - @RequestMapping(value="/eduAplctStatusAjax.do") - public ModelAndView eduAplctStatusAjax(HttpServletRequest request - , ModelMap model - , VEEduAplctVO vEEduAplctVO) throws Exception { - ModelAndView modelAndView = new ModelAndView(); - modelAndView.setViewName("jsonView"); - - //권한에 따른 로그인 정보 가져오기 - LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); - vEEduAplctVO.setLastUpdusrId(loginVO.getUniqId()); - int rs = vEEduAplctService.statusUpdate(vEEduAplctVO); - - //교육콘텐츠 교육승인 상태로 변경 시 메일발송 - if("40".equals(vEEduAplctVO.getLctrDivCd()) && "20".equals(vEEduAplctVO.getAprvlCd())) { - VeSendMail sendMail = new VeSendMail(); - vEEduAplctVO.setSndCd("20"); - //메일발송 - String mailResult = sendMail.VeSendMail("W", vEEduAplctVO.getEmail(), vEEduAplctVO); - - if("success".equals(mailResult)) { - //메일 발송 로그 - String snd_ord = sndGnrService.getNextStringId(); - vEEduAplctVO.setSndHstryOrd(snd_ord); - vEEduAplctVO.setSndId(loginVO.getUniqId()); - vEEduAplctSndHstryService.insert(vEEduAplctVO); - } - } - modelAndView.addObject("rsCnt", rs); - modelAndView.addObject("result", "success"); - return modelAndView; - } - - //교육신청 리스트에서 일괄 상태변경 처리 - @RequestMapping(value="/eduAplctStatusListAjax.do") - public ModelAndView eduAplctStatusListAjax(HttpServletRequest request , ModelMap model , VEEduAplctVO veEduAplctVO) throws Exception { - - ModelAndView modelAndView = new ModelAndView(); - modelAndView.setViewName("jsonView"); - - int rs = 0; - LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 - - try { - String[] splitChk = veEduAplctVO.getChk().split(","); - - for(int i=0; i userList = userManageService.selectOffeduUserList(userManageVO); - //3.paging step3 - int totCnt = 0; - if(userList.size() > 0) totCnt = userList.get(0).getTotCnt(); - paginationInfo.setTotalRecordCount(totCnt); - - model.addAttribute("paginationInfo", paginationInfo); - //학교정보 리스트, 페이징 정보 전달 - model.addAttribute("userList", userList); - return "oprtn/cmm/userPopListBower"; - } - - /** - * 회차 검색 팝업 리스트 - */ - @RequestMapping("popup/rndsPopList.do") - public String rndsPopList( - @ModelAttribute("searchVO") VEAStngVO vEAStngVO - , ModelMap model - , HttpServletRequest request - ) throws Exception { - - - //VEAStngVO vEAStngVO = new VEAStngVO(); - List rndsList = vEAStngService.selectList_VEALRS(vEAStngVO); - - //회차 정보리스트 - model.addAttribute("rndsList", rndsList); - return "oprtn/cmm/rndsPopList"; - } -} +package kcc.ve.oprtn.comweb; + +import java.util.List; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; + +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.fdl.idgnr.EgovIdGnrService; +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; +import kcc.com.cmm.LoginVO; +import kcc.com.utl.user.service.CheckLoginUtil; +import kcc.let.uss.notify.service.NotifyManageService; +import kcc.let.uss.umt.service.EgovUserManageService; +import kcc.let.uss.umt.service.UserManageVO; +import kcc.ve.adv.tngr.stngInfo.service.VEAStngService; +import kcc.ve.adv.tngr.stngInfo.service.VEAStngVO; +import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoMIXService; +import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoService; +import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoVO; +import kcc.ve.cmm.VeSendMail; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctSndHstryService; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsCntntVO; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsOnlnCntntService; + +@Controller +@RequestMapping("/kccadr/oprtn/comm") +public class CommonManageWebController { + + @Resource(name = "scholInfoService") + private ScholInfoService scholInfoService; + + @Resource(name = "scholInfoMIXService") + private ScholInfoMIXService scholInfoMIXService; + + @Resource(name = "vEEduAplctService") + private VEEduAplctService vEEduAplctService; + + @Resource(name = "vEPrcsOnlnCntntService") + private VEPrcsOnlnCntntService vEPrcsOnlnCntntService; + + //로그인 체크 util + @Resource(name = "checkLoginUtil") + private CheckLoginUtil checkLoginUtil; + + //snd_hstry id gen + @Resource(name = "sndGnrService") + private EgovIdGnrService sndGnrService; + + // 교육신청발송이력 + @Resource(name = "vEEduAplctSndHstryService") + private VEEduAplctSndHstryService vEEduAplctSndHstryService; + + + //회원조회 + @Resource(name = "userManageService") + private EgovUserManageService userManageService; + + + //강의 회차 정보 + @Resource(name = "vEAStngService") + private VEAStngService vEAStngService; + + + @Resource(name = "NotifyManageService") + private NotifyManageService notifyManageService; + + /** + * 학교정보 검색 팝업 리스트 + */ + @RequestMapping("popup/scholPopList.do") + public String exprnClsrmAplctList(@ModelAttribute("scholInfoVO") ScholInfoVO scholInfoVO , ModelMap model , HttpServletRequest request ) throws Exception { + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(scholInfoVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(scholInfoVO.getPageUnit()); + paginationInfo.setPageSize(5); + + // paging step2 + scholInfoVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + scholInfoVO.setLastIndex(paginationInfo.getLastRecordIndex()); + scholInfoVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + if("".equals(scholInfoVO.getSearchSortCnd())){ //최초조회시 최신것 조회List + scholInfoVO.setSearchSortCnd("schol_nm"); + scholInfoVO.setSearchSortOrd("desc"); + } + + + //검색 조건 + String selectCondition = new String(); + if (!"".equals(scholInfoVO.getSearchKeyword())) { + selectCondition += " AND A.SCHOL_NM LIKE '%"+scholInfoVO.getSearchKeyword()+"%' "; + } + + //2.2 학교종류 + /*if(StringUtil.isNotEmpty(scholInfoVO.getSearchCondition())){ + selectCondition += "AND DECODE(schol_grade_nm, '초등학교','10', '중학교','20', '고등학교','30',IF (INSTR(schol_grade_nm,'각종학교')>0,'40','50')) IN ('"+scholInfoVO.getSearchCondition()+"')"; + }*/ + if (!"".equals(scholInfoVO.getSearchCondition())) { + if(scholInfoVO.getSearchCondition().equals("10")) { + selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%초등%' "; + }else if(scholInfoVO.getSearchCondition().equals("20")) { + selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%중학%' "; + }else if(scholInfoVO.getSearchCondition().equals("30")) { + selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%고등%' "; + }else if(scholInfoVO.getSearchCondition().equals("40")) { + selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%특수%' "; + }else if(scholInfoVO.getSearchCondition().equals("50")) { + selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%각종%' "; + } + } + scholInfoVO.setSelectPagingListQuery(selectCondition); + + + List scholInfoVOList = scholInfoMIXService.selectPagingList(scholInfoVO); + //3.paging step3 + int totCnt = 0; + if(scholInfoVOList.size() > 0) totCnt = scholInfoVOList.get(0).getTotCnt(); + paginationInfo.setTotalRecordCount(totCnt); + + model.addAttribute("paginationInfo", paginationInfo); + //학교정보 리스트, 페이징 정보 전달 + model.addAttribute("scholList", scholInfoVOList); + return "oprtn/cmm/scholPopListBower"; + } + + /** + * 학교정보 검색 팝업 리스트 + */ + @RequestMapping("popup/rejectPopup.do") + public String rejectPopup(@ModelAttribute("veEduAplctVO") VEEduAplctVO veEduAplctVO , ModelMap model , HttpServletRequest request ) throws Exception { + return "oprtn/cmm/rejectPopup"; + } + + @RequestMapping(value="/eduAplctStatusAjax.do") + public ModelAndView eduAplctStatusAjax(HttpServletRequest request + , ModelMap model + , VEEduAplctVO vEEduAplctVO) throws Exception { + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + //권한에 따른 로그인 정보 가져오기 + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); + vEEduAplctVO.setLastUpdusrId(loginVO.getUniqId()); + int rs = vEEduAplctService.statusUpdate(vEEduAplctVO); + + //교육콘텐츠 교육승인 상태로 변경 시 메일발송 + if("40".equals(vEEduAplctVO.getLctrDivCd()) && "20".equals(vEEduAplctVO.getAprvlCd())) { + VeSendMail sendMail = new VeSendMail(); + vEEduAplctVO.setSndCd("20"); + //메일발송 + String mailResult = sendMail.VeSendMail("W", vEEduAplctVO.getEmail(), vEEduAplctVO); + + if("success".equals(mailResult)) { + //메일 발송 로그 + String snd_ord = sndGnrService.getNextStringId(); + vEEduAplctVO.setSndHstryOrd(snd_ord); + vEEduAplctVO.setSndId(loginVO.getUniqId()); + vEEduAplctSndHstryService.insert(vEEduAplctVO); + } + } + + // 알림 insert + if( + "10".equals(vEEduAplctVO.getLctrDivCd()) + || "20".equals(vEEduAplctVO.getLctrDivCd()) + || "30".equals(vEEduAplctVO.getLctrDivCd()) + ) + { + notifyManageService.insertNotifyAprvlCdForUser(loginVO, vEEduAplctVO.getEduAplctOrd(), vEEduAplctVO.getLctrDivCd(), vEEduAplctVO.getAprvlCd()); + } + + modelAndView.addObject("rsCnt", rs); + modelAndView.addObject("result", "success"); + return modelAndView; + } + + //교육신청 리스트에서 일괄 상태변경 처리 + @RequestMapping(value="/eduAplctStatusListAjax.do") + public ModelAndView eduAplctStatusListAjax(HttpServletRequest request , ModelMap model , VEEduAplctVO veEduAplctVO) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + int rs = 0; + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + + try { + String[] splitChk = veEduAplctVO.getChk().split(","); + + for(int i=0; i userList = userManageService.selectOffeduUserList(userManageVO); + //3.paging step3 + int totCnt = 0; + if(userList.size() > 0) totCnt = userList.get(0).getTotCnt(); + paginationInfo.setTotalRecordCount(totCnt); + + model.addAttribute("paginationInfo", paginationInfo); + //학교정보 리스트, 페이징 정보 전달 + model.addAttribute("userList", userList); + return "oprtn/cmm/userPopListBower"; + } + + /** + * 회차 검색 팝업 리스트 + */ + @RequestMapping("popup/rndsPopList.do") + public String rndsPopList( + @ModelAttribute("searchVO") VEAStngVO vEAStngVO + , ModelMap model + , HttpServletRequest request + ) throws Exception { + + + //VEAStngVO vEAStngVO = new VEAStngVO(); + List rndsList = vEAStngService.selectList_VEALRS(vEAStngVO); + + //회차 정보리스트 + model.addAttribute("rndsList", rndsList); + return "oprtn/cmm/rndsPopList"; + } +} diff --git a/src/main/java/kcc/ve/oprtn/cpyrgExprnClsrm/oprtnAplctMng/web/OprtnAplctMngController.java b/src/main/java/kcc/ve/oprtn/cpyrgExprnClsrm/oprtnAplctMng/web/OprtnAplctMngController.java index 94d676af..c482d7e2 100644 --- a/src/main/java/kcc/ve/oprtn/cpyrgExprnClsrm/oprtnAplctMng/web/OprtnAplctMngController.java +++ b/src/main/java/kcc/ve/oprtn/cpyrgExprnClsrm/oprtnAplctMng/web/OprtnAplctMngController.java @@ -23,6 +23,7 @@ import javax.servlet.http.HttpSession; import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream; +import org.apache.commons.lang3.StringUtils; import org.apache.poi.xssf.streaming.SXSSFWorkbook; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -235,7 +236,9 @@ public class OprtnAplctMngController { @RequestMapping("oprtnAplctMngDetail.do") public String oprtnAplctMngDetail( @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO , ModelMap model , HttpSession session, HttpServletRequest request ) throws Exception { - notifyManageService.updateNotifyChkWhereCmmNotifyOrd(vEEduAplctVO.getCmmNotifyOrd()); + + if(StringUtils.isNotEmpty(vEEduAplctVO.getCmmNotifyOrd())) + notifyManageService.updateNotifyChkWhereCmmNotifyOrd(vEEduAplctVO.getCmmNotifyOrd()); LoginVO user = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; diff --git a/src/main/java/kcc/ve/oprtn/fndtnEnhanceTrn/prcsAplctPrdMng/web/FndthPrcsAplctPrdMngController.java b/src/main/java/kcc/ve/oprtn/fndtnEnhanceTrn/prcsAplctPrdMng/web/FndthPrcsAplctPrdMngController.java index 20ea3566..69e02e78 100644 --- a/src/main/java/kcc/ve/oprtn/fndtnEnhanceTrn/prcsAplctPrdMng/web/FndthPrcsAplctPrdMngController.java +++ b/src/main/java/kcc/ve/oprtn/fndtnEnhanceTrn/prcsAplctPrdMng/web/FndthPrcsAplctPrdMngController.java @@ -28,6 +28,7 @@ import kcc.com.cmm.service.impl.CmmUseDAO; import kcc.com.cmm.util.StringUtil; import kcc.com.utl.user.service.CheckLoginUtil; import kcc.let.uat.uia.service.SsoLoginVO; +import kcc.let.uss.notify.service.NotifyManageService; import kcc.let.uss.olp.qri.service.EgovQustnrRespondInfoService; import kcc.let.uss.olp.qri.service.QustnrRespondInfoVO; import kcc.let.utl.fcc.service.EgovCryptoUtil; @@ -142,6 +143,15 @@ public class FndthPrcsAplctPrdMngController { @Resource(name = "egovQustnrRespondInfoService") private EgovQustnrRespondInfoService egovQustnrRespondInfoService; + + //알림 서비스 + @Resource(name = "NotifyManageService") + private NotifyManageService notifyManageService; + + + + + /* // 교육신청 서비스단 @@ -906,6 +916,8 @@ public class FndthPrcsAplctPrdMngController { //선택한 강사 데이터 등록 처리 vEAPrcsAplctPrdInstrAsgnmVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id vEAPrcsAplctPrdInstrAsgnmService.instrInsert(vEAPrcsAplctPrdInstrAsgnmVO); + + notifyManageService.insertNotifyForInstr5060(loginVO, vEAPrcsAplctPrdInstrAsgnmVO.getPrcsAplctPrdOrd(), vEAPrcsAplctPrdInstrAsgnmVO.getAsgnmAprvlCd(), vEAPrcsAplctPrdInstrAsgnmVO.getUserId()); } catch (Exception ex) { ex.printStackTrace(); } @@ -927,7 +939,6 @@ public class FndthPrcsAplctPrdMngController { , HttpServletRequest request ) throws Exception { - System.out.println(vEPrcsDetailVO.getPrcsAplctPrdOrd() +"!!!"); ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); @@ -946,6 +957,15 @@ public class FndthPrcsAplctPrdMngController { // 교육 신청 테이블에 신청자 상태값 update vEAPrcsAplctPrdInstrAsgnmService.udpateAprvlCdEduAplct(vEPrcsDetailVO); + + notifyManageService.insertNotifyAprvlCd5060ForUser( + loginVO + , vEPrcsDetailVO.getPrcsAplctPrdOrd() + , vEPrcsDetailVO.getLctrDivCd() + , vEPrcsDetailVO.getEduAplctOrdList() + , vEPrcsDetailVO.getAprvlCd() + ); + // 승인 - 승인일 경우 vea_aplct_detail_info TB에 넣어줘야함 if("20".equals(vEPrcsDetailVO.getAprvlCd())) { this.aprvlCd20(vEPrcsDetailVO,loginVO.getUniqId()); diff --git a/src/main/java/kcc/ve/oprtn/tngrVisitEdu/eduAplctMng/web/EduAplctMngTngrController.java b/src/main/java/kcc/ve/oprtn/tngrVisitEdu/eduAplctMng/web/EduAplctMngTngrController.java index b6d5965e..9be99d29 100644 --- a/src/main/java/kcc/ve/oprtn/tngrVisitEdu/eduAplctMng/web/EduAplctMngTngrController.java +++ b/src/main/java/kcc/ve/oprtn/tngrVisitEdu/eduAplctMng/web/EduAplctMngTngrController.java @@ -414,8 +414,8 @@ public class EduAplctMngTngrController { LoginVO user = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; - notifyManageService.updateNotifyChkWhereCmmNotifyOrd(vEEduAplctVO.getCmmNotifyOrd()); - System.out.println("vEEduAplctVO.getCmmNotifyOrd() : "+ vEEduAplctVO.getCmmNotifyOrd()); + if(StringUtils.isNotEmpty(vEEduAplctVO.getCmmNotifyOrd())) + notifyManageService.updateNotifyChkWhereCmmNotifyOrd(vEEduAplctVO.getCmmNotifyOrd()); //기본데이터 불러오기 diff --git a/src/main/java/kcc/ve/oprtn/tngrVisitEdu/eduCnfrmMng/web/EduCnfrmMngTngrController.java b/src/main/java/kcc/ve/oprtn/tngrVisitEdu/eduCnfrmMng/web/EduCnfrmMngTngrController.java index fa10f767..c647cd18 100644 --- a/src/main/java/kcc/ve/oprtn/tngrVisitEdu/eduCnfrmMng/web/EduCnfrmMngTngrController.java +++ b/src/main/java/kcc/ve/oprtn/tngrVisitEdu/eduCnfrmMng/web/EduCnfrmMngTngrController.java @@ -28,6 +28,7 @@ import kcc.com.cmm.service.EgovFileMngUtil; import kcc.com.cmm.spring.data.util.ExcelUtil; import kcc.com.utl.user.service.CheckLoginUtil; import kcc.kccadr.cmm.CmmUtil; +import kcc.let.uss.notify.service.NotifyManageService; import kcc.let.utl.fcc.service.EgovCryptoUtil; import kcc.let.utl.fcc.service.VEPagingUtil; import kcc.ve.adv.tngr.stngInfo.service.VEAStngMixService; @@ -155,7 +156,11 @@ public class EduCnfrmMngTngrController { //강의설정 관리(MIX) @Resource(name = "vEAStngMixService") private VEAStngMixService vEAStngMixService; - + + + @Resource(name = "NotifyManageService") + private NotifyManageService notifyManageService; + /** * 교육확정관리 목록 화면 */ @@ -568,6 +573,14 @@ public class EduCnfrmMngTngrController { vEEduChasiInstrAsgnmService.insertDeadLineDt(vo); + + notifyManageService.insertNotifyAsgnmCnfrmForInstr( + loginVO + , vo.getEduAplctOrd() + , vo.getEduChasiOrd() + , vo.getAsgnmAprvlCd() + ); + } } diff --git a/src/main/java/kcc/web/MainController.java b/src/main/java/kcc/web/MainController.java index 3df002a5..5184d003 100644 --- a/src/main/java/kcc/web/MainController.java +++ b/src/main/java/kcc/web/MainController.java @@ -94,6 +94,7 @@ import kcc.let.sym.prm.service.ProgrmManageVO; import kcc.let.sym.site.service.EgovSiteManagerService; import kcc.let.sym.site.service.SiteManagerVO; import kcc.let.uat.uia.service.SsoLoginVO; +import kcc.let.uss.notify.service.NotifyManageService; import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO; import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrService; @@ -180,6 +181,10 @@ public class MainController { @Resource(name="EgovFileMngUtil") private EgovFileMngUtil fileUtil; + + //알림 서비스 + @Resource(name = "NotifyManageService") + private NotifyManageService notifyManageService; //강사 정보 @Resource(name="vEInstrService") @@ -611,6 +616,13 @@ public class MainController { model.addAttribute("modifyUrl", modifyUrl); model.addAttribute("environment", environment); //로그인, 회원가입 URL 환경에 따른 구분 ex) local, dev, svr + if(loginVO != null) + { + int cnt = notifyManageService.selectNotifyCnt(loginVO.getUniqId()); + System.out.println("cnt : "+ cnt); + model.addAttribute("notifyCnt", cnt); //로그인, 회원가입 URL 환경에 따른 구분 ex) local, dev, svr + + } return "web/com/webCommonHeader"; } 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 664bc7a2..a29a3f0a 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 @@ -56,11 +56,14 @@ a WHERE a.TO_USER_ID = #toUserId# + ORDER BY + a.NOTIFY_CHK + , a.FRST_REGIST_PNTTM desc OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY; - - /* VEANotifyDAO.insertNotifyEduForAdmin */ + + /* VEANotifyDAO.insertNotifyInfo */ INSERT INTO ( @@ -108,4 +111,49 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/main/EgovMainList.jsp b/src/main/webapp/WEB-INF/jsp/main/EgovMainList.jsp index 1b7888cd..8a56b314 100644 --- a/src/main/webapp/WEB-INF/jsp/main/EgovMainList.jsp +++ b/src/main/webapp/WEB-INF/jsp/main/EgovMainList.jsp @@ -41,8 +41,6 @@ function fn_goDetail(cmmNotifyOrd){ form.cmmNotifyOrd.value=cmmNotifyOrd; form.action = ""; form.submit(); - - } @@ -102,7 +100,7 @@ function fn_goDetail(cmmNotifyOrd){
- + @@ -115,20 +113,20 @@ function fn_goDetail(cmmNotifyOrd){ - - - - - + + + + + diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/adultVisitEdu/eduAplctMngDetail.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/adultVisitEdu/eduAplctMngDetail.jsp index 19ac9aae..14dcbc28 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/adultVisitEdu/eduAplctMngDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/adultVisitEdu/eduAplctMngDetail.jsp @@ -134,6 +134,7 @@ data: { "eduAplctOrd" : $("#eduAplctOrd").val() , "aprvlCd" : statusVal, + "lctrDivCd" : $("#lctrDivCd").val() }, dataType:'json', success:function(returnData){ diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cmm/rejectPopup.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cmm/rejectPopup.jsp index 22a021a8..b9600c0b 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cmm/rejectPopup.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cmm/rejectPopup.jsp @@ -37,6 +37,7 @@ "eduAplctOrd" : $("#eduAplctOrd").val() , "aprvlCd" : aprvlCd, "aprvlCn" : $("#aprvlCn").val(), + "lctrDivCd" : lctrDivCd }, dataType:'json', success:function(returnData){ diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngDetail.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngDetail.jsp index adc66de8..63c023a8 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngDetail.jsp @@ -137,7 +137,8 @@ var dataToSend = { "eduAplctOrdList": selectedEduAplctOrd, "aprvlCd": p_aprvlCd, - "prcsAplctPrdOrd": p_prcsAplctPrdOrd + "prcsAplctPrdOrd": p_prcsAplctPrdOrd, + "lctrDivCd" : $("#lctrDivCd").val() }; commAjax(dataToSend); } @@ -161,7 +162,8 @@ var dataToSend = { "eduAplctOrdList": selectedEduAplctOrd, "aprvlCd": p_aprvlCd, - "prcsAplctPrdOrd": p_prcsAplctPrdOrd + "prcsAplctPrdOrd": p_prcsAplctPrdOrd, + "lctrDivCd" : $("#lctrDivCd").val() }; commAjax(dataToSend); @@ -281,6 +283,7 @@ +
diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctMngDetail.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctMngDetail.jsp index 3ec1c4f4..ea338879 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctMngDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctMngDetail.jsp @@ -40,6 +40,7 @@ data: { "eduAplctOrd" : $("#eduAplctOrd").val() , "aprvlCd" : statusVal, + "lctrDivCd" : $("#lctrDivCd").val() }, dataType:'json', success:function(returnData){ diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctMngDetail.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctMngDetail.jsp index 313eda5c..0b73b094 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctMngDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctMngDetail.jsp @@ -61,6 +61,7 @@ data: { "eduAplctOrd" : $("#eduAplctOrd").val() , "aprvlCd" : VeConstants.APRVL_CD_20, + "lctrDivCd" : $("#lctrDivCd").val() }, dataType:'json', success:function(returnData){ @@ -108,7 +109,8 @@ url:"${pageContext.request.contextPath}/kccadr/oprtn/comm/eduAplctStatusAjax.do", data: { "eduAplctOrd" : $("#eduAplctOrd").val() , - "useYn" : 'N' + "useYn" : 'N' , + "lctrDivCd" : $("#lctrDivCd").val() }, dataType:'json', success:function(returnData){ @@ -138,6 +140,7 @@ data: { "eduAplctOrd" : $("#eduAplctOrd").val() , "aprvlCd" : statusVal, + "lctrDivCd" : $("#lctrDivCd").val() }, dataType:'json', success:function(returnData){ diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngDetail.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngDetail.jsp index 4219a672..cdb2e6d9 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngDetail.jsp @@ -158,7 +158,8 @@ var dataToSend = { "eduAplctOrdList": selectedEduAplctOrd, "aprvlCd": p_aprvlCd, - "prcsAplctPrdOrd": p_prcsAplctPrdOrd + "prcsAplctPrdOrd": p_prcsAplctPrdOrd, + "lctrDivCd" : $("#lctrDivCd").val() }; var url = ""; @@ -225,6 +226,7 @@
+
@@ -307,7 +309,7 @@
diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngMdfy.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngMdfy.jsp index dc772af8..be1c81c0 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngMdfy.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngMdfy.jsp @@ -269,7 +269,7 @@ diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsMngDetail.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsMngDetail.jsp index 483e02cf..f5037c68 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsMngDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsMngDetail.jsp @@ -1,155 +1,160 @@ - -<%@ page language="java" contentType="text/html; charset=utf-8" - pageEncoding="utf-8"%> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> -<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> -<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> -<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> -<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> -<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%> -<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> -<% - /** - * @Class Name : fndthEduPrcsMngDetail.jsp - * @Description : 기반강화연수 상세화면 - * @Modification Information - * @ - * @ 수정일 수정자 수정내용 - * @ ------- -------- --------------------------- - * @ 2021.12.16 조용준 최초 생성 - * @author 조용주 - * @since 2021.12.16 - * @version 1.0 - * @see - * - */ -%> - - -교육과정관리 - - - - - - - - - - -
-
- - -
-

교육과정상세

-
    -
  • -
  • -

    실무자역량강화(기반강화연수관리)

    -
  • -
  • 과정관리상세
  • -
-
- - -
- -
-

교육과정관리

-
-
-
- - NEW - - - - - - -
+ + NEW + + + + + + +
상세교육내용 - +
상세교육내용 - +
- - - - - - - - - - - - - - - - - - - - - - - - - -
교육부문 - -
-
-
-
-
- - 이미지를 넣어주세요 - - - 사진?atchFileId=' /> - - -
- -
-
-
-
-
과정명 - -
과정설명 - -
사용여부 - - 사용 - - - 미사용 - -
-
- - - -
-
-
-
-
-
- - -
-
- - - - - - - + +<%@ page language="java" contentType="text/html; charset=utf-8" + pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<% + /** + * @Class Name : fndthEduPrcsMngDetail.jsp + * @Description : 기반강화연수 상세화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2021.12.16 조용준 최초 생성 + * @author 조용주 + * @since 2021.12.16 + * @version 1.0 + * @see + * + */ +%> + + +교육과정관리 + + + + + + + + + + +
+
+ + +
+

교육과정상세

+
    +
  • +
  • +

    실무자역량강화(기반강화연수관리)

    +
  • +
  • 과정관리상세
  • +
+
+ + +
+ +
+

교육과정관리

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
교육부문 + +
+
+
+
+
+ + 이미지를 넣어주세요 + + + 사진?atchFileId=' /> + + +
+ +
+
+
+
+
과정명 + +
과정설명 + + + + + +<%-- --%> +
사용여부 + + 사용 + + + 미사용 + +
+
+ + + +
+
+
+
+
+
+ + +
+
+
+
+
+
+ + + diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsMngList.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsMngList.jsp index 98c8f3be..462a394b 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsMngList.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsMngList.jsp @@ -1,286 +1,290 @@ - -<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> -<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> -<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> -<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> -<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> -<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> -<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%> -<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %> -<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> -<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%> - -<% - /** - * @Class Name : fndthEduPrcsMngList.jsp - * @Description : 기반강화연수 과정관리 목록 - * @Modification Information - * @ - * @ 수정일 수정자 수정내용 - * @ ------- -------- --------------------------- - * @ 2021.12.14 조용준 최초 생성 - * @author 조용준 - * @since 2021.12.14 - * @version 1.0 - * @see - * - */ -%> - - - - - - 교육과정관리 - - - - - " /> - " /> - - - -
-
- - -
-

과정관리목록

-
    -
  • -
  • -

    실무자역량강화(기반강화연수관리)

    -
  • -
  • 과정관리목록
  • -
-
- - -
-
-

교육 과정 관리

-
- -
-
-
- - -
- -
- ~ -
- -
- - - -
-
-
- -
-

건의 접수가 검색되었습니다.

-
- - <%----%> -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
교육부문과정명설명등록일시사용여부
- - ');" style="cursor:pointer;"> - - ');" style="cursor:pointer;"> - - - - - - 사용 - - - 미사용 - -
-
- - - -
- -
-
-
-
-
-
-
- -
-
- -
-
-
- - - -
- - - + +<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%> +<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%> + +<% + /** + * @Class Name : fndthEduPrcsMngList.jsp + * @Description : 기반강화연수 과정관리 목록 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2021.12.14 조용준 최초 생성 + * @author 조용준 + * @since 2021.12.14 + * @version 1.0 + * @see + * + */ +%> + + + + + + 교육과정관리 + + + + + " /> + " /> + + + +
+
+ + +
+

과정관리목록

+
    +
  • +
  • +

    실무자역량강화(기반강화연수관리)

    +
  • +
  • 과정관리목록
  • +
+
+ + +
+
+

교육 과정 관리

+
+ +
+
+
+ + +
+ +
+ ~ +
+ +
+ + + +
+
+
+ +
+

건의 접수가 검색되었습니다.

+
+ + <%----%> +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
교육부문과정명설명등록일시사용여부
+ + ');" style="cursor:pointer;"> + + ');" style="cursor:pointer;text-align: left;"> + + + +<%-- --%> + + + + + 사용 + + + 미사용 + +
+
+ + + +
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+
+ + + +
+ + + diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsMngMdfy.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsMngMdfy.jsp index 2b39b2b0..f4baf35d 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsMngMdfy.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsMngMdfy.jsp @@ -8,6 +8,7 @@ <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%> <%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<%@ taglib prefix="ckeditor" uri="http://ckeditor.com"%> <% /** * @Class Name : fndthEduPrcsMngMdfy.jsp @@ -98,6 +99,7 @@ } function fncSave(){ + CKEDITOR.instances.prcsCn.updateElement(); var data = new FormData(document.getElementById("createForm")); if(confirm("수정하시겠습니까?")){ @@ -215,7 +217,16 @@ 상세교육과정 - +<%-- --%> + + + + + + diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsMngReg.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsMngReg.jsp index c96aee67..3291f478 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsMngReg.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsMngReg.jsp @@ -1,250 +1,199 @@ - -<%@ page language="java" contentType="text/html; charset=utf-8" - pageEncoding="utf-8"%> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> -<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> -<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> -<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> -<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> -<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%> -<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%> -<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> -<% - /** - * @Class Name : fndthEduPrcsMngReg.jsp - * @Description : 기반강화연수 과정 등록 - * @Modification Information - * @ - * @ 수정일 수정자 수정내용 - * @ ------- -------- --------------------------- - * @ 2021.12.16 조용준 최초 생성 - * @author 조용주 - * @since 2021.12.16 - * @version 1.0 - * @see - * - */ -%> - - -교육과정관리 - - - - - - - - - -
-
- - -
-

교육과정등록

-
    -
  • -
  • -

    실무자역량강화(기반강화연수관리)

    -
  • -
  • 기반강화연수관리
  • -
-
- - -
- -
-

교육과정

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
교육부문 - - -
-
-
-
-
- 이미지를 넣어주세요 - -
-
- -
-
- -
-
-
-<%-- --%> -
과정명 - -
상세교육과정 - -
상태 - -
-
- - - -
-
-
-
-
-
- - -
-
-
-
-
-
- - - + +<%@ page language="java" contentType="text/html; charset=utf-8" + pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%> +<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<%@ taglib prefix="ckeditor" uri="http://ckeditor.com"%> +<% + /** + * @Class Name : fndthEduPrcsMngReg.jsp + * @Description : 기반강화연수 과정 등록 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2021.12.16 조용준 최초 생성 + * @author 조용주 + * @since 2021.12.16 + * @version 1.0 + * @see + * + */ +%> + + +교육과정관리 + + + + + + + + +<%-- --%> + + + +
+
+ + +
+

교육과정등록

+
    +
  • +
  • +

    실무자역량강화(기반강화연수관리)

    +
  • +
  • 기반강화연수관리
  • +
+
+ + +
+ +
+

교육과정

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
교육부문 + + +
+
+
+
+
+ 이미지를 넣어주세요 + +
+
+ +
+
+ +
+
+
+<%-- --%> +
과정명 + +
상세교육과정 + + <%-- + + + + --%> + + + +
상태 + +
+
+ + + +
+
+
+
+
+
+ + +
+
+
+
+
+
+ + + diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/otsdCprtnPrcs/lctrAplctMngDetail.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/otsdCprtnPrcs/lctrAplctMngDetail.jsp index e7156982..9e91317c 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/otsdCprtnPrcs/lctrAplctMngDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/otsdCprtnPrcs/lctrAplctMngDetail.jsp @@ -106,6 +106,7 @@ data: { "eduAplctOrd" : $("#eduAplctOrd").val() , "aprvlCd" : statusVal, + "lctrDivCd" : $("#lctrDivCd").val() }, dataType:'json', success:function(returnData){ diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/eduAplctMngDetail.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/eduAplctMngDetail.jsp index f5c17a9e..a233b2df 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/eduAplctMngDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/eduAplctMngDetail.jsp @@ -62,6 +62,7 @@ data: { "eduAplctOrd" : $("#eduAplctOrd").val() , "aprvlCd" : VeConstants.APRVL_CD_20, + "lctrDivCd" : $("#lctrDivCd").val() }, dataType:'json', success:function(returnData){ @@ -109,7 +110,8 @@ url:"${pageContext.request.contextPath}/kccadr/oprtn/comm/eduAplctStatusAjax.do", data: { "eduAplctOrd" : $("#eduAplctOrd").val() , - "useYn" : 'N' + "useYn" : 'N', + "lctrDivCd" : $("#lctrDivCd").val() }, dataType:'json', success:function(returnData){ @@ -139,6 +141,7 @@ data: { "eduAplctOrd" : $("#eduAplctOrd").val() , "aprvlCd" : statusVal, + "lctrDivCd" : $("#lctrDivCd").val() }, dataType:'json', success:function(returnData){ diff --git a/src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp b/src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp index c5162768..bc42efea 100644 --- a/src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp @@ -206,7 +206,7 @@ function usrJoin(){ --%>
- + @@ -269,7 +269,7 @@ function usrJoin(){ --%>
- + @@ -302,17 +302,17 @@ function usrJoin(){ -

알림28

+

알림">${notifyCnt }

-

알림28

+

알림">${notifyCnt }

-

알림28

+

알림">${notifyCnt }

@@ -320,7 +320,7 @@ function usrJoin(){ -

알림28

+

알림">${notifyCnt }

diff --git a/src/main/webapp/WEB-INF/jsp/web/my/myNotifyMngDetail.jsp b/src/main/webapp/WEB-INF/jsp/web/my/myNotifyMngDetail.jsp new file mode 100644 index 00000000..dc1c02e8 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/web/my/myNotifyMngDetail.jsp @@ -0,0 +1,133 @@ +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%> +<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%> +<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %> + + +<% pageContext.setAttribute("replaceChar", "\n"); %> + + + + + + + + +
+ + + +
+
+ + +
+
+ + +
+ +
+
+

내 알림 상세

+
+ + +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + +
분류 + +
알림 메세지 + ${info.notifyCn } +
바로가기 +
+ +
+
+ + +
+
+
+
+
+
+
+ +
+
+ + +
\ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/web/my/myNotifyMngList.jsp b/src/main/webapp/WEB-INF/jsp/web/my/myNotifyMngList.jsp new file mode 100644 index 00000000..7e97ce49 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/web/my/myNotifyMngList.jsp @@ -0,0 +1,141 @@ +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%> +<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %> +<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%> + +교육신청 목록 > 성인 찾아가는 저작권 교육 > 한국저작권위원회 저작권 교육 시스템 + + + + +
+ +
+ +
+ + + +
+

내 알림

+
+ + +
+
+ +
+
+ + +
+
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
내 알림 목록
분야메세지등록일
+ + NEW + + + + + - + + + + + + + + + +
+
+ +
+
+
+
+
+
+ +
+
+ + +
+ +
+
+
+ diff --git a/src/main/webapp/WEB-INF/jsp/web/my/myPageDashBoard.jsp b/src/main/webapp/WEB-INF/jsp/web/my/myPageDashBoard.jsp index 4d53ed09..5ea4bc87 100644 --- a/src/main/webapp/WEB-INF/jsp/web/my/myPageDashBoard.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/my/myPageDashBoard.jsp @@ -99,11 +99,12 @@
- -
- -
- + +
+ + +
+
    @@ -199,7 +200,7 @@ ', '');"> - NEW${list.eduHopeDt} + ${list.eduHopeDt} diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/eduAplctDetail.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/eduAplctDetail.jsp index 80b4ee4f..27174213 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/eduAplctDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/eduAplctDetail.jsp @@ -242,7 +242,8 @@ 상세교육내용 -
    + +<%--
    --%> diff --git a/src/main/webapp/visitEdu/usr/publish/css/content.css b/src/main/webapp/visitEdu/usr/publish/css/content.css index 207618bb..e2636835 100644 --- a/src/main/webapp/visitEdu/usr/publish/css/content.css +++ b/src/main/webapp/visitEdu/usr/publish/css/content.css @@ -793,7 +793,7 @@ select.selType1 {height: 40px; border: 1px solid #d5d5d5; border-radius: 5px; pa /*마이페이지_new아이콘 추가*/ /*마이페이지_new아이콘 추가*/ -.mypage_wrap .mypage_table .tb_list02 .mypage_new{background-color: #e95504; font-size: 12px; color: #fff; border-radius: 5px; padding: 0 5px 2px 5px; margin: 0 4px 0 -33PX;} +.tb_list01 .mypage_new{background-color: #e95504; font-size: 12px; color: #fff; border-radius: 5px; padding: 0 5px 2px 5px; margin: 0 4px 0 -33PX;} /*마이페이지_m 추가*/ .mypage_m .mypage_m_list ul{border-top: none;}