diff --git a/src/main/java/kcc/let/main/web/EgovMainController.java b/src/main/java/kcc/let/main/web/EgovMainController.java index 7a7f6fc5..a6b9541f 100644 --- a/src/main/java/kcc/let/main/web/EgovMainController.java +++ b/src/main/java/kcc/let/main/web/EgovMainController.java @@ -18,6 +18,9 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; +import org.apache.commons.lang.time.DateFormatUtils; +import org.apache.commons.lang.time.DateUtils; +import org.apache.commons.lang3.StringUtils; import org.json.simple.JSONArray; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; @@ -42,6 +45,7 @@ import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; import kcc.com.cmm.ComDefaultVO; import kcc.com.cmm.LoginVO; 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; @@ -51,6 +55,10 @@ import kcc.com.uss.ion.pwm.service.PopupManageVO; import kcc.com.uss.ion.pwm.service.PopupzoneVO; import kcc.kccadr.adjPgrMgr.cmm.service.PgrCmmService; import kcc.kccadr.adjPgrMgr.cmm.service.PgrCmmVO; +import kcc.kccadr.adjPgrMgr.iam.service.InternalApprovManageService; +import kcc.kccadr.adjPgrMgr.iam.service.InternalApprovManageVO; +import kcc.kccadr.cmm.CmmUtil; +import kcc.kccadr.cmm.KccadrConstants; import kcc.let.cop.bbs.service.BoardVO; import kcc.let.cop.bbs.service.EgovBBSManageService; import kcc.let.sts.com.StatsVO; @@ -137,6 +145,10 @@ public class EgovMainController { @Resource(name = "pgrCmmService") private PgrCmmService cmmService; + + @Resource(name = "internalApprovManageService") + private InternalApprovManageService internalApprovManageService; + /** * 메인 페이지에서 각 업무 화면으로 연계하는 기능을 제공한다. * @@ -417,9 +429,18 @@ public class EgovMainController { * @throws Exception */ @RequestMapping(value = "/cmm/main/exctvMainPage.do") - public String exctvMainPage(ModelMap model, HttpSession session) throws Exception{ + public String exctvMainPage(PgrCmmVO cmmVO, + InternalApprovManageVO internalApprovManageVO, + ModelMap model, + HttpSession session) throws Exception{ + + //나의 결재 요청 리스트 조회 + model.addAttribute("approvList", approvlistPaging(internalApprovManageVO, model, internalApprovManageService)); + + //사건 진행 현황 리스트 조회 + model.addAttribute("accdntList", accdntlistPaging(cmmVO, model, cmmService)); + return "main/exctvMainView"; -// return "main/EgovMainView"; } /** @@ -920,5 +941,93 @@ public class EgovMainController { System.out.println( "Calculation: " + cal ); System.out.println( "CPU Usage: " + usage ); } + + private List accdntlistPaging(PgrCmmVO cmmVO, ModelMap model, PgrCmmService cmmService) throws Exception { + + if (StringUtil.isEmpty(cmmVO.getSearchSortCnd())) { // 최초조회시 최신것 조회List + cmmVO.setSearchSortCnd("M.ADR_NO IS NULL DESC, M.ADR_NO DESC, M.SBMT_DE"); + cmmVO.setSearchSortOrd("DESC"); + } + + if (StringUtil.isEmpty(cmmVO.getSearchStartDt())) { // 조회일시가 null인경우 + Date today = new Date(); + cmmVO.setSearchStartDt(DateFormatUtils.format(DateUtils.addMonths(today, -1), "yyyyMMdd")); + cmmVO.setSearchEndDt(DateFormatUtils.format(today, "yyyyMMdd")); + } + + /** paging */ + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(cmmVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(cmmVO.getPageUnit()); + paginationInfo.setPageSize(cmmVO.getPageSize()); + + cmmVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + cmmVO.setLastIndex(paginationInfo.getLastRecordIndex()); + cmmVO.setRecordCountPerPage(3); + + paginationInfo.setTotalRecordCount(cmmService.selectPgrCmmListCnt(cmmVO)); + model.addAttribute("paginationInfo", paginationInfo); + + return cmmService.selectPgrCmmList(cmmVO); + + } + private List approvlistPaging(InternalApprovManageVO internalApprovManageVO, ModelMap model, InternalApprovManageService internalApprovManageService) throws Exception { + + String auth = EgovUserDetailsHelper.isAuthenticated() ? null : EgovUserDetailsHelper.getAuthenticatedUser().toString(); + LoginVO loginVO = "anonymousUser".equals(auth) ? null : (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + + if (loginVO == null) { + return null; + } + + internalApprovManageVO.setFrstRegisterId(loginVO.getUniqId()); + internalApprovManageVO.setMemSeq(loginVO.getUniqId()); + internalApprovManageVO.setSearchSbmtId(loginVO.getUniqId()); + + if("".equals(internalApprovManageVO.getSearchSortCnd())){ //최초조회시 최신것 조회List + internalApprovManageVO.setSearchSortCnd("RS.adrNo"); + internalApprovManageVO.setSearchSortOrd("desc"); + } + + //내부결재 목록 페이지 접근시 결재상태 - 결재대기(01), 결재진행중(02) 상태가 기본값으로 해달라는 요청_220225_이준호수정 + if("".equals(internalApprovManageVO.getSearchStatusArr()) || internalApprovManageVO.getSearchStatusArr() == null){ + String[] defaultSearchStatusArr = {"01", "02", "03", "04"}; + internalApprovManageVO.setSearchStatusArr(defaultSearchStatusArr); + } + + if(StringUtils.isEmpty(internalApprovManageVO.getSearchStartDt()) && StringUtils.isEmpty(internalApprovManageVO.getSearchEndDt())){ + internalApprovManageVO.setSearchStartDt(CmmUtil.getDiffMonth(1 , "yyyy-MM-dd")); + internalApprovManageVO.setSearchEndDt(CmmUtil.getDateNow("yyyy-MM-dd")); + } + + /** paging */ + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(internalApprovManageVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(3); + paginationInfo.setPageSize(internalApprovManageVO.getPageSize()); + + //위원장 아이디는 위원장이 결재 시점에서만 조회되게 + // 리스트 조건절 결재선 1,2 라인이 결재 완료이고 위원장 아이디 일때만 조회 + UserManageVO userManageVO = new UserManageVO(); + userManageVO = userManageService.selectUser(loginVO.getUniqId()); + + if(KccadrConstants.ADR_SBMT_TY_40.equals(userManageVO.getOfcpsNm())) { + internalApprovManageVO.setUiWonJangId(loginVO.getUniqId()); + } + + //22.02.08 이준호 내부결재목록 최고관리자의 경우 모든 결재가 보이게 처리 요청사항 적용 + if("ROLE_ADMIN".equals(loginVO.getAuthority())) { + internalApprovManageVO.setAuthor(loginVO.getAuthority()); + } + + internalApprovManageVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + internalApprovManageVO.setLastIndex(paginationInfo.getLastRecordIndex()); + internalApprovManageVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + paginationInfo.setTotalRecordCount(internalApprovManageService.selectInternalApprovManageCount(internalApprovManageVO)); + model.addAttribute("paginationInfo", paginationInfo); + + return internalApprovManageService.selectInternalApprovManageList(internalApprovManageVO); + + } } \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/main/exctvMainView.jsp b/src/main/webapp/WEB-INF/jsp/main/exctvMainView.jsp index b4567b07..45ee652d 100644 --- a/src/main/webapp/WEB-INF/jsp/main/exctvMainView.jsp +++ b/src/main/webapp/WEB-INF/jsp/main/exctvMainView.jsp @@ -18,6 +18,7 @@ <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> <%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> <%@ page import="java.util.Date" %> +<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%> @@ -53,9 +54,46 @@ listForm.submit(); } } + + function fncGoApprovDetail(adrSeq, adrSn, sbmtSeq, sbmtTy){ + var listForm = document.ApprovListForm ; + listForm.adrSeq.value = adrSeq; + listForm.adrSn.value = adrSn; + listForm.sbmtSeq.value = sbmtSeq; + if(sbmtTy == '309010'){ + listForm.action = ""; + }else{ + listForm.action = ""; + } + listForm.submit(); + } + + function fncGoAccdntDetail(adrSeq, adrSn, reqOlCd) { + var listForm = document.AccdntListForm; + listForm.adrSeq.value = adrSeq; + listForm.adrSn.value = adrSn; + listForm.reqOlCd.value = reqOlCd; + listForm.action = ""; + listForm.submit(); + } + + function fnGoList(url){ + location.href = url; + } + + + + + + + + + + +
@@ -72,7 +110,7 @@

나의 결재 요청

- +
@@ -96,7 +134,7 @@ - + + + + + <%-- '${list.adrSeq}','${list.adrSn}', '${list.sbmtSeq}' --%> +

+ <%-- '${list.adrSeq}','${list.adrSn}', '${list.sbmtSeq}' --%> + + + +

${list.adrNo}

+ + +

+ + +

${list.frstRegistPnttm}

+ + +

+ ${list.allYn eq 'Y' ? list.lastUpdtPnttm : '-'} + +

+ <%-- + '${list.adrSeq}','${list.adrSn}', '${list.sbmtSeq}' + --%> + + + +

+ + + 결재대기 + + + 결재완료 + + + 결재반려 + + + + + +

+
+ + +
+ + +

사건 진행 현황

- +
@@ -150,7 +239,7 @@ - + + + + + ', '', '');"> + + + ', '', '');"> + + + ', '', '');">

+ + + ', '', '');">

+ + +

+ + + + + +

+ +

+
+ +

+ +

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