|
|
|
|
@ -14,6 +14,7 @@ import org.springframework.stereotype.Component;
|
|
|
|
|
|
|
|
|
|
import cokr.xit.base.user.service.bean.UserBean;
|
|
|
|
|
import cokr.xit.fims.FimsConf;
|
|
|
|
|
import cokr.xit.fims.cmmn.CrdnSttsHstry;
|
|
|
|
|
import cokr.xit.fims.cmmn.service.bean.CrdnSttsHstryBean;
|
|
|
|
|
import cokr.xit.fims.crdn.Crdn;
|
|
|
|
|
import cokr.xit.fims.crdn.dao.CrdnInfoMapper;
|
|
|
|
|
@ -316,7 +317,8 @@ public class SnisBean extends ScheduledBean {
|
|
|
|
|
private void update(Ye22NoticeInfoDTO notice, SndngDtl sndngDtl) {
|
|
|
|
|
if (notice == null || sndngDtl == null) return;
|
|
|
|
|
|
|
|
|
|
boolean chenap = "체납".equals(notice.getBuStatusNm());
|
|
|
|
|
String status = notice.getBuStatusNm();
|
|
|
|
|
boolean chenap = "체납".equals(status);
|
|
|
|
|
|
|
|
|
|
sndngDtl.setSggCd(notice.getSiguCd()); // 시군구 코드
|
|
|
|
|
sndngDtl.setTaxNo(notice.getNapseNo()); // 납세번호
|
|
|
|
|
@ -335,8 +337,11 @@ public class SnisBean extends ScheduledBean {
|
|
|
|
|
sndngDtl.setDudtAftrAmt(null); // 납기후 금액
|
|
|
|
|
|
|
|
|
|
setBankAccounts(notice.accountGetters(), sndngDtl.bankAccountSetters()); // 은행 / 계좌번호
|
|
|
|
|
if (toInt(sndngDtl.getSndngDtlSttsCd()) < 2)
|
|
|
|
|
sndngDtl.setSndngDtlSttsCd("02"); // 발송 상태 코드(FIM050) 02:가상계좌취득
|
|
|
|
|
int sttsCd = toInt(sndngDtl.getSndngDtlSttsCd());
|
|
|
|
|
if (sttsCd < 2)
|
|
|
|
|
sndngDtl.setSndngDtlSttsCd("02"); // 발송 상태 코드(FIM050) 02:가상계좌취득
|
|
|
|
|
if ("완납".equals(status) && sttsCd != 9)
|
|
|
|
|
sndngDtl.setSndngDtlSttsCd("09"); // 발송 상태 코드(FIM050) 09:수납
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void update(List<Ye22NoticeInfoDTO> notices) {
|
|
|
|
|
@ -378,17 +383,36 @@ public class SnisBean extends ScheduledBean {
|
|
|
|
|
|
|
|
|
|
String statusCode = notice.getBuStatusCd(), // 과태료 상태
|
|
|
|
|
status = notice.getBuStatusNm(); // 상태이름
|
|
|
|
|
boolean paid = "완납".equals(status);
|
|
|
|
|
int rcvmtAmt = (int)notice.totalAmt();
|
|
|
|
|
log().debug("세외수입 연계키: {}, 상태: {}({})", linkMngKey, status, statusCode);
|
|
|
|
|
|
|
|
|
|
update(notice, levy); // 부과정보에 적용
|
|
|
|
|
levyMapper.updateLevy(levy);
|
|
|
|
|
|
|
|
|
|
// 사전부과 <- 상태: 부과, 구분: 신고
|
|
|
|
|
// 본부과 <- 상태: 부과, 구분: 수시분
|
|
|
|
|
if ("부과".equals(status)) {
|
|
|
|
|
// 상태 == 부과 && 구분 == 신고 -> 사전부과(23)
|
|
|
|
|
// 상태 == 부과 && 구분 == 수시분 -> 본부과(51)
|
|
|
|
|
String noticeStatus = "신고".equals(notice.getTaxGubunNm()) ? "23" : "51",
|
|
|
|
|
crdnStatus = crdn.getCrdnSttsCd();
|
|
|
|
|
switch (noticeStatus) {
|
|
|
|
|
case "23":
|
|
|
|
|
if (crdnStatus.compareTo(noticeStatus) < 0) // 현재상태가 사전부과보다 작을 경우
|
|
|
|
|
crdnStatus = noticeStatus;
|
|
|
|
|
break;
|
|
|
|
|
case "51":
|
|
|
|
|
if (crdnStatus.compareTo(noticeStatus) < 0) // 현재상태가 본부과보다 작을 경우
|
|
|
|
|
crdnStatus = noticeStatus;
|
|
|
|
|
break;
|
|
|
|
|
default: break;
|
|
|
|
|
}
|
|
|
|
|
if (!equals(crdnStatus, crdn.getCrdnSttsCd())) {
|
|
|
|
|
CrdnSttsHstry statusHistory = CrdnSttsHstry.create(crdnStatus, null, crdn);
|
|
|
|
|
crdnSttsHstryBean.create(statusHistory);
|
|
|
|
|
crdnSttsHstryBean.updateCrdn(statusHistory);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (paid) {
|
|
|
|
|
if ("완납".equals(status)) {
|
|
|
|
|
Rcvmt rcvmt = Rcvmt.create(levy); // 수납등록
|
|
|
|
|
rcvmt.setRcvmtAmt(rcvmtAmt); // 수납금액
|
|
|
|
|
rcvmt.setRcvmtYmd(notice.getNapbuYmd()); // 수납일자
|
|
|
|
|
|