이준호 전자조정시스템 고도화 커밋
- (관리자) 메인 대시보드 리스트 추가
This commit is contained in:
parent
c57408e835
commit
274bb3bca2
@ -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<PgrCmmVO> 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<InternalApprovManageVO> 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);
|
||||
|
||||
}
|
||||
}
|
||||
@ -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"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
@ -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 = "<c:url value='/kccadr/adjPgrMgr/iam/internalApprovManageEndDetail.do'/>";
|
||||
}else{
|
||||
listForm.action = "<c:url value='/kccadr/adjPgrMgr/iam/internalApprovManageDetail.do'/>";
|
||||
}
|
||||
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 = "<c:url value='/kccadr/adjPgrMgr/apm/apmDetail.do'/>";
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
function fnGoList(url){
|
||||
location.href = url;
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<form:form id="ApprovListForm" name="ApprovListForm" method="post" commandName="internalApprovManageVO">
|
||||
<input type="hidden" name="adrSeq" value="" />
|
||||
<input type="hidden" name="adrSn" value="" />
|
||||
<input type="hidden" name="sbmtSeq" value="" />
|
||||
</form:form>
|
||||
<form:form id="AccdntListForm" name="AccdntListForm" commandName="cmmVO" onsubmit="return false;" method="post">
|
||||
<input type="hidden" name="adrSeq" />
|
||||
<input type="hidden" name="adrSn" />
|
||||
<input type="hidden" name="reqOlCd" />
|
||||
</form:form>
|
||||
|
||||
<div class="cont_wrap">
|
||||
<div class="box">
|
||||
<!-- <div class="cont_tit"> -->
|
||||
@ -72,7 +110,7 @@
|
||||
<div class="tb_tit">
|
||||
<p>나의 결재 요청</p>
|
||||
<div class="btn_wrap">
|
||||
<button type="button" class="btn_plus" title="더보기"><i></i></button>
|
||||
<button type="button" class="btn_plus" onclick="fnGoList('/kccadr/adjPgrMgr/iam/internalApprovManageList.do');" title="더보기"><i></i></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="list tbType01">
|
||||
@ -96,7 +134,7 @@
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<!-- <tr>
|
||||
<td>접수결재</td>
|
||||
<td>2022조정075</td>
|
||||
<td>컴퓨터프로그램</td>
|
||||
@ -119,14 +157,65 @@
|
||||
<td>2022-09-01 18:00</td>
|
||||
<td>2022-09-01 18:00</td>
|
||||
<td>결재완료</td>
|
||||
</tr>
|
||||
</tr> -->
|
||||
<c:forEach var="list" items="${approvList}" varStatus="status">
|
||||
<tr>
|
||||
<td>
|
||||
<%--<font color="white"> '${list.adrSeq}','${list.adrSn}', '${list.sbmtSeq}'</font> --%>
|
||||
<a href="#none" onclick="fncGoApprovDetail('${list.adrSeq}', '${list.adrSn}', '${list.sbmtSeq}', '${list.sbmtTy}');"><p><kc:code codeId="CC013" code="${list.sbmtTy}"/></p></a>
|
||||
<%--<font color="white"> '${list.adrSeq}','${list.adrSn}', '${list.sbmtSeq}'</font> --%>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<a href="#none" onclick="fncGoApprovDetail('${list.adrSeq}', '${list.adrSn}', '${list.sbmtSeq}', '${list.sbmtTy}');"><p>${list.adrNo}</p></a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#none" onclick="fncGoApprovDetail('${list.adrSeq}', '${list.adrSn}', '${list.sbmtSeq}', '${list.sbmtTy}');"><p><kc:code codeId="CC002" code="${list.ccTy}"/></p></a>
|
||||
</td>
|
||||
<td>
|
||||
<p>${list.frstRegistPnttm}</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
${list.allYn eq 'Y' ? list.lastUpdtPnttm : '-'}
|
||||
|
||||
</p>
|
||||
<%--
|
||||
<font color="white"> '${list.adrSeq}','${list.adrSn}', '${list.sbmtSeq}'</font>
|
||||
--%>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#none" onclick="fncGoApprovDetail('${list.adrSeq}', '${list.adrSn}', '${list.sbmtSeq}', '${list.sbmtTy}');">
|
||||
<p>
|
||||
<c:choose>
|
||||
<c:when test="${list.cfmStatCd eq '01'}">
|
||||
결재대기
|
||||
</c:when>
|
||||
<c:when test="${list.cfmStatCd eq '03'}">
|
||||
결재완료
|
||||
</c:when>
|
||||
<c:when test="${list.cfmStatCd eq '04'}">
|
||||
결재반려
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<kc:code codeId="CC041" code="${list.sbmtGradeCd}"/>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</p>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
<c:if test="${empty approvList}">
|
||||
<tr><td colspan="6"><spring:message code="common.nodata.msg" /></td></tr>
|
||||
</c:if>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="tb_tit">
|
||||
<p>사건 진행 현황</p>
|
||||
<div class="btn_wrap">
|
||||
<button type="button" class="btn_plus" title="더보기"><i></i></button>
|
||||
<button type="button" class="btn_plus" onclick="fnGoList('/kccadr/adjPgrMgr/apm/apmList.do');" title="더보기"><i></i></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="list tbType01">
|
||||
@ -150,7 +239,7 @@
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<!-- <tr>
|
||||
<td>2022-09-01</td>
|
||||
<td>2022조정075</td>
|
||||
<td>홍길동</td>
|
||||
@ -173,7 +262,48 @@
|
||||
<td>편집저작물</td>
|
||||
<td>합의5부</td>
|
||||
<td>배당결재요청</td>
|
||||
</tr>
|
||||
</tr> -->
|
||||
<c:forEach var="item" items="${accdntList}" varStatus="status">
|
||||
<tr>
|
||||
<td>
|
||||
<a href="#" onclick="fncGoAccdntDetail('<c:out value="${item.adrSeq}" />', '<c:out value="${item.adrSn}" />', '<c:out value="${item.reqOlCd}"/>');"> <c:out value="${item.sbmtDeDay}" /></a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#" onclick="fncGoAccdntDetail('<c:out value="${item.adrSeq}" />', '<c:out value="${item.adrSn}" />', '<c:out value="${item.reqOlCd}"/>');"><c:out value="${item.adrNo}" /></a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#" onclick="fncGoAccdntDetail('<c:out value="${item.adrSeq}" />', '<c:out value="${item.adrSn}" />', '<c:out value="${item.reqOlCd}"/>');"> <p><c:out value="${item.appliCantNm}" /></p></a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#" onclick="fncGoAccdntDetail('<c:out value="${item.adrSeq}" />', '<c:out value="${item.adrSn}" />', '<c:out value="${item.reqOlCd}"/>');"> <p><c:out value="${item.ccTyTx}" /></p></a>
|
||||
</td>
|
||||
<td>
|
||||
<p><c:out value="${item.memDeptNm}" /></p>
|
||||
</td>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${item.statCdTx eq '' || item.statCdTx eq null }"></c:when>
|
||||
<c:when test="${item.statCd eq '104010'}">
|
||||
<p class="status_cmp">
|
||||
<c:out value="${item.statCdTx}" />
|
||||
</p>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<p class="status_ing">
|
||||
<c:out value="${item.statCdTx}" />
|
||||
</p>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
<c:if test="${empty accdntList}">
|
||||
<tr>
|
||||
<td colspan="6">
|
||||
<spring:message code="common.nodata.msg" />
|
||||
</td>
|
||||
</tr>
|
||||
</c:if>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user