From 2d0eac6aab731e66d381452b044275e389e17b3b Mon Sep 17 00:00:00 2001 From: jjh Date: Thu, 10 Aug 2023 13:35:43 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B6=80=EA=B3=BC=EC=A0=9C=EC=99=B8=20?= =?UTF-8?q?=EC=88=98=EC=A0=95.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/cokr/xit/fims/excl/Excl01.java | 30 +- .../java/cokr/xit/fims/excl/Excl01Query.java | 12 + src/main/java/cokr/xit/fims/excl/Excl02.java | 5 - src/main/java/cokr/xit/fims/excl/Excl03.java | 5 - .../cokr/xit/fims/excl/dao/Excl01Mapper.java | 19 +- .../xit/fims/excl/service/Excl01Service.java | 13 +- .../fims/excl/service/bean/Excl01Bean.java | 28 +- .../excl/service/bean/Excl01ServiceBean.java | 408 +++++++++--------- .../xit/fims/excl/web/Excl01Controller.java | 34 +- .../sql/mapper/fims/excl/excl01-mapper.xml | 198 ++++----- .../WEB-INF/jsp/fims/excl/excl01010-main.jsp | 5 +- .../WEB-INF/jsp/fims/excl/excl01020-info.jsp | 8 +- 12 files changed, 384 insertions(+), 381 deletions(-) diff --git a/src/main/java/cokr/xit/fims/excl/Excl01.java b/src/main/java/cokr/xit/fims/excl/Excl01.java index 8b6dd56e..a3f8e74d 100644 --- a/src/main/java/cokr/xit/fims/excl/Excl01.java +++ b/src/main/java/cokr/xit/fims/excl/Excl01.java @@ -18,11 +18,6 @@ import lombok.Setter; @Setter public class Excl01 extends AbstractEntity { - /** - * 부과 제외 IDs - */ - private String[] levyExclIDs; - /** * 부과 제외 ID */ @@ -139,9 +134,34 @@ public class Excl01 extends AbstractEntity { */ private String cvlcptPrcsCd; + /** + * 단속 민원(TB_CRDN_CVLCPT) - 민원 처리 요약 + */ + private String cvlcptPrcsSumry; + + /** + * 단속 민원(TB_CRDN_CVLCPT) - 민원 처리 결과 내용 + */ + private String cvlcptPrcsRsltCn; + + /** + * 단속 민원(TB_CRDN_CVLCPT) - 민원 처리 완료 일시 + */ + private String cvlcptPrcsCmptnDt; + + /** + * 단속 민원(TB_CRDN_CVLCPT) - 민원 처리 담당자 + */ + private String cvlcptPrcsPic; + /** * 단속 민원(TB_CRDN_CVLCPT) - 민원 전송 코드 */ private String cvlcptTrsmCd; + /** + * 발송 상세(TB_SNDNG_DTL) - 발송 수납 코드 + */ + private String sndngRcvmtCd; + } diff --git a/src/main/java/cokr/xit/fims/excl/Excl01Query.java b/src/main/java/cokr/xit/fims/excl/Excl01Query.java index 1b16f96a..42c74891 100644 --- a/src/main/java/cokr/xit/fims/excl/Excl01Query.java +++ b/src/main/java/cokr/xit/fims/excl/Excl01Query.java @@ -61,6 +61,7 @@ public class Excl01Query extends QueryRequest { // ETC private String ansRsnCd; // 민원 답변 문구(TB_CVLCPT_ANS_WORDS) - 답변 사유 코드 private String delRsn; // 삭제 사유 + private String sndngRcvmtCd; // 발송 수납 코드 public String getSggCd() { return ifEmpty(sggCd, () -> null); @@ -404,5 +405,16 @@ public class Excl01Query extends QueryRequest { return self(); } + + public String getSndngRcvmtCd() { + return ifEmpty(sndngRcvmtCd, () -> null); + } + + public T setSndngRcvmtCd(String sndngRcvmtCd) { + this.sndngRcvmtCd = sndngRcvmtCd; + + return self(); + } + // ETC ///////////////////////////////////////////////////////////////////// } diff --git a/src/main/java/cokr/xit/fims/excl/Excl02.java b/src/main/java/cokr/xit/fims/excl/Excl02.java index 0cbda1f2..5c321da4 100644 --- a/src/main/java/cokr/xit/fims/excl/Excl02.java +++ b/src/main/java/cokr/xit/fims/excl/Excl02.java @@ -20,11 +20,6 @@ public class Excl02 extends AbstractEntity { public static String INF_TYPE = "110"; // 의견 진술 첨부파일 - /** - * 의견 IDs - */ - private String[] opnnIDs; - /** * 의견 ID */ diff --git a/src/main/java/cokr/xit/fims/excl/Excl03.java b/src/main/java/cokr/xit/fims/excl/Excl03.java index 347df3ee..1d795a43 100644 --- a/src/main/java/cokr/xit/fims/excl/Excl03.java +++ b/src/main/java/cokr/xit/fims/excl/Excl03.java @@ -20,11 +20,6 @@ public class Excl03 extends AbstractEntity { public static String INF_TYPE = "100"; // 단속 사진 - /** - * 재등록 IDs - */ - private String[] reRegIDs; - /** * 재등록 ID */ diff --git a/src/main/java/cokr/xit/fims/excl/dao/Excl01Mapper.java b/src/main/java/cokr/xit/fims/excl/dao/Excl01Mapper.java index a96442a4..328bebd5 100644 --- a/src/main/java/cokr/xit/fims/excl/dao/Excl01Mapper.java +++ b/src/main/java/cokr/xit/fims/excl/dao/Excl01Mapper.java @@ -122,7 +122,7 @@ public interface Excl01Mapper extends AbstractMapper { return excl01 != null && updateCrdnCvlcptPrcs(params().set("excl01", excl01)) == 1; } - /**단속민원(TB_CRDN_CVLCPT) 대장 민원처리결과내용을 수정 한다. + /**단속민원(TB_CRDN_CVLCPT) 대장의 민원처리결과내용(CVLCPT_PRCS_RSLT_CN)을 초기화 한다. * @param excl 부과제외 대장 * @return 저장된 정보수 */ @@ -132,7 +132,17 @@ public interface Excl01Mapper extends AbstractMapper { return excl01 != null && updateCvlcptPrcsRsltCn(params().set("excl01", excl01)) == 1; } - /**단속(TB_CRDN) 대장 주차가능결과코드를 수정 한다. + /**단속민원(TB_CRDN_CVLCPT) 대장의 민원답변 정보를 초기화 한다. + * @param excl 부과제외 대장 + * @return 저장된 정보수 + */ + int updateCrdnCvlcpt(Map params); + + default boolean updateCrdnCvlcpt(Excl01 excl01) { + return excl01 != null && updateCrdnCvlcpt(params().set("excl01", excl01)) == 1; + } + + /**단속(TB_CRDN) 대장의 주차가능결과코드를 수정 한다. * @param excl 부과제외 대장 * @return 저장된 정보수 */ @@ -148,8 +158,9 @@ public interface Excl01Mapper extends AbstractMapper { */ DataObject selectSndngDtl(Excl01Query req); - default DataObject selectSndngDtlInfo(String crdnId) { - DataObject sndngDtlInfo = selectSndngDtl(new Excl01Query().setCrdnId(crdnId)); + default DataObject selectSndngDtlInfo(String crdnId, String sndngRcvmtCd) { + DataObject sndngDtlInfo = selectSndngDtl(new Excl01Query().setCrdnId(crdnId) + .setSndngRcvmtCd(sndngRcvmtCd)); return sndngDtlInfo; } diff --git a/src/main/java/cokr/xit/fims/excl/service/Excl01Service.java b/src/main/java/cokr/xit/fims/excl/service/Excl01Service.java index 56466e2c..b8cb942e 100644 --- a/src/main/java/cokr/xit/fims/excl/service/Excl01Service.java +++ b/src/main/java/cokr/xit/fims/excl/service/Excl01Service.java @@ -1,7 +1,6 @@ package cokr.xit.fims.excl.service; import java.util.List; -import java.util.Map; import cokr.xit.fims.excl.Excl01; import cokr.xit.fims.excl.Excl01Query; @@ -23,13 +22,13 @@ public interface Excl01Service { * @param req 부과제외 대장 조회 조건 * @return 부과제외 대장 목록 */ - List getLevyExclusionList(Excl01Query req); + List getLevyExclList(Excl01Query req); /**지정한 부과제외 ID의 부과제외 정보를 반환한다.
* @param levyExclId 부과 제외 ID * @return 부과제외 정보 */ - DataObject getInfo(Excl01Query req); + DataObject getLevyExclInfo(Excl01Query req); /**부과제외 대장 정보를 등록한다. * @param excl 부과제외 대장 @@ -38,7 +37,7 @@ public interface Excl01Service { *
  • 그렇지 않으면 false
  • * */ - Map create(Excl01 excl01); + boolean createLevyExcl(Excl01 excl01); /**부과제외 대장 정보를 수정한다. * @param excl 부과제외 대장 @@ -47,7 +46,7 @@ public interface Excl01Service { *
  • 그렇지 않으면 false
  • * */ - Map update(Excl01 excl01); + boolean updateLevyExcl(Excl01 excl01); /**부과제외 대장 정보를 삭제한다. * @param excl 부과제외 대장 @@ -56,7 +55,7 @@ public interface Excl01Service { *
  • 그렇지 않으면 false
  • * */ - boolean remove(Excl01 excl01); + boolean removeLevyExcl(Excl01 excl01); /**부과제외 대장 정보를 삭제한다. * @param excl 부과제외 대장 @@ -65,6 +64,6 @@ public interface Excl01Service { *
  • 그렇지 않으면 false
  • * */ - boolean removeList(Excl01Query req); + boolean removeLevyExclList(Excl01Query 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 282dcf31..7c75f61c 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 @@ -1,6 +1,7 @@ package cokr.xit.fims.excl.service.bean; import java.util.List; +import java.util.Map; import javax.annotation.Resource; @@ -33,7 +34,7 @@ public class Excl01Bean extends AbstractComponent { * @param req 부과제외 대장 조회 조건 * @return 부과제외 대장 목록 */ - public List getLevyExclusionList(Excl01Query req) { + public List getLevyExclList(Excl01Query req) { req.setOrderBy("LEVY_EXCL_ID"); // 정렬 return excl01Mapper.selectLevyExclList(req); @@ -43,7 +44,7 @@ public class Excl01Bean extends AbstractComponent { * @param levyExclId 부과제외 ID * @return 부과제외 정보 */ - public DataObject getInfo(Excl01Query req) { + public DataObject getLevyExclInfo(Excl01Query req) { if (req.getLevyExclId() != null) { return excl01Mapper.selectInfo(req.getLevyExclId()); // 수정(부과제외 조회) } else { @@ -64,7 +65,7 @@ public class Excl01Bean extends AbstractComponent { *
  • 그렇지 않으면 false
  • * */ - public boolean create(Excl01 excl01) { + public boolean createLevyExcl(Excl01 excl01) { return excl01Mapper.insert(excl01); } @@ -75,7 +76,7 @@ public class Excl01Bean extends AbstractComponent { *
  • 그렇지 않으면 false
  • * */ - public boolean update(Excl01 excl01) { + public boolean updateLevyExcl(Excl01 excl01) { return excl01Mapper.update(excl01); } @@ -86,7 +87,7 @@ public class Excl01Bean extends AbstractComponent { *
  • 그렇지 않으면 false
  • * */ - public boolean remove(Excl01 excl01) { + public boolean removeLevyExcl(Excl01 excl01) { return excl01Mapper.delete(excl01); } @@ -117,7 +118,7 @@ public class Excl01Bean extends AbstractComponent { return excl01Mapper.updateCrdnCvlcptPrcs(excl01); } - /**단속민원(TB_CRDN_CVLCPT) 대장의 민원처리결과내용을 수정 한다. + /**단속민원(TB_CRDN_CVLCPT) 대장의 민원처리결과내용(CVLCPT_PRCS_RSLT_CN)을 초기화 한다. * @param excl 부과제외 대장 * @return 저장 여부 *
    • 저장됐으면 true
    • @@ -128,6 +129,17 @@ public class Excl01Bean extends AbstractComponent { return excl01Mapper.updateCvlcptPrcsRsltCn(excl01); } + /**단속민원(TB_CRDN_CVLCPT) 대장의 민원답변 정보를 초기화 한다. + * @param excl 부과제외 대장 + * @return 저장 여부 + *
      • 저장됐으면 true
      • + *
      • 그렇지 않으면 false
      • + *
      + */ + public boolean updateCrdnCvlcpt(Excl01 excl01) { + return excl01Mapper.updateCrdnCvlcpt(excl01); + } + /**단속(TB_CRDN) 대장의 주차가능결과코드를 수정 한다. * @param excl 부과제외 대장 * @return 저장 여부 @@ -143,8 +155,8 @@ public class Excl01Bean extends AbstractComponent { * @param crdnId 단속 ID * @return 단속, 부과제외 대장 목록 */ - public DataObject selectSndngDtlInfo(String crdnId) { - return excl01Mapper.selectSndngDtlInfo(crdnId); + public DataObject selectSndngDtlInfo(String crdnId, String sndngRcvmtCd) { + return excl01Mapper.selectSndngDtlInfo(crdnId, sndngRcvmtCd); } /**발송상세(TB_SNDNG_DTL) 대장의 수납코드를 수정 한다. 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 89ffef69..6d521018 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 @@ -1,8 +1,8 @@ package cokr.xit.fims.excl.service.bean; -import java.util.HashMap; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; import java.util.List; -import java.util.Map; import javax.annotation.Resource; @@ -13,6 +13,7 @@ import cokr.xit.fims.cmmn.service.bean.CrdnSttsHstryBean; import cokr.xit.fims.excl.Excl01; import cokr.xit.fims.excl.Excl01Query; import cokr.xit.fims.excl.service.Excl01Service; +import cokr.xit.foundation.UserInfo; import cokr.xit.foundation.component.AbstractServiceBean; import cokr.xit.foundation.data.DataObject; @@ -38,13 +39,13 @@ public class Excl01ServiceBean extends AbstractServiceBean implements Excl01Serv private CrdnSttsHstryBean crdnSttsHstryBean; @Override - public List getLevyExclusionList(Excl01Query req) { - return excl01Bean.getLevyExclusionList(req); + public List getLevyExclList(Excl01Query req) { + return excl01Bean.getLevyExclList(req); } @Override - public DataObject getInfo(Excl01Query req) { - DataObject levyExcl = excl01Bean.getInfo(req); + public DataObject getLevyExclInfo(Excl01Query req) { + DataObject levyExcl = excl01Bean.getLevyExclInfo(req); // 등록으로 실행했는데 부과제외 ID가 존재한다면 이미 등록되었으므로 오류로 처리.. if (req.getLevyExclId() == null) { @@ -58,9 +59,8 @@ public class Excl01ServiceBean extends AbstractServiceBean implements Excl01Serv } @Override - public Map create(Excl01 excl01) { + public boolean createLevyExcl(Excl01 excl01) { // 변수 선언 - Map retMap = new HashMap(); // 결과 return boolean retSuccess = false; // DB 처리 결과 String newCrdnSttsCd = ""; // 신규 단속 상태 코드(CRDN_STTS_CD) String newCvlcptPrcsCd = ""; // 신규 민원 처리 코드(CVLCPT_PRCS_CD) @@ -71,125 +71,121 @@ public class Excl01ServiceBean extends AbstractServiceBean implements Excl01Serv // 부과제외 ID가 있다면 이미 부과제외 자료가 존재하므로 종료.. if (!infoCrdnLevyExcl.string("LEVY_EXCL_ID").equals("")) { - retMap.put("retSaved", "false"); - retMap.put("retMessage", "부과제외 정보가 이미 존재합니다."); - - return retMap; + // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback + throw new RuntimeException("부과제외 정보가 이미 존재합니다."); } // 단속 상태 코드(CRDN_STTS_CD) 확인.. if (excl01.getLevyExclSeCd().equals("1") || excl01.getLevyExclSeCd().equals("2")) { // 비부과(서손), 계고 // 단속 상태 코드가 부과(51) 보다 크다면, 비부과 또는 계고를 등록 할 수 없다. 종료.. if (Integer.parseInt(infoCrdnLevyExcl.string("CRDN_STTS_CD")) > 50) { - retMap.put("retSaved", "false"); - retMap.put("retMessage", "단속 상태가 " + infoCrdnLevyExcl.string("CRDN_STTS_NM") + " 상태 입니다"); - - return retMap; + // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback + throw new RuntimeException("단속 상태가 " + infoCrdnLevyExcl.string("CRDN_STTS_NM") + " 상태 입니다"); + } + } else if (excl01.getLevyExclSeCd().equals("5")) { + // 단속 상태 코드가 부과(51) 보다 작다면, 전액감액 등록 할 수 없다. 종료.. 전액감액 등록은 부과이후... + if (Integer.parseInt(infoCrdnLevyExcl.string("CRDN_STTS_CD")) < 51) { + // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback + throw new RuntimeException("단속 상태가 " + infoCrdnLevyExcl.string("CRDN_STTS_NM") + " 상태 입니다"); } -// } else if (excl01.getLevyExclSeCd().equals("5")) { -// // 단속 상태 코드가 부과(51) 보다 작다면, 전액감액 등록 할 수 없다. 종료.. -// if (Integer.parseInt(infoCrdnLevyExcl.string("CRDN_STTS_CD")) < 50) { -// retMap.put("retSaved", "false"); -// retMap.put("retMessage", "단속 상태가 " + infoCrdnLevyExcl.string("CRDN_STTS_NM") + " 상태 입니다"); -// -// return retMap; -// } } - // 여러 대장 수정에 사용한다. - Excl01 updtCrdn = new Excl01(); - - updtCrdn.setCrdnId(infoCrdnLevyExcl.string("CRDN_ID")); // 단속 ID - updtCrdn.setCvlcptLinkId(infoCrdnLevyExcl.string("CVLCPT_LINK_ID")); // 민원 연계 ID - - // 비부과(서손), 계고 등록 하는데, 단속 민원 대장(TB_CRDN_CVLCPT)의 민원처리코드가 초기상태면 답변대상으로 수정한다 + // 비부과(서손), 계고 등록 하는데, if (excl01.getLevyExclSeCd().equals("1") || excl01.getLevyExclSeCd().equals("2")) { - // 자동등록 자료만 민원답변 부분을 처리 - if (infoCrdnLevyExcl.string("CRDN_REG_SE_CD").equals("02")) { - // 단속등록구분코드(CRDN_REG_SE_CD)를 확인하여 민원처리코드(CVLCPT_PRCS_CD) 수정. - if (infoCrdnLevyExcl.string("CRDN_REG_SE_CD").equals("00") - || infoCrdnLevyExcl.string("CRDN_REG_SE_CD").equals("01") - || infoCrdnLevyExcl.string("CRDN_REG_SE_CD").equals("04")) { - newCvlcptPrcsCd = "06"; // 민원 처리 코드 - 답변 미대상 변환등록, 수기등록, 복사등록, 재등록 - newCvlcptTrsmCd = "02"; // 민원 전송 코드 - 전송 미대상 변환등록, 수기등록, 복사등록, 재등록 - } else if (infoCrdnLevyExcl.string("CRDN_REG_SE_CD").equals("03")) { -/* -if Msg_Confirm('서손 후 재등록된 자료입니다.' + #13 + '다시 새올 답변대상자료로 넘기겠습니까?') <> mrYes then new_as_state := ANSWER_STATE_CANCEL_COPY -else new_as_state := ANSWER_STATE_ANSWER_FOR_CANCEL; // 답변대상(서손) - */ - newCvlcptPrcsCd = "06"; // 민원 처리 코드 - 답변 미대상 변환등록, 수기등록, 복사등록, 재등록 - newCvlcptTrsmCd = "02"; // 민원 전송 코드 - 전송 미대상 변환등록, 수기등록, 복사등록, 재등록 - } else { - // 답변완료후 서손처리에 대해서는 답변 상태를 업데이트 하지 않는다 - // 처리완료(부과), 처리완료(계도), 처리완료(서손), 처리완료(수기), 답변 미대상 변환등록, 수기등록, 복사등록, 재등록 - if (!(infoCrdnLevyExcl.string("CVLCPT_TRSM_CD").equals("06") || infoCrdnLevyExcl.string("CRDN_REG_SE_CD").equals("02"))) { + // 단속민원ID가 있다면.. + if (!infoCrdnLevyExcl.string("CVLCPT_LINK_ID").equals("")) { + // 자동등록 자료만 단속민원(TB_CRDN_CVLCPT) 답변 부분을 처리 + if (infoCrdnLevyExcl.string("CRDN_REG_SE_CD").equals("02")) { + // 단속민원(TB_CRDN_CVLCPT) 대장 + Excl01 updtCrdnCvlcpt = new Excl01(); + + updtCrdnCvlcpt.setCvlcptLinkId(infoCrdnLevyExcl.string("CVLCPT_LINK_ID")); // 민원 연계 ID + + // 답변내용을 초기화, 답변대상이었다가 답변내용보기를 했다가 서손처리하면 답변내용이 이미 세팅되어 있으므로 초기화해야 한다. + // 서손사유 수정시도 답변내용보기를 했을 수 있으므로 초기화해야 한다. + // 서손취소시도 답변내용이 부과 기본 내용으로 바꾸이야 하므로 초기화해야 한다. + // 단속민원 민원처리결과내용 수정 + retSuccess = excl01Bean.updateCvlcptPrcsRsltCn(updtCrdnCvlcpt); + if (!retSuccess) { + // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback + throw new RuntimeException("부과제외 등록 중 단속민원 대장의 민원처리결과내용 초기화에 실패하였습니다."); + } + + // 답변완료 후 서손처리에 대해서는 답변 상태를 업데이트 하지 않는다 + // 전송대상, 전송 미대상 자료에 대해서 업데이트한다. + if (infoCrdnLevyExcl.string("CVLCPT_TRSM_CD").equals("01") + || infoCrdnLevyExcl.string("CVLCPT_TRSM_CD").equals("02") + || infoCrdnLevyExcl.string("CVLCPT_TRSM_CD").equals("03")) { // 민원 답변 문구(TB_CVLCPT_ANS_WORDS) 대장 조회 DataObject infoCvlcptAnsWords = excl01Bean.selectCvlcptAnsWordsInfo(excl01.getLevyExclRsnCd()); - // 민원 답변 문구(TB_CVLCPT_ANS_WORDS) 대장에 답변 사유 코드가 존재한다면.. + // 비부과(서손)사유가 민원 답변대상인가? 민원 답변 문구(TB_CVLCPT_ANS_WORDS) 대장에 답변 사유 코드가 존재한다면.. if (!infoCvlcptAnsWords.string("ANS_WORDS_ID").equals("")) { - newCvlcptPrcsCd = "04"; // 민원 처리 코드 - 불수용(과태료 부과제외) - newCvlcptTrsmCd = "01"; // 민원 전송 코드 - 전송 대상 + newCvlcptPrcsCd = "04"; // 민원 처리 코드 - 불수용(과태료 부과제외) + newCvlcptTrsmCd = "01"; // 민원 전송 코드 - 전송 대상 } else { - newCvlcptPrcsCd = "07"; // 민원 처리 코드 - 비부과(서손)사유가 답변 미대상 - newCvlcptTrsmCd = "03"; // 민원 전송 코드 - 비부과(서손)사유가 전송 미대상 + newCvlcptPrcsCd = "07"; // 민원 처리 코드 - 비부과(서손)사유가 답변 미대상 + newCvlcptTrsmCd = "03"; // 민원 전송 코드 - 비부과(서손)사유가 전송 미대상 } - // 단속민원(TB_CRDN_CVLCPT) 대장을 수정 한다. - updtCrdn.setCvlcptPrcsCd(newCvlcptPrcsCd); // 민원 처리 코드 - updtCrdn.setCvlcptTrsmCd(newCvlcptTrsmCd); // 민원 전송 코드 + // 현재 날짜 구하기 + LocalDate now = LocalDate.now(); + // 포맷 정의 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss"); // yyyy년 MM월 dd일 HH시 mm분 ss초 + // 포맷 적용 + String formatedNow = now.format(formatter); - retSuccess = excl01Bean.updateCrdnCvlcptPrcs(updtCrdn); // 단속민원 민원처리코드 수정 + // 단속민원(TB_CRDN_CVLCPT) 대장을 수정 한다. + updtCrdnCvlcpt.setCvlcptPrcsCd(newCvlcptPrcsCd); // 민원 처리 코드 + updtCrdnCvlcpt.setCvlcptPrcsSumry(infoCvlcptAnsWords.string("PRCS_SUMRY")); // 민원 처리 요약 + updtCrdnCvlcpt.setCvlcptPrcsRsltCn(infoCvlcptAnsWords.string("PRCS_RSLT_CN")); // 민원 처리 결과 내용 + updtCrdnCvlcpt.setCvlcptPrcsCmptnDt(formatedNow); // 민원 처리 완료 일시 + updtCrdnCvlcpt.setCvlcptPrcsPic(UserInfo.current().getId()); // 민원 처리 담당자 + updtCrdnCvlcpt.setCvlcptTrsmCd(newCvlcptTrsmCd); // 민원 전송 코드 + + // 단속민원 민원처리코드 수정 + retSuccess = excl01Bean.updateCrdnCvlcpt(updtCrdnCvlcpt); if (!retSuccess) { - retMap.put("retSaved", "false"); - retMap.put("retMessage", "부과제외 등록 중 민원처리코드 수정에 실패하였습니다."); - // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException(retMap.get("retMessage")); + throw new RuntimeException("부과제외 등록 중 단속민원답변 수정에 실패하였습니다."); } } - } - - // 답변내용을 초기화, - // 답변대상이었다가 답변내용보기를 했다가 서손처리하면 답변내용이 이미 세팅되어 있으므로 초기화해야 한다. - // 서손사유 수정시도 답변내용보기를 했을 수 있으므로 초기화해야 한다. - // 서손취소시도 답변내용이 부과 기본 내용으로 바꾸이야 하므로 초기화해야 한다. - retSuccess = excl01Bean.updateCvlcptPrcsRsltCn(updtCrdn); // 단속민원 민원처리결과내용 수정 - if (!retSuccess) { - retMap.put("retSaved", "false"); - retMap.put("retMessage", "부과제외 등록 중 단속민원 대장의 민원처리결과내용 초기화에 실패하였습니다."); - - // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException(retMap.get("retMessage")); - } - } // if (infoCrdnLevyExcl.string("CRDN_REG_SE_CD").equals("02")) + } // if (infoCrdnLevyExcl.string("CRDN_REG_SE_CD").equals("02")) + } // 단속민원ID가 있다면.. // 표지정보 확인여부가 미확인이면 -> 조회미대상 으로 if (infoCrdnLevyExcl.string("PARKNG_PSBLTY_RSLT_CD").equals("0")) { - // 단속(TB_CRDN) 대장을 수정 한다. + // 단속(TB_CRDN) 대장 + Excl01 updtCrdn = new Excl01(); + + updtCrdn.setCrdnId(excl01.getCrdnId()); // 단속 ID updtCrdn.setParkngPsbltyRsltCd("9"); // 주차 가능 결과 코드 - retSuccess = excl01Bean.updateParkngPsbltyRsltCd(updtCrdn); // 단속민원 민원처리결과내용 수정 + // 단속민원 민원처리결과내용 수정 + retSuccess = excl01Bean.updateParkngPsbltyRsltCd(updtCrdn); if (!retSuccess) { - retMap.put("retSaved", "false"); - retMap.put("retMessage", "부과제외 등록 중 단속 대장의 표지정보확인여부 수정에 실패하였습니다."); - // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException(retMap.get("retMessage")); + throw new RuntimeException("부과제외 등록 중 단속 대장의 표지정보확인여부 수정에 실패하였습니다."); } - } + } + // 전액감액일 경우.. 부과(TB_LEVY)에 감액금액 입력이 필요.. + } else if (excl01.getLevyExclSeCd().equals("5")) { + } // 단속 ID로 발송 상세(TB_SNDNG_DTL) 대장 정보 조회 - DataObject infoSndngDtl = excl01Bean.selectSndngDtlInfo(excl01.getCrdnId()); + DataObject infoSndngDtl = excl01Bean.selectSndngDtlInfo(excl01.getCrdnId(), "1"); if (infoSndngDtl != null) { - retSuccess = excl01Bean.updateRcvmtCd(updtCrdn); // 발송상세 수납코드 수정 - if (!retSuccess) { - retMap.put("retSaved", "false"); - retMap.put("retMessage", "부과제외 등록 중 발송상세 대장의 수납코드 수정에 실패하였습니다."); + // 발송 상세(TB_SNDNG_DTL) 대장 + Excl01 updtSndngDtl = new Excl01(); + + updtSndngDtl.setCrdnId(excl01.getCrdnId()); // 단속 ID + // 발송상세 수납코드를 수정 + retSuccess = excl01Bean.updateRcvmtCd(updtSndngDtl); + if (!retSuccess) { // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException(retMap.get("retMessage")); + throw new RuntimeException("부과제외 등록 중 발송상세 대장의 수납코드 수정에 실패하였습니다."); } } @@ -203,13 +199,10 @@ else new_as_state := ANSWER_STATE_ANSWER_FOR_CANCEL; // 답변대상(서 } // 부과제외(TB_LEVY_EXCL) 대장을 등록 한다. - retSuccess = excl01Bean.create(excl01); + retSuccess = excl01Bean.createLevyExcl(excl01); if (!retSuccess) { - retMap.put("retSaved", "false"); - retMap.put("retMessage", "부과제외 대장 등록에 실패하였습니다."); - // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException(retMap.get("retMessage")); + throw new RuntimeException("부과제외 대장 등록에 실패하였습니다."); } // 단속상태이력(TB_CRDN_STTS_HSTRY) @@ -225,50 +218,102 @@ else new_as_state := ANSWER_STATE_ANSWER_FOR_CANCEL; // 답변대상(서 // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록 한다. retSuccess = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); if (!retSuccess) { - retMap.put("retSaved", "false"); - retMap.put("retMessage", "부과제외 등록 중 단속상태코드 변경에 실패하였습니다."); - // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException(retMap.get("retMessage")); + throw new RuntimeException("부과제외 등록 중 단속상태코드 변경에 실패하였습니다."); } - // 처리 성공 - retMap.put("retSaved", "true"); - retMap.put("retMessage", "저장 되었습니다."); - - return retMap; + return true; } @Override - public Map update(Excl01 excl01) { + public boolean updateLevyExcl(Excl01 excl01) { // 변수 선언 - Map retMap = new HashMap(); // 결과 return boolean retSuccess = false; // DB 처리 결과 + String newCvlcptPrcsCd = ""; // 신규 민원 처리 코드(CVLCPT_PRCS_CD) + String newCvlcptTrsmCd = ""; // 민원 전송 코드(CVLCPT_TRSM_CD) - retSuccess = excl01Bean.update(excl01); - if (!retSuccess) { - retMap.put("retSaved", "false"); - retMap.put("retMessage", "부과제외 대장 수정에 실패하였습니다."); + // 부과제외(TB_LEVY_EXCL) + 단속(TB_CRDN) 자료 조회 + DataObject infoCrdnLevyExcl = excl01Bean.getLevyExclInfo(new Excl01Query().setLevyExclId(excl01.getLevyExclId())); + // 부과제외(TB_LEVY_EXCL) 대장을 수정 한다. + retSuccess = excl01Bean.updateLevyExcl(excl01); + if (!retSuccess) { // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException(retMap.get("retMessage")); + throw new RuntimeException("부과제외 대장 수정에 실패하였습니다."); } - // 처리 성공 - retMap.put("retSaved", "true"); - retMap.put("retMessage", "저장 되었습니다."); + // 비부과(서손)일 경우.. + if (excl01.getLevyExclSeCd().equals("1") ) { + // 단속민원(TB_CRDN_CVLCPT)에 자료가 있는지 확인 + if (!infoCrdnLevyExcl.string("CVLCPT_LINK_ID").equals("")) { + // 단속 민원 대장 + Excl01 updtCrdnCvlcpt = new Excl01(); + + updtCrdnCvlcpt.setCrdnId(infoCrdnLevyExcl.string("CRDN_ID")); // 단속 ID + updtCrdnCvlcpt.setCvlcptLinkId(infoCrdnLevyExcl.string("CVLCPT_LINK_ID")); // 민원 연계 ID + + // 답변대상이었다가 답변내용보기를 했다가 서손처리하면 답변내용이 이미 세팅되어 있으므로 초기화해야 한다. + // 서손사유 수정시도 답변내용보기를 했을 수 있으므로 초기화해야 한다. + // 서손취소시도 답변내용이 부과 기본 내용으로 바꾸이야 하므로 초기화해야 한다. + retSuccess = excl01Bean.updateCvlcptPrcsRsltCn(updtCrdnCvlcpt); // 단속민원 민원처리결과내용 초기화 + if (!retSuccess) { + // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback + throw new RuntimeException("부과제외 수정 중 단속민원 대장의 민원처리결과내용 초기화에 실패하였습니다."); + } + + // 자동등록 자료만.. + if (infoCrdnLevyExcl.string("CRDN_REG_SE_CD").equals("02")) { + // 민원전송코드가 전송대상(01) 또는 전송미대상(03) 자료만 민원답변 부분을 처리 + if (infoCrdnLevyExcl.string("CVLCPT_TRSM_CD").equals("01") || infoCrdnLevyExcl.string("CVLCPT_TRSM_CD").equals("03")) { + // 민원 답변 문구(TB_CVLCPT_ANS_WORDS) 대장 조회 + DataObject infoCvlcptAnsWords = excl01Bean.selectCvlcptAnsWordsInfo(excl01.getLevyExclRsnCd()); + + // 비부과(서손)사유가 민원 답변대상인가? 민원 답변 문구(TB_CVLCPT_ANS_WORDS) 대장에 답변 사유 코드가 존재한다면.. + if (infoCvlcptAnsWords != null) { + newCvlcptPrcsCd = "04"; // 민원 처리 코드 - 불수용(과태료 부과제외) + newCvlcptTrsmCd = "01"; // 민원 전송 코드 - 전송 대상 + + // 답변 문구가 필요해 보임.. + } else { + newCvlcptPrcsCd = "07"; // 민원 처리 코드 - 비부과(서손)사유가 답변 미대상 + newCvlcptTrsmCd = "03"; // 민원 전송 코드 - 비부과(서손)사유가 전송 미대상 + } + + // 현재 날짜 구하기 + LocalDate now = LocalDate.now(); + // 포맷 정의 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss"); // yyyy년 MM월 dd일 HH시 mm분 ss초 + // 포맷 적용 + String formatedNow = now.format(formatter); + + // 단속민원(TB_CRDN_CVLCPT) 대장을 수정 한다. + updtCrdnCvlcpt.setCvlcptPrcsCd(newCvlcptPrcsCd); // 민원 처리 코드 + updtCrdnCvlcpt.setCvlcptPrcsSumry(infoCvlcptAnsWords.string("PRCS_SUMRY")); // 민원 처리 요약 + updtCrdnCvlcpt.setCvlcptPrcsRsltCn(infoCvlcptAnsWords.string("PRCS_RSLT_CN")); // 민원 처리 결과 내용 + updtCrdnCvlcpt.setCvlcptPrcsCmptnDt(formatedNow); // 민원 처리 완료 일시 + updtCrdnCvlcpt.setCvlcptPrcsPic(UserInfo.current().getId()); // 민원 처리 담당자 + updtCrdnCvlcpt.setCvlcptTrsmCd(newCvlcptTrsmCd); // 민원 전송 코드 + + retSuccess = excl01Bean.updateCrdnCvlcpt(updtCrdnCvlcpt); // 단속민원 민원처리코드 수정 + if (!retSuccess) { + // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback + throw new RuntimeException("부과제외 등록 중 민원처리코드 수정에 실패하였습니다."); + } + } + } // 자동등록 자료만.. + } // 단속민원(TB_CRDN_CVLCPT)에 자료가 있는지 확인 + } // 비부과(서손)일 경우.. - return retMap; + return true; } @Override - public boolean remove(Excl01 excl01) { + public boolean removeLevyExcl(Excl01 excl01) { // 변수 선언 boolean retSuccess = false; // DB 처리 결과 - DataObject infoCrdnLevyExcl = new DataObject(); // 단속(TB_CRDN) 조회 // 부과제외(TB_LEVY_EXCL) + 단속(TB_CRDN) 자료 조회 - infoCrdnLevyExcl = excl01Bean.getInfo(new Excl01Query().setLevyExclId(excl01.getLevyExclId())); + DataObject infoCrdnLevyExcl = excl01Bean.getLevyExclInfo(new Excl01Query().setLevyExclId(excl01.getLevyExclId())); // 단속 상태 코드(CRDN_STTS_CD) 확인.. if (infoCrdnLevyExcl.string("LEVY_EXCL_SE_CD").equals("1") && !infoCrdnLevyExcl.string("CRDN_STTS_CD").equals("81")) { // 비부과(서손) @@ -288,106 +333,42 @@ else new_as_state := ANSWER_STATE_ANSWER_FOR_CANCEL; // 답변대상(서 } // 부과제외(TB_LEVY_EXCL) 대장을 삭제 한다. - retSuccess = excl01Bean.remove(excl01); + retSuccess = excl01Bean.removeLevyExcl(excl01); if (!retSuccess) { // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback throw new RuntimeException("부과제외 대장 삭제에 실패하였습니다."); } - // 부과제외구분이 비부과(서손), 계고일 경우 - if (infoCrdnLevyExcl.string("LEVY_EXCL_SE_CD").equals("1") || infoCrdnLevyExcl.string("LEVY_EXCL_SE_CD").equals("2")) { -/* - if GB <> 3 then - begin - //서손 취소하는데, cp_answer의 처리상태가 답변대상 또는 서손의 답변 미대상 자료이면 원래 초기상태로 되돌린다 - with qryAnswer_Get do begin - Close; - ParamByName('AS_MMCODE').AsString :=MainInfo.mm_code; - Open; - if (not IsEmpty) then - begin - { - old_state := FieldByName('AS_STATE').AsString; - if (FieldByName('AS_STATE').AsString = ANSWER_STATE_ANSWER_FOR_CANCEL) or - (FieldByName('AS_STATE').AsString = ANSWER_STATE_CANCEL_IGNORE) then - begin - qryAnswer_SetState.ParamByName('AS_STATE').AsString := ANSWER_STATE_FIRST; - qryAnswer_SetState.ParamByName('AS_STATE_DT').AsString := sDateTime; - qryAnswer_SetState.ParamByName('AS_MMCODE').AsString := MainInfo.mm_code; - qryAnswer_SetState.ExecSQL; - end; - } - - //2017.01.17 서손취소를 하면 무조건 초기상태로 되게 - { - qryAnswer_SetState.ParamByName('AS_STATE').AsString := ANSWER_STATE_FIRST; - qryAnswer_SetState.ParamByName('AS_STATE_DT').AsString := sDateTime; - qryAnswer_SetState.ParamByName('AS_MMCODE').AsString := MainInfo.mm_code; - qryAnswer_SetState.ExecSQL; - } - - //20201203 UIJIN 재등록 자료가 서손>취소>차적조회 시에 사전통보 대상에 올라오지 않아서 추가.. - if (MainInfo.MM_DLGB = '3') or - (MainInfo.MM_DLGB = '4') then - as_state := ANSWER_STATE_CANCEL_COPY - else - as_state := ANSWER_STATE_FIRST; - - qryAnswer_Set.ParamByName('AS_POST_DT').AsString := ''; - qryAnswer_Set.ParamByName('AS_STATE').AsString := as_state; - qryAnswer_Set.ParamByName('AS_TEXT').AsString := ''; - qryAnswer_Set.ParamByName('AS_REUSER').AsInteger := 0; - qryAnswer_Set.ParamByName('AS_MMCODE').AsString := MainInfo.mm_code; - qryAnswer_Set.ExecSQL; - - end; - end; - - - // 답변내용을 초기화, - // 답변대상이었다가 답변내용보기를 했다가 서손처리하면 답변내용이 이미 세팅되어 있으므로 초기화해야 한다. - // 서손사유 수정시도 답변내용보기를 했을 수 있으므로 초기화해야 한다. - // 서손취소시도 답변내용이 부과 기본 내용으로 바꾸이야 하므로 초기화해야 한다. - with qryAnswer_SetTextNull do begin - ParamByName('AS_MMCODE').AsString := MainInfo.mm_code; - ExecSQL; - end; - - - - //표지정보 확인여부가 조회미대상이면 -> 미확인 으로 - //혹시 차적조회가 안되었으면? 놔두자 차적조회되면 그 때 표지정보 BJ_Send가 처리할테니 - if MainInfo.mm_carcheck = CARCHECK_STATE_IGNORE then - begin - with qryMain_SetCarCheck do begin - ParamByName('MM_CARCHECK').AsString := CARCHECK_STATE_BEFORE; - ParamByName('MM_CODE').AsString := MainInfo.mm_code; - ExecSQL; - end; - if MainCD <> nil then - begin - if MainCD.FindField('MM_CARCHECK') <> nil then - begin - MainCD.Edit; - MainCD.FieldByName('MM_CARCHECK').AsString := CARCHECK_STATE_BEFORE; - MainCD.Post; - end; - end; - - end; - - end; -*/ - } - - // 처리 성공 - retSuccess = true; + // 부과제외 구분이 비부과(서손)일 경우 + if (infoCrdnLevyExcl.string("LEVY_EXCL_SE_CD").equals("1")) { + // 단속민원(TB_CRDN_CVLCPT)에 자료가 있는지 확인 + if (!infoCrdnLevyExcl.string("CVLCPT_LINK_ID").equals("")) { + // 자동등록 자료만 민원답변 부분을 처리 + if (infoCrdnLevyExcl.string("CRDN_REG_SE_CD").equals("02")) { + // 비부과(서손) 취소하는데, 단속민원 전송상태가 전송대상(01) 또는 전송미대상(03), 전송요청(04) 자료이면 초기상태(전송대상)로 되돌린다 + if (infoCrdnLevyExcl.string("CVLCPT_TRSM_CD").equals("01") + || infoCrdnLevyExcl.string("CVLCPT_TRSM_CD").equals("03") || infoCrdnLevyExcl.string("CVLCPT_TRSM_CD").equals("04")) { + Excl01 updtCrdnCvlcpt = new Excl01(); + + updtCrdnCvlcpt.setCvlcptLinkId(infoCrdnLevyExcl.string("CVLCPT_LINK_ID")); + updtCrdnCvlcpt.setCvlcptPrcsCd("00"); // 민원 처리 코드 - 00 접수 + updtCrdnCvlcpt.setCvlcptTrsmCd("01"); // 민원 전송 코드 - 01 전송대상 + + retSuccess = excl01Bean.updateCrdnCvlcptPrcs(updtCrdnCvlcpt); // 민원답변 정보 초기화 + if (!retSuccess) { + // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback + throw new RuntimeException("부과제외 삭제 중 민원답변 정보 초기화에 실패하였습니다."); + } + } + } // 자동등록 자료만 민원답변 부분을 처리 + } // 단속민원(TB_CRDN_CVLCPT)에 자료가 있는지 확인 + } // 부과제외 구분이 비부과(서손)일 경우 - return retSuccess; + return true; } @Override - public boolean removeList(Excl01Query req) { + public boolean removeLevyExclList(Excl01Query req) { // 변수 선언 boolean retSuccess = false; // DB 처리 결과 @@ -404,16 +385,13 @@ else new_as_state := ANSWER_STATE_ANSWER_FOR_CANCEL; // 답변대상(서 infoLevyExcl.setDelRsn(req.getDelRsn()); // 삭제 사유 // 부과제외 삭제 호출 - retSuccess = remove(infoLevyExcl); + retSuccess = removeLevyExcl(infoLevyExcl); if (!retSuccess) { return retSuccess; } } - // 처리 성공 - retSuccess = true; - - return retSuccess; + return true; } } diff --git a/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java b/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java index a87fee90..d2af0ef7 100644 --- a/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java +++ b/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java @@ -64,8 +64,8 @@ public class Excl01Controller extends ApplicationController { * } */ @RequestMapping(name = "부과제외 대장 조회", value = "/010/list.do") - public ModelAndView getLevyExclusionList(Excl01Query req) { - List result = excl01Service.getLevyExclusionList(setFetchSize(req)); + public ModelAndView getLevyExclList(Excl01Query req) { + List result = excl01Service.getLevyExclList(setFetchSize(req)); return setCollectionInfo(new ModelAndView("jsonView"), result, "levyExcl"); } @@ -78,8 +78,8 @@ public class Excl01Controller extends ApplicationController { * } */ @RequestMapping(name = "부과제외 정보 조회", value = "/020/info.do") - public ModelAndView getInfo(Excl01Query req) { - DataObject levyExclusionInfo = excl01Service.getInfo(req); + public ModelAndView getLevyExclInfo(Excl01Query req) { + DataObject levyExclusionInfo = excl01Service.getLevyExclInfo(req); boolean json = jsonResponse(); @@ -107,12 +107,11 @@ public class Excl01Controller extends ApplicationController { * } */ @PostMapping(name = "부과제외 대장 등록", value = "/020/create.do") - public ModelAndView create(Excl01 excl01) { - Map retMap = excl01Service.create(excl01); + public ModelAndView createLevyExcl(Excl01 excl01) { + boolean saved = excl01Service.createLevyExcl(excl01); return new ModelAndView("jsonView") - .addObject("retSaved", retMap.get("retSaved")) - .addObject("retMessage", retMap.get("retMessage")); + .addObject("saved", saved); } /**부과제외 대장 정보를 수정한다. @@ -123,12 +122,11 @@ public class Excl01Controller extends ApplicationController { * } */ @PostMapping(name = "부과제외 대장 수정", value = "/020/update.do") - public ModelAndView update(Excl01 excl01) { - Map retMap = excl01Service.update(excl01); + public ModelAndView updateLevyExcl(Excl01 excl01) { + boolean saved = excl01Service.updateLevyExcl(excl01); return new ModelAndView("jsonView") - .addObject("retSaved", retMap.get("retSaved")) - .addObject("retMessage", retMap.get("retMessage")); + .addObject("saved", saved); } /**지정한 부과제외 ID에 해당하는 부과제외 대장를 제거한다. @@ -140,11 +138,11 @@ public class Excl01Controller extends ApplicationController { * } */ @PostMapping(name = "부과제외 대장 제거", value = "/010/remove.do") - public ModelAndView remove(Excl01 excl01) { - boolean saved = excl01Service.remove(excl01); + public ModelAndView removeLevyExcl(Excl01 excl01) { + boolean saved = excl01Service.removeLevyExcl(excl01); return new ModelAndView("jsonView") - .addObject("saved", saved); + .addObject("saved", saved); } /**여러 건의 부과제외 ID에 해당하는 부과제외 대장를 제거한다. @@ -156,11 +154,11 @@ public class Excl01Controller extends ApplicationController { * } */ @PostMapping(name = "부과제외 대장 제거", value = "/010/removes.do") - public ModelAndView removeList(Excl01Query req) { - boolean saved = excl01Service.removeList(req); + public ModelAndView removeLevyExclList(Excl01Query req) { + boolean saved = excl01Service.removeLevyExclList(req); return new ModelAndView("jsonView") - .addObject("saved", saved); + .addObject("saved", saved); } } diff --git a/src/main/resources/sql/mapper/fims/excl/excl01-mapper.xml b/src/main/resources/sql/mapper/fims/excl/excl01-mapper.xml index b376b6d0..45055903 100644 --- a/src/main/resources/sql/mapper/fims/excl/excl01-mapper.xml +++ b/src/main/resources/sql/mapper/fims/excl/excl01-mapper.xml @@ -48,52 +48,48 @@ , A.DEL_DT /* 삭제 일시 */ , A.DLTR /* 삭제자 */ , A.DEL_RSN /* 삭제 사유 */ - , C.CRDN_REG_SE_CD /* 단속 등록 구분 코드 */ - , (SELECT FN_GET_CODE_NM('FIM026', C.CRDN_REG_SE_CD) FROM DUAL) AS CRDN_REG_SE_NM /* 단속 등록 구분 명 */ - , C.CRDN_INPT_SE_CD /* 단속 입력 구분 코드 */ - , (SELECT FN_GET_CODE_NM('FIM003', C.CRDN_INPT_SE_CD) FROM DUAL) AS CRDN_INPT_SE_NM /* 단속 입력 구분 명 */ - , C.CRDN_SE_CD /* 단속 구분 코드 */ - , (SELECT FN_GET_CODE_NM('FIM002', C.CRDN_SE_CD) FROM DUAL) AS CRDN_SE_NM /* 단속 구분 명 */ - , C.CRDN_YMD /* 단속 일자 */ - , C.CRDN_TM /* 단속 시각 */ - , (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM /* 단속 일시 */ - , C.VHRNO /* 차량번호 */ - , C.CRDN_STDG_NM /* 단속 법정동 명 */ - , C.CRDN_ROAD_NM /* 단속 도로 명 */ - , C.CRDN_PLC /* 단속 장소 */ - , C.DTL_CRDN_PLC /* 상세 단속 장소 */ - , C.FFNLG_AMT /* 과태료 금액 */ - , C.LEVY_AMT /* 부과 금액 */ - , C.CRDN_STTS_CD /* 단속 상태 코드 */ - , (SELECT FN_GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */ - , D.RTPYR_ID /* 납부자 ID */ - , D.RTPYR_SE_CD /* 납부자 구분 코드 */ - , (SELECT FN_GET_CODE_NM('FIM011', D.RTPYR_SE_CD) FROM DUAL) AS RTPYR_SE_NM /* 납부자 구분 명 */ - , D.RTPYR_NO /* 납부자 번호 */ - , D.RTPYR_NM /* 납부자 명 */ - , D.RTPYR_BRDT /* 납부자 생년월일 */ - , (SELECT FN_GET_BRDT_FORMAT(D.RTPYR_BRDT, '.') FROM DUAL) AS RTPYR_BRDT_FORMAT /* 납부자 생년월일 */ - , D.ZIP /* 우편번호 */ - , D.ADDR /* 주소 */ - , D.DTL_ADDR /* 상세 주소 */ - , E.CVLCPT_LINK_ID /* 민원 연계 ID */ - , E.CVLCPT_RCPT_YMD /* 민원 접수 일자 */ - , E.CVLCPT_APLY_NO /* 민원 신청 번호 */ - , E.CVLCPT_RCPT_NO /* 민원 접수 번호 */ - , E.CVLCPT_APLCNT_NM /* 민원 신청인 명 */ - , E.CVLCPT_PRCS_PIC_NM /* 민원 처리 담당자 명 */ - FROM TB_LEVY_EXCL A - INNER JOIN TB_CRDN C ON (A.CRDN_ID = C.CRDN_ID) - LEFT OUTER JOIN TB_PAYER D ON (C.RTPYR_ID = D.RTPYR_ID) - LEFT OUTER JOIN TB_CRDN_CVLCPT E ON (C.CRDN_ID = E.CRDN_ID AND E.DEL_YN = 'N') + , H.CRDN_REG_SE_CD /* 단속 등록 구분 코드 */ + , (SELECT FN_GET_CODE_NM('FIM026', H.CRDN_REG_SE_CD) FROM DUAL) AS CRDN_REG_SE_NM /* 단속 등록 구분 명 */ + , H.CRDN_INPT_SE_CD /* 단속 입력 구분 코드 */ + , (SELECT FN_GET_CODE_NM('FIM003', H.CRDN_INPT_SE_CD) FROM DUAL) AS CRDN_INPT_SE_NM /* 단속 입력 구분 명 */ + , H.CRDN_YMD /* 단속 일자 */ + , H.CRDN_TM /* 단속 시각 */ + , (CONCAT(H.CRDN_YMD, H.CRDN_TM)) AS CRDN_YMD_TM /* 단속 일시 */ + , H.VHRNO /* 차량번호 */ + , H.CRDN_STDG_NM /* 단속 법정동 명 */ + , H.CRDN_ROAD_NM /* 단속 도로 명 */ + , H.CRDN_PLC /* 단속 장소 */ + , H.FFNLG_AMT /* 과태료 금액 */ + , H.LEVY_AMT /* 부과 금액 */ + , H.CRDN_STTS_CD /* 단속 상태 코드 */ + , (SELECT FN_GET_CODE_NM('FIM010', H.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */ + , J.RTPYR_ID /* 납부자 ID */ + , J.RTPYR_SE_CD /* 납부자 구분 코드 */ + , (SELECT FN_GET_CODE_NM('FIM011', J.RTPYR_SE_CD) FROM DUAL) AS RTPYR_SE_NM /* 납부자 구분 명 */ + , J.RTPYR_NO /* 납부자 번호 */ + , J.RTPYR_NM /* 납부자 명 */ + , J.RTPYR_BRDT /* 납부자 생년월일 */ + , (SELECT FN_GET_BRDT_FORMAT(J.RTPYR_BRDT, '.') FROM DUAL) AS RTPYR_BRDT_FORMAT /* 납부자 생년월일 */ + , J.ZIP /* 우편번호 */ + , J.ADDR /* 주소 */ + , J.DTL_ADDR /* 상세 주소 */ + , K.CVLCPT_LINK_ID /* 민원 연계 ID */ + , K.CVLCPT_RCPT_YMD /* 민원 접수 일자 */ + , K.CVLCPT_APLY_NO /* 민원 신청 번호 */ + , K.CVLCPT_RCPT_NO /* 민원 접수 번호 */ + FROM TB_LEVY_EXCL A + INNER JOIN TB_CRDN H ON (A.CRDN_ID = H.CRDN_ID) + INNER JOIN TB_CRDN_ADI I ON (H.CRDN_ID = I.CRDN_ID) + LEFT OUTER JOIN TB_PAYER J ON (H.RTPYR_ID = J.RTPYR_ID) + LEFT OUTER JOIN TB_CRDN_CVLCPT K ON (H.LINK_ID = K.CVLCPT_LINK_ID AND H.CVLCPT_LINK_YN = 'Y' AND K.DEL_YN = 'N') /* 부과제외 대장 객체 가져오기(excl01Mapper.selectLevyExcl) */ @@ -290,12 +275,12 @@ /* 부과제외 대장 수정(excl01Mapper.updateLevyExcl) */ UPDATE TB_LEVY_EXCL SET LEVY_EXCL_YMD = #{excl01.levyExclYmd} /* 부과 제외 일자 */ - , LEVY_EXCL_SE_CD = #{excl01.levyExclSeCd} /* 부과 제외 구분 코드 */ , LEVY_EXCL_RSN_CD = #{excl01.levyExclRsnCd} /* 부과 제외 사유 코드 */ , ETC_CN = #{excl01.etcCn} /* 기타 내용 */ , MDFCN_DT = #{excl01.lastModified} /* 수정 일시 */ , MDFR = #{excl01.modifiedBy} /* 수정자 */ WHERE LEVY_EXCL_ID = #{excl01.levyExclId} /* 부과 제외 ID */ + AND LEVY_EXCL_SE_CD = #{excl01.levyExclSeCd} /* 부과 제외 구분 코드 */ AND DEL_YN = 'N' /* 삭제 여부 */ @@ -317,28 +302,23 @@ , A.CRDN_YMD /* 단속 일자 */ , A.CRDN_TM /* 단속 시각 */ , A.VHRNO /* 차량번호 */ - , A.PARKNG_PSBLTY_RSLT_CD /* 주차 가능 결과 코드 */ , A.CRDN_STTS_CD /* 단속 상태 코드 */ , (SELECT FN_GET_CODE_NM('FIM010', A.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */ , A.CRDN_STTS_CHG_DT /* 단속 상태 변경 일시 */ - , B.RTPYR_ID /* 납부자 ID */ - , B.RTPYR_NM /* 납부자 명 */ - , C.CVLCPT_LINK_ID /* 민원 연계 ID */ - , C.CVLCPT_PRCS_CD /* 민원 처리 코드 */ - , C.CVLCPT_PRCS_CMPTN_DT /* 민원 처리 완료 일시 */ - , C.CVLCPT_TRSM_CD /* 민원 전송 코드 */ - , D.LEVY_EXCL_ID /* 부과 제외 ID */ + , C.RTPYR_ID /* 납부자 ID */ + , C.RTPYR_NM /* 납부자 명 */ + , H.LEVY_EXCL_ID /* 부과 제외 ID */ , AS TODAY /* 오늘 일자 */ FROM TB_CRDN A - LEFT OUTER JOIN TB_PAYER B ON (A.RTPYR_ID = B.RTPYR_ID) - LEFT OUTER JOIN TB_CRDN_CVLCPT C ON (A.CRDN_ID = C.CRDN_ID AND C.DEL_YN = 'N') - LEFT OUTER JOIN TB_LEVY_EXCL D ON (A.CRDN_ID = D.CRDN_ID AND D.DEL_YN = 'N') + LEFT OUTER JOIN TB_PAYER C ON (A.RTPYR_ID = C.RTPYR_ID) + LEFT OUTER JOIN TB_LEVY_EXCL H ON (A.CRDN_ID = H.CRDN_ID AND H.DEL_YN = 'N') WHERE A.CRDN_ID = #{crdnId} /* 단속 ID */ - /* 단속민원 대장 민원처리코드, 민원전송코드 수정 (excl01Mapper.updateCrdnCvlcptPrcs) */ + /* 단속민원 대장 민원처리결과내용 초기화(excl01Mapper.updateCvlcptPrcsRsltCn) */ UPDATE TB_CRDN_CVLCPT - SET CVLCPT_PRCS_CD = #{excl01.cvlcptPrcsCd} /* 민원 처리 코드 */ - , CVLCPT_PRCS_CMPTN_DT = #{excl01.lastModified} /* 민원 처리 완료 일시 */ - , CVLCPT_TRSM_CD = #{excl01.cvlcptTrsmCd} /* 민원 전송 코드 */ + SET CVLCPT_PRCS_SUMRY = NULL /* 민원 처리 요약 */ + , CVLCPT_PRCS_RSLT_CN = NULL /* 민원 처리 결과 내용 */ , MDFCN_DT = #{excl01.lastModified} /* 수정 일시 */ , MDFR = #{excl01.modifiedBy} /* 수정자 */ WHERE CVLCPT_LINK_ID = #{excl01.cvlcptLinkId} /* 민원 연계 ID */ AND DEL_YN = 'N' /* 삭제 여부 */ - /* 단속민원 대장 민원처리결과내용 수정(excl01Mapper.updateCvlcptPrcsRsltCn) */ + /* 단속민원 대장 민원답변 수정(excl01Mapper.updateCrdnCvlcpt) */ UPDATE TB_CRDN_CVLCPT - SET CVLCPT_PRCS_RSLT_CN = '' /* 민원 처리 결과 내용 */ + SET CVLCPT_PRCS_CD = #{excl01.cvlcptPrcsCd} /* 민원 처리 코드 */ + , CVLCPT_PRCS_SUMRY = #{excl01.cvlcptPrcsSumry} /* 민원 처리 요약 */ + , CVLCPT_PRCS_RSLT_CN = #{excl01.cvlcptPrcsRsltCn} /* 민원 처리 결과 내용 */ + , CVLCPT_PRCS_CMPTN_DT = #{excl01.cvlcptPrcsCmptnDt} /* 민원 처리 완료 일시 */ + , CVLCPT_PRCS_PIC = #{excl01.cvlcptPrcsPic} /* 민원 처리 담당자 */ + , CVLCPT_TRSM_CD = #{excl01.cvlcptTrsmCd} /* 민원 전송 코드 */ , MDFCN_DT = #{excl01.lastModified} /* 수정 일시 */ , MDFR = #{excl01.modifiedBy} /* 수정자 */ WHERE CVLCPT_LINK_ID = #{excl01.cvlcptLinkId} /* 민원 연계 ID */ @@ -371,7 +355,7 @@ /* 단속 대장 주차가능결과코드를 수정(excl01Mapper.updateParkngPsbltyRsltCd) */ - UPDATE TB_CRDN + UPDATE TB_CRDN_ADI SET PARKNG_PSBLTY_RSLT_CD = #{excl01.parkngPsbltyRsltCd} /* 주차 가능 결과 코드 */ , MDFCN_DT = #{excl01.lastModified} /* 수정 일시 */ , MDFR = #{excl01.modifiedBy} /* 수정자 */ @@ -385,12 +369,12 @@ , A.SNDNG_RCVMT_CD /* 발송 수납 코드 */ FROM TB_SNDNG_DTL A WHERE A.CRDN_ID = #{crdnId} /* 단속 ID */ - AND A.SNDNG_RCVMT_CD = '1' + AND A.SNDNG_RCVMT_CD = #{sndngRcvmtCd} /* 발송상세 대장 수납코드를 수정(excl01Mapper.updateRcvmtCd) */ UPDATE TB_SNDNG_DTL - SET SNDNG_RCVMT_CD = '' /* 발송 수납 코드 */ + SET SNDNG_RCVMT_CD = NULL /* 발송 수납 코드 */ , MDFCN_DT = #{excl01.lastModified} /* 수정 일시 */ , MDFR = #{excl01.modifiedBy} /* 수정자 */ WHERE CRDN_ID = #{excl01.crdnId} /* 단속 ID */ 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 4654125f..9c6e61ca 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 @@ -366,8 +366,7 @@ }); } -/* - // 수정 dialog -> callback 추가 sample + // 수정 dialog -> callback 추가 ${pageName}Control.getInfo = (params) => { let info = ${pageName}Control.dataset.getCurrent("item"); @@ -392,7 +391,7 @@ ${pageName}Control.setInfo(info); } } - +/* // 삭제 -> callback 추가 sample ${pageName}Control.remove = (params) => { let selected = ${pageName}Control.dataset.getKeys("selected"); diff --git a/src/main/webapp/WEB-INF/jsp/fims/excl/excl01020-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/excl/excl01020-info.jsp index 3657fed6..d11edf52 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/excl/excl01020-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/excl/excl01020-info.jsp @@ -101,8 +101,8 @@ **************************************************************************/ // 저장 callback ${pageName}Control.onSave = (resp) => { - if (resp.retSaved == "true") { - dialog.alert(resp.retMessage); + if (resp.saved) { + dialog.alert("저장됐습니다."); dialog.close(${pageName}Control.prefix + "dialog"); } } @@ -169,9 +169,9 @@ function fnSave${pageName}() { let formFields = new FimsFormFields("#frmEdit--${pageName}"); let data = formFields.get(); - +debugger; dialog.alert({ - content : "현재 prefixName 정보를 저장하시겠습니까?" + content : "현재 " + ${pageName}Control.prefixName + "정보를 저장하시겠습니까?" , onOK : () => { ${pageName}Control.save(formFields.get()); }