diff --git a/src/main/java/kcc/ve/aplct/sspnIdtmt/service/SspnIdtmtService.java b/src/main/java/kcc/ve/aplct/sspnIdtmt/service/SspnIdtmtService.java index 01fe3db5..fb4c7ffb 100644 --- a/src/main/java/kcc/ve/aplct/sspnIdtmt/service/SspnIdtmtService.java +++ b/src/main/java/kcc/ve/aplct/sspnIdtmt/service/SspnIdtmtService.java @@ -1,6 +1,8 @@ package kcc.ve.aplct.sspnIdtmt.service; +import org.springframework.web.servlet.ModelAndView; + import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngVO; @@ -10,7 +12,8 @@ public interface SspnIdtmtService { VEEduAplctVO findByAprvlCd(VEEduAplctVO vEEduAplctReqVO); - String findByTrgtNm(CndtnTrgtMngVO cndtnTrgtInfoMngVO); +// String findByTrgtNmAndDBirthAndEduStateCd(CndtnTrgtMngVO cndtnTrgtInfoMngVO); + ModelAndView findByTrgtNmAndDBirthAndEduStateCd(CndtnTrgtMngVO cndtnTrgtInfoMngVO); } diff --git a/src/main/java/kcc/ve/aplct/sspnIdtmt/service/impl/SspnIdtmtServiceImpl.java b/src/main/java/kcc/ve/aplct/sspnIdtmt/service/impl/SspnIdtmtServiceImpl.java index 3d4ca594..1d7c4e65 100644 --- a/src/main/java/kcc/ve/aplct/sspnIdtmt/service/impl/SspnIdtmtServiceImpl.java +++ b/src/main/java/kcc/ve/aplct/sspnIdtmt/service/impl/SspnIdtmtServiceImpl.java @@ -2,7 +2,9 @@ package kcc.ve.aplct.sspnIdtmt.service.impl; import javax.annotation.Resource; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; +import org.springframework.web.servlet.ModelAndView; import kcc.ve.aplct.sspnIdtmt.service.SspnIdtmtService; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; @@ -34,7 +36,50 @@ public class SspnIdtmtServiceImpl implements SspnIdtmtService { } @Override - public String findByTrgtNm(CndtnTrgtMngVO cndtnTrgtInfoMngVO) { - return cndtnTrgtInfoMngDAO.findByTrgtNm(cndtnTrgtInfoMngVO); + public ModelAndView findByTrgtNmAndDBirthAndEduStateCd(CndtnTrgtMngVO cndtnTrgtInfoMngVO) { + + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + String result=""; + String msg=""; + String id=""; + String next=""; + try { + result="success"; +// +// // 교육 신청한 대상자 조회 + id = cndtnTrgtInfoMngDAO.findByTrgtNmAndDBirthAndUserIdAndEduStateCd(cndtnTrgtInfoMngVO); + + if(StringUtils.isNotEmpty(id)) { + msg = "이미 신청한 대상자 입니다."; + + // 신청한 대상자가 없으면 + // 신청하지 않은 대상자가 있는지 조회 + }else { + + + msg = "대상자가 없습니다."; + + id = cndtnTrgtInfoMngDAO.findByTrgtNmAndDBirthAndEduStateCd(cndtnTrgtInfoMngVO); + if(StringUtils.isNotEmpty(id)) { + msg = "확인됐습니다."; + next = "Y"; + } + } + } catch (Exception e) { + result="fail"; + msg = "오류가 발생하였습니다 관리자에게 문의하세요. "; + e.printStackTrace(); + // TODO: handle exception + } + modelAndView.addObject("msg", msg); + modelAndView.addObject("result", result); + modelAndView.addObject("id", id); + modelAndView.addObject("next", next); + + + return modelAndView; } } 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 2c51c130..fa1ca97e 100644 --- a/src/main/java/kcc/ve/aplct/sspnIdtmt/web/SspnIdtmtController.java +++ b/src/main/java/kcc/ve/aplct/sspnIdtmt/web/SspnIdtmtController.java @@ -288,6 +288,7 @@ public class SspnIdtmtController { // VO를 먼저 null 체크 후 진행해야 에러안남 // vEEduAplctVO != null && if(vEEduAplctVO != null && StringUtils.isNotEmpty(vEEduAplctVO.getAprvlCd())) { + System.out.println("vEEduAplctVO.getAprvlCd() :: "+ vEEduAplctVO.getAprvlCd()); t.setAprvlCd(vEEduAplctVO.getAprvlCd()); } }); @@ -496,26 +497,40 @@ public class SspnIdtmtController { //로그인 처리==================================== //로그인 정보 가져오기 - String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); if (!"".equals(s_oprtnLoginCheckNInfo)) { modelAndView.addObject("result", "loginFail"); return modelAndView; } - - - String id = sspnIdtmtService.findByTrgtNm(cndtnTrgtInfoMngVO); - - String result=""; - if(StringUtils.isNotEmpty(id)) { - result = "success"; + 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; - + */ } 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 4acd6cc2..097116ec 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 @@ -10,10 +10,10 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable { /* * 교육신청테이블 * */ - private static final long serialVersionUID = 1L; //ve_edu_aplct - 교육신청 + private String eduAplctOrd; //교육신청순번 private String lctrDivCd; //강의구분코드 private String userId; //사용자아이디 @@ -303,6 +303,10 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable { private String unfthYn; //불성실여부 + private String sspnIdtmtTrgtOrd; //기소유예 대상자 + + private String eduStateCd; //기소유예 대상자 교육상태 + private String trgtNm; //기소유예 대상자 private String vs_clphone; //기소유예 대상자 폰번호 @@ -1537,6 +1541,18 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable { public void setNeedTxtbNum(String needTxtbNum) { this.needTxtbNum = needTxtbNum; } + public String getEduStateCd() { + return eduStateCd; + } + public void setEduStateCd(String eduStateCd) { + this.eduStateCd = eduStateCd; + } + public String getSspnIdtmtTrgtOrd() { + return sspnIdtmtTrgtOrd; + } + public void setSspnIdtmtTrgtOrd(String sspnIdtmtTrgtOrd) { + this.sspnIdtmtTrgtOrd = sspnIdtmtTrgtOrd; + } public String getTrgtNm() { return trgtNm; } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEEduMIXService.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEEduMIXService.java index 87ed23c6..09575957 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEEduMIXService.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEEduMIXService.java @@ -57,5 +57,9 @@ public interface VEEduMIXService { List selectPagingList4Temp(VEEduAplctVO paramVO) throws Exception; void updateAplctStateCd(VEEduAplctVO vEEduAplctVO); + + void updateEduStateCd(VEEduAplctVO vEEduAplctVO); + + List selectTrgtList(VEEduAplctVO paramVO); } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduMIXDAO.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduMIXDAO.java index 946606ff..46fb49a6 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduMIXDAO.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduMIXDAO.java @@ -152,6 +152,14 @@ public class VEEduMIXDAO extends EgovAbstractDAO { @SuppressWarnings("unchecked") List tlist = (List) list("VEEduMIXDAO.selectPagingList4Temp", paramVO); return tlist; + } + + public List selectTrgtList(VEEduAplctVO paramVO) { + return (List) list("VEEduMIXDAO.selectTrgtList", paramVO); + } + + public void updateEduStateCd(VEEduAplctVO paramVO) { + update("VEEduMIXDAO.updateEduStateCd", paramVO); } } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduMIXServiceImpl.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduMIXServiceImpl.java index bb449b65..488331ae 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduMIXServiceImpl.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduMIXServiceImpl.java @@ -140,4 +140,15 @@ public class VEEduMIXServiceImpl implements VEEduMIXService { vEEduMIXDAO.updateAplctStateCd(vEEduAplctVO); } + + @Override + public List selectTrgtList(VEEduAplctVO paramVO) { + return vEEduMIXDAO.selectTrgtList(paramVO); + } + + @Override + public void updateEduStateCd(VEEduAplctVO paramVO) { + vEEduMIXDAO.updateEduStateCd(paramVO); + + } } 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 2151f404..b5ff7b1f 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 @@ -19,4 +19,6 @@ public interface VEAPrcsAplctPrdInstrAsgnmService { void updateAplctStateCdListAjax(VEPrcsDetailVO vEPrcsDetailVO); void updatLctrPlanAtchFileId(VEAPrcsAplctPrdInstrAsgnmVO vEAPrcsAplctPrdInstrAsgnmVO); + + void updateEduStateCdListAjax(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 2c3bca5f..4d6d17d4 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 @@ -44,6 +44,7 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable { //ve_edu_aplct private String eduAplctOrd; //교육신청순번 private List eduAplctOrdList; //교육신청순번 + private List sspnIdtmtTrgtOrdList; //교육신청순번 private String eduChasiOrd; //교육차시순번 private String cnt; @@ -129,6 +130,7 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable { private Boolean qestRsltExists; private String trgtNm; + private String eduStateCd; private String sspnIdtmtTrgtOrd; @@ -272,6 +274,12 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable { public void setEduAplctOrdList(List eduAplctOrdList) { this.eduAplctOrdList = eduAplctOrdList; } + public List getSspnIdtmtTrgtOrdList() { + return sspnIdtmtTrgtOrdList; + } + public void setSspnIdtmtTrgtOrdList(List sspnIdtmtTrgtOrdList) { + this.sspnIdtmtTrgtOrdList = sspnIdtmtTrgtOrdList; + } public String getEduChasiOrd() { return eduChasiOrd; } @@ -617,6 +625,13 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable { public String getTrgtNm() { return trgtNm; } + + public String getEduStateCd() { + return eduStateCd; + } + public void setEduStateCd(String eduStateCd) { + this.eduStateCd = eduStateCd; + } public void setTrgtNm(String trgtNm) { this.trgtNm = trgtNm; } 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 3e3a76d4..67d01daf 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 @@ -46,6 +46,10 @@ public class VEAPrcsAplctPrdInstrAsgnmDAO extends EgovAbstractDAO { public void updatLctrPlanAtchFileId(VEAPrcsAplctPrdInstrAsgnmVO vEAPrcsAplctPrdInstrAsgnmVO) { update("VEAPrcsAplctPrdInstrAsgnmDAO.updatLctrPlanAtchFileId", vEAPrcsAplctPrdInstrAsgnmVO); + } + + public void updateEduStateCdListAjax(VEPrcsDetailVO vEPrcsDetailVO) { + update("VEAPrcsAplctPrdInstrAsgnmDAO.updateEduStateCdListAjax", vEPrcsDetailVO); } } 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 4b4f7cbb..e4f688e5 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 @@ -70,4 +70,9 @@ public class VEAPrcsAplctPrdInstrAsgnmServiceImpl implements VEAPrcsAplctPrdInst vEAPrcsAplctPrdInstrAsgnmDAO.updatLctrPlanAtchFileId(vEAPrcsAplctPrdInstrAsgnmVO); } + + @Override + public void updateEduStateCdListAjax(VEPrcsDetailVO vEPrcsDetailVO) { + vEAPrcsAplctPrdInstrAsgnmDAO.updateEduStateCdListAjax(vEPrcsDetailVO); + } } diff --git a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/service/impl/CndtnTrgtMngDAO.java b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/service/impl/CndtnTrgtMngDAO.java index 42a7f562..304b0050 100644 --- a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/service/impl/CndtnTrgtMngDAO.java +++ b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/service/impl/CndtnTrgtMngDAO.java @@ -109,13 +109,17 @@ public class CndtnTrgtMngDAO extends EgovAbstractDAO { update("cndtnTrgtInfoMngDAO.update", cndtnTrgtInfoMngVO); } - public String findByTrgtNm(CndtnTrgtMngVO cndtnTrgtInfoMngVO) { - return (String) select("cndtnTrgtInfoMngDAO.findByTrgtNm", cndtnTrgtInfoMngVO); + public String findByTrgtNmAndDBirthAndEduStateCd(CndtnTrgtMngVO cndtnTrgtInfoMngVO) { + return (String) select("cndtnTrgtInfoMngDAO.findByTrgtNmAndDBirthAndEduStateCd", cndtnTrgtInfoMngVO); } public void updateUserId(CndtnTrgtMngVO cndtnTrgtMngVO) { update("cndtnTrgtInfoMngDAO.updateUserId", cndtnTrgtMngVO); } + public String findByTrgtNmAndDBirthAndUserIdAndEduStateCd(CndtnTrgtMngVO cndtnTrgtInfoMngVO) { + return (String) select("cndtnTrgtInfoMngDAO.findByTrgtNmAndDBirthAndUserIdAndEduStateCd", cndtnTrgtInfoMngVO); + } + } diff --git a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/web/CndtnTrgtMngController.java b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/web/CndtnTrgtMngController.java index ef83435c..fb89a983 100644 --- a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/web/CndtnTrgtMngController.java +++ b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/web/CndtnTrgtMngController.java @@ -1,11 +1,12 @@ package kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.web; +import java.util.ArrayList; import java.util.List; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpSession; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; @@ -13,7 +14,6 @@ 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 org.springframework.web.servlet.mvc.support.RedirectAttributes; import egovframework.rte.fdl.idgnr.EgovIdGnrService; import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; @@ -22,7 +22,6 @@ import kcc.com.cmm.util.StringUtil; import kcc.com.utl.user.service.CheckLoginUtil; import kcc.let.uat.uia.service.SsoLoginVO; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService; -import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsCntntVO; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsOnlnCntntService; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService; @@ -125,9 +124,8 @@ public class CndtnTrgtMngController { */ -// @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngList.do") @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtList.do") - public String cndtnSspnIdtmtMngList( + public String trgtList( @ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO , ModelMap model ) throws Exception { @@ -183,6 +181,74 @@ public class CndtnTrgtMngController { return "oprtn/cndtnSspnIdtmt/trgtList"; } + /** + * @methodName : trgtCmpltList + * @author : 이호영 + * @date : 2023.10.20 + * @description : 대상자 이수 목록 + * @param cndtnTrgtInfoMngVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtCmpltList.do") + public String trgtCmpltList( + @ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO + , ModelMap model + ) throws Exception { + + //로그인 처리==================================== + //로그인 정보 가져오기 + + String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo; + + //로그인 처리==================================== + + //1.pageing step1 + PaginationInfo paginationInfo = this.setCndtnPagingStep1(cndtnTrgtInfoMngVO); + + //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 + //paginationInfo.setRecordCountPerPage(10000); + + //2. pageing step2 + cndtnTrgtInfoMngVO = this.setCndtnPagingStep2(cndtnTrgtInfoMngVO, paginationInfo); + + //검색 조회 + if(StringUtil.isNotEmpty(cndtnTrgtInfoMngVO.getSearchKeyword())){ + + + String selectCondition = ""; + String searchStatus = cndtnTrgtInfoMngVO.getSearchStatus(); + + selectCondition = "AND a."+searchStatus+" LIKE CONCAT ('%', '" +cndtnTrgtInfoMngVO.getSearchKeyword() + "', '%')"; + cndtnTrgtInfoMngVO.setSearchQuery(selectCondition); + + } + +// List cndtnTrgtInfoMngVOList = cndtnTrgtInfoMngService.selectPagingList(cndtnTrgtInfoMngVO); + List cndtnTrgtInfoMngVOList = null; + try { + // 이수 조건 추가 + cndtnTrgtInfoMngVO.setEduStateCd("20"); + cndtnTrgtInfoMngVOList = cndtnTrgtInfoMngService.selectPagingList(cndtnTrgtInfoMngVO); + } catch (Exception e) { + e.printStackTrace(); + // TODO: handle exception + } + + //3.pageing step3 + paginationInfo = this.setCndtnPagingStep3(cndtnTrgtInfoMngVOList, paginationInfo); + + model.addAttribute("paginationInfo", paginationInfo); + + + //대상 리스트, 페이징 정보 전달 + model.addAttribute("list", cndtnTrgtInfoMngVOList); + + return "oprtn/cndtnSspnIdtmt/trgtCmpltList"; + } + /** * 조건부기소유예대상자 등록 화면 */ @@ -316,6 +382,45 @@ public class CndtnTrgtMngController { return "oprtn/cndtnSspnIdtmt/trgtDetail"; } + /** + * 조건부기소유예과정 수료자 상세화면 + */ + @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtCmpltDetail.do") + public String trgtCmpltDetail( + @ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO + , ModelMap model + , HttpServletRequest request + ) throws Exception { + + //로그인 처리==================================== + //로그인 정보 가져오기 + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + //로그인 처리==================================== + + //과정 조회 + CndtnTrgtMngVO cndtnTrgtInfoVO = cndtnTrgtInfoMngService.selectDetail(cndtnTrgtInfoMngVO); + model.addAttribute("info", cndtnTrgtInfoVO); + //세부과정 목록 조회 + + + List cndtnTrgtInfoMngVOList = new ArrayList(); + System.out.println(StringUtils.isEmpty(cndtnTrgtInfoMngVO.getTrgtNm()) || StringUtils.isEmpty(cndtnTrgtInfoMngVO.getdBirth())); + System.out.println("StringUtils.isEmpty(cndtnTrgtInfoMngVO.getTrgtNm()) : "+ StringUtils.isEmpty(cndtnTrgtInfoMngVO.getTrgtNm())); + System.out.println("StringUtils.isEmpty(cndtnTrgtInfoMngVO.getdBirth()) : "+ StringUtils.isEmpty(cndtnTrgtInfoMngVO.getdBirth())); + if(StringUtils.isNotEmpty(cndtnTrgtInfoMngVO.getTrgtNm()) || StringUtils.isNotEmpty(cndtnTrgtInfoMngVO.getdBirth())) + { + cndtnTrgtInfoMngVO.setFirstIndex(0); + cndtnTrgtInfoMngVO.setRecordCountPerPage(100000); + cndtnTrgtInfoMngVOList = cndtnTrgtInfoMngService.selectPagingList(cndtnTrgtInfoMngVO); + } + model.addAttribute("list", cndtnTrgtInfoMngVOList); + + + return "oprtn/cndtnSspnIdtmt/trgtCmpltDetail"; + } /** * 조건부기소유예과정 수정화면 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 e2a27b39..8c706a25 100644 --- a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/web/CndtnPrcsInfoMngController.java +++ b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/web/CndtnPrcsInfoMngController.java @@ -764,7 +764,7 @@ public class CndtnPrcsInfoMngController { } - List vEPrcsDetailVOList = vEEduMIXService.selectList(paramVO); + List vEPrcsDetailVOList = vEEduMIXService.selectTrgtList(paramVO); vEPrcsDetailVOList = egovCryptoUtil.decryptVeEduAplctList(vEPrcsDetailVOList); @@ -812,8 +812,12 @@ public class CndtnPrcsInfoMngController { SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 try { - + + // 신청상세정보 상태값 update vEEduMIXService.updateAplctStateCd(vEEduAplctVO); + + // 기소유예 대상자 상태값 udpate + vEEduMIXService.updateEduStateCd(vEEduAplctVO); modelAndView.addObject("result", "success"); } catch (Exception e) { modelAndView.addObject("result", ""); @@ -901,16 +905,9 @@ public class CndtnPrcsInfoMngController { try { // 교육 신청 테이블에 신청자 상태값 update vEAPrcsAplctPrdInstrAsgnmService.updateAplctStateCdListAjax(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); - } + + // 대상자 테이블에 update + vEAPrcsAplctPrdInstrAsgnmService.updateEduStateCdListAjax(vEPrcsDetailVO); modelAndView.addObject("result", "success"); } catch (Exception ex) { diff --git a/src/main/resources/egovframework/sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Tibero.xml index b08a251b..ce050959 100644 --- a/src/main/resources/egovframework/sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Tibero.xml @@ -145,6 +145,7 @@ - - + /* cndtnTrgtInfoMngDAO.findByTrgtNmAndDBirthAndUserIdAndEduStateCd */ SELECT sspn_idtmt_trgt_ord AS sspnIdtmtTrgtOrd FROM @@ -177,7 +191,31 @@ WHERE a.trgt_nm = #trgtNm# AND a.d_birth = #dBirth# - AND a.user_id IS null + AND ( + a.edu_state_cd = '10' + OR a.edu_state_cd = '40' + OR a.edu_state_cd = '50' + OR a.edu_state_cd = '60' + OR a.edu_state_cd = '70' + ) + + + + + diff --git a/src/main/resources/egovframework/sqlmap/ve/edu/VEEdu_MIX_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/edu/VEEdu_MIX_SQL_Tibero.xml index b691af20..399aabe3 100644 --- a/src/main/resources/egovframework/sqlmap/ve/edu/VEEdu_MIX_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/edu/VEEdu_MIX_SQL_Tibero.xml @@ -169,13 +169,14 @@ + + + /* VEEduMIXDAO.updateEduStateCd */ + + UPDATE + vea_sspn_idmt_trgt + SET + edu_state_cd = #eduStateCd# + WHERE + sspn_idtmt_trgt_ord = #sspnIdtmtTrgtOrd# + + + + /* VEAPrcsAplctPrdInstrAsgnmDAO.findByPrcsAplctPrdOrd */ diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctCfnMngDetail.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctCfnMngDetail.jsp index 0adf6884..22357685 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctCfnMngDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctCfnMngDetail.jsp @@ -96,9 +96,11 @@ } - function fn_statusChg(eduAplctOrd, aplctStateCd){ + function fn_statusChg(aplctStateCd, eduAplctOrd, sspnIdtmtTrgtOrd){ document.statusChgForm.eduAplctOrd.value = eduAplctOrd ; document.statusChgForm.aplctStateCd.value = aplctStateCd ; + document.statusChgForm.eduStateCd.value = aplctStateCd ; + document.statusChgForm.sspnIdtmtTrgtOrd.value = sspnIdtmtTrgtOrd ; var data = new FormData(document.getElementById("statusChgForm")); if(confirm("상태병경을 하시겠습니까?")){ var url = ""; @@ -151,11 +153,18 @@ // form 데이터를 묶지 않기 때문에 prcsAplctPrdOrd 데이터 필요함 function fn_statusChgList(p_aplctStateCd, p_prcsAplctPrdOrd) { var selectedEduAplctOrd = []; + var selectsspnIdtmtTrgtOrd = []; // "chk" 이름을 가진 체크박스가 체크된 항목들을 순회 $("input[name='chk']:checked").each(function() { + // 회원 ID var eduAplctOrdValue = $(this).val(); selectedEduAplctOrd.push(eduAplctOrdValue); + + // 대상자 ID + var sspnIdtmtTrgtOrd = $(this).data('info'); + selectsspnIdtmtTrgtOrd.push(sspnIdtmtTrgtOrd); + }); console.log('selectedEduAplctOrd : ', selectedEduAplctOrd); @@ -165,9 +174,16 @@ return false; } + /* + p_aplctStateCd + 이수 : 20 + 미이수 : 10 + */ var dataToSend = { "eduAplctOrdList": selectedEduAplctOrd, + "sspnIdtmtTrgtOrdList": selectsspnIdtmtTrgtOrd, "aplctStateCd": p_aplctStateCd, + "eduStateCd": p_aplctStateCd, "prcsAplctPrdOrd": p_prcsAplctPrdOrd }; @@ -209,6 +225,8 @@ + + @@ -436,10 +454,10 @@ + value="${list.eduAplctOrd}" data-info="${list.sspnIdtmtTrgtOrd }" title="Check" type="checkbox"/> - () + ()() @@ -451,8 +469,8 @@ - - + + diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngList.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngList.jsp index 2e0ec8fc..c6bb5061 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngList.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngList.jsp @@ -51,7 +51,12 @@ var strtPnttm = new Date($currentRow.find("td:eq(3)").text().split("~")[0].trim()); var endPnttm = new Date($currentRow.find("td:eq(3)").text().split("~")[1].trim()); var currentDate = new Date(); + // new Date에서 년, 월, 일만 생성 + currentDate = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate()); + console.log(currentDate); + console.log(endPnttm); + console.log(''); var ddlnCdText = ''; if (currentDate < strtPnttm) { ddlnCdText = "접수전"; diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtCmpltDetail.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtCmpltDetail.jsp new file mode 100644 index 00000000..433ae3c0 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtCmpltDetail.jsp @@ -0,0 +1,319 @@ + +<%@ 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 : cndtnEduPrcsMngDetail.jsp + * @Description : 조건부기소유예 상세화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2021.12.16 조용준 최초 생성 + * @author 조용주 + * @since 2021.12.16 + * @version 1.0 + * @see + * + */ +%> + + +교육과정관리 + + + + + + + + + + + + +
+
+ + +
+

수료자 상세

+
    +
  • +
  • +

    조건부기소유예관리

    +
  • +
  • 수료자 목록
  • +
  • 수료자 상세
  • +
+
+ + +
+ +
+

수료자 상세

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
의뢰일 +
+
+ + + +<%-- --%> + +
+
+
사건번호 + +
관할청 + +
성별 + + 연락처 + +
성명 + + 생년월일 + +
의뢰번호 + + 의뢰상태 + +
교육상태 + + 검사명 + +
+

주소

+
+ + +
+ + +
+
+
+ + + + + + + +
+

중복 대상자 검색

+
+ + +
+
+
+ + + + + + + + + + + + + + + + + + +<%-- --%> + + +
+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ');" style="cursor:pointer;"> +<%-- + + + + + + + + + +<%-- --%> + + + + + + + + +
의뢰일사건번호관할청생년월일성명성별의뢰번호의뢰상태교육상태주소검사명
');" style="cursor:pointer;"> --%> +<%-- --%> + + + +<%-- --%> + + + + + + + + + + + + + + + + + + + ${fn:length(fullAddr)> 5 ? fn:substring(fullAddr, 0, 5).concat('...') : ''} + + +
+
+ + + +
+
+
+
+
+
+ + +
+
+
+
+
+ + + diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtCmpltList.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtCmpltList.jsp new file mode 100644 index 00000000..f44ff13a --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtCmpltList.jsp @@ -0,0 +1,361 @@ + +<%@ 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 : cndtnEduPrcsMngList.jsp + * @Description : 조건부 기소유예 과정관리 목록 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2021.12.14 조용준 최초 생성 + * @author 조용준 + * @since 2021.12.14 + * @version 1.0 + * @see + * + */ +%> + + + + + + 교육과정관리 + + +
+ +
+ + + " /> + " /> + + + +
+
+ + +
+

수료자 목록

+
    +
  • +
  • +

    조건부기소유예관리

    +
  • +
  • 수료자 목록
  • +
+
+ + +
+
+

수료자 목록

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

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

+
+ + <%----%> +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ');" style="cursor:pointer;"> +<%-- + + + + + + + + + +<%-- --%> + + + + + + + + +
의뢰일사건번호관할청생년월일성명성별의뢰번호의뢰상태교육상태주소검사명
');" style="cursor:pointer;"> --%> +<%-- --%> + + + +<%-- --%> + + + + + + + + + + + + + + + + + + + ${fn:length(fullAddr)> 5 ? fn:substring(fullAddr, 0, 5).concat('...') : ''} + + +
+
+ + + +
+ +
+ + +
+
+
+ + + +
+ + + diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/eduAplctDetail.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/eduAplctDetail.jsp index 517e4633..cc0814c3 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/eduAplctDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/eduAplctDetail.jsp @@ -48,6 +48,8 @@ var strtPnttm = new Date(dateText.split("~")[0].trim().replace(/\./g, '-')); var endPnttm = new Date(dateText.split("~")[1].trim().replace(/\./g, '-')); var currentDate = new Date(); + // new Date에서 년, 월, 일만 생성 + currentDate = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate()); if (currentDate < strtPnttm) { $ddlnCdStts.text("접수전"); @@ -197,32 +199,32 @@ if(returnData.result == "success"){ // 대상자 테이블 pk 값 var sspnIdtmtTrgtOrd = returnData.id; - if(sspnIdtmtTrgtOrd != ''){ - alert("확인되었습니다."); - - // 교육 신청 ajax - // 대상자 이름, 생년월일, 대상자TB ID - fncEduReg(trgtNm, dBirth, sspnIdtmtTrgtOrd); - } else { - alert("대상자에 없습니다."); + alert(returnData.msg); + + // 교육 신청 ajax + // 대상자 이름, 생년월일, 대상자TB ID + if(returnData.next == "Y") + { + //sspnIdtmtTrgtOrd = returnData.id; + fncEduReg(trgtNm, dBirth, returnData.id); } }else{ - alert("대상자에 없습니다."); + alert(returnData.msg); } - fn_target_confirm_clean(); - +// fn_target_confirm_clean(); + location.reload(); }, error:function(request , status, error){ alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error); } }); - - - - $('#target_confirm_popup-close').click(); } - + + function fn_target_confirm_clean(){ + $('#trgtNm').val(''); + $('#dBirth').val(''); + }
diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/eduAplctList.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/eduAplctList.jsp index 6c614b59..583dae52 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/eduAplctList.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/eduAplctList.jsp @@ -93,6 +93,8 @@ $(document).ready(function(){ var strtPnttm = new Date($currentRow.find("td:eq(2)").text().split("~")[0].trim()); var endPnttm = new Date($currentRow.find("td:eq(2)").text().split("~")[1].trim()); var currentDate = new Date(); + // new Date에서 년, 월, 일만 생성 + currentDate = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate()); // 시간, 분, 초 초기화 strtPnttm.setHours(0, 0, 0, 0); @@ -274,20 +276,20 @@ $(document).ready(function(){ if(returnData.result == "success"){ // 대상자 테이블 pk 값 var sspnIdtmtTrgtOrd = returnData.id; - if(sspnIdtmtTrgtOrd != ''){ - alert("확인되었습니다."); - - // 교육 신청 ajax - // 대상자 이름, 생년월일, 대상자TB ID - fncEduReg(trgtNm, dBirth, sspnIdtmtTrgtOrd); - } else { - alert("대상자에 없습니다."); + alert(returnData.msg); + + // 교육 신청 ajax + // 대상자 이름, 생년월일, 대상자TB ID + if(returnData.next == "Y") + { + //sspnIdtmtTrgtOrd = returnData.id; + fncEduReg(trgtNm, dBirth, returnData.id); } }else{ - alert("대상자에 없습니다."); + alert(returnData.msg); } - fn_target_confirm_clean(); - +// fn_target_confirm_clean(); + location.reload(); }, error:function(request , status, error){ alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);