diff --git a/src/main/java/kcc/com/cmm/util/DateUtil.java b/src/main/java/kcc/com/cmm/util/DateUtil.java index 2b4ce537..f06c48f0 100644 --- a/src/main/java/kcc/com/cmm/util/DateUtil.java +++ b/src/main/java/kcc/com/cmm/util/DateUtil.java @@ -219,4 +219,21 @@ public final class DateUtil { return df.format(cal.getTime()); } + /** + * @methodName : setLastDayOfMonth + * @author : 이호영 + * @date : 2022.11.23 + * @description : 해당 년 월의 마지막 날짜 구함 + * @param year + * @param month + * @return + */ + public static int setLastDayOfMonth(String year, String month) { + + Calendar cal = Calendar.getInstance(); + cal.set(Integer.parseInt(year), Integer.parseInt(month)-1, 1); + + return cal.getActualMaximum(Calendar.DAY_OF_MONTH); + } + } diff --git a/src/main/java/kcc/kccadr/adjReqMgrOff/service/AdjReqMgrOffLineService.java b/src/main/java/kcc/kccadr/adjReqMgrOff/service/AdjReqMgrOffLineService.java index f67d75b9..4fbd7503 100644 --- a/src/main/java/kcc/kccadr/adjReqMgrOff/service/AdjReqMgrOffLineService.java +++ b/src/main/java/kcc/kccadr/adjReqMgrOff/service/AdjReqMgrOffLineService.java @@ -37,4 +37,6 @@ public interface AdjReqMgrOffLineService { int updateAdjstReqMgrOff(AdjReqMgrOffLineVO adjReqMgrOffLineVO) throws Exception; String selectAdjstReqMgrOffStatCdYn(AdjReqMgrOffLineVO adjReqMgrOffLineVO) throws Exception; + + List findByApprDeList(); } diff --git a/src/main/java/kcc/kccadr/adjReqMgrOff/service/AdjReqMgrSttstVO.java b/src/main/java/kcc/kccadr/adjReqMgrOff/service/AdjReqMgrSttstVO.java index bca71d54..cc44f65f 100644 --- a/src/main/java/kcc/kccadr/adjReqMgrOff/service/AdjReqMgrSttstVO.java +++ b/src/main/java/kcc/kccadr/adjReqMgrOff/service/AdjReqMgrSttstVO.java @@ -9,6 +9,8 @@ public class AdjReqMgrSttstVO extends ComDefaultVO implements Serializable { private String srchYear = ""; // 검색 년도 private String srchType1 = ""; // 검색 조건1 월/반기/분기 private String srchType2 = ""; // 검색 조건2 1~12월/상,하반기/1분기~4분기 + private String srchStrtDe = ""; // 검색 시작 일자 + private String srchEndDe = ""; // 검색 종료 일자 // 조정위원 @@ -59,6 +61,18 @@ public class AdjReqMgrSttstVO extends ComDefaultVO implements Serializable { public void setSrchType2(String srchType2) { this.srchType2 = srchType2; } + public String getSrchStrtDe() { + return srchStrtDe; + } + public void setSrchStrtDe(String srchStrtDe) { + this.srchStrtDe = srchStrtDe; + } + public String getSrchEndDe() { + return srchEndDe; + } + public void setSrchEndDe(String srchEndDe) { + this.srchEndDe = srchEndDe; + } public String getMemSeq() { return memSeq; } diff --git a/src/main/java/kcc/kccadr/adjReqMgrOff/service/impl/AdjReqMgrOffLineDAO.java b/src/main/java/kcc/kccadr/adjReqMgrOff/service/impl/AdjReqMgrOffLineDAO.java index eaf9cd29..45c39a17 100644 --- a/src/main/java/kcc/kccadr/adjReqMgrOff/service/impl/AdjReqMgrOffLineDAO.java +++ b/src/main/java/kcc/kccadr/adjReqMgrOff/service/impl/AdjReqMgrOffLineDAO.java @@ -106,4 +106,8 @@ public class AdjReqMgrOffLineDAO extends EgovAbstractDAO { return (String) select("adjReqMgrOffLineDAO.selectAdjstReqMgrOffStatCdYn", adjReqMgrOffLineVO); } + + public List findByApprDeList() { + return (List) list("adjReqMgrOffLineDAO.findByApprDeList"); + } } diff --git a/src/main/java/kcc/kccadr/adjReqMgrOff/service/impl/AdjReqMgrOffLineServiceImpl.java b/src/main/java/kcc/kccadr/adjReqMgrOff/service/impl/AdjReqMgrOffLineServiceImpl.java index f36a026e..bc5ca2c6 100644 --- a/src/main/java/kcc/kccadr/adjReqMgrOff/service/impl/AdjReqMgrOffLineServiceImpl.java +++ b/src/main/java/kcc/kccadr/adjReqMgrOff/service/impl/AdjReqMgrOffLineServiceImpl.java @@ -1,15 +1,18 @@ package kcc.kccadr.adjReqMgrOff.service.impl; import java.util.ArrayList; +import java.util.Calendar; import java.util.List; import javax.annotation.Resource; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; import egovframework.rte.fdl.idgnr.EgovIdGnrService; import kcc.com.cmm.service.CmmnDetailCode; +import kcc.com.cmm.util.DateUtil; import kcc.com.utl.user.service.CheckAdrProcessUtil; import kcc.kccadr.adjReqMgrOff.service.AdjReqMgrOffLineService; import kcc.kccadr.adjReqMgrOff.service.AdjReqMgrOffLineVO; @@ -725,8 +728,83 @@ public String insertAdjReqMgrRpplReq(AdjReqMgrOffLineVO adjReqMgrOffLineVO) thro } @Override - public List adjReqMgrSttstList(AdjReqMgrSttstVO adjReqMgrSttstVO) throws Exception { - return adjReqMgrOffLineDAO.adjReqMgrSttstList(adjReqMgrSttstVO); + public List adjReqMgrSttstList(AdjReqMgrSttstVO sttstVO) throws Exception { + + /* + * 검색 조건이 있는지 확인 + * 있으면 조건에 맞게 데이터 가공 + */ + String srchYear = sttstVO.getSrchYear(); + if(StringUtils.isNotEmpty(srchYear)) + { + String srchType2 = sttstVO.getSrchType2().replaceAll(",", ""); + // 세부선택 안할 시 Exception 방지 + sttstVO.setSrchStrtDe(srchYear+"-01-01"); + sttstVO.setSrchEndDe(srchYear+"-12-31"); + + + if("01".equals(sttstVO.getSrchType1())) + { + // 상반기 + if("01".equals(srchType2)) + { + sttstVO.setSrchStrtDe(srchYear+"-01-01"); + sttstVO.setSrchEndDe(srchYear+"-06-30"); + } + // 하반기 + else if("02".equals(srchType2)) + { + sttstVO.setSrchStrtDe(srchYear+"-07-01"); + sttstVO.setSrchEndDe(srchYear+"-12-31"); + } + + } + // 분기 + else if("02".equals(sttstVO.getSrchType1())) + { + // 1분기 + if("01".equals(srchType2)) + { + sttstVO.setSrchStrtDe(srchYear+"-01-01"); + sttstVO.setSrchEndDe(srchYear+"-03-31"); + } + // 2분기 + else if("02".equals(srchType2)) + { + sttstVO.setSrchStrtDe(srchYear+"-04-01"); + sttstVO.setSrchEndDe(srchYear+"-06-30"); + } + // 3분기 + else if("03".equals(srchType2)) + { + sttstVO.setSrchStrtDe(srchYear+"-07-01"); + sttstVO.setSrchEndDe(srchYear+"-09-30"); + } + // 4분기 + else if("04".equals(srchType2)) + { + sttstVO.setSrchStrtDe(srchYear+"-10-01"); + sttstVO.setSrchEndDe(srchYear+"-12-31"); + + } + } + // 월 + else if("03".equals(sttstVO.getSrchType1())) + { + sttstVO.setSrchStrtDe(srchYear+"-"+srchType2+"-01"); + sttstVO.setSrchEndDe(srchYear+"-"+srchType2+"-"+DateUtil.setLastDayOfMonth(srchYear, srchType2)); + + } + // 년도 전체 + else + { + sttstVO.setSrchStrtDe(srchYear+"-01-01"); + sttstVO.setSrchEndDe(srchYear+"-12-31"); + } + } + + + return adjReqMgrOffLineDAO.adjReqMgrSttstList(sttstVO); } @Override @@ -1034,5 +1112,11 @@ public String insertAdjReqMgrRpplReq(AdjReqMgrOffLineVO adjReqMgrOffLineVO) thro return resultSts; } + + + @Override + public List findByApprDeList() { + return adjReqMgrOffLineDAO.findByApprDeList(); + } } diff --git a/src/main/java/kcc/kccadr/advcSttst/web/AdvcSttstController.java b/src/main/java/kcc/kccadr/advcSttst/web/AdvcSttstController.java index 8895cec3..edb75275 100644 --- a/src/main/java/kcc/kccadr/advcSttst/web/AdvcSttstController.java +++ b/src/main/java/kcc/kccadr/advcSttst/web/AdvcSttstController.java @@ -470,10 +470,20 @@ public class AdvcSttstController { paginationInfo.setTotalRecordCount(adjReqMgrOffLineService.adjReqMgrOffListCount(adjReqMgrOffLineVO)); model.addAttribute("paginationInfo", paginationInfo); */ - List list = adjReqMgrOffLineService.adjReqMgrSttstList(adjReqMgrSttstVO); + + List srchYearList = adjReqMgrOffLineService.findByApprDeList(); + List list = null; + try { + + list = adjReqMgrOffLineService.adjReqMgrSttstList(adjReqMgrSttstVO); + } catch (Exception e) { + // TODO: handle exception + e.printStackTrace(); + } // 복호화 //decryptInfomation(list, null); decryptInfomation4Sttst(list, null); + model.addAttribute("srchYearList", srchYearList); model.addAttribute("list", list); diff --git a/src/main/resources/egovframework/sqlmap/kccadr/adjReqMgrOff/AdjReqMgrOff_SQL_Mysql.xml b/src/main/resources/egovframework/sqlmap/kccadr/adjReqMgrOff/AdjReqMgrOff_SQL_Mysql.xml index 4e896a1d..0826f776 100644 --- a/src/main/resources/egovframework/sqlmap/kccadr/adjReqMgrOff/AdjReqMgrOff_SQL_Mysql.xml +++ b/src/main/resources/egovframework/sqlmap/kccadr/adjReqMgrOff/AdjReqMgrOff_SQL_Mysql.xml @@ -644,6 +644,9 @@ AND amm.MEM_DEPT_SEQ=D.MEM_DEPT_SEQ AND M.STAT_CD='400000' + + M.APPR_DE BETWEEN TO_DATETIME(#srchStrtDe#, 'YYYY-MM-DD') AND TO_DATETIME(#srchEndDe#, 'YYYY-MM-DD') + )aa GROUP BY mem_seq, ccTy )aaa @@ -782,6 +785,9 @@ AND amm.MEM_DEPT_SEQ=D.MEM_DEPT_SEQ AND M.STAT_CD='400000' + + M.APPR_DE BETWEEN TO_DATETIME(#srchStrtDe#, 'YYYY-MM-DD') AND TO_DATETIME(#srchEndDe#, 'YYYY-MM-DD') + )aaa , adr_hstry bbb WHERE aaa.hstrySeq=bbb.adr_hstry_seq @@ -1001,5 +1007,10 @@ + + + diff --git a/src/main/webapp/WEB-INF/jsp/kccadr/adjPgrMgr/apm/popup/adjstReqOpenExamplePop.jsp b/src/main/webapp/WEB-INF/jsp/kccadr/adjPgrMgr/apm/popup/adjstReqOpenExamplePop.jsp index fca02b82..bd15157b 100644 --- a/src/main/webapp/WEB-INF/jsp/kccadr/adjPgrMgr/apm/popup/adjstReqOpenExamplePop.jsp +++ b/src/main/webapp/WEB-INF/jsp/kccadr/adjPgrMgr/apm/popup/adjstReqOpenExamplePop.jsp @@ -97,6 +97,22 @@ function workView(obj){ $(obj).removeClass("btn_close").addClass("btn_open"); } } +// 신청취지 텍스트에 추가 +function addText(obj, exmpCd){ + console.log("??"); + // 답변서 code == 04 + if(exmpCd == '04') + { + $('#adrDocCn1').text(obj.text); + $(".tooltip-close").trigger("click"); + + } + else + { + $("#reqCn1", opener.document).text($('#reqCn1').text().trim()+' '+obj.text); + } + +}