From bee5040363470b67c4860aa3b6cd20a76917cdef Mon Sep 17 00:00:00 2001 From: jjh Date: Mon, 11 Sep 2023 18:29:03 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9D=98=EA=B2=AC=EC=A0=9C=EC=B6=9C=20?= =?UTF-8?q?=EB=93=B1=EB=A1=9D,=20=EC=88=98=EC=A0=95,=20=EC=82=AD=EC=A0=9C?= =?UTF-8?q?=20=EB=A9=94=EC=8B=9C=EC=A7=80=20=EC=B6=9C=EB=A0=A5=20=EC=88=98?= =?UTF-8?q?=EC=A0=95.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xit/fims/excl/service/Excl02Service.java | 10 +-- .../fims/excl/service/bean/Excl01Bean.java | 4 +- .../excl/service/bean/Excl01ServiceBean.java | 6 +- .../fims/excl/service/bean/Excl02Bean.java | 72 ++++++++++------ .../excl/service/bean/Excl02ServiceBean.java | 33 +++---- .../xit/fims/excl/web/Excl02Controller.java | 86 ++++++++++++++----- .../xit/fims/sprt/web/Sprt02Controller.java | 20 +++-- .../WEB-INF/jsp/fims/excl/excl01010-main.jsp | 2 - .../WEB-INF/jsp/fims/excl/excl02010-main.jsp | 33 ++++++- .../WEB-INF/jsp/fims/excl/excl02020-info.jsp | 9 +- .../WEB-INF/jsp/fims/excl/excl02030-info.jsp | 6 +- .../WEB-INF/jsp/fims/sprt/sprt02030-info.jsp | 5 ++ .../WEB-INF/jsp/fims/sprt/sprt02050-info.jsp | 5 ++ 13 files changed, 201 insertions(+), 90 deletions(-) diff --git a/src/main/java/cokr/xit/fims/excl/service/Excl02Service.java b/src/main/java/cokr/xit/fims/excl/service/Excl02Service.java index 4bd71775..955c99f7 100644 --- a/src/main/java/cokr/xit/fims/excl/service/Excl02Service.java +++ b/src/main/java/cokr/xit/fims/excl/service/Excl02Service.java @@ -44,7 +44,7 @@ public interface Excl02Service { *
  • 그렇지 않으면 false
  • * */ - boolean createOpnnSbmsn(OpnnSbmsn opnnSbmsn, List fileInfoList); + String createOpnnSbmsn(OpnnSbmsn opnnSbmsn, List fileInfoList); /**의견제출 대장 정보를 수정한다. * @param opnnSbmsn 의견제출 대장 @@ -53,7 +53,7 @@ public interface Excl02Service { *
  • 그렇지 않으면 false
  • * */ - boolean updateOpnnSbmsn(OpnnSbmsn opnnSbmsn, List fileInfoList); + String updateOpnnSbmsn(OpnnSbmsn opnnSbmsn, List fileInfoList); /**의견제출 대장 심의(답변) 정보를 수정한다. * @param opnnSbmsn 의견제출 대장 @@ -62,7 +62,7 @@ public interface Excl02Service { *
  • 그렇지 않으면 false
  • * */ - boolean updateOpnnSbmsnAnswer(OpnnSbmsn opnnSbmsn); + String updateOpnnSbmsnAnswer(OpnnSbmsn opnnSbmsn); /**의견제출 대장 정보를 삭제한다. * @param opnnSbmsn 의견제출 대장 @@ -71,7 +71,7 @@ public interface Excl02Service { *
  • 그렇지 않으면 false
  • * */ - boolean removeOpnnSbmsn(OpnnSbmsn opnnSbmsn); + String removeOpnnSbmsn(OpnnSbmsn opnnSbmsn); /**부과제외 대장 정보를 삭제한다. * @param excl 부과제외 대장 @@ -80,7 +80,7 @@ public interface Excl02Service { *
  • 그렇지 않으면 false
  • * */ - boolean removeOpnnSbmsnList(ExclQuery req); + String removeOpnnSbmsnList(ExclQuery req); } diff --git a/src/main/java/cokr/xit/fims/excl/service/bean/Excl01Bean.java b/src/main/java/cokr/xit/fims/excl/service/bean/Excl01Bean.java index 4bb52ec1..dc3e385c 100644 --- a/src/main/java/cokr/xit/fims/excl/service/bean/Excl01Bean.java +++ b/src/main/java/cokr/xit/fims/excl/service/bean/Excl01Bean.java @@ -106,8 +106,8 @@ public class Excl01Bean extends AbstractComponent { } // 단속 상태 코드(CRDN_STTS_CD) 확인.. if (levyExcl.getLevyExclSeCd().equals("1") || levyExcl.getLevyExclSeCd().equals("2")) { // 비부과(서손), 계고 - // 단속 상태 코드가 부과(51) 보다 크다면, 비부과 또는 계고를 등록 할 수 없다. 종료.. - if (infoCrdnLevyExcl.number("CRDN_STTS_CD").intValue() > 50) { + // 단속 상태 코드가 부과(51) 보다 크다면, 비부과 또는 계고 등록을 할 수 없다. 종료.. + if (infoCrdnLevyExcl.number("CRDN_STTS_CD").intValue() >= 51) { retMessage = "[F] 작업 중 오류가 발생하였습니다.
    현재 자료의 단속 상태가 " + infoCrdnLevyExcl.string("CRDN_STTS_NM") + " 상태 입니다."; return retMessage; } diff --git a/src/main/java/cokr/xit/fims/excl/service/bean/Excl01ServiceBean.java b/src/main/java/cokr/xit/fims/excl/service/bean/Excl01ServiceBean.java index 18c52149..841b0010 100644 --- a/src/main/java/cokr/xit/fims/excl/service/bean/Excl01ServiceBean.java +++ b/src/main/java/cokr/xit/fims/excl/service/bean/Excl01ServiceBean.java @@ -72,13 +72,13 @@ public class Excl01ServiceBean extends AbstractServiceBean implements Excl01Serv // 변수 선언 String retMessage = ""; // 처리 결과 메시지 - // 부과제외IDs 건수를 확인하여 1건이하면.. 종료 - if (req.getLevyExclIDs().length < 1 ) { + // 부과제외 IDs 건수를 확인하여 1건이하면.. 종료 + if (req.getLevyExclIDs().length < 1) { retMessage = "작업 중 선택 자료가 존재하지 않습니다."; return retMessage; } - // 부과제외IDs 만큼 반복.. + // 부과제외 IDs 만큼 반복.. for (int iLoop = 0; iLoop < req.getLevyExclIDs().length; iLoop++) { LevyExcl levyExcl = new LevyExcl(); // 부과제외(TB_LEVY_EXCL) diff --git a/src/main/java/cokr/xit/fims/excl/service/bean/Excl02Bean.java b/src/main/java/cokr/xit/fims/excl/service/bean/Excl02Bean.java index 37d2131a..0487761b 100644 --- a/src/main/java/cokr/xit/fims/excl/service/bean/Excl02Bean.java +++ b/src/main/java/cokr/xit/fims/excl/service/bean/Excl02Bean.java @@ -97,17 +97,23 @@ public class Excl02Bean extends AbstractComponent { *
  • 그렇지 않으면 false
  • * */ - public boolean createOpnnSbmsn(OpnnSbmsn opnnSbmsn, List fileInfoList) { + public String createOpnnSbmsn(OpnnSbmsn opnnSbmsn, List fileInfoList) { // 변수 선언 - boolean retSuccess = false; // DB 처리 결과 + boolean retSuccess = false; // DB 처리 결과 + String retMessage = ""; // 처리 결과 메시지 // 단속 ID로 단속, 의견제출 정보 조회 DataObject infoCrdnOpnnSbmsn = opnnSbmsnMapper.selectCrdnInfo(opnnSbmsn.getCrdnId()); // 의견제출ID가 있다면 이미 자료가 존재하므로 종료.. if (!infoCrdnOpnnSbmsn.string("OPNN_ID").equals("")) { - // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException("의견제출 대장에 정보가 이미 존재합니다."); + retMessage = "[F] 작업 중 이미 등록된 자료가 존재합니다."; + return retMessage; + } + // 단속 상태 코드가 부과(51) 보다 크다면, 의견제출 등록을 할 수 없다. 종료.. + if (infoCrdnOpnnSbmsn.number("CRDN_STTS_CD").intValue() >= 51) { + retMessage = "[F] 작업 중 오류가 발생하였습니다.
    현재 자료의 단속 상태가 " + infoCrdnOpnnSbmsn.string("CRDN_STTS_NM") + " 상태 입니다."; + return retMessage; } // 의견제출 대장 필수값 입력 @@ -158,7 +164,9 @@ public class Excl02Bean extends AbstractComponent { throw new RuntimeException("의견제출 등록 중 단속대장의 의견제출여부 수정에 실패하였습니다."); } - return true; + retMessage = "[S] 작업이 정상 처리 되었습니다."; + + return retMessage; } /**의견제출 대장 정보를 수정한다. @@ -168,9 +176,10 @@ public class Excl02Bean extends AbstractComponent { *
  • 그렇지 않으면 false
  • * */ - public boolean updateOpnnSbmsn(OpnnSbmsn opnnSbmsn, List fileInfoList) { + public String updateOpnnSbmsn(OpnnSbmsn opnnSbmsn, List fileInfoList) { // 변수 선언 - boolean retSuccess = false; // DB 처리 결과 + boolean retSuccess = false; // DB 처리 결과 + String retMessage = ""; // 처리 결과 메시지 // 의견제출 첨부파일 등록 if (fileInfoList != null && !fileInfoList.isEmpty()) { @@ -202,7 +211,9 @@ public class Excl02Bean extends AbstractComponent { throw new RuntimeException("의견제출 대장 수정에 실패하였습니다."); } - return true; + retMessage = "[S] 작업이 정상 처리 되었습니다."; + + return retMessage; } /**의견제출 대장 심의(답변) 정보를 수정한다. @@ -212,10 +223,11 @@ public class Excl02Bean extends AbstractComponent { *
  • 그렇지 않으면 false
  • * */ - public boolean updateOpnnSbmsnAnswer(OpnnSbmsn opnnSbmsn) { + public String updateOpnnSbmsnAnswer(OpnnSbmsn opnnSbmsn) { // 변수 선언 - boolean retSuccess = false; // DB 처리 결과 - String newCrdnSttsCd = ""; // 신규 단속 상태 코드(CRDN_STTS_CD) + boolean retSuccess = false; // DB 처리 결과 + String retMessage = ""; // 처리 결과 메시지 + String newCrdnSttsCd = ""; // 신규 단속 상태 코드(CRDN_STTS_CD) // 의견제출(TB_OPNN_SBMSN) 자료 조회 ExclQuery exclQuery = new ExclQuery(); @@ -227,8 +239,8 @@ public class Excl02Bean extends AbstractComponent { // 수납 또는 취소된 자료를 의견제출 수용할 수 없다 if (infoCrdnOpnnSbmsn.number("CRDN_STTS_CD").intValue() >= 71) { - // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException(infoCrdnOpnnSbmsn.string("CRDN_STTS_NM") + " 자료는 의견제출 심의처리를 할 수 없습니다."); + retMessage = "[F] 작업 중 오류가 발생하였습니다.
    현재 자료의 단속 상태가 " + infoCrdnOpnnSbmsn.string("CRDN_STTS_NM") + " 상태 입니다."; + return retMessage; } // 의견제출 답변을 수정 한다. @@ -261,7 +273,6 @@ public class Excl02Bean extends AbstractComponent { crdnSttsHstry.setBfrSttsChgDt(infoCrdnOpnnSbmsn.string("CRDN_STTS_CHG_DT")); crdnSttsHstry.setCrdnSttsCd(newCrdnSttsCd); crdnSttsHstry.setTaskDtlId(opnnSbmsn.getOpnnId()); - crdnSttsHstry.setEtcCn("의견제출 심의(답변)"); // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록 한다. retSuccess = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); @@ -272,7 +283,9 @@ public class Excl02Bean extends AbstractComponent { } } - return true; + retMessage = "[S] 작업이 정상 처리 되었습니다."; + + return retMessage; } /**의견제출 대장 정보를 삭제한다. @@ -282,9 +295,10 @@ public class Excl02Bean extends AbstractComponent { *
  • 그렇지 않으면 false
  • * */ - public boolean removeOpnnSbmsn(OpnnSbmsn opnnSbmsn) { + public String removeOpnnSbmsn(OpnnSbmsn opnnSbmsn) { // 변수 선언 - boolean retSuccess = false; // DB 처리 결과 + boolean retSuccess = false; // DB 처리 결과 + String retMessage = ""; // 처리 결과 메시지 // 의견제출(TB_OPNN_SBMSN) 자료 조회 ExclQuery exclQuery = new ExclQuery(); @@ -294,16 +308,6 @@ public class Excl02Bean extends AbstractComponent { DataObject infoCrdnOpnnSbmsn = opnnSbmsnMapper.selectOpnnSbmsnInfo(exclQuery); - // 단속 상태 코드가 의견제출 접수(31) 또는 의견제출 수용(82) 이라면... 이전 단속 상태 코드로 복원 한다. - if (infoCrdnOpnnSbmsn.string("CRDN_STTS_CD").equals("31") || infoCrdnOpnnSbmsn.string("CRDN_STTS_CD").equals("82")) { - // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장을 삭제 한다. - retSuccess = crdnSttsHstryBean.removeHstryUpdateCrdnSttsCd(infoCrdnOpnnSbmsn.string("CRDN_ID"), "92"); - if (!retSuccess) { - // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException("의견제출 삭제 중 단속상태 변경에 실패하였습니다."); - } - } - // 첨부파일 삭제 String[] deleteFiles = {opnnSbmsn.getOpnnId()}; @@ -316,6 +320,16 @@ public class Excl02Bean extends AbstractComponent { throw new RuntimeException("의견제출 대장 삭제에 실패하였습니다."); } + // 단속 상태 코드가 의견제출 접수(31) 또는 의견제출 수용(82) 이라면... 이전 단속 상태 코드로 복원 한다. + if (infoCrdnOpnnSbmsn.string("CRDN_STTS_CD").equals("31") || infoCrdnOpnnSbmsn.string("CRDN_STTS_CD").equals("82")) { + // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장을 삭제 한다. + retSuccess = crdnSttsHstryBean.removeHstryUpdateCrdnSttsCd(infoCrdnOpnnSbmsn.string("CRDN_ID"), "92"); + if (!retSuccess) { + // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback + throw new RuntimeException("의견제출 삭제 중 단속상태 변경에 실패하였습니다."); + } + } + // 단속 대장(TB_CRDN) 의견제출여부(OPNN_SBMSN_YN) 정보를 수정 한다. Crdn crdn = new Crdn(); @@ -328,7 +342,9 @@ public class Excl02Bean extends AbstractComponent { throw new RuntimeException("의견제출 삭제 중 단속대장의 의견제출여부 수정에 실패하였습니다."); } - return true; + retMessage = "[S] 작업이 정상 처리 되었습니다."; + + return retMessage; } } diff --git a/src/main/java/cokr/xit/fims/excl/service/bean/Excl02ServiceBean.java b/src/main/java/cokr/xit/fims/excl/service/bean/Excl02ServiceBean.java index f6bfdc3f..408156ec 100644 --- a/src/main/java/cokr/xit/fims/excl/service/bean/Excl02ServiceBean.java +++ b/src/main/java/cokr/xit/fims/excl/service/bean/Excl02ServiceBean.java @@ -9,6 +9,7 @@ import org.springframework.stereotype.Service; import cokr.xit.base.file.FileInfo; import cokr.xit.fims.excl.OpnnSbmsn; import cokr.xit.fims.excl.ExclQuery; +import cokr.xit.fims.excl.LevyExcl; import cokr.xit.fims.excl.service.Excl02Service; import cokr.xit.foundation.component.AbstractServiceBean; import cokr.xit.foundation.data.DataObject; @@ -54,50 +55,52 @@ public class Excl02ServiceBean extends AbstractServiceBean implements Excl02Serv } @Override - public boolean createOpnnSbmsn(OpnnSbmsn opnnSbmsn, List fileInfoList) { + public String createOpnnSbmsn(OpnnSbmsn opnnSbmsn, List fileInfoList) { return excl02Bean.createOpnnSbmsn(opnnSbmsn, fileInfoList); } @Override - public boolean updateOpnnSbmsn(OpnnSbmsn opnnSbmsn, List fileInfoList) { + public String updateOpnnSbmsn(OpnnSbmsn opnnSbmsn, List fileInfoList) { return excl02Bean.updateOpnnSbmsn(opnnSbmsn, fileInfoList); } @Override - public boolean updateOpnnSbmsnAnswer(OpnnSbmsn opnnSbmsn) { + public String updateOpnnSbmsnAnswer(OpnnSbmsn opnnSbmsn) { return excl02Bean.updateOpnnSbmsnAnswer(opnnSbmsn); } @Override - public boolean removeOpnnSbmsn(OpnnSbmsn opnnSbmsn) { + public String removeOpnnSbmsn(OpnnSbmsn opnnSbmsn) { return excl02Bean.removeOpnnSbmsn(opnnSbmsn); } @Override - public boolean removeOpnnSbmsnList(ExclQuery req) { + public String removeOpnnSbmsnList(ExclQuery req) { // 변수 선언 - boolean retSuccess = false; // DB 처리 결과 + String retMessage = ""; // 처리 결과 메시지 - // 의견제출IDs 건수를 확인하여 1건이하면.. 종료 - if (req.getOpnnIDs().length < 1 ) { - return retSuccess; + // 의견제출 IDs 건수를 확인하여 1건이하면.. 종료 + if (req.getOpnnIDs().length < 1) { + retMessage = "작업 중 선택 자료가 존재하지 않습니다."; + return retMessage; } - // 의견제출IDs 만큼 반복.. + // 의견제출 IDs 만큼 반복.. for (int iLoop = 0; iLoop < req.getOpnnIDs().length; iLoop++) { OpnnSbmsn opnnSbmsn = new OpnnSbmsn(); opnnSbmsn.setOpnnId(req.getOpnnIDs()[iLoop]); // 의견제출 ID opnnSbmsn.setDelRsn(req.getDelRsn()); // 삭제 사유 - // 의견제출 삭제 호출 - retSuccess = excl02Bean.removeOpnnSbmsn(opnnSbmsn); - if (!retSuccess) { - return retSuccess; + // 부과제외 삭제 호출 + retMessage = excl02Bean.removeOpnnSbmsn(opnnSbmsn); + // 오류가 발생하였으면 종료.. + if (retMessage.contains("[F]")) { + return retMessage; } } - return true; + return retMessage; } } 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 b3eba70e..f7bcc796 100644 --- a/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java +++ b/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java @@ -133,10 +133,18 @@ public class Excl02Controller extends ApplicationController { fileInfoList = new FileInfoFactory().makeFileInfos(null, uploadFiles); } - boolean saved = excl02Service.createOpnnSbmsn(excl02, fileInfoList); + boolean saved = false; + String retMessage = excl02Service.createOpnnSbmsn(excl02, fileInfoList); + + if (retMessage.contains("[S]")) { + saved = true; + } else { + saved = false; + } return new ModelAndView("jsonView") - .addObject("saved", saved); + .addObject("saved", saved) + .addObject("retMessage", retMessage); } /**의견제출 대장 정보를 수정한다. @@ -155,10 +163,41 @@ public class Excl02Controller extends ApplicationController { fileInfoList = new FileInfoFactory().makeFileInfos(null, uploadFiles); } - boolean saved = excl02Service.updateOpnnSbmsn(excl02, fileInfoList); + boolean saved = false; + String retMessage = excl02Service.updateOpnnSbmsn(excl02, fileInfoList); + + if (retMessage.contains("[S]")) { + saved = true; + } else { + saved = false; + } return new ModelAndView("jsonView") - .addObject("saved", saved); + .addObject("saved", saved) + .addObject("retMessage", retMessage); + } + + /**의견제출 대장 답변(상태) 정보를 수정한다. + * @param opnnSbmsn 의견제출 대장 정보 + * @return jsonView + *
     {
    +	 *     "saved": 수정되었으면 true, 그렇지 않으면 false
    +	 * }
    + */ + @PostMapping(name="의견제출 대장 답변 수정", value="/030/updateAnswer.do") + public ModelAndView updateOpnnSbmsnAnswer(OpnnSbmsn excl02) { + boolean saved = false; + String retMessage = excl02Service.updateOpnnSbmsnAnswer(excl02); + + if (retMessage.contains("[S]")) { + saved = true; + } else { + saved = false; + } + + return new ModelAndView("jsonView") + .addObject("saved", saved) + .addObject("retMessage", retMessage); } /**지정한 의견제출 대장를 제거한다. @@ -171,10 +210,18 @@ public class Excl02Controller extends ApplicationController { */ @PostMapping(name="의견제출 대장 제거", value="/010/remove.do") public ModelAndView removeOpnnSbmsn(OpnnSbmsn excl02) { - boolean saved = excl02Service.removeOpnnSbmsn(excl02); + boolean saved = false; + String retMessage = excl02Service.removeOpnnSbmsn(excl02); + + if (retMessage.contains("[S]")) { + saved = true; + } else { + saved = false; + } return new ModelAndView("jsonView") - .addObject("saved", saved); + .addObject("saved", saved) + .addObject("retMessage", retMessage); } /**여러 건의 의견제출 대장를 제거한다. @@ -187,10 +234,18 @@ public class Excl02Controller extends ApplicationController { */ @PostMapping(name="의견제출 대장 제거", value="/010/removes.do") public ModelAndView removeOpnnSbmsnList(ExclQuery req) { - boolean saved = excl02Service.removeOpnnSbmsnList(req); + boolean saved = false; + String retMessage = excl02Service.removeOpnnSbmsnList(req); + + if (retMessage.contains("[S]")) { + saved = true; + } else { + saved = false; + } return new ModelAndView("jsonView") - .addObject("saved", saved); + .addObject("saved", saved) + .addObject("retMessage", retMessage); } /**지정한 ID의 의견제출 심의 결과 정보를 반환한다. @@ -221,19 +276,4 @@ public class Excl02Controller extends ApplicationController { ; } - /**의견제출 대장 답변(상태) 정보를 수정한다. - * @param opnnSbmsn 의견제출 대장 정보 - * @return jsonView - *
     {
    -	 *     "saved": 수정되었으면 true, 그렇지 않으면 false
    -	 * }
    - */ - @PostMapping(name="의견제출 대장 답변 수정", value="/030/updateAnswer.do") - public ModelAndView updateOpnnSbmsnAnswer(OpnnSbmsn excl02) { - boolean saved = excl02Service.updateOpnnSbmsnAnswer(excl02); - - return new ModelAndView("jsonView") - .addObject("saved", saved); - } - } diff --git a/src/main/java/cokr/xit/fims/sprt/web/Sprt02Controller.java b/src/main/java/cokr/xit/fims/sprt/web/Sprt02Controller.java index 0eec2ff0..8fd3e01c 100644 --- a/src/main/java/cokr/xit/fims/sprt/web/Sprt02Controller.java +++ b/src/main/java/cokr/xit/fims/sprt/web/Sprt02Controller.java @@ -127,7 +127,7 @@ public class Sprt02Controller extends ApplicationController { */ @RequestMapping(name="의견제출 정보 조회", value="/030/info.do") public ModelAndView getOpnnSbmsnInfo(SprtQuery req) { - // 의견제출 + // 의견제출(TB_OPNN_SBMSN) 대장 조회 ExclQuery exclQuery = new ExclQuery(); if (req.getCallPurpose() == null) { @@ -140,6 +140,9 @@ public class Sprt02Controller extends ApplicationController { DataObject opnnSbmsn = excl02Service.getOpnnSbmsnInfo(exclQuery); + // 단속(TB_CRDN) 대장 조회 + DataObject totalInfo = sprt02Service.getCrdnInfo(req); + boolean json = jsonResponse(); ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02030-info"); @@ -147,6 +150,7 @@ public class Sprt02Controller extends ApplicationController { return mav .addObject("pageName", "sprt02030") .addObject("pageNameMain", "sprt02010") + .addObject("totalInfo", json ? totalInfo : toJson(totalInfo)) // 단속 정보 .addObject("opnnSbmsn", json ? opnnSbmsn : toJson(opnnSbmsn)) // 의견제출 정보 ; } @@ -204,7 +208,7 @@ public class Sprt02Controller extends ApplicationController { */ @RequestMapping(name="처리 상세 정보 조회", value="/050/info.do") public ModelAndView getPrcsDtlInfo(SprtQuery req) { - // 감경 조회 + // 과태료 감경(TB_RDUCT) 대장 조회 LevyQuery levyQuery = new LevyQuery(); if (req.getCallPurpose() == null) { @@ -218,7 +222,7 @@ public class Sprt02Controller extends ApplicationController { DataObject rduct = levy02Service.getRductInfo(levyQuery); - // 부과제외 조회 + // 부과 제외(TB_LEVY_EXCL) 대장 조회 ExclQuery exclQuery = new ExclQuery(); if (req.getCallPurpose() == null) { @@ -232,20 +236,23 @@ public class Sprt02Controller extends ApplicationController { DataObject levyExcl = excl01Service.getLevyExclInfo(exclQuery); - // 단속 상태 이력 + // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 조회 CrdnSttsHstryQuery crdnSttsHstryQuery = new CrdnSttsHstryQuery(); crdnSttsHstryQuery.setCrdnId(req.getCrdnId()); crdnSttsHstryQuery.setOrderBy("CSH.REG_DT DESC, CSH.STTS_HSTRY_ID DESC"); List crdnSttsHstry = crdnSttsHstryService.getCrdnSttsHstrys(crdnSttsHstryQuery); - // 단속 납부자 이력 + // 단속 납부자 이력(TB_CRDN_PAYER_HSTRY) 조회 CrdnPayerHstryQuery crdnPayerHstryQuery = new CrdnPayerHstryQuery(); crdnPayerHstryQuery.setCrdnId(req.getCrdnId()); crdnPayerHstryQuery.setOrderBy("CPH.REG_DT DESC, CPH.CHG_HSTRY_ID DESC"); List crdnPayerHstry = crdnPayerHstryService.getCrdnPayerHstrys(crdnPayerHstryQuery); + // 단속(TB_CRDN) 대장 조회 + DataObject totalInfo = sprt02Service.getCrdnInfo(req); + boolean json = jsonResponse(); ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02050-info"); @@ -253,8 +260,9 @@ public class Sprt02Controller extends ApplicationController { return mav .addObject("pageName", "sprt02050") .addObject("pageNameMain", "sprt02010") + .addObject("totalInfo", json ? totalInfo : toJson(totalInfo)) // 단속 정보 .addObject("pageDataName1", "Rduct") // dataset1 - .addObject("rduct", json ? rduct : toJson(rduct)) // 감경 정보 + .addObject("rduct", json ? rduct : toJson(rduct)) // 과태료 감경 정보 .addObject("pageDataName2", "LevyExcl") // dataset2 .addObject("levyExcl", json ? levyExcl : toJson(levyExcl)) // 부과 제외 정보 .addObject("pageDataName3", "CrdnSttsHstry") // dataset3 diff --git a/src/main/webapp/WEB-INF/jsp/fims/excl/excl01010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/excl/excl01010-main.jsp index 0d2469ef..2b946e43 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/excl/excl01010-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/excl/excl01010-main.jsp @@ -448,8 +448,6 @@ url : wctx.url("/" + params.taskSeCd + ${pageName}PrefixUrl + "/020/info.do?openerPageName=${pageName}") , data : params || {} , success : resp => { - resp = resp.replace(/infoPrefix/g, this.prefix) - .replace(/prefixName/g, this.prefixName) dialog.open({ id : ${pageName}Control.prefixed("Dialog") , title : ${pageName}Control.prefixName + " 정보" 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 74b1a4ea..5c6bf145 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 @@ -366,6 +366,37 @@ }); } + // 삭제 callback + ${pageName}Control.onRemove = (selected, resp) => { + let btnTitle = $("#btnRemove--${pageName}").attr("title"); + + let showMessage = resp.retMessage.replace(/[S]|[F]/g, btnTitle); + + dialog.alert(showMessage); + + if (resp.saved) { + ${pageName}Control._load(); + } + } + + // 삭제 + ${pageName}Control.remove = (params) => { + let selected = ${pageName}Control.dataset.getKeys("selected"); + + if (selected.length < 1) return; + + if (!params) { + params = {}; + params[${pageName}Control.prefixed("IDs")] = selected.join(","); + } + + ajax.post({ + url : ${pageName}Control.urls.remove + , data : params + , success : resp => ${pageName}Control.onRemove(selected, resp) + }); + } + /************************************************************************** * **************************************************************************/ @@ -418,8 +449,6 @@ url : wctx.url("/" + params.taskSeCd + ${pageName}PrefixUrl + "/020/info.do") , data : params || {} , success : resp => { - resp = resp.replace(/infoPrefix/g, this.prefix) - .replace(/prefixName/g, this.prefixName) dialog.open({ id : ${pageName}Control.prefixed("InfoDialog") , title : ${pageName}Control.prefixName + " 정보" diff --git a/src/main/webapp/WEB-INF/jsp/fims/excl/excl02020-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/excl/excl02020-info.jsp index 4b831b4a..e969c132 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/excl/excl02020-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/excl/excl02020-info.jsp @@ -208,11 +208,15 @@ **************************************************************************/ // 저장 callback ${pageName}Control.onSave = (resp) => { + let dialogTitle = $("#" + ${pageName}Control.prefix + "Dialog").find("h5.modal-title").html(); + let showMessage = resp.retMessage.replace(/[S]|[F]/g, dialogTitle); + + dialog.alert(showMessage); + if (resp.saved) { // 폼을 리셋해서 uploadFiles에 출력된 선택 파일을 초기화시킨다. document.getElementById("frmFile--${pageName}").reset(); - dialog.alert("저장됐습니다."); dialog.close(${pageName}Control.prefix + "Dialog"); } } @@ -221,9 +225,8 @@ ${pageName}Control.save = (info) => { if (!info) return; - let create = isEmpty(info.opnnId); - let formData = new FormData(); + let create = isEmpty(info.opnnId); // 첨부파일 배열에 있는 내용을 등록 for (let iLoop = 0; iLoop < $fileListArr.length; iLoop++) { diff --git a/src/main/webapp/WEB-INF/jsp/fims/excl/excl02030-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/excl/excl02030-info.jsp index 556e7a35..bf394015 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/excl/excl02030-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/excl/excl02030-info.jsp @@ -141,8 +141,12 @@ **************************************************************************/ // 저장 callback ${pageName}Control.onSave = (resp) => { + let dialogTitle = $("#" + ${pageName}Control.prefix + "Dialog").find("h5.modal-title").html(); + let showMessage = resp.retMessage.replace(/[S]|[F]/g, dialogTitle); + + dialog.alert(showMessage); + if (resp.saved) { - dialog.alert("저장됐습니다."); dialog.close(${pageName}Control.prefix + "Dialog"); } } diff --git a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02030-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02030-info.jsp index 64b08cb7..c8eb8f35 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02030-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02030-info.jsp @@ -310,6 +310,11 @@ } else { $("#frmEdit--${pageName}")[0].reset(); } + + // 최상단 단속 Data 셋팅 + if (resp.totalInfo) { + ${pageNameMain}Control.setData([resp.totalInfo]); + } } }); } diff --git a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02050-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02050-info.jsp index 8c9b868b..17af610f 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02050-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02050-info.jsp @@ -494,6 +494,11 @@ // 주소 변동 이력 Data 셋팅 ${pageName}${pageDataName4}Dataset.setData(resp.crdnPayerHstryList); + + // 최상단 단속 Data 셋팅 + if (resp.totalInfo) { + ${pageNameMain}Control.setData([resp.totalInfo]); + } } }); }