diff --git a/src/main/java/cokr/xit/fims/crdn/service/bean/CrdnBean.java b/src/main/java/cokr/xit/fims/crdn/service/bean/CrdnBean.java
index dc8e0fd4..282a8c53 100644
--- a/src/main/java/cokr/xit/fims/crdn/service/bean/CrdnBean.java
+++ b/src/main/java/cokr/xit/fims/crdn/service/bean/CrdnBean.java
@@ -315,15 +315,32 @@ public class CrdnBean extends AbstractBean {
*
그렇지 않으면 false
*
*/
- public String removeCrackdownPayer(Crdn crdn) {
+ public String removeCrackdownPayer(Crdn crdn) {
+ // 단속 ID로 단속 정보 조회
+ DataObject crdnInfo = crdnInfoMapper.selectCrdnInfo(crdn.getCrdnId());
+
// 단속(TB_CRDN) 대장에 납부자 ID를 삭제한다.
int effected = crdnUpdtMapper.deleteCrdnPayer(crdn);
if (effected != 1) {
- throw new RuntimeException("단속 자료의 납부자 정보가 없습니다."); // 예외를 발생시켜서 DB Rollback
+ throw new RuntimeException("단속 대장의 납부자 정보가 없습니다."); // 예외를 발생시켜서 DB Rollback
+ }
+
+ // 단속 상태 코드 변경
+ CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry();
+ crdnSttsHstry.setCrdnId(crdnInfo.string("CRDN_ID")); // 단속 ID
+ crdnSttsHstry.setBfrSttsCd(crdnInfo.string("CRDN_STTS_CD")); // 이전 단속 상태 코드
+ crdnSttsHstry.setBfrSttsChgDt(crdnInfo.string("CRDN_STTS_CHG_DT")); // 이전 단속 상태 변경 일시
+ crdnSttsHstry.setEtcCn("[개별총정보-납부자초기화] " + crdn.getEtcCn()); // 기타
+ crdnSttsHstry.setCrdnSttsCd("01"); // 초기상태
+
+ // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록한다.
+ boolean rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry);
+ if (!rtnScs) {
+ throw new RuntimeException("단속 대장의 단속상태코드 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
return "[S] 작업이 정상 처리 되었습니다.";
- }
+ }
/**단속 자료의 처리 상태 코드를 수정한다.
* @param crdn 단속
@@ -334,13 +351,13 @@ public class CrdnBean extends AbstractBean {
*/
public String updateCrackdownStatus(Crdn crdn) {
// 단속 ID로 단속 정보 조회
- DataObject infoCrdn = crdnInfoMapper.selectCrdnInfo(crdn.getCrdnId());
+ DataObject crdnInfo = crdnInfoMapper.selectCrdnInfo(crdn.getCrdnId());
// 단속상태이력(TB_CRDN_STTS_HSTRY)
CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry();
- crdnSttsHstry.setCrdnId(infoCrdn.string("CRDN_ID"));
- crdnSttsHstry.setBfrSttsCd(infoCrdn.string("CRDN_STTS_CD"));
- crdnSttsHstry.setBfrSttsChgDt(infoCrdn.string("CRDN_STTS_CHG_DT"));
+ crdnSttsHstry.setCrdnId(crdnInfo.string("CRDN_ID"));
+ crdnSttsHstry.setBfrSttsCd(crdnInfo.string("CRDN_STTS_CD"));
+ crdnSttsHstry.setBfrSttsChgDt(crdnInfo.string("CRDN_STTS_CHG_DT"));
crdnSttsHstry.setEtcCn("[개별총정보-단속상태변경] " + crdn.getEtcCn());
crdnSttsHstry.setCrdnSttsCd(crdn.getCrdnSttsCd());
diff --git a/src/main/java/cokr/xit/fims/excl/service/bean/LevyExclBean.java b/src/main/java/cokr/xit/fims/excl/service/bean/LevyExclBean.java
index b812dd70..ba0f7ac2 100644
--- a/src/main/java/cokr/xit/fims/excl/service/bean/LevyExclBean.java
+++ b/src/main/java/cokr/xit/fims/excl/service/bean/LevyExclBean.java
@@ -121,21 +121,24 @@ public class LevyExclBean extends AbstractBean {
rtnMsg = "[F] 작업중 단속 민원 자료가 처리 되지 않았습니다.
단속 민원 업무를 먼저 처리 하시기 바랍니다.";
}
}
- if (levyExcl.getLevyExclSeCd().contains("1,2")) { // 비부과(서손), 계고
- if (levyExclInfo.number("CRDN_STTS_CD").intValue() >= 51) { // 단속상태코드가 부과(51) 보다 크다면, 비부과 또는 계고 등록을 할 수 없다.
+ if (levyExcl.getLevyExclSeCd().contains("1,2")) { // 부과제외(서손), 계고
+ if (levyExclInfo.number("CRDN_STTS_CD").intValue() >= 51) { // 단속상태코드가 부과(51) 보다 크다면, 부과제외 또는 계고 등록을 할 수 없다.
rtnMsg = "[F] 작업중 오류가 발생하였습니다.
현재 자료의 단속상태가 " + levyExclInfo.string("CRDN_STTS_NM") + " 상태 입니다.";
}
} else if (levyExcl.getLevyExclSeCd().equals("3")) { // 부과취소
if (levyExclInfo.number("CRDN_STTS_CD").intValue() < 51) { // 단속상태코드가 부과(51) 보다 작다면, 전액감액 등록 할 수 없다.
rtnMsg = "[F] 작업중 오류가 발생하였습니다.
현재 자료의 단속상태가 " + levyExclInfo.string("CRDN_STTS_NM") + " 상태 입니다.";
}
+ if (levyExclInfo.number("CRDN_STTS_CD").intValue() > 55) { // 단속상태코드가 부과(51) 보다 작다면, 전액감액 등록 할 수 없다.
+ rtnMsg = "[F] 작업중 오류가 발생하였습니다.
현재 자료의 단속상태가 " + levyExclInfo.string("CRDN_STTS_NM") + " 상태 입니다.";
+ }
if (levyExclInfo.string("LEVY_ID").equals("")) { // 부과(TB_LEVY) 정보 확인
- rtnMsg = "[F] 작업 중 부과 자료가 존재하지 않습니다.
비부과로 처리 하시기 바랍니다.";
+ rtnMsg = "[F] 작업 중 부과 자료가 존재하지 않습니다.
부과제외로 처리 하시기 바랍니다.";
}
}
// 오류메세지가 발생하면 종료..
if (rtnMsg.contains("[F]")) {
- return rtnMsg.replace("[F]", "");
+ return rtnMsg;
}
// 표지정보 확인여부가 미확인(0)이면 -> 조회미대상(9) 으로
@@ -175,8 +178,8 @@ public class LevyExclBean extends AbstractBean {
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다.
String newCrdnSttsCd = ""; // 신규 단속 상태 코드(CRDN_STTS_CD)
- if (levyExcl.getLevyExclSeCd().equals("1")) { // 비부과
- newCrdnSttsCd = "81"; // 비부과(서손)
+ if (levyExcl.getLevyExclSeCd().equals("1")) { // 부과제외
+ newCrdnSttsCd = "81"; // 부과제외(서손)
} else if (levyExcl.getLevyExclSeCd().equals("2")) { // 계고
newCrdnSttsCd = "83"; // 계고
} else if (levyExcl.getLevyExclSeCd().equals("3")) { // 부과취소(전액감액)
@@ -235,7 +238,7 @@ public class LevyExclBean extends AbstractBean {
if (levyExclInfo.string("LEVY_EXCL_ID").equals("")) {
rtnMsg = "[F] 작업 중 오류가 발생하였습니다.
부과제외 자료가 존재하지 않습니다.";
}
- if (levyExclInfo.string("LEVY_EXCL_SE_CD").equals("1") && !levyExclInfo.string("CRDN_STTS_CD").equals("81")) { // 비부과(서손)
+ if (levyExclInfo.string("LEVY_EXCL_SE_CD").equals("1") && !levyExclInfo.string("CRDN_STTS_CD").equals("81")) { // 부과제외(서손)
rtnMsg = "[F] 작업 중 오류가 발생하였습니다.
현재 자료의 단속 상태가 " + levyExclInfo.string("CRDN_STTS_NM") + " 이(가) 아닙니다.";
} else if (levyExclInfo.string("LEVY_EXCL_SE_CD").equals("2") && !("83,84").contains(levyExclInfo.string("CRDN_STTS_CD"))) { // 계고
rtnMsg = "[F] 작업 중 오류가 발생하였습니다.
현재 자료의 단속 상태가 " + levyExclInfo.string("CRDN_STTS_NM") + " 이(가) 아닙니다.";
@@ -247,7 +250,7 @@ public class LevyExclBean extends AbstractBean {
return rtnMsg.replace("[F]", "");
}
- // 부과제외 구분이 비부과(서손)일 경우
+ // 부과제외 구분이 부과제외(서손)일 경우
if (levyExclInfo.string("LEVY_EXCL_SE_CD").equals("1")) {
// 표지정보 확인여부가 조회미대상이면 -> 미확인 으로
if (levyExclInfo.string("PRK_PSBLTY_RSLT_CD").equals("9")) { // 주차 가능 결과 코드 - 9 조회 미대상
@@ -273,7 +276,7 @@ public class LevyExclBean extends AbstractBean {
if (levyExclInfo.string("CRDN_STTS_CD").equals("80")) { // 임시
throw new RuntimeException("부과취소는 부과제외 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
} else if (levyExclInfo.string("CRDN_STTS_CD").equals("81")) {
- deltCrdnSttsCd = "91"; // 비부과(서손) 삭제
+ deltCrdnSttsCd = "91"; // 부과제외(서손) 삭제
} else if (("83,84").contains(levyExclInfo.string("CRDN_STTS_CD"))) {
deltCrdnSttsCd = "93"; // 계고 삭제
}
diff --git a/src/main/resources/sql/mapper/fims/crdn/crdn-updt-mapper.xml b/src/main/resources/sql/mapper/fims/crdn/crdn-updt-mapper.xml
index 9cc3469f..d4a1639b 100644
--- a/src/main/resources/sql/mapper/fims/crdn/crdn-updt-mapper.xml
+++ b/src/main/resources/sql/mapper/fims/crdn/crdn-updt-mapper.xml
@@ -140,6 +140,7 @@
/* 단속 납부자 ID 삭제(crdnUpdtMapper.deleteCrdnPayer) */
UPDATE TB_CRDN
SET RTPYR_ID = NULL
+ , ADDR_SN = NULL
, MDFCN_DT =
, MDFR = #{modifiedBy}
WHERE CRDN_ID = #{crdnId}
diff --git a/src/main/resources/sql/mapper/fims/levy/levy-mapper.xml b/src/main/resources/sql/mapper/fims/levy/levy-mapper.xml
index bc8e3a05..13ff2390 100644
--- a/src/main/resources/sql/mapper/fims/levy/levy-mapper.xml
+++ b/src/main/resources/sql/mapper/fims/levy/levy-mapper.xml
@@ -587,7 +587,7 @@
- AND L.LEVY_ID IN (
+ AND L.LEVY_ID IN (
#{levyId}
)