|
|
|
@ -7,6 +7,7 @@ import javax.annotation.Resource;
|
|
|
|
|
|
|
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
|
|
|
|
import com.fasterxml.jackson.databind.DeserializationFeature;
|
|
|
|
|
import com.fasterxml.jackson.databind.JsonNode;
|
|
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
|
|
|
|
|
|
@ -15,8 +16,14 @@ import cokr.xit.foundation.data.DataObject;
|
|
|
|
|
|
|
|
|
|
import cokr.xit.fims.sndb.SndngDtl;
|
|
|
|
|
import cokr.xit.fims.cmmn.CmmnUtil;
|
|
|
|
|
import cokr.xit.fims.cmmn.CrdnSttsHstry;
|
|
|
|
|
import cokr.xit.fims.cmmn.service.bean.CrdnSttsHstryBean;
|
|
|
|
|
import cokr.xit.fims.crdn.Crdn;
|
|
|
|
|
import cokr.xit.fims.epst.EpostQuery;
|
|
|
|
|
import cokr.xit.fims.epst.dao.EpostDlvrRsltMapper;
|
|
|
|
|
import cokr.xit.fims.levy.Levy;
|
|
|
|
|
import cokr.xit.fims.levy.dao.LevyMapper;
|
|
|
|
|
import cokr.xit.fims.nxrp.A03;
|
|
|
|
|
import cokr.xit.fims.nxrp.NisIndivQuery;
|
|
|
|
|
import cokr.xit.fims.nxrp.service.bean.NisIndivBean;
|
|
|
|
|
import cokr.xit.fims.sndb.SndbQuery;
|
|
|
|
@ -44,14 +51,22 @@ public class SndngDtlBean extends AbstractComponent {
|
|
|
|
|
@Resource(name = "svbtcMapper")
|
|
|
|
|
private SvbtcMapper svbtcMapper;
|
|
|
|
|
|
|
|
|
|
/** 과태료 대장 단속 정보 등록 정보 Bean */
|
|
|
|
|
@Resource(name = "nisIndivBean")
|
|
|
|
|
private NisIndivBean nisIndivBean;
|
|
|
|
|
|
|
|
|
|
/** 전자우편 배달 결과 정보 DAO */
|
|
|
|
|
@Resource(name = "epostDlvrRsltMapper")
|
|
|
|
|
private EpostDlvrRsltMapper epostDlvrRsltMapper;
|
|
|
|
|
|
|
|
|
|
/** 부과 대장 정보 DAO */
|
|
|
|
|
@Resource(name = "levyMapper")
|
|
|
|
|
private LevyMapper levyMapper;
|
|
|
|
|
|
|
|
|
|
/** 단속 상태 이력 정보 Bean */
|
|
|
|
|
@Resource(name = "crdnSttsHstryBean")
|
|
|
|
|
private CrdnSttsHstryBean crdnSttsHstryBean;
|
|
|
|
|
|
|
|
|
|
/** 과태료 대장 단속 정보 등록 정보 Bean */
|
|
|
|
|
@Resource(name = "nisIndivBean")
|
|
|
|
|
private NisIndivBean nisIndivBean;
|
|
|
|
|
|
|
|
|
|
/**지정한 조건에 따라 발송 상세 목록을 조회하여 반환한다.
|
|
|
|
|
* @param req 발송 상세 조회 조건
|
|
|
|
|
* @return 발송 상세 목록
|
|
|
|
@ -173,7 +188,7 @@ public class SndngDtlBean extends AbstractComponent {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} catch (IOException e) {
|
|
|
|
|
throw new RuntimeException("오류."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
throw new RuntimeException("세외수입 과태료대장 연계 작업중 오류가 발생하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -201,7 +216,117 @@ public class SndngDtlBean extends AbstractComponent {
|
|
|
|
|
nisIndivQuery.setCrdnId(sndngDtl.getCrdnId());
|
|
|
|
|
nisIndivQuery.setSndngDtlId(sndngDtl.getSndngDtlId());
|
|
|
|
|
|
|
|
|
|
String a03Msg = nisIndivBean.createNisIndivA03(nisIndivQuery);
|
|
|
|
|
// String a03Msg = nisIndivBean.createNisIndivA03(nisIndivQuery);
|
|
|
|
|
|
|
|
|
|
// 테스트 샘플
|
|
|
|
|
String a03Msg = "{ "
|
|
|
|
|
+ " \"linkRstCd\":" + "\"000" + "\""
|
|
|
|
|
+ ", \"linkRstMsg\":" + "\"정상 조회되었습니다." + "\""
|
|
|
|
|
+ ", \"resVo1\":" + "{ "
|
|
|
|
|
+ " \"sgbCd\":" + "\"5530000" + "\""
|
|
|
|
|
+ ", \"linkTrgtCd\":" + "\"5530000DPV01001" + "\""
|
|
|
|
|
+ ", \"linkMngKey\":" + "\"415902024000236920240412153509" + "\""
|
|
|
|
|
+ ", \"finScrgAcbKey\":" + "\"20240009451" + "\""
|
|
|
|
|
+ ", \"dptCd\":" + "\"5530497" + "\""
|
|
|
|
|
+ ", \"dptNm\":" + "\"장애인복지과" + "\""
|
|
|
|
|
+ ", \"rcptYr\":" + "\"2024" + "\""
|
|
|
|
|
+ ", \"spacBizCd\":" + "\"0000" + "\""
|
|
|
|
|
+ ", \"spacBizNm\":" + "null"
|
|
|
|
|
+ ", \"actSeCd\":" + "\"41" + "\""
|
|
|
|
|
+ ", \"actSeNm\":" + "\"일반회계(시군구세외)" + "\""
|
|
|
|
|
+ ", \"rprsTxmCd\":" + "\"234179" + "\""
|
|
|
|
|
+ ", \"rprsTxmNm\":" + "\"장애인등편의법위반과태료" + "\""
|
|
|
|
|
+ ", \"operItemCd\":" + "\"002" + "\""
|
|
|
|
|
+ ", \"operItemNm\":" + "\"장애인전용주차구역주차방해행위과태료" + "\""
|
|
|
|
|
+ ", \"regYmd\":" + "\"20240412" + "\""
|
|
|
|
|
+ ", \"pyrSeCd\":" + "\"02" + "\""
|
|
|
|
|
+ ", \"pyrSeNm\":" + "\"법인" + "\""
|
|
|
|
|
+ ", \"pyrNo\":" + "\"1101113634428" + "\""
|
|
|
|
|
+ ", \"pyrNm\":" + "\"엔에이치농협캐피탈(주)" + "\""
|
|
|
|
|
+ ", \"pyrSttCd\":" + "\"99" + "\""
|
|
|
|
|
+ ", \"pyrSttNm\":" + "\"기타" + "\""
|
|
|
|
|
+ ", \"pyrZip\":" + "\"42089" + "\""
|
|
|
|
|
+ ", \"pyrAddr\":" + "\"대구광역시 수성구 달구벌대로 2532 4층(범어동, 대아빌딩)" + "\""
|
|
|
|
|
+ ", \"telno\":" + "null"
|
|
|
|
|
+ ", \"mblTelno\":" + "null"
|
|
|
|
|
+ ", \"pyrEmlAddr\":" + "null"
|
|
|
|
|
+ ", \"vhrno\":" + "null"
|
|
|
|
|
+ ", \"mngItemCn1\":" + "\"위반일시 : 2024-04-05 17:40" + "\""
|
|
|
|
|
+ ", \"mngItemCn2\":" + "null"
|
|
|
|
|
+ ", \"mngItemCn3\":" + "\"위반장소 : 경기도 화성시 남양읍 활초리 산 62-3 " + "\""
|
|
|
|
|
+ ", \"mngItemCn4\":" + "null"
|
|
|
|
|
+ ", \"mngItemCn5\":" + "\"주차방해" + "\""
|
|
|
|
|
+ ", \"mngItemCn6\":" + "\"4159020240002369" + "\""
|
|
|
|
|
+ ", \"fcltSeCd\":" + "null"
|
|
|
|
|
+ ", \"fcltSeNm\":" + "null"
|
|
|
|
|
+ ", \"regSeCd\":" + "null"
|
|
|
|
|
+ ", \"regSeNm\":" + "null"
|
|
|
|
|
+ ", \"bfAvtsmtYmd\":" + "\"20240412" + "\""
|
|
|
|
|
+ ", \"opnSbmsnTermBgngYmd\":" + "\"20240412" + "\""
|
|
|
|
|
+ ", \"opnSbmsnTermEndYmd\":" + "\"20240508" + "\""
|
|
|
|
|
+ ", \"frstFinScrgAmt\":" + "\"500000" + "\""
|
|
|
|
|
+ ", \"rdtRsnSeCd\":" + "null"
|
|
|
|
|
+ ", \"rdtRsnSeNm\":" + "null"
|
|
|
|
|
+ ", \"agvtRsnCd\":" + "null"
|
|
|
|
|
+ ", \"agvtRsnNm\":" + "null"
|
|
|
|
|
+ ", \"finScrgAmt\":" + "\"500000" + "\""
|
|
|
|
|
+ ", \"bfRdtRt\":" + "\"20" + "\""
|
|
|
|
|
+ ", \"bfRdtAmt\":" + "\"100000" + "\""
|
|
|
|
|
+ ", \"rmCn\":" + "null"
|
|
|
|
|
+ ", \"rdtRmCn\":" + "null"
|
|
|
|
|
+ ", \"nhtFrwarSeCd\":" + "null"
|
|
|
|
|
+ ", \"nhtFrwarSeNm\":" + "null"
|
|
|
|
|
+ ", \"endYmd\":" + "null"
|
|
|
|
|
+ ", \"endRsnCn\":" + "null"
|
|
|
|
|
+ ", \"rcvmtSeNm\":" + "\"수납" + "\""
|
|
|
|
|
+ ", \"epayNo\":" + "\"4159022441440452990" + "\""
|
|
|
|
|
+ ", \"vtlacBankNm1\":" + "\"농협" + "\""
|
|
|
|
|
+ ", \"vrActno1\":" + "\"790253-90-024117" + "\""
|
|
|
|
|
+ ", \"vtlacBankNm2\":" + "null"
|
|
|
|
|
+ ", \"vrActno2\":" + "null"
|
|
|
|
|
+ ", \"vtlacBankNm3\":" + "null"
|
|
|
|
|
+ ", \"vrActno3\":" + "null"
|
|
|
|
|
+ ", \"vtlacBankNm4\":" + "null"
|
|
|
|
|
+ ", \"vrActno4\":" + "null"
|
|
|
|
|
+ ", \"vtlacBankNm5\":" + "null"
|
|
|
|
|
+ ", \"vrActno5\":" + "null"
|
|
|
|
|
+ ", \"vtlacBankNm6\":" + "null"
|
|
|
|
|
+ ", \"vrActno6\":" + "null"
|
|
|
|
|
+ ", \"vtlacBankNm7\":" + "null"
|
|
|
|
|
+ ", \"vrActno7\":" + "null"
|
|
|
|
|
+ ", \"vtlacBankNm8\":" + "null"
|
|
|
|
|
+ ", \"vrActno8\":" + "null"
|
|
|
|
|
+ ", \"vtlacBankNm9\":" + "null"
|
|
|
|
|
+ ", \"vrActno9\":" + "null"
|
|
|
|
|
+ ", \"vtlacBankNm10\":" + "null"
|
|
|
|
|
+ ", \"vrActno10\":" + "null"
|
|
|
|
|
+ ", \"vtlacBankNm11\":" + "null"
|
|
|
|
|
+ ", \"vrActno11\":" + "null"
|
|
|
|
|
+ ", \"vtlacBankNm12\":" + "null"
|
|
|
|
|
+ ", \"vrActno12\":" + "null"
|
|
|
|
|
+ ", \"vtlacBankNm13\":" + "null"
|
|
|
|
|
+ ", \"vrActno13\":" + "null"
|
|
|
|
|
+ ", \"vtlacBankNm14\":" + "null"
|
|
|
|
|
+ ", \"vrActno14\":" + "null"
|
|
|
|
|
+ ", \"vtlacBankNm15\":" + "null"
|
|
|
|
|
+ ", \"vrActno15\":" + "null"
|
|
|
|
|
+ ", \"vtlacBankNm16\":" + "null"
|
|
|
|
|
+ ", \"vrActno16\":" + "null"
|
|
|
|
|
+ ", \"vtlacBankNm17\":" + "null"
|
|
|
|
|
+ ", \"vrActno17\":" + "null"
|
|
|
|
|
+ ", \"vtlacBankNm18\":" + "null"
|
|
|
|
|
+ ", \"vrActno18\":" + "null"
|
|
|
|
|
+ ", \"vtlacBankNm19\":" + "null"
|
|
|
|
|
+ ", \"vrActno19\":" + "null"
|
|
|
|
|
+ ", \"vtlacBankNm20\":" + "null"
|
|
|
|
|
+ ", \"vrActno20\":" + "null"
|
|
|
|
|
+ ", \"rsveItem1\":" + "\"5530497000020244123417900178200" + "\""
|
|
|
|
|
+ ", \"rsveItem2\":" + "null"
|
|
|
|
|
+ ", \"rsveItem3\":" + "null"
|
|
|
|
|
+ ", \"rsveItem4\":" + "null"
|
|
|
|
|
+ ", \"rsveItem5\":" + "null"
|
|
|
|
|
+ " }"
|
|
|
|
|
+ " }";
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
ObjectMapper mapper = new ObjectMapper();
|
|
|
|
@ -211,126 +336,224 @@ public class SndngDtlBean extends AbstractComponent {
|
|
|
|
|
if (linkRst.get("linkRstCd").asText().equals("000")) {
|
|
|
|
|
// resVo1
|
|
|
|
|
JsonNode resVo1 = linkRst.findValue("resVo1");
|
|
|
|
|
/*
|
|
|
|
|
|
|
|
|
|
// 이 설정을 통해 JSON의 모든 데이터를 파싱하는 것이 아닌 내가 필요로 하는 데이터, 즉 내가 필드로 선언한 데이터들만 파싱할 수 있다.
|
|
|
|
|
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
|
|
|
|
|
A03 a03 = mapper.readValue(resVo1.toString(), A03.class);
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
// 발송 대장(TB_SNDNG) - 발송 상세 수정
|
|
|
|
|
SndngDtl uptSndngDtl = new SndngDtl();
|
|
|
|
|
|
|
|
|
|
uptSndngDtl.setSndngDtlId(sndngDtl.getSndngDtlId()); // 발송 상세 ID
|
|
|
|
|
uptSndngDtl.setSndngDtlId(sndngDtl.getSndngDtlId()); // 발송 상세 ID
|
|
|
|
|
if (Integer.valueOf(sndngDtl.getSndngDtlSttsCd()) >= 3) {
|
|
|
|
|
uptSndngDtl.setSndngDtlSttsCd(sndngDtl.getSndngDtlSttsCd()); // 발송 상태 코드
|
|
|
|
|
uptSndngDtl.setSndngDtlSttsCd(sndngDtl.getSndngDtlSttsCd());
|
|
|
|
|
} else {
|
|
|
|
|
uptSndngDtl.setSndngDtlSttsCd("02"); // 발송 상태 코드(FIM050) 02:가상계좌취득
|
|
|
|
|
uptSndngDtl.setSndngDtlSttsCd("02"); // 발송 상태 코드(FIM050) 02:가상계좌취득
|
|
|
|
|
}
|
|
|
|
|
uptSndngDtl.setFyr(resVo1.get("rsveItem1").asText().substring(11, 15)); // 회계연도
|
|
|
|
|
uptSndngDtl.setLevyNo(resVo1.get("rsveItem1").asText().substring(23, 29)); // 부과 번호
|
|
|
|
|
uptSndngDtl.setFfnlgAmt(resVo1.get("finScrgAmt").asInt()); // 과태료 금액
|
|
|
|
|
uptSndngDtl.setPcptax(resVo1.get("finScrgAmt").asInt() - resVo1.get("bfRdtAmt").asInt()); // 본세
|
|
|
|
|
uptSndngDtl.setAdamt(0); // 가산금
|
|
|
|
|
uptSndngDtl.setSumAmt(resVo1.get("finScrgAmt").asInt() - resVo1.get("bfRdtAmt").asInt()); // 합계 금액
|
|
|
|
|
uptSndngDtl.setDudtAftrAmt(0); // 납기 후 금액
|
|
|
|
|
uptSndngDtl.setTaxNo(resVo1.get("rsveItem1").asText()); // 납세 번호
|
|
|
|
|
uptSndngDtl.setEpayno(resVo1.get("epayNo").asText()); // 전자납부번호
|
|
|
|
|
uptSndngDtl.setBankNm(resVo1.get("vtlacBankNm1").asText()); // 은행 명
|
|
|
|
|
uptSndngDtl.setVrActno(resVo1.get("vrActno1").asText()); // 가상 계좌번호
|
|
|
|
|
uptSndngDtl.setBankNm2(resVo1.get("vtlacBankNm2").asText()); // 은행 명2
|
|
|
|
|
uptSndngDtl.setVrActno2(resVo1.get("vrActno2").asText()); // 가상 계좌번호2
|
|
|
|
|
uptSndngDtl.setBankNm3(resVo1.get("vtlacBankNm3").asText()); // 은행 명3
|
|
|
|
|
uptSndngDtl.setVrActno3(resVo1.get("vrActno3").asText()); // 가상 계좌번호3
|
|
|
|
|
uptSndngDtl.setBankNm4(resVo1.get("vtlacBankNm4").asText()); // 은행 명4
|
|
|
|
|
uptSndngDtl.setVrActno4(resVo1.get("vrActno4").asText()); // 가상 계좌번호4
|
|
|
|
|
uptSndngDtl.setBankNm5(resVo1.get("vtlacBankNm5").asText()); // 은행 명5
|
|
|
|
|
uptSndngDtl.setVrActno5(resVo1.get("vrActno5").asText()); // 가상 계좌번호5
|
|
|
|
|
uptSndngDtl.setBankNm6(resVo1.get("vtlacBankNm6").asText()); // 은행 명6
|
|
|
|
|
uptSndngDtl.setVrActno6(resVo1.get("vrActno6").asText()); // 가상 계좌번호6
|
|
|
|
|
uptSndngDtl.setBankNm7(resVo1.get("vtlacBankNm7").asText()); // 은행 명7
|
|
|
|
|
uptSndngDtl.setVrActno7(resVo1.get("vrActno7").asText()); // 가상 계좌번호7
|
|
|
|
|
uptSndngDtl.setBankNm8(resVo1.get("vtlacBankNm8").asText()); // 은행 명8
|
|
|
|
|
uptSndngDtl.setVrActno8(resVo1.get("vrActno8").asText()); // 가상 계좌번호8
|
|
|
|
|
uptSndngDtl.setBankNm9(resVo1.get("vtlacBankNm9").asText()); // 은행 명9
|
|
|
|
|
uptSndngDtl.setVrActno9(resVo1.get("vrActno9").asText()); // 가상 계좌번호9
|
|
|
|
|
uptSndngDtl.setBankNm10(resVo1.get("vtlacBankNm10").asText()); // 은행 명10
|
|
|
|
|
uptSndngDtl.setVrActno10(resVo1.get("vrActno10").asText()); // 가상 계좌번호10
|
|
|
|
|
uptSndngDtl.setBankNm(resVo1.get("vtlacBankNm11").asText()); // 은행 명11
|
|
|
|
|
uptSndngDtl.setVrActno(resVo1.get("vrActno11").asText()); // 가상 계좌번호11
|
|
|
|
|
uptSndngDtl.setBankNm2(resVo1.get("vtlacBankNm12").asText()); // 은행 명12
|
|
|
|
|
uptSndngDtl.setVrActno2(resVo1.get("vrActno12").asText()); // 가상 계좌번호12
|
|
|
|
|
uptSndngDtl.setBankNm3(resVo1.get("vtlacBankNm13").asText()); // 은행 명13
|
|
|
|
|
uptSndngDtl.setVrActno3(resVo1.get("vrActno13").asText()); // 가상 계좌번호13
|
|
|
|
|
uptSndngDtl.setBankNm4(resVo1.get("vtlacBankNm14").asText()); // 은행 명14
|
|
|
|
|
uptSndngDtl.setVrActno4(resVo1.get("vrActno14").asText()); // 가상 계좌번호14
|
|
|
|
|
uptSndngDtl.setBankNm5(resVo1.get("vtlacBankNm15").asText()); // 은행 명15
|
|
|
|
|
uptSndngDtl.setVrActno5(resVo1.get("vrActno15").asText()); // 가상 계좌번호15
|
|
|
|
|
uptSndngDtl.setBankNm6(resVo1.get("vtlacBankNm16").asText()); // 은행 명16
|
|
|
|
|
uptSndngDtl.setVrActno6(resVo1.get("vrActno16").asText()); // 가상 계좌번호16
|
|
|
|
|
uptSndngDtl.setBankNm7(resVo1.get("vtlacBankNm17").asText()); // 은행 명17
|
|
|
|
|
uptSndngDtl.setVrActno7(resVo1.get("vrActno17").asText()); // 가상 계좌번호17
|
|
|
|
|
uptSndngDtl.setBankNm8(resVo1.get("vtlacBankNm18").asText()); // 은행 명18
|
|
|
|
|
uptSndngDtl.setVrActno8(resVo1.get("vrActno18").asText()); // 가상 계좌번호18
|
|
|
|
|
uptSndngDtl.setBankNm9(resVo1.get("vtlacBankNm19").asText()); // 은행 명19
|
|
|
|
|
uptSndngDtl.setVrActno9(resVo1.get("vrActno19").asText()); // 가상 계좌번호19
|
|
|
|
|
uptSndngDtl.setBankNm10(resVo1.get("vtlacBankNm20").asText()); // 은행 명20
|
|
|
|
|
uptSndngDtl.setVrActno10(resVo1.get("vrActno20").asText()); // 가상 계좌번호20
|
|
|
|
|
if (a03.getPyrSeCd().equals("01")) {
|
|
|
|
|
uptSndngDtl.setRcpnBrdt(a03.getPyrNo().substring(0, 6)); // 수령인 생년월일
|
|
|
|
|
}
|
|
|
|
|
uptSndngDtl.setRcpnNm(a03.getPyrNm()); // 수령인 명
|
|
|
|
|
uptSndngDtl.setRcpnAddr(a03.getPyrAddr()); // 수령인 주소
|
|
|
|
|
uptSndngDtl.setRcpnDtlAddr(""); // 수령인 상세 주소
|
|
|
|
|
uptSndngDtl.setRcpnZip(a03.getPyrZip()); // 수령인 우편번호
|
|
|
|
|
uptSndngDtl.setFyr(a03.getRsveItem1().substring(11, 15)); // 회계연도
|
|
|
|
|
uptSndngDtl.setLevyNo(a03.getRsveItem1().substring(23, 29)); // 부과 번호
|
|
|
|
|
uptSndngDtl.setFfnlgAmt(Integer.parseInt(a03.getFinScrgAmt())); // 과태료 금액
|
|
|
|
|
uptSndngDtl.setPcptax(Integer.parseInt(a03.getFinScrgAmt()) - Integer.parseInt(a03.getBfRdtAmt())); // 본세
|
|
|
|
|
uptSndngDtl.setAdamt(0); // 가산금
|
|
|
|
|
uptSndngDtl.setSumAmt(Integer.parseInt(a03.getFinScrgAmt()) - Integer.parseInt(a03.getBfRdtAmt())); // 합계 금액
|
|
|
|
|
uptSndngDtl.setDudtAftrAmt(0); // 납기 후 금액
|
|
|
|
|
uptSndngDtl.setTaxNo(a03.getRsveItem1()); // 납세 번호
|
|
|
|
|
uptSndngDtl.setEpayno(a03.getEpayNo()); // 전자납부번호
|
|
|
|
|
uptSndngDtl.setBankNm(a03.getVtlacBankNm1()); // 은행 명
|
|
|
|
|
uptSndngDtl.setVrActno(a03.getVrActno1()); // 가상 계좌번호
|
|
|
|
|
uptSndngDtl.setBankNm2(a03.getVtlacBankNm2()); // 은행 명2
|
|
|
|
|
uptSndngDtl.setVrActno2(a03.getVrActno2()); // 가상 계좌번호2
|
|
|
|
|
uptSndngDtl.setBankNm3(a03.getVtlacBankNm3()); // 은행 명3
|
|
|
|
|
uptSndngDtl.setVrActno3(a03.getVrActno3()); // 가상 계좌번호3
|
|
|
|
|
uptSndngDtl.setBankNm4(a03.getVtlacBankNm4()); // 은행 명4
|
|
|
|
|
uptSndngDtl.setVrActno4(a03.getVrActno4()); // 가상 계좌번호4
|
|
|
|
|
uptSndngDtl.setBankNm5(a03.getVtlacBankNm5()); // 은행 명5
|
|
|
|
|
uptSndngDtl.setVrActno5(a03.getVrActno5()); // 가상 계좌번호5
|
|
|
|
|
uptSndngDtl.setBankNm6(a03.getVtlacBankNm6()); // 은행 명6
|
|
|
|
|
uptSndngDtl.setVrActno6(a03.getVrActno6()); // 가상 계좌번호6
|
|
|
|
|
uptSndngDtl.setBankNm7(a03.getVtlacBankNm7()); // 은행 명7
|
|
|
|
|
uptSndngDtl.setVrActno7(a03.getVrActno7()); // 가상 계좌번호7
|
|
|
|
|
uptSndngDtl.setBankNm8(a03.getVtlacBankNm8()); // 은행 명8
|
|
|
|
|
uptSndngDtl.setVrActno8(a03.getVrActno8()); // 가상 계좌번호8
|
|
|
|
|
uptSndngDtl.setBankNm9(a03.getVtlacBankNm9()); // 은행 명9
|
|
|
|
|
uptSndngDtl.setVrActno9(a03.getVrActno9()); // 가상 계좌번호9
|
|
|
|
|
uptSndngDtl.setBankNm10(a03.getVtlacBankNm10()); // 은행 명10
|
|
|
|
|
uptSndngDtl.setVrActno10(a03.getVrActno10()); // 가상 계좌번호10
|
|
|
|
|
uptSndngDtl.setBankNm11(a03.getVtlacBankNm11()); // 은행 명11
|
|
|
|
|
uptSndngDtl.setVrActno11(a03.getVrActno11()); // 가상 계좌번호11
|
|
|
|
|
uptSndngDtl.setBankNm12(a03.getVtlacBankNm12()); // 은행 명12
|
|
|
|
|
uptSndngDtl.setVrActno12(a03.getVrActno12()); // 가상 계좌번호12
|
|
|
|
|
uptSndngDtl.setBankNm13(a03.getVtlacBankNm13()); // 은행 명13
|
|
|
|
|
uptSndngDtl.setVrActno13(a03.getVrActno13()); // 가상 계좌번호13
|
|
|
|
|
uptSndngDtl.setBankNm14(a03.getVtlacBankNm14()); // 은행 명14
|
|
|
|
|
uptSndngDtl.setVrActno14(a03.getVrActno14()); // 가상 계좌번호14
|
|
|
|
|
uptSndngDtl.setBankNm15(a03.getVtlacBankNm15()); // 은행 명15
|
|
|
|
|
uptSndngDtl.setVrActno15(a03.getVrActno15()); // 가상 계좌번호15
|
|
|
|
|
uptSndngDtl.setBankNm16(a03.getVtlacBankNm16()); // 은행 명16
|
|
|
|
|
uptSndngDtl.setVrActno16(a03.getVrActno16()); // 가상 계좌번호16
|
|
|
|
|
uptSndngDtl.setBankNm17(a03.getVtlacBankNm17()); // 은행 명17
|
|
|
|
|
uptSndngDtl.setVrActno17(a03.getVrActno17()); // 가상 계좌번호17
|
|
|
|
|
uptSndngDtl.setBankNm18(a03.getVtlacBankNm18()); // 은행 명18
|
|
|
|
|
uptSndngDtl.setVrActno18(a03.getVrActno18()); // 가상 계좌번호18
|
|
|
|
|
uptSndngDtl.setBankNm19(a03.getVtlacBankNm19()); // 은행 명19
|
|
|
|
|
uptSndngDtl.setVrActno19(a03.getVrActno19()); // 가상 계좌번호19
|
|
|
|
|
uptSndngDtl.setBankNm20(a03.getVtlacBankNm20()); // 은행 명20
|
|
|
|
|
uptSndngDtl.setVrActno20(a03.getVrActno20()); // 가상 계좌번호20
|
|
|
|
|
|
|
|
|
|
rtnScs = sndngDtlMapper.updateSndngDtlNxrpA03(uptSndngDtl);
|
|
|
|
|
if (!rtnScs) {
|
|
|
|
|
throw new RuntimeException("세외수입 연계 정보를 발송 상세에 수정하지 못했습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 단속, 부과 대장 조회
|
|
|
|
|
DataObject crdnLevyInfo = sndngDtlMapper.selectCrdnLevy(sndngDtl.getCrdnId());
|
|
|
|
|
|
|
|
|
|
// 단속 대장 수정
|
|
|
|
|
Crdn crdn = new Crdn();
|
|
|
|
|
crdn.setCrdnId(crdnLevyInfo.string("CRDN_ID")); // 단속 ID
|
|
|
|
|
crdn.setNxrpAcbKey(a03.getFinScrgAcbKey()); // 세외수입 대장 키
|
|
|
|
|
|
|
|
|
|
rtnScs = sndngDtlMapper.updateCrdnNxrpAcbKey(crdn);
|
|
|
|
|
if (!rtnScs) {
|
|
|
|
|
throw new RuntimeException("단속 대장에 세외수입 대장키 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 부과 대장에 등록 및 수정
|
|
|
|
|
Levy levy = new Levy();
|
|
|
|
|
levy.setSggCd(crdnLevyInfo.string("SGG_CD")); // 시군구 코드
|
|
|
|
|
levy.setTaskSeCd(crdnLevyInfo.string("TASK_SE_CD")); // 업무 구분 코드
|
|
|
|
|
levy.setCrdnId(crdnLevyInfo.string("CRDN_ID")); // 단속 ID
|
|
|
|
|
levy.setRtpyrId(crdnLevyInfo.string("RTPYR_ID")); // 납부자 ID
|
|
|
|
|
levy.setInstCd(a03.getSgbCd()); // 기관 코드
|
|
|
|
|
levy.setDeptCd(a03.getDptCd()); // 부서 코드
|
|
|
|
|
levy.setSpclBizCd(a03.getSpacBizCd()); // 특별회계 사업 코드
|
|
|
|
|
levy.setFyr(a03.getRsveItem1().substring(11, 15)); // 회계연도
|
|
|
|
|
levy.setAcntgSeCd(a03.getActSeCd()); // 회계 구분 코드
|
|
|
|
|
levy.setTxitmCd(a03.getRprsTxmCd()); // 세목 코드
|
|
|
|
|
levy.setOperItemCd(a03.getOperItemCd()); // 운영 항목 코드
|
|
|
|
|
levy.setLevyNo(a03.getRsveItem1().substring(23, 29)); // 부과 번호
|
|
|
|
|
levy.setInspyNo(a03.getRsveItem1().substring(29, 31)); // 분납 번호
|
|
|
|
|
levy.setLevySeCd("02"); // 부과 구분 코드 FIM040
|
|
|
|
|
levy.setUntySeCd("02"); // 통합 구분 코드 FIM072
|
|
|
|
|
levy.setRductSeCd("01"); // 감경 구분 코드 FIM046 - 01 감경
|
|
|
|
|
levy.setLevyYmd(a03.getOpnSbmsnTermBgngYmd()); // 부과 일자
|
|
|
|
|
levy.setFrstDudtYmd(a03.getOpnSbmsnTermEndYmd()); // 최초 납기 일자
|
|
|
|
|
levy.setDudtYmd(a03.getOpnSbmsnTermEndYmd()); // 납기 일자
|
|
|
|
|
levy.setFfnlgAmt(Integer.parseInt(a03.getFinScrgAmt())); // 과태료 금액
|
|
|
|
|
levy.setLevyPcptax(Integer.parseInt(a03.getFinScrgAmt()) - Integer.parseInt(a03.getBfRdtAmt())); // 부과 본세
|
|
|
|
|
levy.setLevyAdamt(0); // 부과 가산금
|
|
|
|
|
levy.setInspyInt(0); // 분납 이자
|
|
|
|
|
levy.setRcvmtPcptax(0); // 수납 본세
|
|
|
|
|
levy.setRcvmtAdamt(0); // 수납 가산금
|
|
|
|
|
levy.setRdcamtPcptax(0); // 감액 본세
|
|
|
|
|
levy.setRdcamtAdamt(0); // 감액 가산금
|
|
|
|
|
levy.setSumAmt(Integer.parseInt(a03.getFinScrgAmt()) - Integer.parseInt(a03.getBfRdtAmt())); // 합계 금액
|
|
|
|
|
levy.setDudtAftrAmt(0); // 납기 후 금액
|
|
|
|
|
levy.setTxtnThing(a03.getVhrno()); // 과세 물건
|
|
|
|
|
levy.setMngItem1(a03.getMngItemCn1()); // 관리 아이템1
|
|
|
|
|
levy.setMngItem2(a03.getMngItemCn2()); // 관리 아이템2
|
|
|
|
|
levy.setMngItem3(a03.getMngItemCn3()); // 관리 아이템3
|
|
|
|
|
levy.setMngItem4(a03.getMngItemCn4()); // 관리 아이템4
|
|
|
|
|
levy.setMngItem5(a03.getMngItemCn5()); // 관리 아이템5
|
|
|
|
|
levy.setMngItem6(a03.getMngItemCn6()); // 관리 아이템6
|
|
|
|
|
levy.setLevySttsNm("부과"); // 부과 상태 명
|
|
|
|
|
levy.setEpayno(a03.getEpayNo()); // 전자납부번호
|
|
|
|
|
levy.setBankNm(a03.getVtlacBankNm1()); // 은행 명
|
|
|
|
|
levy.setVrActno(a03.getVrActno1()); // 가상 계좌번호
|
|
|
|
|
levy.setBankNm2(a03.getVtlacBankNm2()); // 은행 명2
|
|
|
|
|
levy.setVrActno2(a03.getVrActno2()); // 가상 계좌번호2
|
|
|
|
|
levy.setBankNm3(a03.getVtlacBankNm3()); // 은행 명3
|
|
|
|
|
levy.setVrActno3(a03.getVrActno3()); // 가상 계좌번호3
|
|
|
|
|
levy.setBankNm4(a03.getVtlacBankNm4()); // 은행 명4
|
|
|
|
|
levy.setVrActno4(a03.getVrActno4()); // 가상 계좌번호4
|
|
|
|
|
levy.setBankNm5(a03.getVtlacBankNm5()); // 은행 명5
|
|
|
|
|
levy.setVrActno5(a03.getVrActno5()); // 가상 계좌번호5
|
|
|
|
|
levy.setBankNm6(a03.getVtlacBankNm6()); // 은행 명6
|
|
|
|
|
levy.setVrActno6(a03.getVrActno6()); // 가상 계좌번호6
|
|
|
|
|
levy.setBankNm7(a03.getVtlacBankNm7()); // 은행 명7
|
|
|
|
|
levy.setVrActno7(a03.getVrActno7()); // 가상 계좌번호7
|
|
|
|
|
levy.setBankNm8(a03.getVtlacBankNm8()); // 은행 명8
|
|
|
|
|
levy.setVrActno8(a03.getVrActno8()); // 가상 계좌번호8
|
|
|
|
|
levy.setBankNm9(a03.getVtlacBankNm9()); // 은행 명9
|
|
|
|
|
levy.setVrActno9(a03.getVrActno9()); // 가상 계좌번호9
|
|
|
|
|
levy.setBankNm10(a03.getVtlacBankNm10()); // 은행 명10
|
|
|
|
|
levy.setVrActno10(a03.getVrActno10()); // 가상 계좌번호10
|
|
|
|
|
levy.setBankNm11(a03.getVtlacBankNm11()); // 은행 명11
|
|
|
|
|
levy.setVrActno11(a03.getVrActno11()); // 가상 계좌번호11
|
|
|
|
|
levy.setBankNm12(a03.getVtlacBankNm12()); // 은행 명12
|
|
|
|
|
levy.setVrActno12(a03.getVrActno12()); // 가상 계좌번호12
|
|
|
|
|
levy.setBankNm13(a03.getVtlacBankNm13()); // 은행 명13
|
|
|
|
|
levy.setVrActno13(a03.getVrActno13()); // 가상 계좌번호13
|
|
|
|
|
levy.setBankNm14(a03.getVtlacBankNm14()); // 은행 명14
|
|
|
|
|
levy.setVrActno14(a03.getVrActno14()); // 가상 계좌번호14
|
|
|
|
|
levy.setBankNm15(a03.getVtlacBankNm15()); // 은행 명15
|
|
|
|
|
levy.setVrActno15(a03.getVrActno15()); // 가상 계좌번호15
|
|
|
|
|
levy.setBankNm16(a03.getVtlacBankNm16()); // 은행 명16
|
|
|
|
|
levy.setVrActno16(a03.getVrActno16()); // 가상 계좌번호16
|
|
|
|
|
levy.setBankNm17(a03.getVtlacBankNm17()); // 은행 명17
|
|
|
|
|
levy.setVrActno17(a03.getVrActno17()); // 가상 계좌번호17
|
|
|
|
|
levy.setBankNm18(a03.getVtlacBankNm18()); // 은행 명18
|
|
|
|
|
levy.setVrActno18(a03.getVrActno18()); // 가상 계좌번호18
|
|
|
|
|
levy.setBankNm19(a03.getVtlacBankNm19()); // 은행 명19
|
|
|
|
|
levy.setVrActno19(a03.getVrActno19()); // 가상 계좌번호19
|
|
|
|
|
levy.setBankNm20(a03.getVtlacBankNm20()); // 은행 명20
|
|
|
|
|
levy.setVrActno20(a03.getVrActno20()); // 가상 계좌번호20
|
|
|
|
|
|
|
|
|
|
if (crdnLevyInfo.string("LEVY_ID").equals("")) { // 부과 ID가 없다면 부과대장 등록
|
|
|
|
|
rtnScs = levyMapper.insert(levy);
|
|
|
|
|
if (!rtnScs) {
|
|
|
|
|
throw new RuntimeException("부과 대장 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 단속상태이력(TB_CRDN_STTS_HSTRY)
|
|
|
|
|
CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry();
|
|
|
|
|
crdnSttsHstry.setCrdnId(crdnLevyInfo.string("CRDN_ID")); // 단속 ID
|
|
|
|
|
crdnSttsHstry.setBfrSttsCd(crdnLevyInfo.string("CRDN_STTS_CD")); // 이전 단속 상태 코드
|
|
|
|
|
crdnSttsHstry.setBfrSttsChgDt(crdnLevyInfo.string("CRDN_STTS_CHG_DT")); // 이전 단속 상태 변경 일시
|
|
|
|
|
crdnSttsHstry.setCrdnSttsCd("23"); // 단속 상태 코드(FIM010) - 23:감경부과
|
|
|
|
|
|
|
|
|
|
if (crdnLevyInfo.number("CRDN_STTS_CD").intValue() >= 1 && crdnLevyInfo.number("CRDN_STTS_CD").intValue() <= 22 ) {
|
|
|
|
|
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다.
|
|
|
|
|
rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry);
|
|
|
|
|
if (!rtnScs) {
|
|
|
|
|
throw new RuntimeException("감경부과 등록 중 단속 대장의 단속상태 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
// 단속상태이력(TB_CRDN_STTS_HSTRY) 대장을 등록 한다.
|
|
|
|
|
rtnScs = crdnSttsHstryBean.create(crdnSttsHstry);
|
|
|
|
|
if (!rtnScs) {
|
|
|
|
|
throw new RuntimeException("감경부과 등록 중 단속 대장의 단속상태 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} else { // 부과 대장 수정
|
|
|
|
|
levy.setLevyId(crdnLevyInfo.string("LEVY_ID"));
|
|
|
|
|
|
|
|
|
|
rtnScs = levyMapper.update(levy);
|
|
|
|
|
if (!rtnScs) {
|
|
|
|
|
throw new RuntimeException("부과 대장 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 수납 정보 확인하여 발송 대장(TB_SNDNG) - 발송 상태 코드(SNDNG_DTL_STTS_CD) 수정
|
|
|
|
|
if (resVo1.get("rcvmtSeNm").asText().equals("수납")) {
|
|
|
|
|
uptSndngDtl.setSndngDtlSttsCd("09"); // 발송 상세 상태 코드(FIM050) 09:수납
|
|
|
|
|
uptSndngDtl.setSndngRcvmtCd("1"); // 발송 수납 코드(FIM051) 1:수납
|
|
|
|
|
uptSndngDtl.setSndngDtlSttsCd("09"); // 발송 상세 상태 코드(FIM050) 09:수납
|
|
|
|
|
uptSndngDtl.setSndngRcvmtCd("1"); // 발송 수납 코드(FIM051) 1:수납
|
|
|
|
|
|
|
|
|
|
rtnScs = sndngDtlMapper.updateSndngDtlSttsCd(uptSndngDtl);
|
|
|
|
|
if (!rtnScs) {
|
|
|
|
|
throw new RuntimeException("세외수입 연계 정보를 발송 상세에 수정하지 못했습니다.");// 예외를 발생시켜서 DB Rollback
|
|
|
|
|
throw new RuntimeException("세외수입 연계 정보를 발송 상세에 수정하지 못했습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 부과테이블에 등록
|
|
|
|
|
/*
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_LVY_KEY' ).AsString := TaxElse_Parsing_A03.finScrgAcbKey; //과태료과징금대장키
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_ACC_YEAR' ).AsString := TaxElse_Parsing_A03.rcptYr; //접수연도
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_LVY_NO' ).AsString := copy(TaxElse_Parsing_A03.rsveItem1,24,6); //고지번호-예비항목1에서 추출
|
|
|
|
|
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_ACCOUNT_NO' ).AsString := TaxElse_Parsing_A03.vrActno1;
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_ACCOUNT_NO2' ).AsString := TaxElse_Parsing_A03.vrActno2;
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_ACCOUNT_NO3' ).AsString := TaxElse_Parsing_A03.vrActno3;
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_ACCOUNT_NO4' ).AsString := TaxElse_Parsing_A03.vrActno4;
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_ACCOUNT_NO5' ).AsString := TaxElse_Parsing_A03.vrActno5;
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_ACCOUNT_NO6' ).AsString := TaxElse_Parsing_A03.vrActno6;
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_ACCOUNT_NO7' ).AsString := TaxElse_Parsing_A03.vrActno7;
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_ACCOUNT_NO8' ).AsString := TaxElse_Parsing_A03.vrActno8;
|
|
|
|
|
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_BANK_NM' ).AsString := TaxElse_Parsing_A03.vtlacBankNm1;
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_BANK_NM2' ).AsString := TaxElse_Parsing_A03.vtlacBankNm2;
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_BANK_NM3' ).AsString := TaxElse_Parsing_A03.vtlacBankNm3;
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_BANK_NM4' ).AsString := TaxElse_Parsing_A03.vtlacBankNm4;
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_BANK_NM5' ).AsString := TaxElse_Parsing_A03.vtlacBankNm5;
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_BANK_NM6' ).AsString := TaxElse_Parsing_A03.vtlacBankNm6;
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_BANK_NM7' ).AsString := TaxElse_Parsing_A03.vtlacBankNm7;
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_BANK_NM8' ).AsString := TaxElse_Parsing_A03.vtlacBankNm8;
|
|
|
|
|
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_ERC_NO').AsString := TaxElse_Parsing_A03.epayNo; //전자납부번호
|
|
|
|
|
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_KEUM_T').AsString := IntToStr(StrToInt(TaxElse_Parsing_A03.finScrgAmt) - StrToInt(TaxElse_Parsing_A03.bfRdtAmt));
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_KEUM_A').AsString := '0';
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_KEUM_B').AsString := IntToStr(StrToInt(TaxElse_Parsing_A03.finScrgAmt) - StrToInt(TaxElse_Parsing_A03.bfRdtAmt));
|
|
|
|
|
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_EDITDT').AsString := FormatDateTime('yyyymmddhhnnss', now);
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_STATE' ).AsString := '2'; //정보등록 완료
|
|
|
|
|
fData.qryMatch_SetAll.ParamByName('MC_MMCODE').AsString := FieldByName('MM_CODE').AsString;
|
|
|
|
|
fData.qryMatch_SetAll.ExecSQL;
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
} catch (IOException e) {
|
|
|
|
|
throw new RuntimeException("오류."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
throw new RuntimeException("세외수입 과태료대장 연계 작업중 오류가 발생하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -339,10 +562,6 @@ public class SndngDtlBean extends AbstractComponent {
|
|
|
|
|
return rtnMsg;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**지정한 조건에 따라 반송 목록을 조회하여 반환한다.
|
|
|
|
|
* @param req 발송 대장 조회 조건
|
|
|
|
|
* @return 반송 목록
|
|
|
|
|