From f773b237077abd3cf630100e3469b3fdf6b73609 Mon Sep 17 00:00:00 2001 From: hylee Date: Tue, 26 Sep 2023 11:45:40 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B8=B0=EB=B0=98=EA=B0=95=ED=99=94=EC=97=B0?= =?UTF-8?q?=EC=88=98=20=EC=82=AC=EC=9A=A9=EC=9E=90/=EA=B4=80=EB=A6=AC?= =?UTF-8?q?=EC=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../let/utl/fcc/service/EgovCryptoUtil.java | 10 + .../ve/aplct/comweb/CommonWebController.java | 20 ++ .../web/FndtnEnhanceTrnController.java | 107 +++++++-- .../eduInfo/service/VEEduAplctVO.java | 20 ++ .../VEAPrcsAplctPrdInstrAsgnmService.java | 8 + .../service/VEPrcsAplctPrdService.java | 2 + .../prcsInfo/service/VEPrcsDetailVO.java | 24 ++ .../prcsInfo/service/VEPrcsService.java | 2 + .../impl/VEAPrcsAplctPrdInstrAsgnmDAO.java | 17 ++ .../VEAPrcsAplctPrdInstrAsgnmServiceImpl.java | 23 ++ .../service/impl/VEPrcsAplctPrdDAO.java | 4 + .../impl/VEPrcsAplctPrdServiceImpl.java | 5 + .../prcsInfo/service/impl/VEPrcsDAO.java | 4 + .../service/impl/VEPrcsServiceImpl.java | 6 + .../web/FndthPrcsAplctPrdMngController.java | 150 ++++++++++++- .../web/FndthPrcsInfoMngController.java | 46 +++- .../spring/com/context-idgen.xml | 15 ++ .../tibero/sql-map-config-tibero-ve.xml | 1 + .../sqlmap/ve/edu/VEEduAplct_SQL_Tibero.xml | 113 ++++++++++ .../sqlmap/ve/edu/VEEdu_MIX_SQL_Tibero.xml | 38 +++- .../VEAPrcsAplctPrdInstrAsgnm_SQL_Tibero.xml | 149 +++++++++++++ .../ve/prcs/VEPrcsAplctPrd_SQL_Cubrid.xml | 4 +- .../ve/prcs/VEPrcsAplctPrd_SQL_Tibero.xml | 144 +++++++++++- .../sqlmap/ve/prcs/VEPrcs_SQL_Tibero.xml | 7 + .../cndtnSspnIdtmt/cndtnEduPrcsMngReg.jsp | 44 ++-- .../fndthEduPrcsAplctPrdMngDetail.jsp | 210 +++++++++++++++--- .../fndthEduPrcsAplctPrdMngList.jsp | 2 +- .../fndthEduPrcsAplctPrdMngMdfy.jsp | 7 + .../fndthEduPrcsAplctPrdMngReg.jsp | 11 + .../aplct/fndtnEnhanceTrn/eduAplctDetail.jsp | 6 + .../ve/aplct/fndtnEnhanceTrn/eduAplctList.jsp | 28 ++- .../fndtnEnhanceTrn/fndtnEduAplctList.jsp | 204 +++++++++++++++++ .../jsp/web/ve/comm/eduInquiryPopup.jsp | 166 ++++++++++++++ 33 files changed, 1503 insertions(+), 94 deletions(-) create mode 100644 src/main/resources/egovframework/sqlmap/ve/prcs/VEAPrcsAplctPrdInstrAsgnm_SQL_Tibero.xml create mode 100644 src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/fndtnEduAplctList.jsp create mode 100644 src/main/webapp/WEB-INF/jsp/web/ve/comm/eduInquiryPopup.jsp diff --git a/src/main/java/kcc/let/utl/fcc/service/EgovCryptoUtil.java b/src/main/java/kcc/let/utl/fcc/service/EgovCryptoUtil.java index 2fea247b..ab5060c1 100644 --- a/src/main/java/kcc/let/utl/fcc/service/EgovCryptoUtil.java +++ b/src/main/java/kcc/let/utl/fcc/service/EgovCryptoUtil.java @@ -547,4 +547,14 @@ public class EgovCryptoUtil { } return decrypt; } + + public List decryptVeEduAplctList(List vEPrcsDetailVOList) { + + for(VEEduAplctVO vo : vEPrcsDetailVOList) { + vo.setUserNm(this.decrypt(vo.getUserNm())); + } + + // TODO Auto-generated method stub + return vEPrcsDetailVOList; + } } \ No newline at end of file diff --git a/src/main/java/kcc/ve/aplct/comweb/CommonWebController.java b/src/main/java/kcc/ve/aplct/comweb/CommonWebController.java index 6caa6ea7..be2df620 100644 --- a/src/main/java/kcc/ve/aplct/comweb/CommonWebController.java +++ b/src/main/java/kcc/ve/aplct/comweb/CommonWebController.java @@ -94,6 +94,26 @@ public class CommonWebController { return "/web/ve/comm/searchBeforeContentPopup"; } + + @RequestMapping("/popup/eduInquiryPopup.do") + public String eduInquiryPopup(@ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO, ModelMap model, HttpServletRequest request) throws Exception{ + //로그인 정보 가져오기 + /*LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); + vEEduAplctVO.setUserId(loginVO.getUniqId()); + + PaginationInfo paginationInfo = this.setPagingStep1(vEEduAplctVO); + + vEEduAplctVO = this.setPagingStep2(vEEduAplctVO, paginationInfo); + List vEEduAplctVOList = vEEduMIXService.selectPagingList(vEEduAplctVO); + vEEduAplctVOList = egovCryptoUtil.decryptVEEduAplctVOList(vEEduAplctVOList); + + paginationInfo = this.setPagingStep3(vEEduAplctVOList, paginationInfo); + model.addAttribute("paginationInfo", paginationInfo); + + model.addAttribute("list", vEEduAplctVOList);*/ + + return "/web/ve/comm/eduInquiryPopup"; + } @RequestMapping("/popup/selectPrcsDetailList.do") public String selectPrcsDetailList(@ModelAttribute("vEEduAplctVO") VEPrcsCntntVO vePrcsCntntVO, ModelMap model, HttpServletRequest request) throws Exception{ 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 5d5388ee..0259c8ab 100644 --- a/src/main/java/kcc/ve/aplct/fndtnEnhanceTrn/web/FndtnEnhanceTrnController.java +++ b/src/main/java/kcc/ve/aplct/fndtnEnhanceTrn/web/FndtnEnhanceTrnController.java @@ -173,11 +173,95 @@ public class FndtnEnhanceTrnController { return "/web/ve/aplct/fndtnEnhanceTrn/main"; } + + + /** * 교육신청 목록 화면 */ @RequestMapping("/web/ve/aplct/fndtnEnhanceTrn/eduAplctList.do") - public String eduAplctList( + 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_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.selectPagingList4Fndth(vEPrcsDetailVO); + + + // 리스트 row마다 신청 확인하기 + vEPrcsDetailVOList.stream().forEach(t->{ + VEEduAplctVO vEEduAplctReqVO = new VEEduAplctVO(); + vEEduAplctReqVO.setUserId(loginVO.getUniqId()); + vEEduAplctReqVO.setLctrDivCd(t.getLctrDivCd()); + vEEduAplctReqVO.setPrcsAplctPrdOrd(t.getPrcsAplctPrdOrd()); + VEEduAplctVO vEEduAplctVO = fndtnEnhanceTrnService.findByAprvlCd(vEEduAplctReqVO); + // VO를 먼저 null 체크 후 진행해야 에러안남 + // vEEduAplctVO != null && + if(vEEduAplctVO != null && StringUtils.isNotEmpty(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/fndtnEnhanceTrn/eduAplctList"; + } + + /** + * 교육신청 목록 화면 + */ + @RequestMapping("/web/ve/aplct/fndtnEnhanceTrn/fndtnEduAplctList.do") + public String fndtnEduAplctList( @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO , ModelMap model , HttpServletRequest request ) throws Exception { @@ -189,6 +273,7 @@ public class FndtnEnhanceTrnController { //이전 url 처리(beforeSiteUrl)_이준호_220228추가 return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다. } + vEPrcsDetailVO.setUserId(loginVO.getUniqId()); //1.pageing step1 PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); @@ -222,23 +307,8 @@ public class FndtnEnhanceTrnController { //vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모 } - List vEPrcsDetailVOList = vEPrcsAplctPrdService.selectPagingList4Fndth(vEPrcsDetailVO); - - + List vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlList(vEPrcsDetailVO); // 리스트 row마다 신청 확인하기 - vEPrcsDetailVOList.stream().forEach(t->{ - VEEduAplctVO vEEduAplctReqVO = new VEEduAplctVO(); - vEEduAplctReqVO.setUserId(loginVO.getUniqId()); - vEEduAplctReqVO.setLctrDivCd(t.getLctrDivCd()); - vEEduAplctReqVO.setPrcsAplctPrdOrd(t.getPrcsAplctPrdOrd()); - VEEduAplctVO vEEduAplctVO = fndtnEnhanceTrnService.findByAprvlCd(vEEduAplctReqVO); - // VO를 먼저 null 체크 후 진행해야 에러안남 - // vEEduAplctVO != null && - if(vEEduAplctVO != null && StringUtils.isNotEmpty(vEEduAplctVO.getAprvlCd())) { - t.setAprvlCd(vEEduAplctVO.getAprvlCd()); - } - }); - //대상 리스트, 페이징 정보 전달 model.addAttribute("list", vEPrcsDetailVOList); @@ -251,7 +321,7 @@ public class FndtnEnhanceTrnController { - return "/web/ve/aplct/fndtnEnhanceTrn/eduAplctList"; + return "/web/ve/aplct/fndtnEnhanceTrn/fndtnEduAplctList"; } /** * 교육상세 @@ -287,7 +357,6 @@ public class FndtnEnhanceTrnController { public ModelAndView fndthEduPrcsAplctPrdMngRegAjax( @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO , ModelMap model - //, RedirectAttributes redirectAttributes , HttpServletRequest request ) throws Exception { diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEEduAplctVO.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEEduAplctVO.java index 3ac74444..f3c31ff5 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEEduAplctVO.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEEduAplctVO.java @@ -127,6 +127,7 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable { private String endEduPrsnl; //교육인원(이수) + public int getChasi() { return chasi; } @@ -338,6 +339,13 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable { private String clsCmbtYn; //접적지역 private String ppulDclnYn; //인구감소지역 + + private String qestnrId; // 설문 + private String aplctStateCd; // 교육이수 상태 + + + + public String getSpecialWorkAllow() { return specialWorkAllow; } @@ -1464,6 +1472,18 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable { public void setRmtTrnAtchFileDetail(FileVO rmtTrnAtchFileDetail) { this.rmtTrnAtchFileDetail = rmtTrnAtchFileDetail; } + public String getQestnrId() { + return qestnrId; + } + public void setQestnrId(String qestnrId) { + this.qestnrId = qestnrId; + } + public String getAplctStateCd() { + return aplctStateCd; + } + public void setAplctStateCd(String aplctStateCd) { + this.aplctStateCd = aplctStateCd; + } } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEAPrcsAplctPrdInstrAsgnmService.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEAPrcsAplctPrdInstrAsgnmService.java index 72b17d1e..08402187 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEAPrcsAplctPrdInstrAsgnmService.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEAPrcsAplctPrdInstrAsgnmService.java @@ -9,4 +9,12 @@ public interface VEAPrcsAplctPrdInstrAsgnmService { void instrInsert(VEAPrcsAplctPrdInstrAsgnmVO vEAPrcsAplctPrdInstrAsgnmVO); List findByPrcsAplctPrdOrd(String prcsAplctPrdOrd); + + void udpateAprvlCdEduAplct(VEPrcsDetailVO vEPrcsDetailVO); + + void insertAprvlCdEduAplctDetail(VEPrcsDetailVO vEDetailVO); + + VEPrcsDetailVO selectAprvlCdEduAplctDetail(VEPrcsDetailVO vEDetailVO); + + void updateAprvlCdEduAplctDetail(VEPrcsDetailVO vEDetailVO); } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsAplctPrdService.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsAplctPrdService.java index 9db12867..c6e54d3f 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsAplctPrdService.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsAplctPrdService.java @@ -38,4 +38,6 @@ public interface VEPrcsAplctPrdService { List selectinstrAsgnmPopupPagingList(VEPrcsDetailVO vEPrcsDetailVO); + List findByAprvlList(VEPrcsDetailVO vEPrcsDetailVO); + } 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 5f46559e..38ee1db7 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 @@ -1,6 +1,7 @@ package kcc.ve.instr.tngrVisitEdu.prcsInfo.service; import java.io.Serializable; +import java.util.List; import kcc.com.cmm.ComDefaultVO; @@ -41,6 +42,7 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable { //ve_edu_aplct private String eduAplctOrd; //교육신청순번 + private List eduAplctOrdList; //교육신청순번 private String eduChasiOrd; //교육차시순번 private String cnt; @@ -118,6 +120,10 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable { private String aprvlCd; + private String aplctStateCd; // 신청상태코드 VEA003 + private String eduCmpltCrtfcNmbr; // 신청상태코드 VEA003 + + @@ -247,6 +253,12 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable { public void setEduAplctOrd(String eduAplctOrd) { this.eduAplctOrd = eduAplctOrd; } + public List getEduAplctOrdList() { + return eduAplctOrdList; + } + public void setEduAplctOrdList(List eduAplctOrdList) { + this.eduAplctOrdList = eduAplctOrdList; + } public String getEduChasiOrd() { return eduChasiOrd; } @@ -559,6 +571,18 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable { public void setAprvlCd(String aprvlCd) { this.aprvlCd = aprvlCd; } + public String getAplctStateCd() { + return aplctStateCd; + } + public void setAplctStateCd(String aplctStateCd) { + this.aplctStateCd = aplctStateCd; + } + public String getEduCmpltCrtfcNmbr() { + return eduCmpltCrtfcNmbr; + } + public void setEduCmpltCrtfcNmbr(String eduCmpltCrtfcNmbr) { + this.eduCmpltCrtfcNmbr = eduCmpltCrtfcNmbr; + } } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsService.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsService.java index f6dbaee0..a6df3403 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsService.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsService.java @@ -28,5 +28,7 @@ public interface VEPrcsService { //교육과정 리스트 순서 수정 void updatePrcsSort(VEPrcsDetailVO paramVO) throws Exception; + + void deleteInstr(VEPrcsDetailVO vEPrcsDetailVO); } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEAPrcsAplctPrdInstrAsgnmDAO.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEAPrcsAplctPrdInstrAsgnmDAO.java index 0753a018..7d9c7f0a 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEAPrcsAplctPrdInstrAsgnmDAO.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEAPrcsAplctPrdInstrAsgnmDAO.java @@ -19,6 +19,23 @@ public class VEAPrcsAplctPrdInstrAsgnmDAO extends EgovAbstractDAO { public List findByPrcsAplctPrdOrd(String prcsAplctPrdOrd) { return (List) list("VEAPrcsAplctPrdInstrAsgnmDAO.findByPrcsAplctPrdOrd", prcsAplctPrdOrd); + } + + public void udpateAprvlCdEduAplct(VEPrcsDetailVO vEPrcsDetailVO) { + update("VEAPrcsAplctPrdInstrAsgnmDAO.udpateAprvlCdEduAplct", vEPrcsDetailVO); + + } + + public void insertAprvlCdEduAplctDetail(VEPrcsDetailVO vEPrcsDetailVO) { + insert("VEAPrcsAplctPrdInstrAsgnmDAO.insertAprvlCdEduAplctDetail", vEPrcsDetailVO); + } + + public VEPrcsDetailVO selectAprvlCdEduAplctDetail(VEPrcsDetailVO vEDetailVO) { + return (VEPrcsDetailVO) select("VEAPrcsAplctPrdInstrAsgnmDAO.selectAprvlCdEduAplctDetail", vEDetailVO); + } + + public void updateAprvlCdEduAplctDetail(VEPrcsDetailVO vEDetailVO) { + delete("VEAPrcsAplctPrdInstrAsgnmDAO.updateAprvlCdEduAplctDetail", vEDetailVO); } } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEAPrcsAplctPrdInstrAsgnmServiceImpl.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEAPrcsAplctPrdInstrAsgnmServiceImpl.java index 58a96d74..3d74ab87 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEAPrcsAplctPrdInstrAsgnmServiceImpl.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEAPrcsAplctPrdInstrAsgnmServiceImpl.java @@ -11,6 +11,7 @@ import org.springframework.stereotype.Service; import egovframework.rte.fdl.idgnr.EgovIdGnrService; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmService; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmVO; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; @Service("vEAPrcsAplctPrdInstrAsgnmService") public class VEAPrcsAplctPrdInstrAsgnmServiceImpl implements VEAPrcsAplctPrdInstrAsgnmService { @@ -35,4 +36,26 @@ public class VEAPrcsAplctPrdInstrAsgnmServiceImpl implements VEAPrcsAplctPrdInst public List findByPrcsAplctPrdOrd(String prcsAplctPrdOrd) { return vEAPrcsAplctPrdInstrAsgnmDAO.findByPrcsAplctPrdOrd(prcsAplctPrdOrd); } + + @Override + public void udpateAprvlCdEduAplct(VEPrcsDetailVO vEPrcsDetailVO) { + vEAPrcsAplctPrdInstrAsgnmDAO.udpateAprvlCdEduAplct(vEPrcsDetailVO); + } + + @Override + public void insertAprvlCdEduAplctDetail(VEPrcsDetailVO vEPrcsDetailVO) { + vEAPrcsAplctPrdInstrAsgnmDAO.insertAprvlCdEduAplctDetail(vEPrcsDetailVO); + + } + + @Override + public VEPrcsDetailVO selectAprvlCdEduAplctDetail(VEPrcsDetailVO vEDetailVO) { + return vEAPrcsAplctPrdInstrAsgnmDAO.selectAprvlCdEduAplctDetail(vEDetailVO); + + } + + @Override + public void updateAprvlCdEduAplctDetail(VEPrcsDetailVO vEDetailVO) { + vEAPrcsAplctPrdInstrAsgnmDAO.updateAprvlCdEduAplctDetail(vEDetailVO); + } } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsAplctPrdDAO.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsAplctPrdDAO.java index 85cdf8e6..640364d7 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsAplctPrdDAO.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsAplctPrdDAO.java @@ -91,5 +91,9 @@ public class VEPrcsAplctPrdDAO extends EgovAbstractDAO { return (List) list("VEPrcsAplctPrdDAO.selectinstrAsgnmPopupPagingList", vEPrcsDetailVO); } + public List findByAprvlList(VEPrcsDetailVO vEPrcsDetailVO) { + return (List) list("VEPrcsAplctPrdDAO.findByAprvlList", vEPrcsDetailVO); + } + } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsAplctPrdServiceImpl.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsAplctPrdServiceImpl.java index e19f7eb7..afc52576 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsAplctPrdServiceImpl.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsAplctPrdServiceImpl.java @@ -89,4 +89,9 @@ public class VEPrcsAplctPrdServiceImpl implements VEPrcsAplctPrdService { return vEPrcsAplctPrdDAO.selectinstrAsgnmPopupPagingList(vEPrcsDetailVO); } + @Override + public List findByAprvlList(VEPrcsDetailVO vEPrcsDetailVO) { + return vEPrcsAplctPrdDAO.findByAprvlList(vEPrcsDetailVO); + } + } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsDAO.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsDAO.java index 47ea96ee..338097a5 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsDAO.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsDAO.java @@ -76,5 +76,9 @@ public class VEPrcsDAO extends EgovAbstractDAO { public void updatePrcsSort(VEPrcsDetailVO paramVO) throws Exception{ update("VEPrcsDAO.updatePrcsSort", paramVO); } + + public void deleteInstr(VEPrcsDetailVO vEPrcsDetailVO) { + delete("VEPrcsDAO.deleteInstr", vEPrcsDetailVO); + } } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsServiceImpl.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsServiceImpl.java index 7667d1b7..ced52f43 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsServiceImpl.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsServiceImpl.java @@ -58,5 +58,11 @@ public class VEPrcsServiceImpl implements VEPrcsService { public void updatePrcsSort(VEPrcsDetailVO paramVO) throws Exception{ vEPrcsDAO.updatePrcsSort(paramVO); } + + @Override + public void deleteInstr(VEPrcsDetailVO vEPrcsDetailVO) { + vEPrcsDAO.deleteInstr(vEPrcsDetailVO); + + } } 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 92373c39..ce7b9951 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 @@ -1,5 +1,6 @@ package kcc.ve.oprtn.fndtnEnhanceTrn.prcsAplctPrdMng.web; +import java.util.ArrayList; import java.util.List; import javax.annotation.Resource; @@ -11,10 +12,13 @@ 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.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.support.RedirectAttributes; +import egovframework.rte.fdl.cmmn.exception.FdlException; import egovframework.rte.fdl.idgnr.EgovIdGnrService; import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; import kcc.com.cmm.ComDefaultCodeVO; @@ -135,6 +139,10 @@ public class FndthPrcsAplctPrdMngController { //과정 @Resource(name="cmmUseDAO") private CmmUseDAO cmmUseDAO; + + + @Resource(name="prcsDetailService") + private EgovIdGnrService prcsDetailService; /* // 교육신청 서비스단 @@ -274,10 +282,7 @@ public class FndthPrcsAplctPrdMngController { //3.pageing step3 paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); - //model.addAttribute("paginationInfo", paginationInfo); - - // 교육 부분 코드 가져오는 영역 ComDefaultCodeVO codeVO = new ComDefaultCodeVO(); @@ -289,8 +294,6 @@ public class FndthPrcsAplctPrdMngController { VEPrcsDetailVO vEPrcsDetailVOPrcsCn = new VEPrcsDetailVO(); vEPrcsDetailVOPrcsCn.setPrcsOrd(vEPrcsDetailVOList.get(0).getPrcsOrd()); model.addAttribute("prcsCn", vEPrcsService.selectDetail(vEPrcsDetailVOPrcsCn).getPrcsCn()); - - //대상 리스트, 페이징 정보 전달 model.addAttribute("listPrcs", vEPrcsDetailVOList); @@ -448,9 +451,19 @@ public class FndthPrcsAplctPrdMngController { paramVO.setPrcsOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd()); paramVO.setSbmtYn("Y"); + // 검색 - 날짜 + paramVO.setSearchSmbtStartDt(vEPrcsDetailVO.getSearchSmbtStartDt()); + paramVO.setSearchSmbtEndDt(vEPrcsDetailVO.getSearchSmbtEndDt()); + // 검색 - 검색어 + paramVO.setSearchStatus(vEPrcsDetailVO.getSearchStatus()); + + + List vEPrcsDetailVOList = vEEduMIXService.selectList(paramVO); - vEPrcsDetailVOList = egovCryptoUtil.decryptVEEduAplctVOList(vEPrcsDetailVOList); + vEPrcsDetailVOList = egovCryptoUtil.decryptVeEduAplctList(vEPrcsDetailVOList); + System.out.println("===="); + //대상 리스트, 페이징 정보 전달 model.addAttribute("listPrcsAplct", vEPrcsDetailVOList); } @@ -681,12 +694,9 @@ public class FndthPrcsAplctPrdMngController { LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 try { - //선택한 강사 데이터 등록 처리 - vEAPrcsAplctPrdInstrAsgnmVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id - vEAPrcsAplctPrdInstrAsgnmService.instrInsert(vEAPrcsAplctPrdInstrAsgnmVO); - - - + //선택한 강사 데이터 등록 처리 + vEAPrcsAplctPrdInstrAsgnmVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id + vEAPrcsAplctPrdInstrAsgnmService.instrInsert(vEAPrcsAplctPrdInstrAsgnmVO); } catch (Exception ex) { ex.printStackTrace(); } @@ -698,6 +708,122 @@ public class FndthPrcsAplctPrdMngController { } + /** + * 강사배정 등록 처리 + */ + @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/updateEduAplctAprvlCdAjax.do") + public ModelAndView updateEduAplctAprvlCd( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + , ModelMap model + , HttpServletRequest request + ) throws Exception { + + System.out.println(vEPrcsDetailVO.getPrcsAplctPrdOrd() +"!!!"); + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + //로그인 처리==================================== + //로그인 정보 가져오기 + String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + if (!"".equals(s_oprtnLoginCheckNInfo)) { + modelAndView.addObject("result", "loginFail"); + return modelAndView; + } + //로그인 처리==================================== + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + + try { + // 교육 신청 테이블에 신청자 상태값 update + vEAPrcsAplctPrdInstrAsgnmService.udpateAprvlCdEduAplct(vEPrcsDetailVO); + + // 승인 - 승인일 경우 vea_aplct_detail_info TB에 넣어줘야함 + if("20".equals(vEPrcsDetailVO.getAprvlCd())) { + this.aprvlCd20(vEPrcsDetailVO,loginVO.getUniqId()); + } + // 접수취소(반려) - vea_aplct_detail_info TB에 data update + else if("30".equals(vEPrcsDetailVO.getAprvlCd())) + { + this.aprvlCd30(vEPrcsDetailVO); + } + modelAndView.addObject("result", "success"); + + } catch (Exception ex) { + ex.printStackTrace(); + modelAndView.addObject("result", ""); + } + + + return modelAndView; + + } + + + /** + * @methodName : aprvlCd20 + * @author : 이호영 + * @date : 2023.09.25 + * @description : aprvlCd == 20 교육 승인 일 경유 + * 승인일 경우 vea_aplct_detail_info TB에 넣어줘야함 + * @param vEPrcsDetailVO + * @param uniqId + * @throws FdlException + */ + private void aprvlCd20(VEPrcsDetailVO vEPrcsDetailVO, String uniqId) throws FdlException { + + for(String id : vEPrcsDetailVO.getEduAplctOrdList()) { + VEPrcsDetailVO vEDetailVO = new VEPrcsDetailVO(); + + vEDetailVO.setPrcsAplctPrdOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd()); + vEDetailVO.setEduAplctOrd(id); + + // 데이터가 있는지만 비교하기 위한 구문 + VEPrcsDetailVO vEDetail_DVO = vEAPrcsAplctPrdInstrAsgnmService.selectAprvlCdEduAplctDetail(vEDetailVO); + + // 데이터가 없으면 Insert + if(vEDetail_DVO == null) { + vEDetailVO.setAplctStateCd("10"); // 신청상태코드 VEA003 10:미이수 20:이수 + vEDetailVO.setFrstRegisterId(uniqId); + vEAPrcsAplctPrdInstrAsgnmService.insertAprvlCdEduAplctDetail(vEDetailVO); + + } + + } + + } + + /** + * @methodName : aprvlCd30 + * @author : 이호영 + * @date : 2023.09.25 + * @description : aprvlCd == 30 교육 반려 + * 승인일 경우 vea_aplct_detail_info TB에 data 삭제 + * @param vEPrcsDetailVO + * @param uniqId + * @throws FdlException + */ + private void aprvlCd30(VEPrcsDetailVO vEPrcsDetailVO) { + + for(String id : vEPrcsDetailVO.getEduAplctOrdList()) { + VEPrcsDetailVO vEDetailVO = new VEPrcsDetailVO(); + + vEDetailVO.setPrcsAplctPrdOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd()); + vEDetailVO.setEduAplctOrd(id); + + // 데이터가 있는지만 비교하기 위한 구문 + VEPrcsDetailVO vEDetail_DVO = vEAPrcsAplctPrdInstrAsgnmService.selectAprvlCdEduAplctDetail(vEDetailVO); + + // 데이터가 있으면 삭제 + if(vEDetail_DVO != null) { + vEDetailVO.setAplctStateCd("30"); + vEAPrcsAplctPrdInstrAsgnmService.updateAprvlCdEduAplctDetail(vEDetailVO); + + } + + } + + } + ////////////////////////////////////////////////////////////////////////////////////////////////////////////// // // diff --git a/src/main/java/kcc/ve/oprtn/fndtnEnhanceTrn/prcsInfoMng/web/FndthPrcsInfoMngController.java b/src/main/java/kcc/ve/oprtn/fndtnEnhanceTrn/prcsInfoMng/web/FndthPrcsInfoMngController.java index f90da7d2..40381480 100644 --- a/src/main/java/kcc/ve/oprtn/fndtnEnhanceTrn/prcsInfoMng/web/FndthPrcsInfoMngController.java +++ b/src/main/java/kcc/ve/oprtn/fndtnEnhanceTrn/prcsInfoMng/web/FndthPrcsInfoMngController.java @@ -332,7 +332,6 @@ public class FndthPrcsInfoMngController { public ModelAndView fndthEduPrcsMngMdfyAjax( @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO , ModelMap model - //, RedirectAttributes redirectAttributes , HttpServletRequest request ) throws Exception { @@ -381,6 +380,51 @@ public class FndthPrcsInfoMngController { } + + + + + /** + * 기반강화연수과정 신청기간 등록 + */ + @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/instrDelAjax.do") + public ModelAndView instrDelAjax( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + , ModelMap model + , HttpServletRequest request + ) throws Exception { + + ModelAndView modelAndView = new ModelAndView("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 로그인 정보 가져오기 + + try { + + vEPrcsService.deleteInstr(vEPrcsDetailVO); + modelAndView.addObject("result", "success"); + } catch (Exception e) { + modelAndView.addObject("result", ""); + } + + + + + return modelAndView; + + } + + ////////////////////////////////////////////////////////////////////////////////////////////////////////////// // // diff --git a/src/main/resources/egovframework/spring/com/context-idgen.xml b/src/main/resources/egovframework/spring/com/context-idgen.xml index 98a9bd13..c89d35a4 100644 --- a/src/main/resources/egovframework/spring/com/context-idgen.xml +++ b/src/main/resources/egovframework/spring/com/context-idgen.xml @@ -2890,5 +2890,20 @@ + + + + + + + + + + + + + + + diff --git a/src/main/resources/egovframework/sqlmap/config/tibero/sql-map-config-tibero-ve.xml b/src/main/resources/egovframework/sqlmap/config/tibero/sql-map-config-tibero-ve.xml index 4a57b099..99a54606 100644 --- a/src/main/resources/egovframework/sqlmap/config/tibero/sql-map-config-tibero-ve.xml +++ b/src/main/resources/egovframework/sqlmap/config/tibero/sql-map-config-tibero-ve.xml @@ -53,6 +53,7 @@ + diff --git a/src/main/resources/egovframework/sqlmap/ve/edu/VEEduAplct_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/edu/VEEduAplct_SQL_Tibero.xml index 3c097563..52e8d63e 100644 --- a/src/main/resources/egovframework/sqlmap/ve/edu/VEEduAplct_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/edu/VEEduAplct_SQL_Tibero.xml @@ -240,6 +240,119 @@ ) + + + + INSERT INTO ( + EDU_APLCT_ORD, + LCTR_DIV_CD, + USER_ID, + PRCS_ORD, + + SBMT_YN, + SBMT_PNTTM, + APRVL_CD, + APRVL_PNTTM, + APRVL_CN, + + FRST_REGIST_PNTTM, + FRST_REGISTER_ID, + USE_YN + )VALUES( + #eduAplctOrd#, + #lctrDivCd#, + #userId#, + #prcsOrd#, + + #sbmtYn#, + SYSDATE, + #aprvlCd#, + SYSDATE, + #aprvlCn#, + + SYSDATE, + #frstRegisterId#, + 'Y' + ) + + + + + + /* VEEduMIXDAO.selectList */ SELECT + qe.QESTNR_ID AS qestnrId , /* 설문했으면 ID가 있음 */ + vadi.APLCT_STATE_CD AS aplctStateCd, /* 이수 상태 */ + le.MBER_NM AS userNm, FROM a + JOIN ve_prcs_aplct_prd vpap ON + a.PRCS_ORD = vpap.PRCS_APLCT_PRD_ORD + LEFT JOIN VEA_APLCT_DETAIL_INFO vadi ON + a.EDU_APLCT_ORD = vadi.EDU_APLCT_ORD + /* AND vpap.PRCS_APLCT_PRD_ORD = vadi.PRCS_APLCT_PRD_ORD */ + JOIN LETTNGNRLMBER le ON + a.USER_ID = le.MBER_ID + LEFT JOIN LETTNQESTNRINFO qe ON + a.USER_ID = qe.FRST_REGISTER_ID WHERE 1=1 - AND a.prcs_ord=#prcsOrd# @@ -133,6 +145,16 @@ AND a.sbmt_yn=#sbmtYn# + + AND TO_CHAR(a.sbmt_pnttm, 'YYYYMMDD') = ]]> REPLACE(#searchSmbtStartDt#, '.' , '') + + + + AND TO_CHAR(a.sbmt_pnttm, 'YYYYMMDD') REPLACE(#searchSmbtEndDt#, '.' , '') + + + AND a.use_yn = 'Y' + diff --git a/src/main/resources/egovframework/sqlmap/ve/prcs/VEAPrcsAplctPrdInstrAsgnm_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/prcs/VEAPrcsAplctPrdInstrAsgnm_SQL_Tibero.xml new file mode 100644 index 00000000..fee037d4 --- /dev/null +++ b/src/main/resources/egovframework/sqlmap/ve/prcs/VEAPrcsAplctPrdInstrAsgnm_SQL_Tibero.xml @@ -0,0 +1,149 @@ + + + + + + + + + + + + vea_prcs_aplct_prd_instr_asgnm + + + + + + prcs_aplct_prd_ord + , user_id + , lctr_plan_atch_file_id + , doc_atch_file_id + , asgnm_aprvl_cd + , asgnm_aprvl_pnttm + , asgnm_aprvl_id + , rmrks + , frst_regist_pnttm + , frst_register_id + , last_updt_pnttm + , last_updusr_id + + + + + + a.prcs_aplct_prd_ord as prcsAplctPrdOrd + , a.user_id as userId + , a.lctr_plan_atch_file_id as lctrPlanAtchFileId + , a.doc_atch_file_id as docAtchFileId + , a.asgnm_aprvl_cd as asgnmAprvlCd + , a.asgnm_aprvl_pnttm as asgnmAprvlPnttm + , a.asgnm_aprvl_id as asgnmAprvlId + , a.rmrks as rmrks + , a.frst_regist_pnttm as frstRegistPnttm + , a.frst_register_id as frstRegisterId + , a.last_updt_pnttm as lastUpdtPnttm + , a.last_updusr_id as lastUpdusrId + + + + + + INSERT INTO ( + + )VALUES( + #prcsAplctPrdOrd# + , #userId# + , #lctrPlanAtchFileId# + , #docAtchFileId# + , #asgnmAprvlCd# + , SYSDATE + , #asgnmAprvlId# + , #rmrks# + , SYSDATE + , #frstRegisterId# + , SYSDATE + , #lastUpdusrId# + ) + + + + + /* VEAPrcsAplctPrdInstrAsgnmDAO.insertAprvlCdEduAplctDetail */ + INSERT INTO vea_aplct_detail_info + ( + prcs_aplct_prd_ord + , edu_aplct_ord + , aplct_state_cd + , frst_regist_pnttm + , frst_register_id + ) + VALUES + ( + #prcsAplctPrdOrd# + , #eduAplctOrd# + , #aplctStateCd# + , SYSDATE + , #frstRegisterId# + ) + + + + + + + + UPDATE vea_aplct_detail_info SET + aplct_state_cd = #aplctStateCd# + WHERE + edu_aplct_ord = #eduAplctOrd# + AND prcs_aplct_prd_ord = #prcsAplctPrdOrd# + + + + + + + + UPDATE VE_EDU_APLCT + SET aprvl_cd = #aprvlCd# + WHERE edu_aplct_ord IN + + #eduAplctOrdList[]# + + + + + + + + + + + diff --git a/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcsAplctPrd_SQL_Cubrid.xml b/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcsAplctPrd_SQL_Cubrid.xml index 8c68621e..4287a360 100644 --- a/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcsAplctPrd_SQL_Cubrid.xml +++ b/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcsAplctPrd_SQL_Cubrid.xml @@ -388,6 +388,7 @@ - + + + + + + + diff --git a/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcs_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcs_SQL_Tibero.xml index fb9d7451..dcea6a47 100644 --- a/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcs_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcs_SQL_Tibero.xml @@ -340,4 +340,11 @@ WHERE PRCS_ORD = #prcsOrd# + + + DELETE FROM VEA_PRCS_APLCT_PRD_INSTR_ASGNM + WHERE prcs_aplct_prd_ord = #prcsAplctPrdOrd# + AND user_id = #userId# + + diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngReg.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngReg.jsp index 09397e58..2e497f10 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngReg.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngReg.jsp @@ -101,29 +101,29 @@ function fncSave(){ var data = new FormData(document.getElementById("createForm")); - if(confirm("저장하시겠습니까?")){ - var url = "${pageContext.request.contextPath}/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctMngRegAjax.do"; - console.log(data); - $.ajax({ - type:"POST", - url: url, - data: data, - dataType:'json', - async: false, - processData: false, - contentType: false, - cache: false, - success:function(returnData){ - if(returnData.result == "success"){ - alert("저장되었습니다."); - fncGoList(); - } - }, - error:function(request , status, error){ - alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error); + if(confirm("저장하시겠습니까?")){ + var url = "${pageContext.request.contextPath}/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctMngRegAjax.do"; + console.log(data); + $.ajax({ + type:"POST", + url: url, + data: data, + dataType:'json', + async: false, + processData: false, + contentType: false, + cache: false, + success:function(returnData){ + if(returnData.result == "success"){ + alert("저장되었습니다."); + fncGoList(); } - }); - } + }, + error:function(request , status, error){ + alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error); + } + }); + } } function fncGoList(){ 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 d21db6ad..94b40e9e 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngDetail.jsp @@ -49,7 +49,12 @@ var strtPnttm = new Date(dateText.split("~")[0].trim().replace(/\./g, '-')); var endPnttm = new Date(dateText.split("~")[1].trim().replace(/\./g, '-')); var currentDate = new Date(); - + + // 시간, 분, 초 초기화 + strtPnttm.setHours(0, 0, 0, 0); + endPnttm.setHours(0, 0, 0, 0); + currentDate.setHours(0, 0, 0, 0); + if (currentDate < strtPnttm) { $ddlnCdStts.text("접수전"); } else if (currentDate >= strtPnttm && currentDate <= endPnttm) { @@ -65,12 +70,55 @@ listForm.action = ""; listForm.submit(); } + + function fncGoDetail(){ + var form = document.detailForm ; + form.action = ""; + form.submit(); + } function fncMdfy(){ var detailForm = document.detailForm ; detailForm.action = ""; detailForm.submit(); } + + + + function fn_delInstr(data){ + document.instrForm.userId.value = data ; + + + + + var data = new FormData(document.getElementById("instrForm")); + if(confirm("삭제하시겠습니까?")){ + var url = ""; + $.ajax({ + type:"POST", + url: url, + data: data, + dataType:'json', + async: false, + processData: false, + contentType: false, + cache: false, + success:function(returnData){ + if(returnData.result == "success"){ + alert("삭제되었습니다."); + // 새로고침 + window.location.reload(); + } + }, + error:function(request , status, error){ + alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error); + } + }); + } + event.stopImmediatePropagation(); + + } + // 강사 배치 @@ -86,11 +134,67 @@ form.submit(); } + function chkAll(obj) { + // 모든 체크박스의 상태를 헤더 체크박스의 상태와 동일하게 설정 + $("input[name='chk']").prop('checked', $(obj).prop('checked')); + } + + function updateEduAplctOrd(p_aprvlCd, p_prcsAplctPrdOrd) { + var selectedEduAplctOrd = []; + + // "chk" 이름을 가진 체크박스가 체크된 항목들을 순회 + $("input[name='chk']:checked").each(function() { + var eduAplctOrdValue = $(this).val(); + selectedEduAplctOrd.push(eduAplctOrdValue); + }); + + console.log('selectedEduAplctOrd : ', selectedEduAplctOrd); + // 선택된 항목이 없으면 경고 메시지를 표시하고 함수를 종료 + if (selectedEduAplctOrd.length === 0) { + alert("선택된 항목이 없습니다. 선택 후 다시 시도하세요."); + return false; + } + + var dataToSend = { + "eduAplctOrdList": selectedEduAplctOrd, + "aprvlCd": p_aprvlCd, + "prcsAplctPrdOrd": p_prcsAplctPrdOrd + }; + + var url = ""; + + + // AJAX 호출을 통해 서버에 데이터 전송 + $.ajax({ + type:"POST", + url: url, + data: $.param(dataToSend, true), // 직렬화 , 컨트롤러에서 @ModelAttribute로 받을 수 있음 +// contentType : 'application/json', + dataType:'json', + success:function(returnData){ + if(returnData.result == "success"){ + alert("변경 처리 되었습니다."); + window.location.reload(); + }else{ + alert("변경 중 오류가 발생하였습니다."); + } + }, + error: function(jqXHR, textStatus, errorThrown) { + console.error("AJAX Error:", textStatus, errorThrown); + console.error("Response:", jqXHR.responseText); + } + }); + + } +
+ + +
@@ -100,7 +204,7 @@
- +
@@ -164,7 +268,12 @@ ~ - + + 상세교육과정 + + + + 정원 @@ -216,12 +325,14 @@ + 강사명 연락처 확정여부 + 삭제 @@ -238,12 +349,15 @@ + + + - 강사 배치 정보가 없습니다. + 강사 배치 정보가 없습니다. @@ -267,7 +381,30 @@ 교육 신청자 list_상세 -->
-

교육신청자

+

교육신청자

+
+ +
+
+
+ + + +
+ +
+ ~ +
+ +
+ + + +
+
@@ -281,20 +418,15 @@ - - - + + - - - - @@ -302,42 +434,66 @@ - - - - - - + +
번호 신청자 신청일 확정여부이수여부신청상태이수여부설문조사 이수증
- - - + - + - + + - 설문조사 + + - 출력 + + + + + + + 미입력 + + - 출력 + + + +<%-- --%> + + + + +
신청자가 없습니다.신청자가 없습니다.
- + + +
+
+
+
+
+
+ + + +
+
diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngList.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngList.jsp index f07c1925..3399e0ae 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngList.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngList.jsp @@ -294,7 +294,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 bf838ad4..946965cd 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngMdfy.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngMdfy.jsp @@ -230,6 +230,13 @@ + + 상세교육과정 + + + + + 정원 diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngReg.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngReg.jsp index 17be332f..96521fb9 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngReg.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngReg.jsp @@ -35,6 +35,17 @@ $('#prcsOrd').change(function(){ fnSelectDivAndCn($(this).val()); }); + + $('#nos').on('input', function() { + // 숫자만 허용 + $(this).val($(this).val().replace(/[^0-9]/g, '')); + + // 값이 0으로 시작하면 제거 + if ($(this).val().charAt(0) == '0') { + $(this).val($(this).val().substring(1)); + } + }); + }); 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 c90dabe9..0375c42c 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 @@ -202,6 +202,12 @@ + + 상세교육과정 + + + + 정원 diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/eduAplctList.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/eduAplctList.jsp index ee06afc1..b3034c76 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/eduAplctList.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/eduAplctList.jsp @@ -31,7 +31,17 @@ $(document).ready(function(){ var endPnttm = new Date($currentRow.find("td:eq(2)").text().split("~")[1].trim()); var currentDate = new Date(); + // 시간, 분, 초 초기화 + strtPnttm.setHours(0, 0, 0, 0); + endPnttm.setHours(0, 0, 0, 0); + currentDate.setHours(0, 0, 0, 0); + var ddlnCdText = ''; + + console.log('currentDate : ', currentDate); + console.log('strtPnttm : ', strtPnttm); + console.log('endPnttm : ', endPnttm); + console.log(''); if (currentDate < strtPnttm) { ddlnCdText = "접수전"; } else if (currentDate >= strtPnttm && currentDate <= endPnttm) { @@ -109,6 +119,20 @@ $(document).ready(function(){ $(this).val(''); }); } + + function fn_eduInquiry(){ + commonPopLayeropen( + "${pageContext.request.contextPath}/web/ve/comm/popup/eduInquiryPopup.do" + , 470 + , 464 +// , data + , "" + , "Y" + , "eduInquiryPopup" + ); + } + + @@ -200,7 +224,7 @@ $(document).ready(function(){ ');" style="cursor:pointer;"> () - + ~ @@ -242,7 +266,7 @@ $(document).ready(function(){
- +
diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/fndtnEduAplctList.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/fndtnEduAplctList.jsp new file mode 100644 index 00000000..077cf539 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/fndtnEduAplctList.jsp @@ -0,0 +1,204 @@ +<%@ 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"%> + +교육신청 목록 > 성인 찾아가는 저작권 교육 > 한국저작권위원회 저작권 교육 시스템 + + + + +
+ +
+ +
+
+ +
+
+
+ + + + " /> + " /> + + +
+

나의 강의 신청목록

+
+ + +
+
+
+
+ + +
+
+
+ <%-- --%> + +
+ ~ +
+ <%-- --%> + +
+ + + +
+
+ + + +
+ + +<%-- --%> + + + + + + + + + + + + + + + + + + + + + +<%-- + + + + + + + + + + + +
교육구분과정명교육기간신청상태설문조사이수증
');" style="cursor:pointer;"> --%> +<%-- --%> + + + + ');" style="cursor:pointer;"> + () + + ~ + + + + + + +
+
+ +
+
+
+
+
+
+ +
+
+ + +
+ +
+
+
\ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/comm/eduInquiryPopup.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/comm/eduInquiryPopup.jsp new file mode 100644 index 00000000..2d03516a --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/web/ve/comm/eduInquiryPopup.jsp @@ -0,0 +1,166 @@ +<%@ 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="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ 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="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %> + + + + + + " /> + " /> + " /> + +