From f7dbbbc66de8dfb9ea86abe0b7b7238f1bc52169 Mon Sep 17 00:00:00 2001 From: jjh Date: Fri, 17 May 2024 18:35:07 +0900 Subject: [PATCH] =?UTF-8?q?=EC=86=8C=EC=8A=A4=20=EC=A0=95=EB=A6=AC.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cokr/xit/fims/excl/OpnnSbmsn.java | 1 - .../xit/fims/excl/dao/CrdnReRegMapper.java | 18 +-- .../xit/fims/excl/dao/LevyExclMapper.java | 20 ++-- .../xit/fims/excl/dao/OpnnSbmsnMapper.java | 14 +-- .../fims/excl/service/OpnnSbmsnService.java | 4 +- .../fims/excl/service/bean/OpnnSbmsnBean.java | 2 +- .../xit/fims/excl/web/Excl02Controller.java | 108 +++++++++++++++--- .../WEB-INF/jsp/fims/excl/excl02010-main.jsp | 47 ++++++++ 8 files changed, 171 insertions(+), 43 deletions(-) diff --git a/src/main/java/cokr/xit/fims/excl/OpnnSbmsn.java b/src/main/java/cokr/xit/fims/excl/OpnnSbmsn.java index 998a7c22..e8ffe9a3 100644 --- a/src/main/java/cokr/xit/fims/excl/OpnnSbmsn.java +++ b/src/main/java/cokr/xit/fims/excl/OpnnSbmsn.java @@ -185,5 +185,4 @@ public class OpnnSbmsn extends AbstractEntity { */ private Integer rductAmt; - } diff --git a/src/main/java/cokr/xit/fims/excl/dao/CrdnReRegMapper.java b/src/main/java/cokr/xit/fims/excl/dao/CrdnReRegMapper.java index 265d5688..60e32a1a 100644 --- a/src/main/java/cokr/xit/fims/excl/dao/CrdnReRegMapper.java +++ b/src/main/java/cokr/xit/fims/excl/dao/CrdnReRegMapper.java @@ -23,18 +23,24 @@ import cokr.xit.foundation.data.DataObject; @Mapper("crdnReRegMapper") public interface CrdnReRegMapper extends AbstractMapper { - /**지정한 조건에 따라 단속 재등록 목록을 조회하여 반환한다.
+ /**지정한 조건에 따라 단속 재등록 목록을 조회하여 반환한다. * @param req 단속 재등록 조회 조건 * @return 단속 재등록 목록 */ List selectCrdnReRegList(LevyExclQuery req); - /**지정한 조건에 따라 단속 재등록 객체들을 반환한다. + /**지정한 조건에 따라 단속 재등록 객체들을 조회하여 반환한다. * @param req 단속 재등록 조회 조건 * @return 단속 재등록 객체 목록 */ List selectCrdnReRegs(LevyExclQuery req); + /**지정한 단속 ID로 단속 대장 정보를 반환한다. + * @param crdnId 단속 ID + * @return 단속 대장 정보 + */ + DataObject selectCrdnInfo(String crdnId); + /**단속 재등록 정보를 등록한다. * @param params 파라미터 *
  • "crdnReReg" - 단속 재등록
  • @@ -55,7 +61,7 @@ public interface CrdnReRegMapper extends AbstractMapper { return crdnReReg != null && insertCrdnReReg(params().set("crdnReReg", crdnReReg)) == 1; } - /**지정한 단속 재등록을 삭제한다. + /**단속 재등록 정보를 삭제한다. * @param params 파라미터 *
    • "crdnReReg" - 단속 재등록
    • *
    • "currentUser" - 현재 접속한 사용자
    • @@ -75,10 +81,4 @@ public interface CrdnReRegMapper extends AbstractMapper { return crdnReReg != null && deleteCrdnReReg(params().set("crdnReReg", crdnReReg)) == 1; } - /**지정한 단속 ID로 단속 대장 객체를 반환한다. - * @param crdnId 단속 ID - * @return 단속 대장 정보 - */ - DataObject selectCrdnInfo(String crdnId); - } diff --git a/src/main/java/cokr/xit/fims/excl/dao/LevyExclMapper.java b/src/main/java/cokr/xit/fims/excl/dao/LevyExclMapper.java index 5641ae7a..a742baa4 100644 --- a/src/main/java/cokr/xit/fims/excl/dao/LevyExclMapper.java +++ b/src/main/java/cokr/xit/fims/excl/dao/LevyExclMapper.java @@ -25,21 +25,21 @@ import cokr.xit.foundation.data.DataObject; @Mapper("levyExclMapper") public interface LevyExclMapper extends AbstractMapper { - /**지정한 조건에 따라 부과제외 대장 목록을 조회하여 반환한다.
      + /**지정한 조건에 따라 부과제외 대장 목록을 조회하여 반환한다. * @param req 부과제외 대장 조회 조건 * @return 부과제외 대장 목록 */ List selectLevyExclList(LevyExclQuery req); - /**지정한 조건에 따라 부과제외 대장 객체들을 반환한다. - * @param req 부과제외 조회 조건 - * @return 부과제외 대장 객체 목록 + /**지정한 조건에 따라 부과제외 대장 객체들을 조회하여 반환한다. + * @param req 부과제외 대장 조회 조건 + * @return 부과제외 대장 객체 정보 */ List selectLevyExcls(LevyExclQuery req); - /**지정한 조건에 따라 부과제외 대장 객체의 마지막 1개를 반환한다. - * @param levyExclId 부과제외 ID - * @return 부과제외 대장 객체 + /**지정한 조건에 따라 부과제외 대장 정보를 조회하여 반환한다. + * @param req 부과제외 대장 조회 조건 + * @return 부과제외 대장 정보 */ default DataObject selectLevyExclInfo(LevyExclQuery req) { // 삭제 여부 확인 @@ -96,7 +96,7 @@ public interface LevyExclMapper extends AbstractMapper { return levyExcl != null && updateLevyExcl(params().set("levyExcl", levyExcl)) == 1; } - /**지정한 부과제외 대장을 삭제한다. + /**부과제외 대장 정보를 삭제한다. * @param params 파라미터 *
      • "levyExcl" - 부과제외 대장
      • *
      • "currentUser" - 현재 접속한 사용자
      • @@ -117,7 +117,7 @@ public interface LevyExclMapper extends AbstractMapper { } /**단속(TB_CRDN) 대장의 주차가능결과코드를 수정 한다. - * @param excl 부과제외 대장 + * @param crdn 단속 대장 * @return 저장된 정보수 */ int updateParkngPsbltyRsltCd(Map params); @@ -140,7 +140,7 @@ public interface LevyExclMapper extends AbstractMapper { } /**발송 상세(TB_SNDNG_DTL) 대장 수납코드를 수정 한다. - * @param excl 부과제외 대장 + * @param sndngDtl 발송 상세 대장 * @return 저장된 정보수 */ int updateRcvmtCd(Map params); diff --git a/src/main/java/cokr/xit/fims/excl/dao/OpnnSbmsnMapper.java b/src/main/java/cokr/xit/fims/excl/dao/OpnnSbmsnMapper.java index 959b920e..8e0ad8b1 100644 --- a/src/main/java/cokr/xit/fims/excl/dao/OpnnSbmsnMapper.java +++ b/src/main/java/cokr/xit/fims/excl/dao/OpnnSbmsnMapper.java @@ -24,20 +24,20 @@ import cokr.xit.foundation.data.DataObject; @Mapper("opnnSbmsnMapper") public interface OpnnSbmsnMapper extends AbstractMapper { - /**지정한 조건에 따라 의견제출 대장 목록을 조회하여 반환한다.
        + /**지정한 조건에 따라 의견제출 대장 목록을 조회하여 반환한다. * @param req 의견제출 대장 조회 조건 * @return 의견제출 대장 목록 */ List selectOpnnSbmsnList(LevyExclQuery req); - /**지정한 조건에 따라 의견제출 대장 객체들을 반환한다. + /**지정한 조건에 따라 의견제출 대장 객체들을 조회하여 반환한다. * @param req 의견제출 대장 조회 조건 * @return 의견제출 대장 객체 목록 */ List selectOpnnSbmsns(LevyExclQuery req); - /**지정한 조건에 따라 의견제출 대장 객체의 마지막 1개를 반환한다. - * @param opnnId 의견제출 ID + /**지정한 조건에 따라 의견제출 대장 정보를 조회하여 반환한다. + * @param req 의견제출 대장 조회 조건 * @return 의견제출 대장 객체 */ default DataObject selectOpnnSbmsnInfo(LevyExclQuery req) { @@ -55,7 +55,7 @@ public interface OpnnSbmsnMapper extends AbstractMapper { return !opnnSbmsns.isEmpty() ? opnnSbmsns.get(0) : null; } - /**지정한 조건에 따라 의견제출 심의 의결서 객체들을 반환한다. + /**지정한 조건에 따라 의견제출 심의의결서 목록을 조회하여 반환한다. * @param opnnId 의견제출 ID * @return 의견제출 대장 객체 */ @@ -101,7 +101,7 @@ public interface OpnnSbmsnMapper extends AbstractMapper { return opnnSbmsn != null && updateOpnnSbmsn(params().set("opnnSbmsn", opnnSbmsn)) == 1; } - /**의견제출 심의(결과) 정보를 수정한다. + /**의견제출 대장 심의 정보를 수정한다. * @param params 파라미터 *
        • "opnnSbmsn" - 의견제출 대장
        • *
        • "currentUser" - 현재 접속한 사용자
        • @@ -110,7 +110,7 @@ public interface OpnnSbmsnMapper extends AbstractMapper { */ int updateOpnnSbmsnAnswer(Map params); - /**의견제출 심의(결과) 정보를 수정한다. + /**의견제출 대장 심의 정보를 수정한다. * @param opnnSbmsn 의견제출 대장 * @return 저장 여부 *
          • 저장됐으면 true
          • diff --git a/src/main/java/cokr/xit/fims/excl/service/OpnnSbmsnService.java b/src/main/java/cokr/xit/fims/excl/service/OpnnSbmsnService.java index f8eafef8..d926b118 100644 --- a/src/main/java/cokr/xit/fims/excl/service/OpnnSbmsnService.java +++ b/src/main/java/cokr/xit/fims/excl/service/OpnnSbmsnService.java @@ -31,7 +31,7 @@ public interface OpnnSbmsnService { */ List getOpnnSbmsns(LevyExclQuery req); - /**지정한 ID의 의견제출 정보를 반환한다. + /**지정한 조건에 따라 의견제출 정보를 반환한다. * @param req 의견제출 대장 조회 조건 * @return 의견제출 정보 */ @@ -61,7 +61,7 @@ public interface OpnnSbmsnService { */ String updateOpnnSbmsn(OpnnSbmsn opnnSbmsn, List fileInfoList); - /**의견제출 대장 심의(답변) 정보를 수정한다. + /**의견제출 대장 심의 정보를 수정한다. * @param opnnSbmsn 의견제출 대장 * @return 저장 여부 *
            • 저장됐으면 true
            • diff --git a/src/main/java/cokr/xit/fims/excl/service/bean/OpnnSbmsnBean.java b/src/main/java/cokr/xit/fims/excl/service/bean/OpnnSbmsnBean.java index afeafb1f..7f316386 100644 --- a/src/main/java/cokr/xit/fims/excl/service/bean/OpnnSbmsnBean.java +++ b/src/main/java/cokr/xit/fims/excl/service/bean/OpnnSbmsnBean.java @@ -89,7 +89,7 @@ public class OpnnSbmsnBean extends AbstractComponent { return opnnSbmsnMapper.selectOpnnSbmsns(req); } - /**지정한 ID의 의견제출 정보를 반환한다. + /**지정한 조건에 따라 의견제출 정보를 반환한다. * @param req 의견제출 대장 조회 조건 * @return 의견제출 정보 */ diff --git a/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java b/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java index 838f60a2..a0549d86 100644 --- a/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java +++ b/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java @@ -31,7 +31,9 @@ import cokr.xit.fims.cmmn.service.bean.StngBean; import cokr.xit.fims.cmmn.xls.FormatMaker; import cokr.xit.fims.cmmn.xls.StyleMaker; import cokr.xit.fims.excl.LevyExclQuery; +import cokr.xit.fims.excl.OpnnDlbrMbr; import cokr.xit.fims.excl.OpnnSbmsn; +import cokr.xit.fims.excl.service.OpnnDlbrMbrService; import cokr.xit.fims.excl.service.OpnnSbmsnService; import cokr.xit.fims.mngt.service.bean.FactionBean; import cokr.xit.fims.task.Task; @@ -65,6 +67,9 @@ public class Excl02Controller extends ApplicationController { , updateOpinionSubmission = "/020/update.do" // 의견제출 대장 수정 , getOpinionSubmissionAnswerInfo = "/030/info.do" // 의견제출 대장 심의 조회 , updateOpinionSubmissionAnswer = "/030/update.do" // 의견제출 대장 심의 수정 + , getOpinionDeliberationMemberInfo = "/040/info.do" // 의견제출 심의 회원 조회 + , createOpinionDeliberationMember = "/040/create.do" // 의견제출 심의 회원 등럭 + , updateOpinionDeliberationMember = "/040/update.do" // 의견제출 심의 회원 수정 ; } @@ -72,6 +77,10 @@ public class Excl02Controller extends ApplicationController { @Resource(name="opnnSbmsnService") protected OpnnSbmsnService opnnSbmsnService; + /**의견제출 심의 회원 서비스*/ + @Resource(name = "opnnDlbrMbrService") + private OpnnDlbrMbrService opnnDlbrMbrService; + /** 파일 정보 서비스 서비스 */ @Resource(name="fileService") private FileService fileService; @@ -108,7 +117,7 @@ public class Excl02Controller extends ApplicationController { ; } - /**의견제출 대장 목록을 조회하여 반환한다.
              + /**의견제출 대장 목록을 조회하여 반환한다. * {@link OpnnSbmsnService#getOpnnSbmsnList(Excl02Query)} 참고 * @param req 의견제출 대장 조회 조건 * @return jsonView @@ -193,8 +202,8 @@ public class Excl02Controller extends ApplicationController { } } - /**지정한 ID의 의견제출 정보를 반환한다. - * @param opnnId 의견제출 ID + /**의견제출 정보를 조회하여 반환한다. + * @param req 의견제출 대장 조회 조건 * @return fims/excl/excl02020-info 또는 jsonView *
              {
               	 *     "opnnSbmsnInfo": 의견제출 정보
              @@ -265,7 +274,7 @@ public class Excl02Controller extends ApplicationController {
               				.addObject("rtnMsg", rtnMsg);
               	}
               
              -	/**의견제출 대장 정보를 수정한다.
              +	/**의견제출 대장을 수정한다.
               	 * @param opnnSbmsn 의견제출 정보, 이미지 파일 uploadFiles
               	 * @return jsonView
               	 * 
               {
              @@ -297,15 +306,15 @@ public class Excl02Controller extends ApplicationController {
               				.addObject("rtnMsg", rtnMsg);
               	}
               
              -	/**지정한 ID의 의견제출 심의 결과 정보를 반환한다.
              -	 * @param opnnId 의견제출 Id
              +	/**의견제출 심의 정보를 조회하여 반환한다.
              +	 * @param req 의견제출 대장 조회 조건
               	 * @return fims/excl/excl02030-info 또는 jsonView
               	 * 
              {
              -	 *     "opnnSbmsnSttsInfo": 의견제출 정보
              +	 *     "opnnSbmsnInfo": 의견제출 정보
               	 * }
              */ @Task - @RequestMapping(name="의견제출 대장 심의정보 조회", value=METHOD_URL.getOpinionSubmissionAnswerInfo) + @RequestMapping(name="의견제출 대장 심의 정보 조회", value=METHOD_URL.getOpinionSubmissionAnswerInfo) public ModelAndView getOpinionSubmissionAnswerInfo(LevyExclQuery req) { DataObject info = opnnSbmsnService.getOpnnSbmsnInfo(req); @@ -330,7 +339,7 @@ public class Excl02Controller extends ApplicationController { ; } - /**의견제출 대장 답변(상태) 정보를 수정한다. + /**의견제출 심의 정보를 수정한다. * @param opnnSbmsn 의견제출 대장 정보 * @return jsonView *
               {
              @@ -354,8 +363,8 @@ public class Excl02Controller extends ApplicationController {
               				.addObject("rtnMsg", rtnMsg);
               	}
               
              -	/**의견제출 심의 의결서를 출력한다.
              -	 * @param opnnSbmsnIDs 의견제출 대장 IDs
              +	/**지정한 조건에 따라 의견제출 심의 의결서를 출력한다.
              +	 * @param req 의견제출 대장 조회 조건
               	 * @return jsonView
               	 * 
               {
               	 *     "affected": 저장된 정보수
              @@ -383,8 +392,8 @@ public class Excl02Controller extends ApplicationController {
               		return mav;
               	}
               
              -	/**지정한 의견제출 ID에 해당하는 의견제출 대장를 제거한다.
              -	 * @param opnnSbmsnId 의견제출 대장 Id
              +	/**지정한 의견제출 대장을 제거한다.
              +	 * @param opnnSbmsn 의견제출 정보
               	 * @return jsonView
               	 * 
               {
               	 *     "affected": 저장된 정보수
              @@ -422,4 +431,77 @@ public class Excl02Controller extends ApplicationController {
               			.addObject("rtnMsg", rtnMsg);
               	}
               
              +	/**의견제출 심의 회원 정보를 조회하여 반환한다.
              +	 * @param req 의견제출 대장 조회 조건
              +	 * @return fims/excl/excl02040-info 또는 jsonView
              +	 * 
              {
              +	 *     "opnnDlbrMbrInfo": 의견제출 심의 회원 정보
              +	 * }
              + */ + @Task + @RequestMapping(name="의견제출 심의 회원 정보 조회", value=METHOD_URL.getOpinionDeliberationMemberInfo) + public ModelAndView getOpinionDeliberationMemberInfo(LevyExclQuery req) { + DataObject info = opnnDlbrMbrService.getOpnnDlbrMbrInfo(req); + + boolean json = jsonResponse(); + + ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/excl/excl02030-info"); + + return mav + .addObject("pageName", "excl02040") + .addObject("infoPrefix", "opnnDlbrMbr") // prefix + .addObject("infoPrefixUrl", "/excl/excl02") // prefixUrl + .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 + .addObject("opnnDlbrMbrInfo", json ? info : toJson(info)) + ; + } + + /**의견제출 심의 회원를 등록한다. + * @param opnnDlbrMbr 의견제출 심의 회원 정보 + * @return jsonView + *
               {
              +	 *     "saved": 등록되었으면 true, 그렇지 않으면 false
              +	 * }
              + */ + @Task + @RequestMapping(name="의견제출 심의 회원 등록", value=METHOD_URL.createOpinionDeliberationMember) + public ModelAndView create(OpnnDlbrMbr opnnDlbrMbr) { + boolean saved = false; + String rtnMsg = opnnDlbrMbrService.createOpnnDlbrMbr(opnnDlbrMbr); + + if (rtnMsg.contains("[S]")) { + saved = true; + } else { + saved = false; + } + + return new ModelAndView("jsonView") + .addObject("saved", saved) + .addObject("rtnMsg", rtnMsg); + } + + /**의견제출 심의 회원 정보를 수정한다. + * @param opnnDlbrMbr 의견제출 심의 회원 정보 + * @return jsonView + *
               {
              +	 *     "saved": 수정되었으면 true, 그렇지 않으면 false
              +	 * }
              + */ + @Task + @RequestMapping(name="의견제출 심의 회원 수정", value=METHOD_URL.updateOpinionDeliberationMember) + public ModelAndView update(OpnnDlbrMbr opnnDlbrMbr) { + boolean saved = false; + String rtnMsg = opnnDlbrMbrService.updateOpnnDlbrMbr(opnnDlbrMbr); + + if (rtnMsg.contains("[S]")) { + saved = true; + } else { + saved = false; + } + + return new ModelAndView("jsonView") + .addObject("saved", saved) + .addObject("rtnMsg", rtnMsg); + } + } diff --git a/src/main/webapp/WEB-INF/jsp/fims/excl/excl02010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/excl/excl02010-main.jsp index f6566242..f60351a6 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/excl/excl02010-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/excl/excl02010-main.jsp @@ -187,6 +187,9 @@ + @@ -409,6 +412,8 @@ checkbox.prop("checked", keys.includes(checkbox.val())); }); + // 심의의결서 출력 버튼 + $("#btnPrintDlbrDecsn--${pageName}").prop("disabled", keys.length < 1); // 삭제 버튼 $("#btnRemove--${pageName}").prop("disabled", keys.length < 1); @@ -677,6 +682,44 @@ }); } + // 심의의결서 출력 + $P.makeHwpFileDlbrDecsn = (params) => { + if (!params) return; + + let url = wctx.url("/" + params.taskSeCd + "/excl/excl02/010/makeHwp.do") + + let parameter = toQuery({ + opnnIds: params.opnnIds + , taskSeCd: params.taskSeCd + }); + + document.location.href = url + "?" + parameter; + } + + // 심의의결서 출력 버튼 클릭 이벤트 + $P.fnPrintDlbrDecsn = (title) => { + // 선택 자료 + let selected = $P.control.dataset.getKeys("selected"); + + if (selected.length < 1) { + dialog.alert({ + content: "선택하신 의견제출 정보가 없습니다." + , onOK: () => { } + }); + return; + } + + let params = { + callPurpose: "download" + , title: title + , sggCd: $P.control.dataset.getValue("SGG_CD") // 시군구 코드 + , taskSeCd: $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 + , opnnIds: selected.join(",") // 의견제출 IDs + }; + + $P.makeHwpFileDlbrDecsn(params); + } + // 의견제출 삭제사유 callback $P.callbackRsn = (obj) => { // 서버에 전송할 data(파라미터) 생성 @@ -765,6 +808,10 @@ $("#btnUpdateOpnnDlbr--${pageName}").on("click", function() { $P.fnUpdateOpnnDlbr($(this).attr("title")); }); + // 심의의결서 출력 버튼 이벤트 + $("#btnPrintDlbrDecsn--${pageName}").on("click", function() { + $P.fnPrintDlbrDecsn($(this).attr("title")); + }); // 의견제출 삭제 버튼 이벤트 $("#btnRemove--${pageName}").on("click", function() { $P.fnRemove($(this).attr("title"));