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 43ee89d0..f017c6ec 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
@@ -119,7 +119,6 @@ public class LevyExclBean extends AbstractBean {
int crdnSttsCd = toInt(levyExclInfo.get("CRDN_STTS_CD"));
String levyExclSeCd = levyExcl.getLevyExclSeCd();
if ("1,2".contains(levyExclSeCd)) { // 부과제외(서손), 계고
-// if (levyExclSeCd.contains("1,2")) { // 부과제외(서손), 계고
if (crdnSttsCd >= 51) // 단속상태코드가 부과(51) 보다 크다면, 부과제외 또는 계고 등록을 할 수 없다.
return "[F] 작업 중 오류가 발생하였습니다."
+ "
단속 자료의 처리상태가 " + levyExclInfo.string("CRDN_STTS_NM") + " 입니다";
@@ -130,7 +129,7 @@ public class LevyExclBean extends AbstractBean {
if (crdnSttsCd > 55) // 단속상태코드가 압류(55) 보다 크면, 전액감액 등록 할 수 없다.
return "[F] 작업 중 오류가 발생하였습니다."
+ "
단속 자료의 처리상태가 " + levyExclInfo.string("CRDN_STTS_NM") + " 입니다";
- if (levyExclInfo.string("LEVY_ID").equals("")) // 부과(TB_LEVY) 정보 확인
+ if (levyExclInfo.string("LEVY_ID").isEmpty()) // 부과(TB_LEVY) 정보 확인
return "[F] 작업 중 오류가 발생하였습니다."
+ "
부과 자료가 존재하지 않습니다."
+ "
부과제외로 처리하시기 바랍니다.";
diff --git a/src/main/java/cokr/xit/fims/nxrp/service/bean/SnisBean.java b/src/main/java/cokr/xit/fims/nxrp/service/bean/SnisBean.java
index 55211813..52b0f330 100644
--- a/src/main/java/cokr/xit/fims/nxrp/service/bean/SnisBean.java
+++ b/src/main/java/cokr/xit/fims/nxrp/service/bean/SnisBean.java
@@ -18,6 +18,8 @@ import cokr.xit.fims.cmmn.service.bean.CrdnSttsHstryBean;
import cokr.xit.fims.crdn.Crdn;
import cokr.xit.fims.crdn.dao.CrdnInfoMapper;
import cokr.xit.fims.crdn.dao.CrdnUpdtMapper;
+import cokr.xit.fims.excl.LevyExcl;
+import cokr.xit.fims.excl.service.bean.LevyExclBean;
import cokr.xit.fims.levy.Levy;
import cokr.xit.fims.levy.LevyQuery;
import cokr.xit.fims.levy.dao.LevyMapper;
@@ -79,6 +81,8 @@ public class SnisBean extends AbstractBean {
private RcvmtBean rcvmtBean;
@Resource(name = "rdamtBean")
private RdamtBean rdamtBean;
+ @Resource(name = "levyExclBean")
+ private LevyExclBean levyExclBean;
private JSON json = new JSON();
@@ -305,7 +309,7 @@ public class SnisBean extends AbstractBean {
private void update(Ye22NoticeInfoDTO notice, Levy levy) {
if (notice == null || levy == null) return;
- levy.setSggCd(notice.getSiguCd()); // 시군구 코드
+// levy.setSggCd(notice.getSiguCd()); // 시군구 코드
levy.setDeptCd(notice.getBuseoCd()); // 부서코드
String semokCd = notice.getSemokCd();
@@ -391,21 +395,22 @@ public class SnisBean extends AbstractBean {
for (Ye22NoticeInfoDTO notice: notices) {
log().debug("Ye22NoticeInfoDTO of\n{}", json.stringify(notice, true));
- String statusCode = notice.getBuStatusCd(), // 과태료 상태
- status = notice.getBuStatusNm(); // 상태이름
- boolean paid = "1,2,3,4,5".contains(statusCode); // 수납(완납,이중납,일부납,과납,오납)
- String linkMngKey = Long.toString(notice.getBuAk()); // 세외수입 연계키
- int rcvmtAmt = (int)notice.totalAmt();
- log().debug("세외수입 연계키: {}, 상태: {}", linkMngKey, statusCode);
+ String linkMngKey = Long.toString(notice.getBuAk()); // 세외수입 연계키
Levy levy = levies.get(linkMngKey);
if (levy == null) continue;
- update(notice, levy); // 부과정보에 적용
-
String crdnId = levy.getCrdnId();
Crdn crdn = crdns.get(crdnId);
if (crdn == null) continue;
+ String statusCode = notice.getBuStatusCd(), // 과태료 상태
+ status = notice.getBuStatusNm(); // 상태이름
+ boolean paid = "1,2,3,4,5".contains(statusCode); // 수납(완납,이중납,일부납,과납,오납)
+ int rcvmtAmt = (int)notice.totalAmt();
+ log().debug("세외수입 연계키: {}, 상태: {}({})", linkMngKey, status, statusCode);
+
+ update(notice, levy); // 부과정보에 적용
+
if (paid) {
Rcvmt rcvmt = Rcvmt.create(levy); // 수납등록
rcvmt.setRcvmtAmt(rcvmtAmt); // 수납금액
@@ -431,7 +436,7 @@ public class SnisBean extends AbstractBean {
sndngDtlMapper.updateSndngDtl(sndngDtl);
}
- boolean reduced = "30".equals(statusCode) || "전액감액".equals(status);
+ boolean reduced = "30".equals(statusCode);
if (reduced) { // 감면, 전액감액 -> 감액 등록
Rdamt rdamt = Rdamt.create(levy);
rdamtBean.createRdamt(rdamt);
@@ -463,7 +468,11 @@ public class SnisBean extends AbstractBean {
}
*/
} else if ("전액감액".equals(status)) {
-
+ LevyExcl levyExcl = new LevyExcl();
+ levyExcl.setCrdnId(crdnId);
+ levyExcl.setLevyExclSeCd("3");
+ levyExcl.setLevyExclYmd(ifEmpty(notice.getNapbuYmd(), dateFormats::today));
+ levyExclBean.createLevyExcl(levyExcl);
}
}
}