From 485622180a4ac3f7b14b8cb97347e128b9ca5987 Mon Sep 17 00:00:00 2001 From: hylee Date: Fri, 14 Oct 2022 18:20:05 +0900 Subject: [PATCH] =?UTF-8?q?refactor:=EC=9D=98=EA=B2=AC=EA=B4=80=EB=A6=AC?= =?UTF-8?q?=20=EB=AA=A9=EB=A1=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../opinion/service/AdjstOpinionService.java | 18 + .../opinion/service/AdjstOpinionVO.java | 87 + .../opinion/service/impl/AdjstOpinionDAO.java | 170 ++ .../service/impl/AdjstOpinionServiceImpl.java | 41 + .../opinion/web/AdjstOpinionController.java | 99 + .../web/AdjstConciliatorController.java | 2036 ++++++++--------- .../sql-map-config-mysql-kccadr-opinion.xml | 9 + .../opinion/AdjustOpinion_SQL_Mysql.xml | 29 + .../jsp/web/kccadr/adjcclt/adjstDrtDetail.jsp | 32 + .../adjcclt/opinion/adjstOpinionList.jsp | 171 ++ 10 files changed, 1674 insertions(+), 1018 deletions(-) create mode 100644 src/main/java/kcc/kccadr/adjcclt/opinion/service/AdjstOpinionService.java create mode 100644 src/main/java/kcc/kccadr/adjcclt/opinion/service/AdjstOpinionVO.java create mode 100644 src/main/java/kcc/kccadr/adjcclt/opinion/service/impl/AdjstOpinionDAO.java create mode 100644 src/main/java/kcc/kccadr/adjcclt/opinion/service/impl/AdjstOpinionServiceImpl.java create mode 100644 src/main/java/kcc/kccadr/adjcclt/opinion/web/AdjstOpinionController.java create mode 100644 src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-kccadr-opinion.xml create mode 100644 src/main/resources/egovframework/sqlmap/kccadr/opinion/AdjustOpinion_SQL_Mysql.xml create mode 100644 src/main/webapp/WEB-INF/jsp/web/kccadr/adjcclt/opinion/adjstOpinionList.jsp diff --git a/src/main/java/kcc/kccadr/adjcclt/opinion/service/AdjstOpinionService.java b/src/main/java/kcc/kccadr/adjcclt/opinion/service/AdjstOpinionService.java new file mode 100644 index 00000000..0b791d30 --- /dev/null +++ b/src/main/java/kcc/kccadr/adjcclt/opinion/service/AdjstOpinionService.java @@ -0,0 +1,18 @@ +package kcc.kccadr.adjcclt.opinion.service; + +import java.util.List; + +import egovframework.rte.psl.dataaccess.util.EgovMap; +import kcc.kccadr.adjPgrMgr.exmp.cmm.ExmpManageVO; +import kcc.kccadr.adjcclt.service.AdjstConciliatorVO; +import kcc.kccadr.cmm.RestResponse; + +public interface AdjstOpinionService { + + List selectAdjstOpinionList(AdjstOpinionVO adjstOpinionVO); + + Integer selectAdjstOpinionListCount(AdjstOpinionVO adjstOpinionVO) throws Exception; + +// RestResponse adjstFindByOpinion(AdjstOpinionVO adjstOpinionVO); + +} diff --git a/src/main/java/kcc/kccadr/adjcclt/opinion/service/AdjstOpinionVO.java b/src/main/java/kcc/kccadr/adjcclt/opinion/service/AdjstOpinionVO.java new file mode 100644 index 00000000..54c0b0a6 --- /dev/null +++ b/src/main/java/kcc/kccadr/adjcclt/opinion/service/AdjstOpinionVO.java @@ -0,0 +1,87 @@ +package kcc.kccadr.adjcclt.opinion.service; + +import java.io.Serializable; +import java.util.List; + +import kcc.com.cmm.ComDefaultVO; +import kcc.com.cmm.service.FileVO; + +public class AdjstOpinionVO extends ComDefaultVO implements Serializable { + + /** + * + */ + private static final long serialVersionUID = -2085681165590020261L; + + + private String adrSeq; + private String adrSn; + private String prtclSeq; + private String opinionSeq; + private String opinionTy; + private String cn; + private String frstRegistPnttm; + private String frstRegisterId; + + public String getAdrSeq() { + return adrSeq; + } + public void setAdrSeq(String adrSeq) { + this.adrSeq = adrSeq; + } + public String getAdrSn() { + return adrSn; + } + public void setAdrSn(String adrSn) { + this.adrSn = adrSn; + } + public String getPrtclSeq() { + return prtclSeq; + } + public void setPrtclSeq(String prtclSeq) { + this.prtclSeq = prtclSeq; + } + public String getOpinionSeq() { + return opinionSeq; + } + public void setOpinionSeq(String opinionSeq) { + this.opinionSeq = opinionSeq; + } + public String getOpinionTy() { + return opinionTy; + } + public void setOpinionTy(String opinionTy) { + this.opinionTy = opinionTy; + } + public String getCn() { + return cn; + } + public void setCn(String cn) { + this.cn = cn; + } + public String getFrstRegistPnttm() { + return frstRegistPnttm; + } + public void setFrstRegistPnttm(String frstRegistPnttm) { + this.frstRegistPnttm = frstRegistPnttm; + } + public String getFrstRegisterId() { + return frstRegisterId; + } + public void setFrstRegisterId(String frstRegisterId) { + this.frstRegisterId = frstRegisterId; + } + + + + + + + + + + + + + +} diff --git a/src/main/java/kcc/kccadr/adjcclt/opinion/service/impl/AdjstOpinionDAO.java b/src/main/java/kcc/kccadr/adjcclt/opinion/service/impl/AdjstOpinionDAO.java new file mode 100644 index 00000000..87cb47b3 --- /dev/null +++ b/src/main/java/kcc/kccadr/adjcclt/opinion/service/impl/AdjstOpinionDAO.java @@ -0,0 +1,170 @@ +package kcc.kccadr.adjcclt.opinion.service.impl; + +import java.util.List; + +import org.springframework.stereotype.Repository; + +import egovframework.rte.psl.dataaccess.EgovAbstractDAO; +import kcc.kccadr.adjcclt.opinion.service.AdjstOpinionVO; + + +@Repository("adjstOpinionDAO") +public class AdjstOpinionDAO extends EgovAbstractDAO { + + public List selectAdjstOpinionList(AdjstOpinionVO adjstOpinionVO) { + return (List) list("adjstOpinionDAO.selectAdjstOpinionList", adjstOpinionVO); + } + + public Integer selectAdjstOpinionListCount(AdjstOpinionVO adjstOpinionVO) throws Exception { + return (Integer) select("adjstOpinionDAO.selectAdjstOpinionListCount", adjstOpinionVO); + } + +// +// public List adjstFindAllOpinion(AdjstOpinionVO adjstOpinionVO) { +// +// return (List) list("adjstOpinionDAO.adjstFindAllOpinion", adjstOpinionVO); +// +// } + +// +// +// public Integer selectAdjstConciliatorCount(AdjstConciliatorVO adjstConciliatorVO) throws Exception { +// return (Integer) select("adjstConciliatorDAO.selectAdjstConciliatorCount", adjstConciliatorVO); +// } +// +// public Integer selectAdjstConciliatorDashCount(AdjstConciliatorVO adjstConciliatorVO) throws Exception { +// return (Integer) select("adjstConciliatorDAO.selectAdjstConciliatorDashCount", adjstConciliatorVO); +// } +// +// +// public List selectAdjstConciliatorList(AdjstConciliatorVO adjstConciliatorVO) throws Exception { +// return (List) list("adjstConciliatorDAO.selectAdjstConciliatorList", adjstConciliatorVO); +// } +// +// public List selectAdjstConciliatorDashList(AdjstConciliatorVO adjstConciliatorVO) throws Exception { +// return (List) list("adjstConciliatorDAO.selectAdjstConciliatorDashList", adjstConciliatorVO); +// } +// +// public EgovMap selectAdjstConciliatorDashSummary(AdjstConciliatorVO adjstConciliatorVO) throws Exception { +// return (EgovMap) select("adjstConciliatorDAO.selectAdjstConciliatorDashSummary", adjstConciliatorVO); +// } +// +// public EgovMap selectAdjstConciliatorDashSbmtSummary(AdjstConciliatorVO adjstConciliatorVO) throws Exception { +// return (EgovMap) select("adjstConciliatorDAO.selectAdjstConciliatorDashSbmtSummary", adjstConciliatorVO); +// } +// +// public Integer selectAdjstConciliatorApmCount(AdjstConciliatorVO adjstConciliatorVO) throws Exception { +// return (Integer) select("adjstConciliatorDAO.selectAdjstConciliatorApmCount", adjstConciliatorVO); +// } +// +// +// public List selectAdjstConciliatorApmList(AdjstConciliatorVO adjstConciliatorVO) throws Exception { +// return (List) list("adjstConciliatorDAO.selectAdjstConciliatorApmList", adjstConciliatorVO); +// } +// +// public AdjstConciliatorVO selectAdjstConciliatorMaster(AdjstConciliatorVO adjstConciliatorVO) throws Exception { +// return (AdjstConciliatorVO)select("adjstConciliatorDAO.selectAdjstConciliatorMaster", adjstConciliatorVO); +// } +// +// public List selectAdjstConciliatorPersonList(AdjstConciliatorVO adjstConciliatorVO) throws Exception { +// return (List) list("adjstConciliatorDAO.selectAdjstConciliatorPersonList", adjstConciliatorVO); +// } +// +// public List selectAdjstConciliatorAgentList(AdjstConciliatorVO adjstConciliatorVO) throws Exception { +// return (List) list("adjstConciliatorDAO.selectAdjstConciliatorAgentList", adjstConciliatorVO); +// +// } +// public List selectAdjstConciliatorFixedDateList(AdjstConciliatorVO adjstConciliatorVO) throws Exception { +// return (List) list("adjstConciliatorDAO.selectAdjstConciliatorFixedDateList", adjstConciliatorVO); +// } +// +// //기일요청 변경 내역 포함 중복 제거하여 불러옴 (각 차수별 하나로 묶어서 불러오기) +// public List selectAdjstConciliatorChangeDateList(AdjstConciliatorVO adjstConciliatorVO) throws Exception{ +// +// return (List) list("adjstConciliatorDAO.selectAdjstConciliatorChangeDateList", adjstConciliatorVO); +// } +// +// //(조정위원)조정진행 목록 상세 - 기일조서 +// @SuppressWarnings("unchecked") +// public List selectAdjstConciliatorChangeDateList2(AdjstConciliatorVO adjstConciliatorVO) throws Exception{ +// +// return (List) list("adjstConciliatorDAO.selectAdjstConciliatorChangeDateList2", adjstConciliatorVO); +// } +// +// public List selectAdjstConciliatorTabDocsList(AdjstConciliatorVO adjstConciliatorVO) throws Exception { +// return (List) list("adjstConciliatorDAO.selectAdjstConciliatorTabDocsList", adjstConciliatorVO); +// } +// +// +// +// public AdjstConciliatorVO selectAdjstDrtDetail(AdjstConciliatorVO adjstConciliatorVO) throws Exception { +// return (AdjstConciliatorVO) select("adjstConciliatorDAO.selectAdjstDrtDetail", adjstConciliatorVO); +// } +// +// public AdjstConciliatorVO selectAdjstCancleDetail(AdjstConciliatorVO adjstConciliatorVO) throws Exception { +// return (AdjstConciliatorVO) select("adjstConciliatorDAO.selectAdjstCancleDetail", adjstConciliatorVO); +// } +// +// +// public Integer selectAdjstRecommendationCommentCount(AdjstConciliatorVO adjstConciliatorVO) throws Exception { +// return (Integer) select("adjstConciliatorDAO.selectAdjstRecommendationCommentCount", adjstConciliatorVO); +// } +// +// public Integer insertAdjstRecommendationCommentSave(AdjstConciliatorVO adjstConciliatorVO) throws Exception { +// return update("adjstConciliatorDAO.insertAdjstRecommendationCommentSave", adjstConciliatorVO); +// } +// +// +// public List selectAdjstRecommendationCommentList(AdjstConciliatorVO adjstConciliatorVO) throws Exception { +// return (List) list("adjstConciliatorDAO.selectAdjstRecommendationCommentList", adjstConciliatorVO); +// } +// +// public List selectAdjstRecommendationCommentListGroup(AdjstConciliatorVO adjstConciliatorVO) throws Exception { +// return (List) list("adjstConciliatorDAO.selectAdjstRecommendationCommentListGroup", adjstConciliatorVO); +// } +// +// public List selectAdjstConciliatorRespersonList(AdjstConciliatorVO adjstConciliatorVO) throws Exception { +// return (List) list("adjstConciliatorDAO.selectAdjstConciliatorRespersonList", adjstConciliatorVO); +// } +// +// public AdjstConciliatorVO selectAdjstRecommendationCommentDetail(AdjstConciliatorVO adjstConciliatorVO) throws Exception { +// return (AdjstConciliatorVO)select("adjstConciliatorDAO.selectAdjstRecommendationCommentDetail", adjstConciliatorVO); +// } +// +// public AdjstConciliatorVO selectAdjstConciliatorAPmStatus(AdjstConciliatorVO adjstConciliatorVO) throws Exception { +// return (AdjstConciliatorVO)select("adjstConciliatorDAO.selectAdjstConciliatorAPmStatus", adjstConciliatorVO); +// } +// +// public AdjstConciliatorVO selectAdjstConciliatorEndInfo(AdjstConciliatorVO adjstConciliatorVO) throws Exception { +// return (AdjstConciliatorVO)select("adjstConciliatorDAO.selectAdjstConciliatorEndInfo", adjstConciliatorVO); +// } +// +// public AdjstConciliatorVO selectAdjstConciliatorApmDetail(AdjstConciliatorVO adjstConciliatorVO) throws Exception { +// return (AdjstConciliatorVO)select("adjstConciliatorDAO.selectAdjstConciliatorApmDetail", adjstConciliatorVO); +// } +// +// public Integer updateAdjstEndConfirmSave(AdjstConciliatorVO adjstConciliatorVO) throws Exception { +// return update("adjstConciliatorDAO.updateAdjstEndConfirmSave", adjstConciliatorVO); +// } +// +// public Integer updateDeptUserSbmt(AdjstConciliatorVO adjstConciliatorVO) throws Exception { +// return update("adjstConciliatorDAO.updateDeptUserSbmt", adjstConciliatorVO); +// } +// +// public Integer updateUserSbmtMgr(AdjstConciliatorVO adjstConciliatorVO) throws Exception { +// return update("adjstConciliatorDAO.updateUserSbmtMgr", adjstConciliatorVO); +// } +// +// public AdjstConciliatorVO selectAdjstConciliatorApmSbmtYn(AdjstConciliatorVO adjstConciliatorVO) throws Exception { +// return (AdjstConciliatorVO)select("adjstConciliatorDAO.selectAdjstConciliatorApmSbmtYn", adjstConciliatorVO); +// } +// +// public AdjstConciliatorVO selectAdjstConciliatorDntSbmtYnInfo(AdjstConciliatorVO adjstConciliatorVO) throws Exception{ +// return (AdjstConciliatorVO)select("adjstConciliatorDAO.selectAdjstConciliatorDntSbmtYnInfo", adjstConciliatorVO); +// } +// +// public void insertEndAdrPdfConversionReq(AdjstConciliatorVO adjstConciliatorVO) throws Exception { +// insert("adjstConciliatorDAO.insertEndAdrPdfConversionReq", adjstConciliatorVO); +// } + +} diff --git a/src/main/java/kcc/kccadr/adjcclt/opinion/service/impl/AdjstOpinionServiceImpl.java b/src/main/java/kcc/kccadr/adjcclt/opinion/service/impl/AdjstOpinionServiceImpl.java new file mode 100644 index 00000000..e0a1bf11 --- /dev/null +++ b/src/main/java/kcc/kccadr/adjcclt/opinion/service/impl/AdjstOpinionServiceImpl.java @@ -0,0 +1,41 @@ +package kcc.kccadr.adjcclt.opinion.service.impl; + + +import java.util.List; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +import kcc.kccadr.adjcclt.opinion.service.AdjstOpinionService; +import kcc.kccadr.adjcclt.opinion.service.AdjstOpinionVO; + +@Service("adjstOpinionService") +public class AdjstOpinionServiceImpl implements AdjstOpinionService { + + @Resource(name = "adjstOpinionDAO") + private AdjstOpinionDAO adjstOpinionDAO; + + @Override + public List selectAdjstOpinionList(AdjstOpinionVO adjstOpinionVO) { + List adjstOpinionList = adjstOpinionDAO.selectAdjstOpinionList(adjstOpinionVO); + return adjstOpinionList; + } + @Override + public Integer selectAdjstOpinionListCount(AdjstOpinionVO adjstOpinionVO) throws Exception { + return adjstOpinionDAO.selectAdjstOpinionListCount(adjstOpinionVO); + } + +// @Override +// public RestResponse adjstFindByOpinion(AdjstOpinionVO adjstOpinionVO) { +// +// List adjstOpinionList = adjstOpinionDAO.adjstFindAllOpinion(adjstOpinionVO); +// +// // TODO Auto-generated method stub +// return new RestResponse(HttpStatus.OK, adjstOpinionList, "", LocalDateTime.now()) ; +// } + + + + +} diff --git a/src/main/java/kcc/kccadr/adjcclt/opinion/web/AdjstOpinionController.java b/src/main/java/kcc/kccadr/adjcclt/opinion/web/AdjstOpinionController.java new file mode 100644 index 00000000..9dd90cbb --- /dev/null +++ b/src/main/java/kcc/kccadr/adjcclt/opinion/web/AdjstOpinionController.java @@ -0,0 +1,99 @@ +package kcc.kccadr.adjcclt.opinion.web; + +import java.util.List; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; + +import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper; +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; +import kcc.com.cmm.LoginVO; +import kcc.kccadr.adjcclt.opinion.service.AdjstOpinionService; +import kcc.kccadr.adjcclt.opinion.service.AdjstOpinionVO; +import kcc.kccadr.adjcclt.service.AdjstConciliatorVO; +import kcc.kccadr.cmm.RestResponse; + +/** + * + * @author : 이호영 + * @fileName : AdjstOpinionController.java + * @date : 2022.10.14 + * @description : 조정위원 > 의견관리 + * =========================================================== + * DATE AUTHOR NOTE + * ----------------------------------------------------------- * + * 2022.10.14 이호영 최초 생성 + * + * + * + */ +@Controller +public class AdjstOpinionController { + + private static final Logger logger = LoggerFactory.getLogger(AdjstOpinionController.class); + + @Resource(name = "adjstOpinionService") + private AdjstOpinionService adjstOpinionService; + + +// @RequestMapping(value = {"/web/kccadr/adjcclt/ai/adjstOpinionList.do"}, method = RequestMethod.POST) +// public ResponseEntity adjstFindByOpinion(HttpServletRequest request , @RequestBody AdjstOpinionVO adjstOpinionVO) throws Exception { +// return ResponseEntity.ok().body(adjstOpinionService.adjstFindByOpinion(adjstOpinionVO)); +// } + + @RequestMapping("/web/kccadr/adjcclt/ai/adjstOpinionList.do") + public String adjstOpinionList(@ModelAttribute("adjstOpinionVO") AdjstOpinionVO adjstOpinionVO, ModelMap model) throws Exception + { + + String auth = EgovUserDetailsHelper.isAuthenticated() ? null : EgovUserDetailsHelper.getAuthenticatedUser().toString(); + LoginVO loginVO = "anonymousUser".equals(auth) ? null : (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + + if (loginVO == null) { + + model.addAttribute("msg", "로그인 해주세요."); + return "redirect:/web/user/login/ssoLogin.do"; + } + logger.info(" + loginVO.getName() :: [{}]", loginVO.getName()); +// adjstOpinionVO.setFrstRegisterId(loginVO.getUniqId()); + +// if(adjstOpinionVO.getPageUnit() != 10) { +// adjstOpinionVO.setPageUnit(adjstOpinionVO.getPageUnit()); +// } +// +// if("".equals(adjstOpinionVO.getSearchSortCnd())){ //최초조회시 최신것 조회List +// adjstOpinionVO.setSearchSortCnd("RS.ADR_SEQ"); +// adjstOpinionVO.setSearchSortOrd("desc"); +// } + + /** paging */ + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(adjstOpinionVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(adjstOpinionVO.getPageUnit()); + paginationInfo.setPageSize(adjstOpinionVO.getPageSize()); + + adjstOpinionVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + adjstOpinionVO.setLastIndex(paginationInfo.getLastRecordIndex()); + adjstOpinionVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + +// paginationInfo.setTotalRecordCount(adjstOpinionService.selectAdjstOpinionListCount(adjstOpinionVO)); + model.addAttribute("paginationInfo", paginationInfo); + + +// List list = adjstOpinionService.selectAdjstOpinionList(adjstOpinionVO); +// decryptInfomation(list, null); +// model.addAttribute("list", list); + + return "/web/kccadr/adjcclt/opinion/adjstOpinionList"; + } + +} diff --git a/src/main/java/kcc/kccadr/adjcclt/web/AdjstConciliatorController.java b/src/main/java/kcc/kccadr/adjcclt/web/AdjstConciliatorController.java index 2428c8ba..ee834857 100644 --- a/src/main/java/kcc/kccadr/adjcclt/web/AdjstConciliatorController.java +++ b/src/main/java/kcc/kccadr/adjcclt/web/AdjstConciliatorController.java @@ -1,1018 +1,1018 @@ -package kcc.kccadr.adjcclt.web; - -import java.time.DayOfWeek; -import java.time.LocalDate; -import java.time.format.TextStyle; -import java.util.ArrayList; -import java.util.List; -import java.util.Locale; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.collections.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.stereotype.Controller; -import org.springframework.ui.ModelMap; -import org.springframework.web.bind.annotation.ModelAttribute; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.multipart.MultipartHttpServletRequest; -import org.springframework.web.servlet.ModelAndView; -import org.springframework.web.servlet.mvc.support.RedirectAttributes; - -import egovframework.rte.fdl.idgnr.EgovIdGnrService; -import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper; -import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; -import kcc.com.cmm.LoginVO; -import kcc.com.cmm.service.EgovFileMngService; -import kcc.com.cmm.service.FileVO; -import kcc.com.cmm.util.StringUtil; -import kcc.com.utl.fcc.service.EgovStringUtil; -import kcc.com.utl.user.service.CheckAdrProcessUtil; -import kcc.kccadr.accdnt.ars.service.AdjstReqStatusService; -import kcc.kccadr.accdnt.ars.service.AdjstReqStatusVO; -import kcc.kccadr.adjPgrMgr.cmm.service.PgrCmmService; -import kcc.kccadr.adjPgrMgr.cmm.service.PgrCmmVO; -import kcc.kccadr.adjPgrMgr.dnt.service.DntService; -import kcc.kccadr.adjPgrMgr.dnt.service.DntVO; -import kcc.kccadr.adjPgrMgr.drt.service.AssVO; -import kcc.kccadr.adjPgrMgr.drt.service.DrtService; -import kcc.kccadr.adjPgrMgr.drt.service.DrtVO; -import kcc.kccadr.adjcclt.service.AdjstConciliatorService; -import kcc.kccadr.adjcclt.service.AdjstConciliatorVO; -import kcc.kccadr.adjreqmgr.service.AdjReqMgrVO; -import kcc.kccadr.cmm.CmmUtil; -import kcc.kccadr.cmm.KccadrConstants; -import kcc.kccadr.kccadrCom.service.KccadrMgrUdtService; -import kcc.kccadr.ojct.service.OjctService; -import kcc.kccadr.ojct.service.OjctVO; -import kcc.let.utl.fcc.service.EgovCryptoUtil; - -/** - * 대국민(사용자) - * 조정사건 관한 controller 클래스를 정의한다. - * @author 김봉호 - * @since 2021.08.23 - * @version 1.0 - * @see - * - *
- * << 개정이력(Modification Information) >>
- *
- *   수정일      수정자           수정내용
- *  -------    --------    ---------------------------
- *   2021.08.23  김봉호          최초 생성
- *
- * 
- */ -@Controller -public class AdjstConciliatorController { - - private static final Logger LOGGER = LoggerFactory.getLogger(AdjstConciliatorController.class); - - @Resource(name = "pgrCmmService") - private PgrCmmService cmmService; - - @Resource(name="adjstConciliatorService") - private AdjstConciliatorService adjstConciliatorService; - - @Resource(name = "drtService") - private DrtService drtService; - - @Resource(name = "dntService") - private DntService dntService; - - //이의신청 - @Resource(name="ojctService") - private OjctService ojctService; - - @Resource(name = "EgovFileMngService") - private EgovFileMngService fileService; - - @Resource(name="adjstReqStatusService") - private AdjstReqStatusService adjstReqStatusService; - - //암복호화 유틸 - @Resource(name = "egovCryptoUtil") - EgovCryptoUtil egovCryptoUtil; - - // 조정신청 서비스단 - @Resource(name = "checkAdrProcessUtil") - private CheckAdrProcessUtil checkAdrProcessUtil; - - @Resource(name="KccadrMgrUdtService") - private KccadrMgrUdtService kccadrMgrUdtService; - - //조정사건 이력관리 일련번호 - @Resource(name="adrHstryMgrSeqGnrService") - private EgovIdGnrService adrHstryMgrSeqGnrService; - - /** - * 조정위원 대시보드 화면 - */ - @RequestMapping("/web/kccadr/adjcclt/ai/adjstConciliatorDashList.do") - public String adjstConciliatorDashList(@ModelAttribute("adjstConciliatorVO") AdjstConciliatorVO adjstConciliatorVO, ModelMap model, HttpServletRequest request) throws Exception { - - String auth = EgovUserDetailsHelper.isAuthenticated() ? null : EgovUserDetailsHelper.getAuthenticatedUser().toString(); - LoginVO loginVO = "anonymousUser".equals(auth) ? null : (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); - - if (loginVO == null) { - - model.addAttribute("msg", "로그인 해주세요."); - return "redirect:/web/user/login/ssoLogin.do"; - } - - adjstConciliatorVO.setFrstRegisterId(loginVO.getUniqId()); - adjstConciliatorVO.setMemSeq(loginVO.getUniqId()); - - if("".equals(adjstConciliatorVO.getSearchSortCnd())){ //최초조회시 최신것 조회List - adjstConciliatorVO.setSearchSortCnd("RS.ADR_SEQ"); - adjstConciliatorVO.setSearchSortOrd("desc"); - } - - //최신 5건 조회 - adjstConciliatorVO.setFirstIndex(0); - adjstConciliatorVO.setRecordCountPerPage(5); - - //List list = adjstConciliatorService.selectAdjstConciliatorDashList(adjstConciliatorVO); - //대시보드 전용 > 조정 진행목록 쿼리로 수정 - List list = adjstConciliatorService.selectAdjstConciliatorList(adjstConciliatorVO); - decryptInfomation(list, null); - model.addAttribute("list", list); - - //조정 진행 수량 가져오기 - //EgovMap resultMap = adjstConciliatorService.selectAdjstConciliatorDashSummary(adjstConciliatorVO); - //model.addAttribute("resultMap", resultMap); - //대시보드 전용 > 조정 진행목록 쿼리로 수정 - int listCnt = adjstConciliatorService.selectAdjstConciliatorCount(adjstConciliatorVO); - model.addAttribute("listCnt", listCnt); - - //결재대기 수량 가져오기 - //대시보드 전용 > 결재 목록 조회 쿼리로 수정 - //EgovMap resultSbmtMap = adjstConciliatorService.selectAdjstConciliatorDashSbmtSummary(adjstConciliatorVO); - adjstConciliatorVO.setSearchSbmtId(loginVO.getUniqId()); - //결재대기 조건 추가 - String[] appliCantNmList = {"01"}; - adjstConciliatorVO.setSearchStatusArr(appliCantNmList); - int apmCnt = adjstConciliatorService.selectAdjstConciliatorApmCount(adjstConciliatorVO); - model.addAttribute("apmCnt", apmCnt); - - - //오늘 날짜 가져오기 - LocalDate now = LocalDate.now(); - int year = now.getYear(); //년 - int month = now.getMonthValue(); //월 - int day = now.getDayOfMonth(); //일 - DayOfWeek dayOfWeek = now.getDayOfWeek(); - String today = dayOfWeek.getDisplayName(TextStyle.FULL, Locale.KOREAN); //요일 - model.addAttribute("year", year); - model.addAttribute("month", month); - model.addAttribute("day", day); - model.addAttribute("today", today); - - return "/web/kccadr/adjcclt/adjstConciliatorDashList"; - } - - /** - * 조정사건 목록 화면 - */ - @RequestMapping("/web/kccadr/adjcclt/ai/adjstConciliatorList.do") - public String adjstDeputyReqList(@ModelAttribute("adjstConciliatorVO") AdjstConciliatorVO adjstConciliatorVO, ModelMap model, HttpServletRequest request) throws Exception { - - String auth = EgovUserDetailsHelper.isAuthenticated() ? null : EgovUserDetailsHelper.getAuthenticatedUser().toString(); - LoginVO loginVO = "anonymousUser".equals(auth) ? null : (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); - - if (loginVO == null) { - - model.addAttribute("msg", "로그인 해주세요."); - return "redirect:/web/user/login/ssoLogin.do"; - } - - adjstConciliatorVO.setFrstRegisterId(loginVO.getUniqId()); - adjstConciliatorVO.setMemSeq(loginVO.getUniqId()); - - if(adjstConciliatorVO.getPageUnit() != 10) { - adjstConciliatorVO.setPageUnit(adjstConciliatorVO.getPageUnit()); - } - - if("".equals(adjstConciliatorVO.getSearchSortCnd())){ //최초조회시 최신것 조회List - adjstConciliatorVO.setSearchSortCnd("RS.ADR_SEQ"); - adjstConciliatorVO.setSearchSortOrd("desc"); - } - - /** paging */ - PaginationInfo paginationInfo = new PaginationInfo(); - paginationInfo.setCurrentPageNo(adjstConciliatorVO.getPageIndex()); - paginationInfo.setRecordCountPerPage(adjstConciliatorVO.getPageUnit()); - paginationInfo.setPageSize(adjstConciliatorVO.getPageSize()); - - adjstConciliatorVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); - adjstConciliatorVO.setLastIndex(paginationInfo.getLastRecordIndex()); - adjstConciliatorVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); - - List list = adjstConciliatorService.selectAdjstConciliatorList(adjstConciliatorVO); - - paginationInfo.setTotalRecordCount(list.size() != 0 ? list.get(0).getTotCnt() : 0); - model.addAttribute("paginationInfo", paginationInfo); - - decryptInfomation(list, null); - model.addAttribute("list", list); - - return "/web/kccadr/adjcclt/adjstConciliatorList"; - } - - /** - * 조정사건 목록 화면 - */ - @RequestMapping("/web/kccadr/adjcclt/adjstConciliatorDetail.do") - public String adjstConciliatorDetail(@ModelAttribute("adjstConciliatorVO") AdjstConciliatorVO adjstConciliatorVO, ModelMap model) throws Exception { - return "/web/kccadr/adjcclt/adjstConciliatorDetail"; - } - - /** - * 조정진행 상세 사건정보 탭 화면 - */ - @RequestMapping("/web/kccadr/adjcclt/tab/adjstConciliatorTabInfo.do") - public String adjstConciliatorTabInfo(@ModelAttribute("adjstConciliatorVO") AdjstConciliatorVO adjstConciliatorVO, ModelMap model) throws Exception { - AdjstConciliatorVO master = adjstConciliatorService.selectAdjstConciliatorMaster(adjstConciliatorVO); - - // 마스터 테이블 파일 정보 - if(StringUtils.isNotBlank(master.getAtchFileId())){ - FileVO fileVO = new FileVO(); - fileVO.setAtchFileId(master.getAtchFileId()); - List fileList = fileService.selectFileInfs(fileVO); - master.setFileList(fileList); - } - - model.addAttribute("master", master); - - // 신청인만 조회 - adjstConciliatorVO.setRpplTy(KccadrConstants.ADR_RPPL_TY_REQ); - List reqPerson = adjstConciliatorService.selectAdjstConciliatorPersonList(adjstConciliatorVO); - decryptInfomation(reqPerson, null); - model.addAttribute("reqPerson", reqPerson); - - // 피신청인 - adjstConciliatorVO.setRpplTy(KccadrConstants.ADR_RPPL_TY_RES); - List resPerson = adjstConciliatorService.selectAdjstConciliatorPersonList(adjstConciliatorVO); - decryptInfomation(resPerson, null); - model.addAttribute("resPerson", resPerson); - - //List list = adjstConciliatorService.selectAdjstConciliatorAgentList(adjstConciliatorVO); - - //신청인의 대리인 정보 불러오기 - adjstConciliatorVO.setRpplTy(KccadrConstants.ADR_RPPL_TY_REQ_DEPUTY); - List list = adjstConciliatorService.selectAdjstConciliatorPersonList(adjstConciliatorVO); - decryptInfomation(list, null); - // 대리인 신청 파일 정보 - for(AdjstConciliatorVO rsModel : list){ - if(StringUtils.isNotBlank(rsModel.getAtchFileId())){ - FileVO fileVO = new FileVO(); - fileVO.setAtchFileId(master.getAtchFileId()); - List fileList = fileService.selectFileInfs(fileVO); - rsModel.setFileList(fileList); - } - } - model.addAttribute("agentList", list); - - //피신청인 대리인 정보 불러오기 - adjstConciliatorVO.setRpplTy(KccadrConstants.ADR_RPPL_TY_RES_DEPUTY); - List resDepuList = adjstConciliatorService.selectAdjstConciliatorPersonList(adjstConciliatorVO); - decryptInfomation(resDepuList, null); - - //피신청인 대리인 신청 파일 정보 - for(AdjstConciliatorVO depModel : resDepuList){ - if(StringUtils.isNotBlank(depModel.getAtchFileId())){ - FileVO fileVO = new FileVO(); - fileVO.setAtchFileId(master.getAtchFileId()); - List fileList = fileService.selectFileInfs(fileVO); - depModel.setFileList(fileList); - } - } - - model.addAttribute("resDepuList", resDepuList); - - // 기일정보 - /*List fixedDateList = adjstConciliatorService.selectAdjstConciliatorFixedDateList(adjstConciliatorVO); - decryptInfomation(fixedDateList, null); - model.addAttribute("fixedDateList", fixedDateList);*/ - - //기일정보 변경 정보로 받아오기 20220127 우영두 수정 - //1개 이상의 기일변경을 요청한 경우 조정 기일 정보를 group_concat 으로 받아와서 현재 요청 날짜와 이전 날짜를 함께 보여줌 - 변경승인이 완료된 리스트만 불러옴 - adjstConciliatorVO.setChgSts("Y"); - List fixedDateList = adjstConciliatorService.selectAdjstConciliatorChangeDateList(adjstConciliatorVO); - decryptInfomation(fixedDateList, null); - model.addAttribute("fixedDateList", fixedDateList); - - // 상세 종결관련 데이터 조회 - model.addAttribute("endInfo", adjstConciliatorService.selectAdjstConciliatorEndInfo(adjstConciliatorVO)); - - //이의신청 정보 불러오기 - OjctVO ojctVO = new OjctVO(); - ojctVO.setAdrSeq(adjstConciliatorVO.getAdrSeq()); - ojctVO.setAdrSn(adjstConciliatorVO.getAdrSn()); - - int ojctCnt = 0; - ojctCnt = ojctService.selectOjctListCount(ojctVO); - - model.addAttribute("ojctCnt", ojctCnt); - - return "/web/kccadr/adjcclt/tab/adjstConciliatorTabInfo"; - } - - /** - * 조정사건 목록 화면 - */ - @RequestMapping("/web/kccadr/adjcclt/tab/adjstConciliatorTabDocs.do") - public String adjstConciliatorTabDocs(@ModelAttribute("adjstConciliatorVO") AdjstConciliatorVO adjstConciliatorVO, ModelMap model) throws Exception { - //model.addAttribute("docList", adjstConciliatorService.selectAdjstConciliatorTabDocsList(adjstConciliatorVO)); - AdjstReqStatusVO adjstReqStatusVO = new AdjstReqStatusVO(); - adjstReqStatusVO.setAdrSeq(adjstConciliatorVO.getAdrSeq()); - //model.addAttribute("docList", adjstReqStatusService.selectAdjstHistoryList(adjstReqStatusVO)); - model.addAttribute("docList" , adjstReqStatusService.selectAdjstDocs20211020List(adjstReqStatusVO)); - - //model.addAttribute("list" , adjstReqStatusService.selectAdjstHistoryList(adjstReqStatusVO)); - //return "/web/kccadr/accdnt/ars/tab/adjstReqStatusTabStatus"; - - return "/web/kccadr/adjcclt/tab/adjstConciliatorTabDocs"; - } - - /** - * 기일조서 상세 화면 - */ - @RequestMapping("/web/kccadr/adjcclt/adjstDrtDetail.do") - public String adjstDrtDetail(@ModelAttribute("adjstConciliatorVO") AdjstConciliatorVO adjstConciliatorVO, PgrCmmVO cmmVO, DrtVO drtVO, ModelMap model) throws Exception { - - /*AdjstConciliatorVO info = adjstConciliatorService.selectAdjstDrtDetail(adjstConciliatorVO); - decryptInfomation(null, info); - model.addAttribute("info", info);*/ - - List assList = drtService.selectAssList(drtVO); - - PgrCmmVO info = cmmService.selectPgrCmm(cmmVO); - - //(조정위원)조정진행 목록 상세 - 기일조서 - adjstConciliatorVO.setChgSts("Y"); - List fixedDateList = adjstConciliatorService.selectAdjstConciliatorChangeDateList2(adjstConciliatorVO); - decryptInfomation(fixedDateList, null); - model.addAttribute("fixedDateList", fixedDateList); - - model.addAttribute("assList", assList); - model.addAttribute("info", info); - - return "/web/kccadr/adjcclt/adjstDrtDetail"; - } - - /** - * 조정사건 목록 화면 - */ - @RequestMapping("/web/kccadr/adjcclt/adjstCancleDetail.do") - public String adjstCancleDetail(@ModelAttribute("adjstConciliatorVO") AdjstConciliatorVO adjstConciliatorVO, ModelMap model) throws Exception { - AdjstConciliatorVO info = adjstConciliatorService.selectAdjstCancleDetail(adjstConciliatorVO); - decryptInfomation(null, info); - model.addAttribute("info", info); - return "/web/kccadr/adjcclt/adjstCancleDetail"; - } - - /** - * 불성립종결통보서 상세 화면 - */ - @RequestMapping("/web/kccadr/adjcclt/adjstNoEstablishmentDetail.do") - public String adjstNoEstablishmentDetail(@ModelAttribute("adjstConciliatorVO") AdjstConciliatorVO adjstConciliatorVO, ModelMap model) throws Exception { - AdjstConciliatorVO info = adjstConciliatorService.selectAdjstCancleDetail(adjstConciliatorVO); - decryptInfomation(null, info); - model.addAttribute("info", info); - return "/web/kccadr/adjcclt/adjstNoEstablishmentDetail"; - } - - /** - * 조정사건 목록 화면 - */ - @RequestMapping("/web/kccadr/adjcclt/adjstRecommendationDetail.do") - public String adjstRecommendationDetail(@ModelAttribute("adjstConciliatorVO") AdjstConciliatorVO adjstConciliatorVO, ModelMap model) throws Exception { - AdjstConciliatorVO info = adjstConciliatorService.selectAdjstCancleDetail(adjstConciliatorVO); - decryptInfomation(null, info); - model.addAttribute("info", info); - return "/web/kccadr/adjcclt/adjstRecommendationDetail"; - } - - /** - * 조정사건 목록 화면 - */ - @RequestMapping("/web/kccadr/adjcclt/adjstProtocolDetail.do") - public String adjstProtocolDetail(@ModelAttribute("adjstConciliatorVO") AdjstConciliatorVO adjstConciliatorVO, ModelMap model) throws Exception { - - adjstConciliatorVO.setStatCd(KccadrConstants.ADR_JJOSU_APPR_REQ); - adjstConciliatorVO.setDlvryDocTy("40"); - AdjstConciliatorVO info = adjstConciliatorService.selectAdjstCancleDetail(adjstConciliatorVO); - decryptInfomation(null, info); - model.addAttribute("info", info); - return "/web/kccadr/adjcclt/adjstProtocolDetail"; - } - - @RequestMapping("/web/kccadr/adjcclt/adjstMediationDecisionDetail.do") - public String adjstMediationDecisionDetail(@ModelAttribute("adjstConciliatorVO") AdjstConciliatorVO adjstConciliatorVO, ModelMap model) throws Exception { - AdjstConciliatorVO info = adjstConciliatorService.selectAdjstCancleDetail(adjstConciliatorVO); - decryptInfomation(null, info); - model.addAttribute("info", info); - return "/web/kccadr/adjcclt/adjstMediationDecisionDetail"; - } - - /** - * 조정사건 목록 화면 - */ - @RequestMapping("/web/kccadr/adjcclt/comment/adjstRecommendationCommentList.do") - public String adjstRecommendationCommentList(@ModelAttribute("adjstConciliatorVO") AdjstConciliatorVO adjstConciliatorVO, ModelMap model) throws Exception { - - - if(adjstConciliatorVO.getPageUnit() != 10) { - adjstConciliatorVO.setPageUnit(adjstConciliatorVO.getPageUnit()); - } - - if("".equals(adjstConciliatorVO.getSearchSortCnd())){ //최초조회시 최신것 조회List - adjstConciliatorVO.setSearchSortCnd("T1.FRST_REGIST_PNTTM"); - adjstConciliatorVO.setSearchSortOrd("desc"); - } - - /** paging */ - PaginationInfo paginationInfo = new PaginationInfo(); - paginationInfo.setCurrentPageNo(adjstConciliatorVO.getPageIndex()); - paginationInfo.setRecordCountPerPage(adjstConciliatorVO.getPageUnit()); - paginationInfo.setPageSize(adjstConciliatorVO.getPageSize()); - - adjstConciliatorVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); - adjstConciliatorVO.setLastIndex(paginationInfo.getLastRecordIndex()); - adjstConciliatorVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); - - paginationInfo.setTotalRecordCount(adjstConciliatorService.selectAdjstRecommendationCommentCount(adjstConciliatorVO)); - model.addAttribute("paginationInfo", paginationInfo); - List list = adjstConciliatorService.selectAdjstRecommendationCommentList(adjstConciliatorVO); - decryptInfomation(list, null); - model.addAttribute("list", list); - return "/web/kccadr/adjcclt/comment/adjstRecommendationCommentList"; - } - - - /** - * 조정사건 목록 화면 - */ - @RequestMapping("/web/kccadr/adjcclt/comment/adjstRecommendationPastCommentList.do") - public String adjstRecommendationPastCommentList(@ModelAttribute("adjstConciliatorVO") AdjstConciliatorVO adjstConciliatorVO, ModelMap model) throws Exception { - - - if(adjstConciliatorVO.getPageUnit() != 10) { - adjstConciliatorVO.setPageUnit(adjstConciliatorVO.getPageUnit()); - } - - if("".equals(adjstConciliatorVO.getSearchSortCnd())){ //최초조회시 최신것 조회List - adjstConciliatorVO.setSearchSortCnd("T1.FRST_REGIST_PNTTM"); - adjstConciliatorVO.setSearchSortOrd("desc"); - } - - /** paging */ - PaginationInfo paginationInfo = new PaginationInfo(); - paginationInfo.setCurrentPageNo(adjstConciliatorVO.getPageIndex()); - paginationInfo.setRecordCountPerPage(adjstConciliatorVO.getPageUnit()); - paginationInfo.setPageSize(adjstConciliatorVO.getPageSize()); - - adjstConciliatorVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); - adjstConciliatorVO.setLastIndex(paginationInfo.getLastRecordIndex()); - adjstConciliatorVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); - - paginationInfo.setTotalRecordCount(adjstConciliatorService.selectAdjstRecommendationCommentCount(adjstConciliatorVO)); - model.addAttribute("paginationInfo", paginationInfo); - List list = adjstConciliatorService.selectAdjstRecommendationCommentList(adjstConciliatorVO); - decryptInfomation(list, null); - model.addAttribute("list", list); - return "/web/kccadr/adjcclt/comment/adjstRecommendationPastCommentList"; - } - - @RequestMapping("/web/kccadr/adjcclt/popup/adjstRecommendationCommentDetail.do") - public String adjstRecommendationCommentDetail(@ModelAttribute("adjstConciliatorVO") AdjstConciliatorVO adjstConciliatorVO, ModelMap model) throws Exception { - model.addAttribute("info", adjstConciliatorService.selectAdjstRecommendationCommentDetail(adjstConciliatorVO)); - return "/web/kccadr/adjcclt/popup/adjstRecommendationCommentDetail"; - } - - /** - * - * @return String - * @exception Exception - */ - @RequestMapping(value="/web/kccadr/adjcclt/commnet/adjstRecommendationCommentSave.do", method = RequestMethod.POST) - public ModelAndView adjReqMgrRegPaymentMultyPopupSave(HttpServletRequest request , @RequestBody AdjstConciliatorVO adjstConciliatorVO) throws Exception { - ModelAndView modelAndView = new ModelAndView(); - modelAndView.setViewName("jsonView"); - - String auth = EgovUserDetailsHelper.isAuthenticated() ? null : EgovUserDetailsHelper.getAuthenticatedUser().toString(); - LoginVO loginVO = "anonymousUser".equals(auth) ? null : (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); - - if (loginVO == null) { - - modelAndView.addObject("result", "fail"); - modelAndView.addObject("message", "로그인 해주세요."); - return modelAndView; - } - - adjstConciliatorVO.setFrstRegisterId(loginVO.getUniqId()); - adjstConciliatorVO.setLastUpdusrId(loginVO.getUniqId()); - adjstConciliatorVO.setMemSeq(loginVO.getUniqId()); - - int rs = adjstConciliatorService.insertAdjstRecommendationCommentSave(adjstConciliatorVO); - modelAndView.addObject("rs", (rs>0)); - return modelAndView; - } - - - /** - * - * @return String - * @exception Exception - */ - @RequestMapping(value="/web/kccadr/adjcclt/adjstEndConfirmSave.do", method = RequestMethod.POST) - public ModelAndView adjstEndConfirmSave(HttpServletRequest request , @RequestBody AdjstConciliatorVO adjstConciliatorVO) throws Exception { - ModelAndView modelAndView = new ModelAndView(); - modelAndView.setViewName("jsonView"); - - String auth = EgovUserDetailsHelper.isAuthenticated() ? null : EgovUserDetailsHelper.getAuthenticatedUser().toString(); - LoginVO loginVO = "anonymousUser".equals(auth) ? null : (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); - - if (loginVO == null) { - - modelAndView.addObject("result", "fail"); - modelAndView.addObject("message", "로그인 해주세요."); - return modelAndView; - } - - adjstConciliatorVO.setFrstRegisterId(loginVO.getUniqId()); - adjstConciliatorVO.setLastUpdusrId(loginVO.getUniqId()); - adjstConciliatorVO.setMemSeq(loginVO.getUniqId()); - - int rs = adjstConciliatorService.updateAdjstEndConfirmSave(adjstConciliatorVO); - modelAndView.addObject("rs", (rs>0)); - return modelAndView; - } - - @RequestMapping("/web/kccadr/adjcclt/ai/adjstConciliatorApmList.do") - public String adjstConciliatorApmList(@ModelAttribute("adjstConciliatorVO") AdjstConciliatorVO adjstConciliatorVO, ModelMap model, HttpServletRequest request) throws Exception { - String auth = EgovUserDetailsHelper.isAuthenticated() ? null : EgovUserDetailsHelper.getAuthenticatedUser().toString(); - LoginVO loginVO = "anonymousUser".equals(auth) ? null : (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); - - if (loginVO == null) { - - model.addAttribute("msg", "로그인 해주세요."); - return "redirect:/web/user/login/ssoLogin.do"; - } - - adjstConciliatorVO.setFrstRegisterId(loginVO.getUniqId()); - adjstConciliatorVO.setMemSeq(loginVO.getUniqId()); - adjstConciliatorVO.setSearchSbmtId(loginVO.getUniqId()); - - if(adjstConciliatorVO.getPageUnit() != 10) { - adjstConciliatorVO.setPageUnit(adjstConciliatorVO.getPageUnit()); - } - - if("".equals(adjstConciliatorVO.getSearchSortCnd())){ //최초조회시 최신것 조회List - adjstConciliatorVO.setSearchSortCnd("RS.frstRegistPnttm"); - adjstConciliatorVO.setSearchSortOrd("desc"); - } - - - if(StringUtils.isEmpty(adjstConciliatorVO.getSearchStartDt()) && StringUtils.isEmpty(adjstConciliatorVO.getSearchEndDt())){ - adjstConciliatorVO.setSearchStartDt(CmmUtil.getDiffMonth(1 , "yyyy-MM-dd")); - adjstConciliatorVO.setSearchEndDt(CmmUtil.getDateNow("yyyy-MM-dd")); - } - - /** paging */ - PaginationInfo paginationInfo = new PaginationInfo(); - paginationInfo.setCurrentPageNo(adjstConciliatorVO.getPageIndex()); - paginationInfo.setRecordCountPerPage(adjstConciliatorVO.getPageUnit()); - paginationInfo.setPageSize(adjstConciliatorVO.getPageSize()); - - adjstConciliatorVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); - adjstConciliatorVO.setLastIndex(paginationInfo.getLastRecordIndex()); - adjstConciliatorVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); - - paginationInfo.setTotalRecordCount(adjstConciliatorService.selectAdjstConciliatorApmCount(adjstConciliatorVO)); - model.addAttribute("paginationInfo", paginationInfo); - List list = adjstConciliatorService.selectAdjstConciliatorApmList(adjstConciliatorVO); - decryptInfomation(list, null); - model.addAttribute("list", list); - - return "/web/kccadr/adjcclt/adjstConciliatorApmList"; - } - - /** - * 조정사건 상세 화면 - */ - @RequestMapping("/web/kccadr/adjcclt/ai/adjstConciliatorApmDetail.do") - public String adjstConciliatorApmDetail(@ModelAttribute("adjstConciliatorVO") AdjstConciliatorVO adjstConciliatorVO, ModelMap model) throws Exception { - String auth = EgovUserDetailsHelper.isAuthenticated() ? null : EgovUserDetailsHelper.getAuthenticatedUser().toString(); - LoginVO loginVO = "anonymousUser".equals(auth) ? null : (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); - - if (loginVO == null) { - - model.addAttribute("msg", "로그인 해주세요."); - return "redirect:/web/user/login/ssoLogin.do"; - } - - adjstConciliatorVO.setSearchSbmtId(loginVO.getUniqId()); - AdjstConciliatorVO info = adjstConciliatorService.selectAdjstConciliatorApmDetail(adjstConciliatorVO); - //처리여부 - AdjstConciliatorVO sbmtYn = adjstConciliatorService.selectAdjstConciliatorApmSbmtYn(adjstConciliatorVO); - decryptInfomation(null, info); - model.addAttribute("info", info); - model.addAttribute("sbmtYn", sbmtYn); - - //기일통지서 요청, 기일변경 요청 상태일때 기일 제출 정보를 불러온다. - String statCd = info.getStatCd(); - AdjstConciliatorVO dntInfo = new AdjstConciliatorVO(); - if(statCd.equals(KccadrConstants.ADR_APP_NTC_REQ) - || statCd.equals(KccadrConstants.ADR_APP_CHG_REQ)) { - - dntInfo = adjstConciliatorService.selectAdjstConciliatorDntSbmtYnInfo(adjstConciliatorVO); - } - model.addAttribute("dntInfo", dntInfo); - - //기일정보 변경 정보로 받아오기 20220127 우영두 수정 - //1개 이상의 기일변경을 요청한 경우 조정 기일 정보를 group_concat 으로 받아와서 현재 요청 날짜와 이전 날짜를 함께 보여줌 - 변경요청이 제출되고 결재 승인이 안된 날짜 포함해서 불러옴 - adjstConciliatorVO.setChgSts("N"); - List fixedDateList = adjstConciliatorService.selectAdjstConciliatorChangeDateList(adjstConciliatorVO); - decryptInfomation(fixedDateList, null); - model.addAttribute("fixedDateList", fixedDateList); - - return "/web/kccadr/adjcclt/adjstConciliatorApmDetail"; - } - - /** - * - * @return String - * @exception Exception - */ - @RequestMapping(value="/web/kccadr/adjcclt/ai/adjstConciliatorApmSave.do", method = RequestMethod.POST) - public ModelAndView adjstConciliatorApmSave(HttpServletRequest request , @RequestBody AdjstConciliatorVO adjstConciliatorVO) throws Exception { - ModelAndView modelAndView = new ModelAndView(); - modelAndView.setViewName("jsonView"); - - String auth = EgovUserDetailsHelper.isAuthenticated() ? null : EgovUserDetailsHelper.getAuthenticatedUser().toString(); - LoginVO loginVO = "anonymousUser".equals(auth) ? null : (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); - - if (loginVO == null) { - - modelAndView.addObject("result", "fail"); - modelAndView.addObject("message", "로그인 해주세요."); - return modelAndView; - } - - adjstConciliatorVO.setFrstRegisterId(loginVO.getUniqId()); - adjstConciliatorVO.setLastUpdusrId(loginVO.getUniqId()); - adjstConciliatorVO.setSbmtId(loginVO.getUniqId()); - - //결제 전 상태를 체크한다.. - String s_process_check_result = checkAdrProcessUtil.processCheck(adjstConciliatorVO.getAdrSeq(), adjstConciliatorVO.getSbmtTy()); - if (!"".equals(s_process_check_result)) { - modelAndView.addObject("result", KccadrConstants.FAIL); - modelAndView.addObject("message", s_process_check_result); - return modelAndView; - } - - - //이력관리를 위한 adr_hstry_mgr_detail - 2022-09-07 controller #1 - String s_adrHstryMgrSeq = adrHstryMgrSeqGnrService.getNextStringId(); - - - int rs = adjstConciliatorService.updateConciliatorApmSave(adjstConciliatorVO); - if(rs > 0 ){ - // 결재 후 상태 조회 - AdjstConciliatorVO statInfo = adjstConciliatorService.selectAdjstConciliatorAPmStatus(adjstConciliatorVO); - // 모든 결재가 끝났다면... - if("Y".equals(statInfo.getAllYn())){ - AdjReqMgrVO arv = new AdjReqMgrVO(); - arv.setAdrSeq(adjstConciliatorVO.getAdrSeq()); // 조정일련번호 - arv.setStatCd(CmmUtil.getDynamicStatCd(adjstConciliatorVO.getSbmtTy(), KccadrConstants.ADR_STAT_CRM)); // 최종 변경 상태값 - arv.setLastUpdusrId(loginVO.getUniqId()); // 최종 변경자 - kccadrMgrUdtService.updateAdrMgrUdt(arv - , s_adrHstryMgrSeq - ); - }else if("Y".equals(statInfo.getRejectYn())){ - AdjReqMgrVO arv = new AdjReqMgrVO(); - arv.setAdrSeq(adjstConciliatorVO.getAdrSeq()); // 조정일련번호 - arv.setStatCd(CmmUtil.getDynamicStatCd(adjstConciliatorVO.getSbmtTy(), KccadrConstants.ADR_STAT_RJT)); // 최종 변경 상태값 - arv.setLastUpdusrId(loginVO.getUniqId()); // 최종 변경자 - kccadrMgrUdtService.updateAdrMgrUdt(arv - , s_adrHstryMgrSeq - ); - } - modelAndView.addObject("rs", (rs>0)); - modelAndView.addObject("result", KccadrConstants.SUCCESS); - modelAndView.addObject("adrHstryMgrSeq", s_adrHstryMgrSeq); - - System.out.println("s_adrHstryMgrSeq=================="); - System.out.println(s_adrHstryMgrSeq); - System.out.println("s_adrHstryMgrSeq==================="); - - }else{ - modelAndView.addObject("rs", (rs>0)); - modelAndView.addObject("result", KccadrConstants.FAIL); - } - return modelAndView; - } - - /** - * 기일 결재 승인 여부 수정 TODO daenge 기일 결재 승인 여부 수정 - * - * @param dntVO - * @param model - * @return - * @throws Exception - */ - @RequestMapping("/web/kccadr/adjcclt/ai/dntUpdApprYnAjax.do") - public ModelAndView dntUpdApprYnAjax(@ModelAttribute("dntVO") DntVO dntVO, ModelMap model, RedirectAttributes redirectAttributes, final MultipartHttpServletRequest multiRequest) throws Exception { - - ModelAndView modelAndView = new ModelAndView(); - modelAndView.setViewName("jsonView"); - - LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated() ? (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser() : null; - String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getUniqId()); - dntVO.setFrstRegisterId(userId); - dntVO.setLastUpdusrId(userId); - - //기일통지서 요청, 기일변경요청 상태의 승인/반려 처리 상태 및 일자 업데이트 처리 - if(StringUtil.isNotEmpty(dntVO.getApprYn())) { - - if(dntVO.getApprYn().equals("Y")) { - - //승인 처리 - dntService.dntUpdApprYnY(dntVO - , "조정진행관리>>조정진행목록>조정진행상세>기일등록>조정기일지정-통지확인요청-Y" //String p_code_desc - CC199 - , "A135" //String p_stat_cd - , dntVO.getAssHstrySeq() - ); - - }else { - - //반려 처리 - 제출 이전의 상태로 변경함 (sbmt_yn : N, appr_yn : n 상태로 만듬) - dntService.dntUpdApprYnN(dntVO - , "조정진행관리>>조정진행목록>조정진행상세>기일등록>조정기일지정-통지확인요청-N" //String p_code_desc - CC199 - , "A136" //String p_stat_cd - , "" - ); - - } - - } - - modelAndView.addObject("result", "SUCCESS"); - - return modelAndView; - - } - - - /* - * 조정위원 조정진행 상세 - 이의신청 목록 화면 - * - * */ - @RequestMapping("/web/kccadr/adjcclt/adjstOjctList.do") - public String adjstOjctList(@ModelAttribute("ojctVO") OjctVO ojctVO, ModelMap model, HttpServletRequest request) throws Exception { - String auth = EgovUserDetailsHelper.isAuthenticated() ? null : EgovUserDetailsHelper.getAuthenticatedUser().toString(); - LoginVO loginVO = "anonymousUser".equals(auth) ? null : (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); - - if (loginVO == null) { - - model.addAttribute("msg", "로그인 해주세요."); - return "redirect:/web/user/login/ssoLogin.do"; - } - - if(ojctVO.getPageUnit() != 10) { - ojctVO.setPageUnit(ojctVO.getPageUnit()); - } - - /** paging */ - PaginationInfo paginationInfo = new PaginationInfo(); - paginationInfo.setCurrentPageNo(ojctVO.getPageIndex()); - paginationInfo.setRecordCountPerPage(ojctVO.getPageUnit()); - paginationInfo.setPageSize(ojctVO.getPageSize()); - - ojctVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); - ojctVO.setLastIndex(paginationInfo.getLastRecordIndex()); - ojctVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); - - ojctVO.setOjctCd("02"); - paginationInfo.setTotalRecordCount(ojctService.selectOjctListCount(ojctVO)); - - List ojctList = ojctService.selectOjctList(ojctVO); - - model.addAttribute("paginationInfo", paginationInfo); - model.addAttribute("ojctList", ojctList); - model.addAttribute("ojctVO", ojctVO); - - return "/web/kccadr/adjcclt/adjstOjctList"; - } - - @RequestMapping("/web/kccadr/adjcclt/popup/adjstOjctDetail.do") - public String adjstOjctDetail(@ModelAttribute("ojctVO") OjctVO ojctVO, ModelMap model) throws Exception { - - OjctVO result = ojctService.selectOjctDetail(ojctVO); // 상세 조회 - model.addAttribute("result", result); - - PgrCmmVO cmmVO = new PgrCmmVO(); - cmmVO.setAdrSeq(ojctVO.getAdrSeq()); - - // 조정사건일반 - model.addAttribute("info", cmmService.selectPgrCmm(cmmVO)); - - return "/web/kccadr/adjcclt/popup/adjstOjctDetail"; - } - - - public void decryptInfomation(List list, AdjstConciliatorVO info){ - if(CollectionUtils.isNotEmpty(list)){ - for(AdjstConciliatorVO model : list){ - model.setRpplNm(egovCryptoUtil.decrypt(model.getRpplNm())); - model.setRpplAddr(egovCryptoUtil.decrypt(model.getRpplAddr())); - model.setRpplAddrDtl(egovCryptoUtil.decrypt(model.getRpplAddrDtl())); - model.setRpplPost(egovCryptoUtil.decrypt(model.getRpplPost())); - model.setRpplEmail(egovCryptoUtil.decrypt(model.getRpplEmail())); - model.setRpplPhone(egovCryptoUtil.decrypt(model.getRpplPhone())); - model.setRpplRealPost(egovCryptoUtil.decrypt(model.getRpplRealPost())); - model.setRpplRealAddr(egovCryptoUtil.decrypt(model.getRpplRealAddr())); - model.setRpplRealAddrDtl(egovCryptoUtil.decrypt(model.getRpplRealAddrDtl())); - - - model.setDepuTyNm(egovCryptoUtil.decrypt(model.getDepuTyNm())); -// model.setResPonDentNm(egovCryptoUtil.decrypt(model.getResPonDentNm())); - - //피신청인 명수 표시 '외 N명' 처리_이준호_220801 - if (!StringUtil.isEmpty(model.getResPonDentNm())) { - String tmpStr = ""; - if(model.getResPonDentNm().contains("외")) { - tmpStr = model.getResPonDentNm().substring(model.getResPonDentNm().length()-3); - } - model.setResPonDentNm(egovCryptoUtil.decrypt(model.getResPonDentNm()) + " " + tmpStr); - } - - model.setAppliCantNm(egovCryptoUtil.decrypt(model.getAppliCantNm())); - model.setAdrAdmNm(egovCryptoUtil.decrypt(model.getAdrAdmNm())); - model.setCmntNm(egovCryptoUtil.decrypt(model.getCmntNm())); - model.setRpplRespddSeq(model.getRpplRespddSeq()); - model.setAppPlaceTy(model.getAppPlaceTy()); - model.setAppPlaceAddrTy(model.getAppPlaceAddrTy()); - - //조정부장 이름 복호화 - if(StringUtils.isNotBlank(model.getAdrCdnt())) { - - model.setAdrCdnt(egovCryptoUtil.decrypt(model.getAdrCdnt())); - - } - - //조정위원 복호화 - if(StringUtils.isNotBlank(model.getAdrCclt())) { - - String[] strSplit = model.getAdrCclt().split(","); - - if(strSplit.length > 1) { - List names = new ArrayList<>(); - for(String cclt : strSplit) { - names.add(egovCryptoUtil.decrypt(cclt)); - } - model.setAdrCclt(String.join(",", names)); - }else { - model.setAdrCclt(egovCryptoUtil.decrypt(strSplit[0])); - } - - } - - - - // 피신청인 다중으로 가져왔을때.. - if(StringUtils.isNotBlank(model.getResPonDentNms())){ - String[] resNms = model.getResPonDentNms().split("\\|"); - if(resNms.length > 1 ){ - List names = new ArrayList<>(); - for(String name : resNms){ - names.add(egovCryptoUtil.decrypt(name)); - } - model.setResPonDentNms(String.join(",", names)); - }else{ - model.setResPonDentNms(egovCryptoUtil.decrypt(resNms[0])); - } - } - - // 신청인 대리인 다중으로 가져왔을때.. - if(StringUtils.isNotBlank(model.getDepuTyNms())){ - String[] resNms = model.getDepuTyNms().split("\\|"); - if(resNms.length > 1 ){ - List names = new ArrayList<>(); - for(String name : resNms){ - names.add(egovCryptoUtil.decrypt(name)); - } - model.setDepuTyNms(String.join(",", names)); - }else{ - model.setDepuTyNms(egovCryptoUtil.decrypt(resNms[0])); - } - } - - // 피신청인 대리인 다중으로 가져왔을때.. - if(StringUtils.isNotBlank(model.getResPonAgntNms())){ - String[] resNms = model.getResPonAgntNms().split("\\|"); - if(resNms.length > 1 ){ - List names = new ArrayList<>(); - for(String name : resNms){ - names.add(egovCryptoUtil.decrypt(name)); - } - model.setResPonAgntNms(String.join(",", names)); - }else{ - model.setResPonAgntNms(egovCryptoUtil.decrypt(resNms[0])); - } - } - } - } - - if(info != null){ - info.setRpplNm(egovCryptoUtil.decrypt(info.getRpplNm())); - info.setRpplAddr(egovCryptoUtil.decrypt(info.getRpplAddr())); - info.setRpplAddrDtl(egovCryptoUtil.decrypt(info.getRpplAddrDtl())); - info.setRpplPost(egovCryptoUtil.decrypt(info.getRpplPost())); - info.setRpplEmail(egovCryptoUtil.decrypt(info.getRpplEmail())); - info.setRpplPhone(egovCryptoUtil.decrypt(info.getRpplPhone())); - info.setDepuTyNm(egovCryptoUtil.decrypt(info.getDepuTyNm())); - info.setResPonDentNm(egovCryptoUtil.decrypt(info.getResPonDentNm())); - info.setAppliCantNm(egovCryptoUtil.decrypt(info.getAppliCantNm())); - info.setAdrAdmNm(egovCryptoUtil.decrypt(info.getAdrAdmNm())); - info.setRpplRealPost(egovCryptoUtil.decrypt(info.getRpplRealPost())); - info.setRpplRealAddr(egovCryptoUtil.decrypt(info.getRpplRealAddr())); - info.setRpplRealAddrDtl(egovCryptoUtil.decrypt(info.getRpplRealAddrDtl())); - info.setCmntNm(egovCryptoUtil.decrypt(info.getCmntNm())); - info.setCcTyTx(info.getCcTyTx()); - // 피신청인 다중으로 가져왔을때.. - if(StringUtils.isNotBlank(info.getResPonDentNms())){ - String[] resNms = info.getResPonDentNms().split(","); - if(resNms.length > 1 ){ - List names = new ArrayList<>(); - for(String name : resNms){ - names.add(egovCryptoUtil.decrypt(name)); - } - info.setResPonDentNms(String.join(",", names)); - }else{ - info.setResPonDentNms(egovCryptoUtil.decrypt(resNms[0])); - } - } - - // 신청인 대리인 다중으로 가져왔을때.. - if(StringUtils.isNotBlank(info.getDepuTyNms())){ - String[] resNms = info.getDepuTyNms().split(","); - if(resNms.length > 1 ){ - List names = new ArrayList<>(); - for(String name : resNms){ - names.add(egovCryptoUtil.decrypt(name)); - } - info.setDepuTyNms(String.join(",", names)); - }else{ - info.setDepuTyNms(egovCryptoUtil.decrypt(resNms[0])); - } - } - - // 피신청인 대리인 다중으로 가져왔을때.. - if(StringUtils.isNotBlank(info.getResPonAgntNms())){ - String[] resNms = info.getResPonAgntNms().split(","); - if(resNms.length > 1 ){ - List names = new ArrayList<>(); - for(String name : resNms){ - names.add(egovCryptoUtil.decrypt(name)); - } - info.setResPonAgntNms(String.join(",", names)); - }else{ - info.setResPonAgntNms(egovCryptoUtil.decrypt(resNms[0])); - } - } - //조정부장 이름 복호화 - if(StringUtils.isNotBlank(info.getAdrCdnt())) { - - info.setAdrCdnt(egovCryptoUtil.decrypt(info.getAdrCdnt())); - - } - //조정위원 복호화 - if(StringUtils.isNotBlank(info.getAdrCclt())) { - - String[] strSplit = info.getAdrCclt().split(","); - - if(strSplit.length > 1) { - List names = new ArrayList<>(); - for(String cclt : strSplit) { - names.add(egovCryptoUtil.decrypt(cclt)); - } - info.setAdrCclt(String.join(",", names)); - }else { - info.setAdrCclt(egovCryptoUtil.decrypt(strSplit[0])); - } - - } - } - } - - -} +package kcc.kccadr.adjcclt.web; + +import java.time.DayOfWeek; +import java.time.LocalDate; +import java.time.format.TextStyle; +import java.util.ArrayList; +import java.util.List; +import java.util.Locale; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; + +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.servlet.ModelAndView; +import org.springframework.web.servlet.mvc.support.RedirectAttributes; + +import egovframework.rte.fdl.idgnr.EgovIdGnrService; +import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper; +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; +import kcc.com.cmm.LoginVO; +import kcc.com.cmm.service.EgovFileMngService; +import kcc.com.cmm.service.FileVO; +import kcc.com.cmm.util.StringUtil; +import kcc.com.utl.fcc.service.EgovStringUtil; +import kcc.com.utl.user.service.CheckAdrProcessUtil; +import kcc.kccadr.accdnt.ars.service.AdjstReqStatusService; +import kcc.kccadr.accdnt.ars.service.AdjstReqStatusVO; +import kcc.kccadr.adjPgrMgr.cmm.service.PgrCmmService; +import kcc.kccadr.adjPgrMgr.cmm.service.PgrCmmVO; +import kcc.kccadr.adjPgrMgr.dnt.service.DntService; +import kcc.kccadr.adjPgrMgr.dnt.service.DntVO; +import kcc.kccadr.adjPgrMgr.drt.service.AssVO; +import kcc.kccadr.adjPgrMgr.drt.service.DrtService; +import kcc.kccadr.adjPgrMgr.drt.service.DrtVO; +import kcc.kccadr.adjcclt.service.AdjstConciliatorService; +import kcc.kccadr.adjcclt.service.AdjstConciliatorVO; +import kcc.kccadr.adjreqmgr.service.AdjReqMgrVO; +import kcc.kccadr.cmm.CmmUtil; +import kcc.kccadr.cmm.KccadrConstants; +import kcc.kccadr.kccadrCom.service.KccadrMgrUdtService; +import kcc.kccadr.ojct.service.OjctService; +import kcc.kccadr.ojct.service.OjctVO; +import kcc.let.utl.fcc.service.EgovCryptoUtil; + +/** + * 대국민(사용자) + * 조정사건 관한 controller 클래스를 정의한다. + * @author 김봉호 + * @since 2021.08.23 + * @version 1.0 + * @see + * + *
+ * << 개정이력(Modification Information) >>
+ *
+ *   수정일      수정자           수정내용
+ *  -------    --------    ---------------------------
+ *   2021.08.23  김봉호          최초 생성
+ *
+ * 
+ */ +@Controller +public class AdjstConciliatorController { + + private static final Logger LOGGER = LoggerFactory.getLogger(AdjstConciliatorController.class); + + @Resource(name = "pgrCmmService") + private PgrCmmService cmmService; + + @Resource(name="adjstConciliatorService") + private AdjstConciliatorService adjstConciliatorService; + + @Resource(name = "drtService") + private DrtService drtService; + + @Resource(name = "dntService") + private DntService dntService; + + //이의신청 + @Resource(name="ojctService") + private OjctService ojctService; + + @Resource(name = "EgovFileMngService") + private EgovFileMngService fileService; + + @Resource(name="adjstReqStatusService") + private AdjstReqStatusService adjstReqStatusService; + + //암복호화 유틸 + @Resource(name = "egovCryptoUtil") + EgovCryptoUtil egovCryptoUtil; + + // 조정신청 서비스단 + @Resource(name = "checkAdrProcessUtil") + private CheckAdrProcessUtil checkAdrProcessUtil; + + @Resource(name="KccadrMgrUdtService") + private KccadrMgrUdtService kccadrMgrUdtService; + + //조정사건 이력관리 일련번호 + @Resource(name="adrHstryMgrSeqGnrService") + private EgovIdGnrService adrHstryMgrSeqGnrService; + + /** + * 조정위원 대시보드 화면 + */ + @RequestMapping("/web/kccadr/adjcclt/ai/adjstConciliatorDashList.do") + public String adjstConciliatorDashList(@ModelAttribute("adjstConciliatorVO") AdjstConciliatorVO adjstConciliatorVO, ModelMap model, HttpServletRequest request) throws Exception { + + String auth = EgovUserDetailsHelper.isAuthenticated() ? null : EgovUserDetailsHelper.getAuthenticatedUser().toString(); + LoginVO loginVO = "anonymousUser".equals(auth) ? null : (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + + if (loginVO == null) { + + model.addAttribute("msg", "로그인 해주세요."); + return "redirect:/web/user/login/ssoLogin.do"; + } + + adjstConciliatorVO.setFrstRegisterId(loginVO.getUniqId()); + adjstConciliatorVO.setMemSeq(loginVO.getUniqId()); + + if("".equals(adjstConciliatorVO.getSearchSortCnd())){ //최초조회시 최신것 조회List + adjstConciliatorVO.setSearchSortCnd("RS.ADR_SEQ"); + adjstConciliatorVO.setSearchSortOrd("desc"); + } + + //최신 5건 조회 + adjstConciliatorVO.setFirstIndex(0); + adjstConciliatorVO.setRecordCountPerPage(5); + + //List list = adjstConciliatorService.selectAdjstConciliatorDashList(adjstConciliatorVO); + //대시보드 전용 > 조정 진행목록 쿼리로 수정 + List list = adjstConciliatorService.selectAdjstConciliatorList(adjstConciliatorVO); + decryptInfomation(list, null); + model.addAttribute("list", list); + + //조정 진행 수량 가져오기 + //EgovMap resultMap = adjstConciliatorService.selectAdjstConciliatorDashSummary(adjstConciliatorVO); + //model.addAttribute("resultMap", resultMap); + //대시보드 전용 > 조정 진행목록 쿼리로 수정 + int listCnt = adjstConciliatorService.selectAdjstConciliatorCount(adjstConciliatorVO); + model.addAttribute("listCnt", listCnt); + + //결재대기 수량 가져오기 + //대시보드 전용 > 결재 목록 조회 쿼리로 수정 + //EgovMap resultSbmtMap = adjstConciliatorService.selectAdjstConciliatorDashSbmtSummary(adjstConciliatorVO); + adjstConciliatorVO.setSearchSbmtId(loginVO.getUniqId()); + //결재대기 조건 추가 + String[] appliCantNmList = {"01"}; + adjstConciliatorVO.setSearchStatusArr(appliCantNmList); + int apmCnt = adjstConciliatorService.selectAdjstConciliatorApmCount(adjstConciliatorVO); + model.addAttribute("apmCnt", apmCnt); + + + //오늘 날짜 가져오기 + LocalDate now = LocalDate.now(); + int year = now.getYear(); //년 + int month = now.getMonthValue(); //월 + int day = now.getDayOfMonth(); //일 + DayOfWeek dayOfWeek = now.getDayOfWeek(); + String today = dayOfWeek.getDisplayName(TextStyle.FULL, Locale.KOREAN); //요일 + model.addAttribute("year", year); + model.addAttribute("month", month); + model.addAttribute("day", day); + model.addAttribute("today", today); + + return "/web/kccadr/adjcclt/adjstConciliatorDashList"; + } + + /** + * 조정사건 목록 화면 + */ + @RequestMapping("/web/kccadr/adjcclt/ai/adjstConciliatorList.do") + public String adjstDeputyReqList(@ModelAttribute("adjstConciliatorVO") AdjstConciliatorVO adjstConciliatorVO, ModelMap model, HttpServletRequest request) throws Exception { + + String auth = EgovUserDetailsHelper.isAuthenticated() ? null : EgovUserDetailsHelper.getAuthenticatedUser().toString(); + LoginVO loginVO = "anonymousUser".equals(auth) ? null : (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + + if (loginVO == null) { + + model.addAttribute("msg", "로그인 해주세요."); + return "redirect:/web/user/login/ssoLogin.do"; + } + + adjstConciliatorVO.setFrstRegisterId(loginVO.getUniqId()); + adjstConciliatorVO.setMemSeq(loginVO.getUniqId()); + + if(adjstConciliatorVO.getPageUnit() != 10) { + adjstConciliatorVO.setPageUnit(adjstConciliatorVO.getPageUnit()); + } + + if("".equals(adjstConciliatorVO.getSearchSortCnd())){ //최초조회시 최신것 조회List + adjstConciliatorVO.setSearchSortCnd("RS.ADR_SEQ"); + adjstConciliatorVO.setSearchSortOrd("desc"); + } + + /** paging */ + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(adjstConciliatorVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(adjstConciliatorVO.getPageUnit()); + paginationInfo.setPageSize(adjstConciliatorVO.getPageSize()); + + adjstConciliatorVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + adjstConciliatorVO.setLastIndex(paginationInfo.getLastRecordIndex()); + adjstConciliatorVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + List list = adjstConciliatorService.selectAdjstConciliatorList(adjstConciliatorVO); + + paginationInfo.setTotalRecordCount(list.size() != 0 ? list.get(0).getTotCnt() : 0); + model.addAttribute("paginationInfo", paginationInfo); + + decryptInfomation(list, null); + model.addAttribute("list", list); + + return "/web/kccadr/adjcclt/adjstConciliatorList"; + } + + /** + * 조정사건 목록 화면 + */ + @RequestMapping("/web/kccadr/adjcclt/adjstConciliatorDetail.do") + public String adjstConciliatorDetail(@ModelAttribute("adjstConciliatorVO") AdjstConciliatorVO adjstConciliatorVO, ModelMap model) throws Exception { + return "/web/kccadr/adjcclt/adjstConciliatorDetail"; + } + + /** + * 조정진행 상세 사건정보 탭 화면 + */ + @RequestMapping("/web/kccadr/adjcclt/tab/adjstConciliatorTabInfo.do") + public String adjstConciliatorTabInfo(@ModelAttribute("adjstConciliatorVO") AdjstConciliatorVO adjstConciliatorVO, ModelMap model) throws Exception { + AdjstConciliatorVO master = adjstConciliatorService.selectAdjstConciliatorMaster(adjstConciliatorVO); + + // 마스터 테이블 파일 정보 + if(StringUtils.isNotBlank(master.getAtchFileId())){ + FileVO fileVO = new FileVO(); + fileVO.setAtchFileId(master.getAtchFileId()); + List fileList = fileService.selectFileInfs(fileVO); + master.setFileList(fileList); + } + + model.addAttribute("master", master); + + // 신청인만 조회 + adjstConciliatorVO.setRpplTy(KccadrConstants.ADR_RPPL_TY_REQ); + List reqPerson = adjstConciliatorService.selectAdjstConciliatorPersonList(adjstConciliatorVO); + decryptInfomation(reqPerson, null); + model.addAttribute("reqPerson", reqPerson); + + // 피신청인 + adjstConciliatorVO.setRpplTy(KccadrConstants.ADR_RPPL_TY_RES); + List resPerson = adjstConciliatorService.selectAdjstConciliatorPersonList(adjstConciliatorVO); + decryptInfomation(resPerson, null); + model.addAttribute("resPerson", resPerson); + + //List list = adjstConciliatorService.selectAdjstConciliatorAgentList(adjstConciliatorVO); + + //신청인의 대리인 정보 불러오기 + adjstConciliatorVO.setRpplTy(KccadrConstants.ADR_RPPL_TY_REQ_DEPUTY); + List list = adjstConciliatorService.selectAdjstConciliatorPersonList(adjstConciliatorVO); + decryptInfomation(list, null); + // 대리인 신청 파일 정보 + for(AdjstConciliatorVO rsModel : list){ + if(StringUtils.isNotBlank(rsModel.getAtchFileId())){ + FileVO fileVO = new FileVO(); + fileVO.setAtchFileId(master.getAtchFileId()); + List fileList = fileService.selectFileInfs(fileVO); + rsModel.setFileList(fileList); + } + } + model.addAttribute("agentList", list); + + //피신청인 대리인 정보 불러오기 + adjstConciliatorVO.setRpplTy(KccadrConstants.ADR_RPPL_TY_RES_DEPUTY); + List resDepuList = adjstConciliatorService.selectAdjstConciliatorPersonList(adjstConciliatorVO); + decryptInfomation(resDepuList, null); + + //피신청인 대리인 신청 파일 정보 + for(AdjstConciliatorVO depModel : resDepuList){ + if(StringUtils.isNotBlank(depModel.getAtchFileId())){ + FileVO fileVO = new FileVO(); + fileVO.setAtchFileId(master.getAtchFileId()); + List fileList = fileService.selectFileInfs(fileVO); + depModel.setFileList(fileList); + } + } + + model.addAttribute("resDepuList", resDepuList); + + // 기일정보 + /*List fixedDateList = adjstConciliatorService.selectAdjstConciliatorFixedDateList(adjstConciliatorVO); + decryptInfomation(fixedDateList, null); + model.addAttribute("fixedDateList", fixedDateList);*/ + + //기일정보 변경 정보로 받아오기 20220127 우영두 수정 + //1개 이상의 기일변경을 요청한 경우 조정 기일 정보를 group_concat 으로 받아와서 현재 요청 날짜와 이전 날짜를 함께 보여줌 - 변경승인이 완료된 리스트만 불러옴 + adjstConciliatorVO.setChgSts("Y"); + List fixedDateList = adjstConciliatorService.selectAdjstConciliatorChangeDateList(adjstConciliatorVO); + decryptInfomation(fixedDateList, null); + model.addAttribute("fixedDateList", fixedDateList); + + // 상세 종결관련 데이터 조회 + model.addAttribute("endInfo", adjstConciliatorService.selectAdjstConciliatorEndInfo(adjstConciliatorVO)); + + //이의신청 정보 불러오기 + OjctVO ojctVO = new OjctVO(); + ojctVO.setAdrSeq(adjstConciliatorVO.getAdrSeq()); + ojctVO.setAdrSn(adjstConciliatorVO.getAdrSn()); + + int ojctCnt = 0; + ojctCnt = ojctService.selectOjctListCount(ojctVO); + + model.addAttribute("ojctCnt", ojctCnt); + + return "/web/kccadr/adjcclt/tab/adjstConciliatorTabInfo"; + } + + /** + * 조정사건 목록 화면 + */ + @RequestMapping("/web/kccadr/adjcclt/tab/adjstConciliatorTabDocs.do") + public String adjstConciliatorTabDocs(@ModelAttribute("adjstConciliatorVO") AdjstConciliatorVO adjstConciliatorVO, ModelMap model) throws Exception { + //model.addAttribute("docList", adjstConciliatorService.selectAdjstConciliatorTabDocsList(adjstConciliatorVO)); + AdjstReqStatusVO adjstReqStatusVO = new AdjstReqStatusVO(); + adjstReqStatusVO.setAdrSeq(adjstConciliatorVO.getAdrSeq()); + //model.addAttribute("docList", adjstReqStatusService.selectAdjstHistoryList(adjstReqStatusVO)); + model.addAttribute("docList" , adjstReqStatusService.selectAdjstDocs20211020List(adjstReqStatusVO)); + + //model.addAttribute("list" , adjstReqStatusService.selectAdjstHistoryList(adjstReqStatusVO)); + //return "/web/kccadr/accdnt/ars/tab/adjstReqStatusTabStatus"; + + return "/web/kccadr/adjcclt/tab/adjstConciliatorTabDocs"; + } + + /** + * 기일조서 상세 화면 + */ + @RequestMapping("/web/kccadr/adjcclt/adjstDrtDetail.do") + public String adjstDrtDetail(@ModelAttribute("adjstConciliatorVO") AdjstConciliatorVO adjstConciliatorVO, PgrCmmVO cmmVO, DrtVO drtVO, ModelMap model) throws Exception { + + /*AdjstConciliatorVO info = adjstConciliatorService.selectAdjstDrtDetail(adjstConciliatorVO); + decryptInfomation(null, info); + model.addAttribute("info", info);*/ + + List assList = drtService.selectAssList(drtVO); + + PgrCmmVO info = cmmService.selectPgrCmm(cmmVO); + + //(조정위원)조정진행 목록 상세 - 기일조서 + adjstConciliatorVO.setChgSts("Y"); + List fixedDateList = adjstConciliatorService.selectAdjstConciliatorChangeDateList2(adjstConciliatorVO); + decryptInfomation(fixedDateList, null); + model.addAttribute("fixedDateList", fixedDateList); + + model.addAttribute("assList", assList); + model.addAttribute("info", info); + + return "/web/kccadr/adjcclt/adjstDrtDetail"; + } + + /** + * 조정사건 목록 화면 + */ + @RequestMapping("/web/kccadr/adjcclt/adjstCancleDetail.do") + public String adjstCancleDetail(@ModelAttribute("adjstConciliatorVO") AdjstConciliatorVO adjstConciliatorVO, ModelMap model) throws Exception { + AdjstConciliatorVO info = adjstConciliatorService.selectAdjstCancleDetail(adjstConciliatorVO); + decryptInfomation(null, info); + model.addAttribute("info", info); + return "/web/kccadr/adjcclt/adjstCancleDetail"; + } + + /** + * 불성립종결통보서 상세 화면 + */ + @RequestMapping("/web/kccadr/adjcclt/adjstNoEstablishmentDetail.do") + public String adjstNoEstablishmentDetail(@ModelAttribute("adjstConciliatorVO") AdjstConciliatorVO adjstConciliatorVO, ModelMap model) throws Exception { + AdjstConciliatorVO info = adjstConciliatorService.selectAdjstCancleDetail(adjstConciliatorVO); + decryptInfomation(null, info); + model.addAttribute("info", info); + return "/web/kccadr/adjcclt/adjstNoEstablishmentDetail"; + } + + /** + * 조정사건 목록 화면 + */ + @RequestMapping("/web/kccadr/adjcclt/adjstRecommendationDetail.do") + public String adjstRecommendationDetail(@ModelAttribute("adjstConciliatorVO") AdjstConciliatorVO adjstConciliatorVO, ModelMap model) throws Exception { + AdjstConciliatorVO info = adjstConciliatorService.selectAdjstCancleDetail(adjstConciliatorVO); + decryptInfomation(null, info); + model.addAttribute("info", info); + return "/web/kccadr/adjcclt/adjstRecommendationDetail"; + } + + /** + * 조정사건 목록 화면 + */ + @RequestMapping("/web/kccadr/adjcclt/adjstProtocolDetail.do") + public String adjstProtocolDetail(@ModelAttribute("adjstConciliatorVO") AdjstConciliatorVO adjstConciliatorVO, ModelMap model) throws Exception { + + adjstConciliatorVO.setStatCd(KccadrConstants.ADR_JJOSU_APPR_REQ); + adjstConciliatorVO.setDlvryDocTy("40"); + AdjstConciliatorVO info = adjstConciliatorService.selectAdjstCancleDetail(adjstConciliatorVO); + decryptInfomation(null, info); + model.addAttribute("info", info); + return "/web/kccadr/adjcclt/adjstProtocolDetail"; + } + + @RequestMapping("/web/kccadr/adjcclt/adjstMediationDecisionDetail.do") + public String adjstMediationDecisionDetail(@ModelAttribute("adjstConciliatorVO") AdjstConciliatorVO adjstConciliatorVO, ModelMap model) throws Exception { + AdjstConciliatorVO info = adjstConciliatorService.selectAdjstCancleDetail(adjstConciliatorVO); + decryptInfomation(null, info); + model.addAttribute("info", info); + return "/web/kccadr/adjcclt/adjstMediationDecisionDetail"; + } + + /** + * 조정사건 목록 화면 + */ + @RequestMapping("/web/kccadr/adjcclt/comment/adjstRecommendationCommentList.do") + public String adjstRecommendationCommentList(@ModelAttribute("adjstConciliatorVO") AdjstConciliatorVO adjstConciliatorVO, ModelMap model) throws Exception { + + + if(adjstConciliatorVO.getPageUnit() != 10) { + adjstConciliatorVO.setPageUnit(adjstConciliatorVO.getPageUnit()); + } + + if("".equals(adjstConciliatorVO.getSearchSortCnd())){ //최초조회시 최신것 조회List + adjstConciliatorVO.setSearchSortCnd("T1.FRST_REGIST_PNTTM"); + adjstConciliatorVO.setSearchSortOrd("desc"); + } + + /** paging */ + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(adjstConciliatorVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(adjstConciliatorVO.getPageUnit()); + paginationInfo.setPageSize(adjstConciliatorVO.getPageSize()); + + adjstConciliatorVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + adjstConciliatorVO.setLastIndex(paginationInfo.getLastRecordIndex()); + adjstConciliatorVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + paginationInfo.setTotalRecordCount(adjstConciliatorService.selectAdjstRecommendationCommentCount(adjstConciliatorVO)); + model.addAttribute("paginationInfo", paginationInfo); + List list = adjstConciliatorService.selectAdjstRecommendationCommentList(adjstConciliatorVO); + decryptInfomation(list, null); + model.addAttribute("list", list); + return "/web/kccadr/adjcclt/comment/adjstRecommendationCommentList"; + } + + + /** + * 조정사건 목록 화면 + */ + @RequestMapping("/web/kccadr/adjcclt/comment/adjstRecommendationPastCommentList.do") + public String adjstRecommendationPastCommentList(@ModelAttribute("adjstConciliatorVO") AdjstConciliatorVO adjstConciliatorVO, ModelMap model) throws Exception { + + + if(adjstConciliatorVO.getPageUnit() != 10) { + adjstConciliatorVO.setPageUnit(adjstConciliatorVO.getPageUnit()); + } + + if("".equals(adjstConciliatorVO.getSearchSortCnd())){ //최초조회시 최신것 조회List + adjstConciliatorVO.setSearchSortCnd("T1.FRST_REGIST_PNTTM"); + adjstConciliatorVO.setSearchSortOrd("desc"); + } + + /** paging */ + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(adjstConciliatorVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(adjstConciliatorVO.getPageUnit()); + paginationInfo.setPageSize(adjstConciliatorVO.getPageSize()); + + adjstConciliatorVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + adjstConciliatorVO.setLastIndex(paginationInfo.getLastRecordIndex()); + adjstConciliatorVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + paginationInfo.setTotalRecordCount(adjstConciliatorService.selectAdjstRecommendationCommentCount(adjstConciliatorVO)); + model.addAttribute("paginationInfo", paginationInfo); + List list = adjstConciliatorService.selectAdjstRecommendationCommentList(adjstConciliatorVO); + decryptInfomation(list, null); + model.addAttribute("list", list); + return "/web/kccadr/adjcclt/comment/adjstRecommendationPastCommentList"; + } + + @RequestMapping("/web/kccadr/adjcclt/popup/adjstRecommendationCommentDetail.do") + public String adjstRecommendationCommentDetail(@ModelAttribute("adjstConciliatorVO") AdjstConciliatorVO adjstConciliatorVO, ModelMap model) throws Exception { + model.addAttribute("info", adjstConciliatorService.selectAdjstRecommendationCommentDetail(adjstConciliatorVO)); + return "/web/kccadr/adjcclt/popup/adjstRecommendationCommentDetail"; + } + + /** + * + * @return String + * @exception Exception + */ + @RequestMapping(value="/web/kccadr/adjcclt/commnet/adjstRecommendationCommentSave.do", method = RequestMethod.POST) + public ModelAndView adjReqMgrRegPaymentMultyPopupSave(HttpServletRequest request , @RequestBody AdjstConciliatorVO adjstConciliatorVO) throws Exception { + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + String auth = EgovUserDetailsHelper.isAuthenticated() ? null : EgovUserDetailsHelper.getAuthenticatedUser().toString(); + LoginVO loginVO = "anonymousUser".equals(auth) ? null : (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + + if (loginVO == null) { + + modelAndView.addObject("result", "fail"); + modelAndView.addObject("message", "로그인 해주세요."); + return modelAndView; + } + + adjstConciliatorVO.setFrstRegisterId(loginVO.getUniqId()); + adjstConciliatorVO.setLastUpdusrId(loginVO.getUniqId()); + adjstConciliatorVO.setMemSeq(loginVO.getUniqId()); + + int rs = adjstConciliatorService.insertAdjstRecommendationCommentSave(adjstConciliatorVO); + modelAndView.addObject("rs", (rs>0)); + return modelAndView; + } + + + /** + * + * @return String + * @exception Exception + */ + @RequestMapping(value="/web/kccadr/adjcclt/adjstEndConfirmSave.do", method = RequestMethod.POST) + public ModelAndView adjstEndConfirmSave(HttpServletRequest request , @RequestBody AdjstConciliatorVO adjstConciliatorVO) throws Exception { + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + String auth = EgovUserDetailsHelper.isAuthenticated() ? null : EgovUserDetailsHelper.getAuthenticatedUser().toString(); + LoginVO loginVO = "anonymousUser".equals(auth) ? null : (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + + if (loginVO == null) { + + modelAndView.addObject("result", "fail"); + modelAndView.addObject("message", "로그인 해주세요."); + return modelAndView; + } + + adjstConciliatorVO.setFrstRegisterId(loginVO.getUniqId()); + adjstConciliatorVO.setLastUpdusrId(loginVO.getUniqId()); + adjstConciliatorVO.setMemSeq(loginVO.getUniqId()); + + int rs = adjstConciliatorService.updateAdjstEndConfirmSave(adjstConciliatorVO); + modelAndView.addObject("rs", (rs>0)); + return modelAndView; + } + + @RequestMapping("/web/kccadr/adjcclt/ai/adjstConciliatorApmList.do") + public String adjstConciliatorApmList(@ModelAttribute("adjstConciliatorVO") AdjstConciliatorVO adjstConciliatorVO, ModelMap model, HttpServletRequest request) throws Exception { + String auth = EgovUserDetailsHelper.isAuthenticated() ? null : EgovUserDetailsHelper.getAuthenticatedUser().toString(); + LoginVO loginVO = "anonymousUser".equals(auth) ? null : (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + + if (loginVO == null) { + + model.addAttribute("msg", "로그인 해주세요."); + return "redirect:/web/user/login/ssoLogin.do"; + } + + adjstConciliatorVO.setFrstRegisterId(loginVO.getUniqId()); + adjstConciliatorVO.setMemSeq(loginVO.getUniqId()); + adjstConciliatorVO.setSearchSbmtId(loginVO.getUniqId()); + + if(adjstConciliatorVO.getPageUnit() != 10) { + adjstConciliatorVO.setPageUnit(adjstConciliatorVO.getPageUnit()); + } + + if("".equals(adjstConciliatorVO.getSearchSortCnd())){ //최초조회시 최신것 조회List + adjstConciliatorVO.setSearchSortCnd("RS.frstRegistPnttm"); + adjstConciliatorVO.setSearchSortOrd("desc"); + } + + + if(StringUtils.isEmpty(adjstConciliatorVO.getSearchStartDt()) && StringUtils.isEmpty(adjstConciliatorVO.getSearchEndDt())){ + adjstConciliatorVO.setSearchStartDt(CmmUtil.getDiffMonth(1 , "yyyy-MM-dd")); + adjstConciliatorVO.setSearchEndDt(CmmUtil.getDateNow("yyyy-MM-dd")); + } + + /** paging */ + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(adjstConciliatorVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(adjstConciliatorVO.getPageUnit()); + paginationInfo.setPageSize(adjstConciliatorVO.getPageSize()); + + adjstConciliatorVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + adjstConciliatorVO.setLastIndex(paginationInfo.getLastRecordIndex()); + adjstConciliatorVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + paginationInfo.setTotalRecordCount(adjstConciliatorService.selectAdjstConciliatorApmCount(adjstConciliatorVO)); + model.addAttribute("paginationInfo", paginationInfo); + List list = adjstConciliatorService.selectAdjstConciliatorApmList(adjstConciliatorVO); + decryptInfomation(list, null); + model.addAttribute("list", list); + + return "/web/kccadr/adjcclt/adjstConciliatorApmList"; + } + + /** + * 조정사건 상세 화면 + */ + @RequestMapping("/web/kccadr/adjcclt/ai/adjstConciliatorApmDetail.do") + public String adjstConciliatorApmDetail(@ModelAttribute("adjstConciliatorVO") AdjstConciliatorVO adjstConciliatorVO, ModelMap model) throws Exception { + String auth = EgovUserDetailsHelper.isAuthenticated() ? null : EgovUserDetailsHelper.getAuthenticatedUser().toString(); + LoginVO loginVO = "anonymousUser".equals(auth) ? null : (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + + if (loginVO == null) { + + model.addAttribute("msg", "로그인 해주세요."); + return "redirect:/web/user/login/ssoLogin.do"; + } + + adjstConciliatorVO.setSearchSbmtId(loginVO.getUniqId()); + AdjstConciliatorVO info = adjstConciliatorService.selectAdjstConciliatorApmDetail(adjstConciliatorVO); + //처리여부 + AdjstConciliatorVO sbmtYn = adjstConciliatorService.selectAdjstConciliatorApmSbmtYn(adjstConciliatorVO); + decryptInfomation(null, info); + model.addAttribute("info", info); + model.addAttribute("sbmtYn", sbmtYn); + + //기일통지서 요청, 기일변경 요청 상태일때 기일 제출 정보를 불러온다. + String statCd = info.getStatCd(); + AdjstConciliatorVO dntInfo = new AdjstConciliatorVO(); + if(statCd.equals(KccadrConstants.ADR_APP_NTC_REQ) + || statCd.equals(KccadrConstants.ADR_APP_CHG_REQ)) { + + dntInfo = adjstConciliatorService.selectAdjstConciliatorDntSbmtYnInfo(adjstConciliatorVO); + } + model.addAttribute("dntInfo", dntInfo); + + //기일정보 변경 정보로 받아오기 20220127 우영두 수정 + //1개 이상의 기일변경을 요청한 경우 조정 기일 정보를 group_concat 으로 받아와서 현재 요청 날짜와 이전 날짜를 함께 보여줌 - 변경요청이 제출되고 결재 승인이 안된 날짜 포함해서 불러옴 + adjstConciliatorVO.setChgSts("N"); + List fixedDateList = adjstConciliatorService.selectAdjstConciliatorChangeDateList(adjstConciliatorVO); + decryptInfomation(fixedDateList, null); + model.addAttribute("fixedDateList", fixedDateList); + + return "/web/kccadr/adjcclt/adjstConciliatorApmDetail"; + } + + /** + * + * @return String + * @exception Exception + */ + @RequestMapping(value="/web/kccadr/adjcclt/ai/adjstConciliatorApmSave.do", method = RequestMethod.POST) + public ModelAndView adjstConciliatorApmSave(HttpServletRequest request , @RequestBody AdjstConciliatorVO adjstConciliatorVO) throws Exception { + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + String auth = EgovUserDetailsHelper.isAuthenticated() ? null : EgovUserDetailsHelper.getAuthenticatedUser().toString(); + LoginVO loginVO = "anonymousUser".equals(auth) ? null : (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + + if (loginVO == null) { + + modelAndView.addObject("result", "fail"); + modelAndView.addObject("message", "로그인 해주세요."); + return modelAndView; + } + + adjstConciliatorVO.setFrstRegisterId(loginVO.getUniqId()); + adjstConciliatorVO.setLastUpdusrId(loginVO.getUniqId()); + adjstConciliatorVO.setSbmtId(loginVO.getUniqId()); + + //결제 전 상태를 체크한다.. + String s_process_check_result = checkAdrProcessUtil.processCheck(adjstConciliatorVO.getAdrSeq(), adjstConciliatorVO.getSbmtTy()); + if (!"".equals(s_process_check_result)) { + modelAndView.addObject("result", KccadrConstants.FAIL); + modelAndView.addObject("message", s_process_check_result); + return modelAndView; + } + + + //이력관리를 위한 adr_hstry_mgr_detail - 2022-09-07 controller #1 + String s_adrHstryMgrSeq = adrHstryMgrSeqGnrService.getNextStringId(); + + + int rs = adjstConciliatorService.updateConciliatorApmSave(adjstConciliatorVO); + if(rs > 0 ){ + // 결재 후 상태 조회 + AdjstConciliatorVO statInfo = adjstConciliatorService.selectAdjstConciliatorAPmStatus(adjstConciliatorVO); + // 모든 결재가 끝났다면... + if("Y".equals(statInfo.getAllYn())){ + AdjReqMgrVO arv = new AdjReqMgrVO(); + arv.setAdrSeq(adjstConciliatorVO.getAdrSeq()); // 조정일련번호 + arv.setStatCd(CmmUtil.getDynamicStatCd(adjstConciliatorVO.getSbmtTy(), KccadrConstants.ADR_STAT_CRM)); // 최종 변경 상태값 + arv.setLastUpdusrId(loginVO.getUniqId()); // 최종 변경자 + kccadrMgrUdtService.updateAdrMgrUdt(arv + , s_adrHstryMgrSeq + ); + }else if("Y".equals(statInfo.getRejectYn())){ + AdjReqMgrVO arv = new AdjReqMgrVO(); + arv.setAdrSeq(adjstConciliatorVO.getAdrSeq()); // 조정일련번호 + arv.setStatCd(CmmUtil.getDynamicStatCd(adjstConciliatorVO.getSbmtTy(), KccadrConstants.ADR_STAT_RJT)); // 최종 변경 상태값 + arv.setLastUpdusrId(loginVO.getUniqId()); // 최종 변경자 + kccadrMgrUdtService.updateAdrMgrUdt(arv + , s_adrHstryMgrSeq + ); + } + modelAndView.addObject("rs", (rs>0)); + modelAndView.addObject("result", KccadrConstants.SUCCESS); + modelAndView.addObject("adrHstryMgrSeq", s_adrHstryMgrSeq); + + System.out.println("s_adrHstryMgrSeq=================="); + System.out.println(s_adrHstryMgrSeq); + System.out.println("s_adrHstryMgrSeq==================="); + + }else{ + modelAndView.addObject("rs", (rs>0)); + modelAndView.addObject("result", KccadrConstants.FAIL); + } + return modelAndView; + } + + /** + * 기일 결재 승인 여부 수정 TODO daenge 기일 결재 승인 여부 수정 + * + * @param dntVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/web/kccadr/adjcclt/ai/dntUpdApprYnAjax.do") + public ModelAndView dntUpdApprYnAjax(@ModelAttribute("dntVO") DntVO dntVO, ModelMap model, RedirectAttributes redirectAttributes, final MultipartHttpServletRequest multiRequest) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated() ? (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser() : null; + String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getUniqId()); + dntVO.setFrstRegisterId(userId); + dntVO.setLastUpdusrId(userId); + + //기일통지서 요청, 기일변경요청 상태의 승인/반려 처리 상태 및 일자 업데이트 처리 + if(StringUtil.isNotEmpty(dntVO.getApprYn())) { + + if(dntVO.getApprYn().equals("Y")) { + + //승인 처리 + dntService.dntUpdApprYnY(dntVO + , "조정진행관리>>조정진행목록>조정진행상세>기일등록>조정기일지정-통지확인요청-Y" //String p_code_desc - CC199 + , "A135" //String p_stat_cd + , dntVO.getAssHstrySeq() + ); + + }else { + + //반려 처리 - 제출 이전의 상태로 변경함 (sbmt_yn : N, appr_yn : n 상태로 만듬) + dntService.dntUpdApprYnN(dntVO + , "조정진행관리>>조정진행목록>조정진행상세>기일등록>조정기일지정-통지확인요청-N" //String p_code_desc - CC199 + , "A136" //String p_stat_cd + , "" + ); + + } + + } + + modelAndView.addObject("result", "SUCCESS"); + + return modelAndView; + + } + + + /* + * 조정위원 조정진행 상세 - 이의신청 목록 화면 + * + * */ + @RequestMapping("/web/kccadr/adjcclt/adjstOjctList.do") + public String adjstOjctList(@ModelAttribute("ojctVO") OjctVO ojctVO, ModelMap model, HttpServletRequest request) throws Exception { + String auth = EgovUserDetailsHelper.isAuthenticated() ? null : EgovUserDetailsHelper.getAuthenticatedUser().toString(); + LoginVO loginVO = "anonymousUser".equals(auth) ? null : (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + + if (loginVO == null) { + + model.addAttribute("msg", "로그인 해주세요."); + return "redirect:/web/user/login/ssoLogin.do"; + } + + if(ojctVO.getPageUnit() != 10) { + ojctVO.setPageUnit(ojctVO.getPageUnit()); + } + + /** paging */ + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(ojctVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(ojctVO.getPageUnit()); + paginationInfo.setPageSize(ojctVO.getPageSize()); + + ojctVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + ojctVO.setLastIndex(paginationInfo.getLastRecordIndex()); + ojctVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + ojctVO.setOjctCd("02"); + paginationInfo.setTotalRecordCount(ojctService.selectOjctListCount(ojctVO)); + + List ojctList = ojctService.selectOjctList(ojctVO); + + model.addAttribute("paginationInfo", paginationInfo); + model.addAttribute("ojctList", ojctList); + model.addAttribute("ojctVO", ojctVO); + + return "/web/kccadr/adjcclt/adjstOjctList"; + } + + @RequestMapping("/web/kccadr/adjcclt/popup/adjstOjctDetail.do") + public String adjstOjctDetail(@ModelAttribute("ojctVO") OjctVO ojctVO, ModelMap model) throws Exception { + + OjctVO result = ojctService.selectOjctDetail(ojctVO); // 상세 조회 + model.addAttribute("result", result); + + PgrCmmVO cmmVO = new PgrCmmVO(); + cmmVO.setAdrSeq(ojctVO.getAdrSeq()); + + // 조정사건일반 + model.addAttribute("info", cmmService.selectPgrCmm(cmmVO)); + + return "/web/kccadr/adjcclt/popup/adjstOjctDetail"; + } + + + public void decryptInfomation(List list, AdjstConciliatorVO info){ + if(CollectionUtils.isNotEmpty(list)){ + for(AdjstConciliatorVO model : list){ + model.setRpplNm(egovCryptoUtil.decrypt(model.getRpplNm())); + model.setRpplAddr(egovCryptoUtil.decrypt(model.getRpplAddr())); + model.setRpplAddrDtl(egovCryptoUtil.decrypt(model.getRpplAddrDtl())); + model.setRpplPost(egovCryptoUtil.decrypt(model.getRpplPost())); + model.setRpplEmail(egovCryptoUtil.decrypt(model.getRpplEmail())); + model.setRpplPhone(egovCryptoUtil.decrypt(model.getRpplPhone())); + model.setRpplRealPost(egovCryptoUtil.decrypt(model.getRpplRealPost())); + model.setRpplRealAddr(egovCryptoUtil.decrypt(model.getRpplRealAddr())); + model.setRpplRealAddrDtl(egovCryptoUtil.decrypt(model.getRpplRealAddrDtl())); + + + model.setDepuTyNm(egovCryptoUtil.decrypt(model.getDepuTyNm())); +// model.setResPonDentNm(egovCryptoUtil.decrypt(model.getResPonDentNm())); + + //피신청인 명수 표시 '외 N명' 처리_이준호_220801 + if (!StringUtil.isEmpty(model.getResPonDentNm())) { + String tmpStr = ""; + if(model.getResPonDentNm().contains("외")) { + tmpStr = model.getResPonDentNm().substring(model.getResPonDentNm().length()-3); + } + model.setResPonDentNm(egovCryptoUtil.decrypt(model.getResPonDentNm()) + " " + tmpStr); + } + + model.setAppliCantNm(egovCryptoUtil.decrypt(model.getAppliCantNm())); + model.setAdrAdmNm(egovCryptoUtil.decrypt(model.getAdrAdmNm())); + model.setCmntNm(egovCryptoUtil.decrypt(model.getCmntNm())); + model.setRpplRespddSeq(model.getRpplRespddSeq()); + model.setAppPlaceTy(model.getAppPlaceTy()); + model.setAppPlaceAddrTy(model.getAppPlaceAddrTy()); + + //조정부장 이름 복호화 + if(StringUtils.isNotBlank(model.getAdrCdnt())) { + + model.setAdrCdnt(egovCryptoUtil.decrypt(model.getAdrCdnt())); + + } + + //조정위원 복호화 + if(StringUtils.isNotBlank(model.getAdrCclt())) { + + String[] strSplit = model.getAdrCclt().split(","); + + if(strSplit.length > 1) { + List names = new ArrayList<>(); + for(String cclt : strSplit) { + names.add(egovCryptoUtil.decrypt(cclt)); + } + model.setAdrCclt(String.join(",", names)); + }else { + model.setAdrCclt(egovCryptoUtil.decrypt(strSplit[0])); + } + + } + + + + // 피신청인 다중으로 가져왔을때.. + if(StringUtils.isNotBlank(model.getResPonDentNms())){ + String[] resNms = model.getResPonDentNms().split("\\|"); + if(resNms.length > 1 ){ + List names = new ArrayList<>(); + for(String name : resNms){ + names.add(egovCryptoUtil.decrypt(name)); + } + model.setResPonDentNms(String.join(",", names)); + }else{ + model.setResPonDentNms(egovCryptoUtil.decrypt(resNms[0])); + } + } + + // 신청인 대리인 다중으로 가져왔을때.. + if(StringUtils.isNotBlank(model.getDepuTyNms())){ + String[] resNms = model.getDepuTyNms().split("\\|"); + if(resNms.length > 1 ){ + List names = new ArrayList<>(); + for(String name : resNms){ + names.add(egovCryptoUtil.decrypt(name)); + } + model.setDepuTyNms(String.join(",", names)); + }else{ + model.setDepuTyNms(egovCryptoUtil.decrypt(resNms[0])); + } + } + + // 피신청인 대리인 다중으로 가져왔을때.. + if(StringUtils.isNotBlank(model.getResPonAgntNms())){ + String[] resNms = model.getResPonAgntNms().split("\\|"); + if(resNms.length > 1 ){ + List names = new ArrayList<>(); + for(String name : resNms){ + names.add(egovCryptoUtil.decrypt(name)); + } + model.setResPonAgntNms(String.join(",", names)); + }else{ + model.setResPonAgntNms(egovCryptoUtil.decrypt(resNms[0])); + } + } + } + } + + if(info != null){ + info.setRpplNm(egovCryptoUtil.decrypt(info.getRpplNm())); + info.setRpplAddr(egovCryptoUtil.decrypt(info.getRpplAddr())); + info.setRpplAddrDtl(egovCryptoUtil.decrypt(info.getRpplAddrDtl())); + info.setRpplPost(egovCryptoUtil.decrypt(info.getRpplPost())); + info.setRpplEmail(egovCryptoUtil.decrypt(info.getRpplEmail())); + info.setRpplPhone(egovCryptoUtil.decrypt(info.getRpplPhone())); + info.setDepuTyNm(egovCryptoUtil.decrypt(info.getDepuTyNm())); + info.setResPonDentNm(egovCryptoUtil.decrypt(info.getResPonDentNm())); + info.setAppliCantNm(egovCryptoUtil.decrypt(info.getAppliCantNm())); + info.setAdrAdmNm(egovCryptoUtil.decrypt(info.getAdrAdmNm())); + info.setRpplRealPost(egovCryptoUtil.decrypt(info.getRpplRealPost())); + info.setRpplRealAddr(egovCryptoUtil.decrypt(info.getRpplRealAddr())); + info.setRpplRealAddrDtl(egovCryptoUtil.decrypt(info.getRpplRealAddrDtl())); + info.setCmntNm(egovCryptoUtil.decrypt(info.getCmntNm())); + info.setCcTyTx(info.getCcTyTx()); + // 피신청인 다중으로 가져왔을때.. + if(StringUtils.isNotBlank(info.getResPonDentNms())){ + String[] resNms = info.getResPonDentNms().split(","); + if(resNms.length > 1 ){ + List names = new ArrayList<>(); + for(String name : resNms){ + names.add(egovCryptoUtil.decrypt(name)); + } + info.setResPonDentNms(String.join(",", names)); + }else{ + info.setResPonDentNms(egovCryptoUtil.decrypt(resNms[0])); + } + } + + // 신청인 대리인 다중으로 가져왔을때.. + if(StringUtils.isNotBlank(info.getDepuTyNms())){ + String[] resNms = info.getDepuTyNms().split(","); + if(resNms.length > 1 ){ + List names = new ArrayList<>(); + for(String name : resNms){ + names.add(egovCryptoUtil.decrypt(name)); + } + info.setDepuTyNms(String.join(",", names)); + }else{ + info.setDepuTyNms(egovCryptoUtil.decrypt(resNms[0])); + } + } + + // 피신청인 대리인 다중으로 가져왔을때.. + if(StringUtils.isNotBlank(info.getResPonAgntNms())){ + String[] resNms = info.getResPonAgntNms().split(","); + if(resNms.length > 1 ){ + List names = new ArrayList<>(); + for(String name : resNms){ + names.add(egovCryptoUtil.decrypt(name)); + } + info.setResPonAgntNms(String.join(",", names)); + }else{ + info.setResPonAgntNms(egovCryptoUtil.decrypt(resNms[0])); + } + } + //조정부장 이름 복호화 + if(StringUtils.isNotBlank(info.getAdrCdnt())) { + + info.setAdrCdnt(egovCryptoUtil.decrypt(info.getAdrCdnt())); + + } + //조정위원 복호화 + if(StringUtils.isNotBlank(info.getAdrCclt())) { + + String[] strSplit = info.getAdrCclt().split(","); + + if(strSplit.length > 1) { + List names = new ArrayList<>(); + for(String cclt : strSplit) { + names.add(egovCryptoUtil.decrypt(cclt)); + } + info.setAdrCclt(String.join(",", names)); + }else { + info.setAdrCclt(egovCryptoUtil.decrypt(strSplit[0])); + } + + } + } + } + + +} diff --git a/src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-kccadr-opinion.xml b/src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-kccadr-opinion.xml new file mode 100644 index 00000000..2d04b5ee --- /dev/null +++ b/src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-kccadr-opinion.xml @@ -0,0 +1,9 @@ + + + + + + + + diff --git a/src/main/resources/egovframework/sqlmap/kccadr/opinion/AdjustOpinion_SQL_Mysql.xml b/src/main/resources/egovframework/sqlmap/kccadr/opinion/AdjustOpinion_SQL_Mysql.xml new file mode 100644 index 00000000..431a4ecd --- /dev/null +++ b/src/main/resources/egovframework/sqlmap/kccadr/opinion/AdjustOpinion_SQL_Mysql.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + diff --git a/src/main/webapp/WEB-INF/jsp/web/kccadr/adjcclt/adjstDrtDetail.jsp b/src/main/webapp/WEB-INF/jsp/web/kccadr/adjcclt/adjstDrtDetail.jsp index 5692c3f4..5a0e2687 100644 --- a/src/main/webapp/WEB-INF/jsp/web/kccadr/adjcclt/adjstDrtDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/kccadr/adjcclt/adjstDrtDetail.jsp @@ -113,6 +113,38 @@ error: function (e) { alert("저장에 실패하였습니다."); console.log("ERROR : ", e); } }); } + + function findByOpinion(data, type){ + $.ajax({ + type: "POST", + url: "/web/kccadr/adjcclt/adjstEndConfirmSave.do", + data: JSON.stringify(data), + dataType:'json', + async: false, + processData: false, + contentType: "application/json", + cache: false, + success: function (returnData, status) { + if(type == "C"){ + alert("승인되었습니다."); + }else{ + alert("반려되었습니다."); + } + location.reload(); + }, + error: function (e) { alert("저장에 실패하였습니다."); console.log("ERROR : ", e); } + }); + } + + + + + + + + + + diff --git a/src/main/webapp/WEB-INF/jsp/web/kccadr/adjcclt/opinion/adjstOpinionList.jsp b/src/main/webapp/WEB-INF/jsp/web/kccadr/adjcclt/opinion/adjstOpinionList.jsp new file mode 100644 index 00000000..014867a5 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/web/kccadr/adjcclt/opinion/adjstOpinionList.jsp @@ -0,0 +1,171 @@ +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%> +<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %> + + + + +조정사건 목록 + + + + + + + + + + + + + + + + +" /> +" /> +" /> + + + + +
+
+
+

의견관리 목록

+
+ + + + + +<%-- --%> +<%-- --%> +<%-- --%> +<%-- --%> +<%-- --%> +<%-- --%> + + + +<%-- --%> + + + + + + + + +<%-- --%> + + + + + + + + + + +<%-- --%> + + + + + + + +
+ + + + + + + + + + + + + + + + + + +<%-- --%> + + + + + + + +<%-- --%> +<%-- --%> +<%-- --%> +<%-- --%> + +
번호등록일제목내용삭제
+ 1 + +<%--

--%> + 2022-09-30 +
+ 제목 + + 내용 + + 삭제버튼 +
+
+ + + +
+ <%----%> +
+ + + +
+ +
+ +
+ +
+ +