전액감액 -> 부과취소

main
mjkhan21 3 months ago
parent e5ab3305c7
commit 22cee2767b

@ -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] 작업 중 오류가 발생하였습니다."
+ "<br>단속 자료의 처리상태가 " + levyExclInfo.string("CRDN_STTS_NM") + " 입니다";
@ -130,7 +129,7 @@ public class LevyExclBean extends AbstractBean {
if (crdnSttsCd > 55) // 단속상태코드가 압류(55) 보다 크면, 전액감액 등록 할 수 없다.
return "[F] 작업 중 오류가 발생하였습니다."
+ "<br>단속 자료의 처리상태가 " + levyExclInfo.string("CRDN_STTS_NM") + " 입니다";
if (levyExclInfo.string("LEVY_ID").equals("")) // 부과(TB_LEVY) 정보 확인
if (levyExclInfo.string("LEVY_ID").isEmpty()) // 부과(TB_LEVY) 정보 확인
return "[F] 작업 중 오류가 발생하였습니다."
+ "<br>부과 자료가 존재하지 않습니다."
+ "<br>부과제외로 처리하시기 바랍니다.";

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

Loading…
Cancel
Save