diff --git a/src/main/java/kcc/let/main/web/EgovMainController.java b/src/main/java/kcc/let/main/web/EgovMainController.java index 40437364..b9e2dd8e 100644 --- a/src/main/java/kcc/let/main/web/EgovMainController.java +++ b/src/main/java/kcc/let/main/web/EgovMainController.java @@ -42,6 +42,7 @@ import kcc.com.cmm.ComDefaultVO; import kcc.com.cmm.LoginVO; import kcc.com.cmm.util.IpUtil; import kcc.com.cmm.util.RedirectUrlMaker; +import kcc.com.cmm.util.StringUtil; import kcc.com.uss.ion.bnr.service.BannerVO; import kcc.com.uss.ion.bnr.service.EgovBannerService; import kcc.com.uss.ion.cyb.service.CyberAlertManageService; @@ -68,6 +69,8 @@ import kcc.let.uss.olp.qmc.service.EgovQustnrManageService; import kcc.let.uss.umt.service.EgovUserManageService; import kcc.let.utl.fcc.service.EgovCryptoUtil; import kcc.ve.cmm.VeConstants; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; import kcc.ve.oprtn.cmdTrgt.trgtMng.service.CmdTrgtMngService; import kcc.ve.oprtn.cmdTrgt.trgtMng.service.CmdTrgtMngVO; import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngService; @@ -158,6 +161,10 @@ public class EgovMainController { @Resource(name = "cmdTrgtInfoMngService") private CmdTrgtMngService cmdTrgtInfoMngService; + //과정차시 관리 + @Resource(name = "vEPrcsAplctPrdService") + private VEPrcsAplctPrdService vEPrcsAplctPrdService; + /** * 메인 페이지에서 각 업무 화면으로 연계하는 기능을 제공한다. @@ -283,41 +290,47 @@ public class EgovMainController { */ Map cmdTrgtInfoList = this.cmdTrgtInfo(); //전체건수 - model.addAttribute("cmdtnTrgtAllCnt", cmdTrgtInfoList.get("cmdtnTrgtAllCnt")); + model.addAttribute("cmdtnTrgtInfoAllCnt", cmdTrgtInfoList.get("cmdtnTrgtInfoAllCnt")); //완료건수 - model.addAttribute("cmdtnTrgtCompleteCnt", cmdTrgtInfoList.get("cmdtnTrgtCompleteCnt")); + model.addAttribute("cmdtnTrgtInfoCompleteCnt", cmdTrgtInfoList.get("cmdtnTrgtInfoCompleteCnt")); //취소건수 - model.addAttribute("cmdtnTrgtCancelCnt", cmdTrgtInfoList.get("cmdtnTrgtCancelCnt")); + model.addAttribute("cmdtnTrgtInfoCancelCnt", cmdTrgtInfoList.get("cmdtnTrgtInfoCancelCnt")); /* * (조건부기소유예) * 과정신청기간 현황 */ + model.addAttribute("cndtnEduPrcsAplctPrdMngList", eduPrcsAplctPrdMngList(VeConstants.LCTR_DIV_CD_60)); /* * (시정명령) * 과정신청기간 현황 */ + model.addAttribute("cmdtnEduPrcsAplctPrdMngList", eduPrcsAplctPrdMngList(VeConstants.LCTR_DIV_CD_70)); /* * (예방교육) * 과정신청기간 현황 */ + model.addAttribute("preventEduPrcsAplctPrdMngList", eduPrcsAplctPrdMngList(VeConstants.LCTR_DIV_CD_80)); /* * (조건부기소유예) * 확정과정 현황 */ + model.addAttribute("cndtnEduPrcsAplctCfnMngList", eduPrcsAplctCfnMngList(VeConstants.LCTR_DIV_CD_60)); /* * (시정명령) * 확정과정 현황 */ + model.addAttribute("cmdtnEduPrcsAplctCfnMngList", eduPrcsAplctCfnMngList(VeConstants.LCTR_DIV_CD_70)); /* * (예방교육) * 확정과정 현황 */ + model.addAttribute("preventEduPrcsAplctCfnMngList", eduPrcsAplctCfnMngList(VeConstants.LCTR_DIV_CD_80)); return "main/EgovMainList"; /* @@ -1123,11 +1136,97 @@ public class EgovMainController { Map returnMap = new HashMap(); - returnMap.put("cmdtnTrgtAllCnt", allCnt); - returnMap.put("cmdtnTrgtCompleteCnt", completeCnt); - returnMap.put("cmdtnTrgtCancelCnt", cancelCnt); + returnMap.put("cmdtnTrgtInfoAllCnt", allCnt); + returnMap.put("cmdtnTrgtInfoCompleteCnt", completeCnt); + returnMap.put("cmdtnTrgtInfoCancelCnt", cancelCnt); return returnMap; } - + + private List eduPrcsAplctPrdMngList(String lctrDivCd) { + + VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO(); + vEPrcsDetailVO.setFirstIndex(0); + vEPrcsDetailVO.setRecordCountPerPage(5); + vEPrcsDetailVO.setSearchSortCnd("prcs_ord"); + vEPrcsDetailVO.setSearchSortOrd("desc"); + + vEPrcsDetailVO.setLctrDivCd(lctrDivCd); + + try { + List vEPrcsDetailVOList = vEPrcsAplctPrdService.selectPagingList4Fndth(vEPrcsDetailVO); + + vEPrcsDetailVOList.forEach(t -> { + if (StringUtil.isEmpty(t.getDdlnCd())) { + try { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd"); + Date today = new Date(); + Date startDate = sdf.parse(t.getStrtPnttm()); + Date endDate = sdf.parse(t.getEndPnttm()); + + if (today.before(startDate)) { + // 접수전 + t.setDdlnCd(VeConstants.DDLN_CD_APP_BEFORE); + } else if (!today.before(startDate) && !today.after(endDate)) { + // 접수중 + t.setDdlnCd(VeConstants.DDLN_CD_APP_ING); + } else if (today.after(endDate)) { + // 접수종료 + t.setDdlnCd(VeConstants.DDLN_CD_APP_END); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + + return vEPrcsDetailVOList; + } catch (Exception e) { + return new ArrayList(); + } + } + + private List eduPrcsAplctCfnMngList(String lctrDivCd) { + + VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO(); + vEPrcsDetailVO.setFirstIndex(0); + vEPrcsDetailVO.setRecordCountPerPage(5); + vEPrcsDetailVO.setSearchSortCnd("prcs_ord"); + vEPrcsDetailVO.setSearchSortOrd("desc"); + + vEPrcsDetailVO.setLctrDivCd(lctrDivCd); + vEPrcsDetailVO.setDdlnCd("20"); + + try { + List vEPrcsDetailVOList = vEPrcsAplctPrdService.selectCfnPagingList4Fndth(vEPrcsDetailVO); + + vEPrcsDetailVOList.forEach(t -> { + if (StringUtil.isEmpty(t.getDdlnCd())) { + try { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd"); + Date today = new Date(); + Date startDate = sdf.parse(t.getStrtPnttm()); + Date endDate = sdf.parse(t.getEndPnttm()); + + if (today.before(startDate)) { + // 접수전 + t.setDdlnCd(VeConstants.DDLN_CD_APP_BEFORE); + } else if (!today.before(startDate) && !today.after(endDate)) { + // 접수중 + t.setDdlnCd(VeConstants.DDLN_CD_APP_ING); + } else if (today.after(endDate)) { + // 접수종료 + t.setDdlnCd(VeConstants.DDLN_CD_APP_END); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + + return vEPrcsDetailVOList; + } catch (Exception e) { + return new ArrayList(); + } + } } \ No newline at end of file diff --git a/src/main/java/kcc/ve/cmm/VeConstants.java b/src/main/java/kcc/ve/cmm/VeConstants.java index cb038d9c..5ebec9a6 100644 --- a/src/main/java/kcc/ve/cmm/VeConstants.java +++ b/src/main/java/kcc/ve/cmm/VeConstants.java @@ -1,5 +1,8 @@ package kcc.ve.cmm; +/** + * + */ public class VeConstants { public static final String MODE_CRT = "CREATE"; @@ -10,17 +13,45 @@ public class VeConstants { public static final String MODE_EXCEL = "EXCEL"; + /** + * 미사용 + */ public static final String LCTR_DIV_CD_10 = "10"; + /** + * 미사용 + */ public static final String LCTR_DIV_CD_20 = "20"; + /** + * 미사용 + */ public static final String LCTR_DIV_CD_30 = "30"; + /** + * 미사용 + */ public static final String LCTR_DIV_CD_40 = "40"; + /** + * 미사용 + */ public static final String LCTR_DIV_CD_50 = "50"; + /** + * 조건부 기소유예 + */ public static final String LCTR_DIV_CD_60 = "60"; + + /** + * 시정명령 + */ + public static final String LCTR_DIV_CD_70 = "70"; + + /** + * 예방교육 + */ + public static final String LCTR_DIV_CD_80 = "80"; public static final String STATUS_CD_SBMT = "10"; // 요청 @@ -212,5 +243,16 @@ public class VeConstants { public static final String REQ_STATE_CD_REQ = "15"; public static final String REQ_STATE_CD_NOTCOMPLETE = "35"; public static final String REQ_STATE_CD_EDUWAIT = "10"; + + /* + * VEA004 - DdlnCd + */ + public static final String DDLN_CD_APR_END = "10"; + public static final String DDLN_CD_EDU_COMPLETE = "20"; + public static final String DDLN_CD_APP_BEFORE = "30"; + public static final String DDLN_CD_APP_ING = "40"; + public static final String DDLN_CD_APP_END = "50"; + + } diff --git a/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcsAplctPrd_SQL_Postgresql.xml b/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcsAplctPrd_SQL_Postgresql.xml index 28df5586..50d17bc2 100644 --- a/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcsAplctPrd_SQL_Postgresql.xml +++ b/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcsAplctPrd_SQL_Postgresql.xml @@ -425,7 +425,7 @@ , (SELECT COUNT(*) FROM ve_edu_aplct x - JOIN LETTNGNRLMBER le ON + LEFT OUTER JOIN LETTNGNRLMBER le ON x.USER_ID = le.ESNTL_ID WHERE x.prcs_ord = a.prcs_aplct_prd_ord AND x.sbmt_yn='Y' diff --git a/src/main/webapp/WEB-INF/jsp/main/EgovMainList.jsp b/src/main/webapp/WEB-INF/jsp/main/EgovMainList.jsp index e36ad34c..e1674639 100644 --- a/src/main/webapp/WEB-INF/jsp/main/EgovMainList.jsp +++ b/src/main/webapp/WEB-INF/jsp/main/EgovMainList.jsp @@ -31,10 +31,16 @@