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); } } }