|
|
@ -136,7 +136,7 @@ public class SndngBean extends AbstractComponent {
|
|
|
|
boolean rtnScs = false; // DB 처리 결과
|
|
|
|
boolean rtnScs = false; // DB 처리 결과
|
|
|
|
String rtnMsg = "[F] "; // 처리 결과 메시지
|
|
|
|
String rtnMsg = "[F] "; // 처리 결과 메시지
|
|
|
|
|
|
|
|
|
|
|
|
List<DataObject> trgtList = sndngMapper.selectWrngTrgtCrdnIDs(req);
|
|
|
|
List<DataObject> trgtList = sndngMapper.selectWrngTrgtCrdnIds(req);
|
|
|
|
|
|
|
|
|
|
|
|
// 조회 건수 확인
|
|
|
|
// 조회 건수 확인
|
|
|
|
if (trgtList == null || trgtList.size() < 1) {
|
|
|
|
if (trgtList == null || trgtList.size() < 1) {
|
|
|
@ -326,7 +326,7 @@ public class SndngBean extends AbstractComponent {
|
|
|
|
boolean rtnScs = false; // DB 처리 결과
|
|
|
|
boolean rtnScs = false; // DB 처리 결과
|
|
|
|
String rtnMsg = "[F] "; // 처리 결과 메시지
|
|
|
|
String rtnMsg = "[F] "; // 처리 결과 메시지
|
|
|
|
|
|
|
|
|
|
|
|
List<DataObject> advntceTrgtList = sndngMapper.selectAdvntceTrgtCrdnIDs(req);;
|
|
|
|
List<DataObject> advntceTrgtList = sndngMapper.selectAdvntceTrgtCrdnIds(req);
|
|
|
|
|
|
|
|
|
|
|
|
// 조회 건수 확인
|
|
|
|
// 조회 건수 확인
|
|
|
|
if (advntceTrgtList == null || advntceTrgtList.size() < 1) {
|
|
|
|
if (advntceTrgtList == null || advntceTrgtList.size() < 1) {
|
|
|
@ -346,21 +346,17 @@ public class SndngBean extends AbstractComponent {
|
|
|
|
sndng.setVltnId(sndng.getVltnId()); // 위반 ID
|
|
|
|
sndng.setVltnId(sndng.getVltnId()); // 위반 ID
|
|
|
|
sndng.setLevyBgngYmd(null); // 부과 시작 일자
|
|
|
|
sndng.setLevyBgngYmd(null); // 부과 시작 일자
|
|
|
|
sndng.setLevyEndYmd(null); // 부과 종료 일자
|
|
|
|
sndng.setLevyEndYmd(null); // 부과 종료 일자
|
|
|
|
|
|
|
|
|
|
|
|
if (sndng.getTnocs() == 1) {
|
|
|
|
if (sndng.getTnocs() == 1) {
|
|
|
|
sndng.setSndngRegSeCd("02"); // 발송 등록 구분 코드 - 개별
|
|
|
|
sndng.setSndngRegSeCd("02"); // 발송 등록 구분 코드 - 개별
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
sndng.setSndngRegSeCd("01"); // 발송 등록 구분 코드 - 일괄
|
|
|
|
sndng.setSndngRegSeCd("01"); // 발송 등록 구분 코드 - 일괄
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (sndng.getResndYn() == null) {
|
|
|
|
if (sndng.getResndYn() == null) {
|
|
|
|
sndng.setResndYn("N"); // 재발송 여부
|
|
|
|
sndng.setResndYn("N"); // 재발송 여부
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (sndng.getDelYn() == null) {
|
|
|
|
if (sndng.getDelYn() == null) {
|
|
|
|
sndng.setDelYn("N"); // 삭제 여부
|
|
|
|
sndng.setDelYn("N"); // 삭제 여부
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
sndng.setSndngSttsCd("00"); // 발송 상태 코드(FIM049) - 00 발송 준비
|
|
|
|
sndng.setSndngSttsCd("00"); // 발송 상태 코드(FIM049) - 00 발송 준비
|
|
|
|
|
|
|
|
|
|
|
|
// 발송(TB_SNDNG) 등록
|
|
|
|
// 발송(TB_SNDNG) 등록
|
|
|
@ -400,15 +396,13 @@ public class SndngBean extends AbstractComponent {
|
|
|
|
|
|
|
|
|
|
|
|
if (crdnPayerInfo == null) {
|
|
|
|
if (crdnPayerInfo == null) {
|
|
|
|
throw new RuntimeException("<p>사전통지 발송상세 등록 작업중 단속 정보가 확인되지 않았습니다.</p>"
|
|
|
|
throw new RuntimeException("<p>사전통지 발송상세 등록 작업중 단속 정보가 확인되지 않았습니다.</p>"
|
|
|
|
+ "<p>"
|
|
|
|
+ "<p>단속 ID : " + crdnId
|
|
|
|
+ "단속 ID : " + crdnId
|
|
|
|
|
|
|
|
+ "</p>"
|
|
|
|
+ "</p>"
|
|
|
|
); // 예외를 발생시켜서 DB Rollback
|
|
|
|
); // 예외를 발생시켜서 DB Rollback
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (crdnPayerInfo.string("RTPYR_ID").equals("")) {
|
|
|
|
if (crdnPayerInfo.string("RTPYR_ID").equals("")) {
|
|
|
|
throw new RuntimeException("<p>사전통지 발송상세 등록 작업중 납부자 정보가 확인되지 않았습니다.</p>"
|
|
|
|
throw new RuntimeException("<p>사전통지 발송상세 등록 작업중 납부자 정보가 확인되지 않았습니다.</p>"
|
|
|
|
+ "<p>"
|
|
|
|
+ "<p>단속 ID : " + crdnId
|
|
|
|
+ "단속 ID : " + crdnId
|
|
|
|
|
|
|
|
+ "<br />단속일시 : " + crdnPayerInfo.string("CRDN_YMD_TM_MASK")
|
|
|
|
+ "<br />단속일시 : " + crdnPayerInfo.string("CRDN_YMD_TM_MASK")
|
|
|
|
+ "<br />차량번호 : " + crdnPayerInfo.string("VHRNO")
|
|
|
|
+ "<br />차량번호 : " + crdnPayerInfo.string("VHRNO")
|
|
|
|
+ "</p>"
|
|
|
|
+ "</p>"
|
|
|
@ -419,8 +413,7 @@ public class SndngBean extends AbstractComponent {
|
|
|
|
// 부과 가산금 확인
|
|
|
|
// 부과 가산금 확인
|
|
|
|
if (crdnPayerInfo.number("LEVY_ADAMT").intValue() != 0) {
|
|
|
|
if (crdnPayerInfo.number("LEVY_ADAMT").intValue() != 0) {
|
|
|
|
throw new RuntimeException("<p>발송상세 등록 작업중 부과 가산금액이 0원이 아닙니다.</p>"
|
|
|
|
throw new RuntimeException("<p>발송상세 등록 작업중 부과 가산금액이 0원이 아닙니다.</p>"
|
|
|
|
+ "<p>"
|
|
|
|
+ "<p>단속ID : " + crdnPayerInfo.string("CRDN_ID")
|
|
|
|
+ "단속ID : " + crdnPayerInfo.string("CRDN_ID")
|
|
|
|
|
|
|
|
+ "<br />단속일시 : " + crdnPayerInfo.string("CRDN_YMD_TM_MASK")
|
|
|
|
+ "<br />단속일시 : " + crdnPayerInfo.string("CRDN_YMD_TM_MASK")
|
|
|
|
+ "<br />차량번호 : " + crdnPayerInfo.string("VHRNO")
|
|
|
|
+ "<br />차량번호 : " + crdnPayerInfo.string("VHRNO")
|
|
|
|
+ "</p>"
|
|
|
|
+ "</p>"
|
|
|
@ -429,8 +422,7 @@ public class SndngBean extends AbstractComponent {
|
|
|
|
// 사전 감경금액과 부과 본세금액 확인
|
|
|
|
// 사전 감경금액과 부과 본세금액 확인
|
|
|
|
if (crdnPayerInfo.number("ADVNTCE_AMT").intValue() != crdnPayerInfo.number("LEVY_PCPTAX").intValue()) {
|
|
|
|
if (crdnPayerInfo.number("ADVNTCE_AMT").intValue() != crdnPayerInfo.number("LEVY_PCPTAX").intValue()) {
|
|
|
|
throw new RuntimeException("<p>발송상세 등록 작업중 사전 감경금액과 부과 본세금액이 다릅니다.</p>"
|
|
|
|
throw new RuntimeException("<p>발송상세 등록 작업중 사전 감경금액과 부과 본세금액이 다릅니다.</p>"
|
|
|
|
+ "<p>"
|
|
|
|
+ "<p>단속ID : " + crdnPayerInfo.string("CRDN_ID")
|
|
|
|
+ "단속ID : " + crdnPayerInfo.string("CRDN_ID")
|
|
|
|
|
|
|
|
+ "<br />단속일시 : " + crdnPayerInfo.string("CRDN_YMD_TM_MASK")
|
|
|
|
+ "<br />단속일시 : " + crdnPayerInfo.string("CRDN_YMD_TM_MASK")
|
|
|
|
+ "<br />차량번호 : " + crdnPayerInfo.string("VHRNO")
|
|
|
|
+ "<br />차량번호 : " + crdnPayerInfo.string("VHRNO")
|
|
|
|
+ "<br />사전 감경금액 : " + crdnPayerInfo.string("ADVNTCE_AMT")
|
|
|
|
+ "<br />사전 감경금액 : " + crdnPayerInfo.string("ADVNTCE_AMT")
|
|
|
@ -441,8 +433,7 @@ public class SndngBean extends AbstractComponent {
|
|
|
|
// 부과 본세와 합계 금액이 같은지 확인
|
|
|
|
// 부과 본세와 합계 금액이 같은지 확인
|
|
|
|
if (crdnPayerInfo.number("LEVY_PCPTAX").intValue() != crdnPayerInfo.number("SUM_AMT").intValue()) {
|
|
|
|
if (crdnPayerInfo.number("LEVY_PCPTAX").intValue() != crdnPayerInfo.number("SUM_AMT").intValue()) {
|
|
|
|
throw new RuntimeException("<p>발송상세 등록 작업중 본세금액과 합계금액이 다릅니다.</p>"
|
|
|
|
throw new RuntimeException("<p>발송상세 등록 작업중 본세금액과 합계금액이 다릅니다.</p>"
|
|
|
|
+ "<p>"
|
|
|
|
+ "<p>단속ID : " + crdnPayerInfo.string("CRDN_ID")
|
|
|
|
+ "단속ID : " + crdnPayerInfo.string("CRDN_ID")
|
|
|
|
|
|
|
|
+ "<br />단속일시 : " + crdnPayerInfo.string("CRDN_YMD_TM_MASK")
|
|
|
|
+ "<br />단속일시 : " + crdnPayerInfo.string("CRDN_YMD_TM_MASK")
|
|
|
|
+ "<br />차량번호 : " + crdnPayerInfo.string("VHRNO")
|
|
|
|
+ "<br />차량번호 : " + crdnPayerInfo.string("VHRNO")
|
|
|
|
+ "<br />본세금액 : " + crdnPayerInfo.string("LEVY_PCPTAX")
|
|
|
|
+ "<br />본세금액 : " + crdnPayerInfo.string("LEVY_PCPTAX")
|
|
|
@ -491,9 +482,17 @@ public class SndngBean extends AbstractComponent {
|
|
|
|
sndngDtl.setLevyYmd(sndng.getSndngYmd()); // 부과 일자
|
|
|
|
sndngDtl.setLevyYmd(sndng.getSndngYmd()); // 부과 일자
|
|
|
|
sndngDtl.setDudtYmd(sndng.getSndngEndYmd()); // 납기 일자
|
|
|
|
sndngDtl.setDudtYmd(sndng.getSndngEndYmd()); // 납기 일자
|
|
|
|
sndngDtl.setFfnlgAmt(crdnPayerInfo.number("FFNLG_AMT").intValue()); // 과태료 금액
|
|
|
|
sndngDtl.setFfnlgAmt(crdnPayerInfo.number("FFNLG_AMT").intValue()); // 과태료 금액
|
|
|
|
sndngDtl.setPcptax(crdnPayerInfo.number("PCPTAX").intValue()); // 본세 : 부과본세 - 수납본세 - 감액본세
|
|
|
|
if (crdnPayerInfo.string("PCPTAX").equals("")) {
|
|
|
|
sndngDtl.setAdamt(crdnPayerInfo.number("ADAMT").intValue()); // 가산금 : 부과가산금 - 수납가산금 - 감액가산금
|
|
|
|
sndngDtl.setPcptax(crdnPayerInfo.number("ADVNTCE_AMT").intValue()); // 본세 = 사전통지 금액
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
sndngDtl.setPcptax(crdnPayerInfo.number("PCPTAX").intValue()); // 본세
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
sndngDtl.setAdamt(0); // 가산금 = 0
|
|
|
|
|
|
|
|
if (crdnPayerInfo.string("SUM_AMT").equals("")) {
|
|
|
|
|
|
|
|
sndngDtl.setSumAmt(crdnPayerInfo.number("ADVNTCE_AMT").intValue()); // 합계 금액 = 사전통지 금액
|
|
|
|
|
|
|
|
} else {
|
|
|
|
sndngDtl.setSumAmt(crdnPayerInfo.number("SUM_AMT").intValue()); // 합계 금액
|
|
|
|
sndngDtl.setSumAmt(crdnPayerInfo.number("SUM_AMT").intValue()); // 합계 금액
|
|
|
|
|
|
|
|
}
|
|
|
|
sndngDtl.setDudtAftrAmt(0); // 납기 후 금액
|
|
|
|
sndngDtl.setDudtAftrAmt(0); // 납기 후 금액
|
|
|
|
sndngDtl.setEpayno(crdnPayerInfo.string("TAX_NO")); // 납세 번호
|
|
|
|
sndngDtl.setEpayno(crdnPayerInfo.string("TAX_NO")); // 납세 번호
|
|
|
|
sndngDtl.setEpayno(crdnPayerInfo.string("EPAYNO")); // 전자납부번호
|
|
|
|
sndngDtl.setEpayno(crdnPayerInfo.string("EPAYNO")); // 전자납부번호
|
|
|
@ -519,6 +518,24 @@ public class SndngBean extends AbstractComponent {
|
|
|
|
sndngDtl.setVrActno10(crdnPayerInfo.string("VR_ACTNO10")); // 가상 계좌번호10
|
|
|
|
sndngDtl.setVrActno10(crdnPayerInfo.string("VR_ACTNO10")); // 가상 계좌번호10
|
|
|
|
sndngDtl.setBankNm11(crdnPayerInfo.string("BANK_NM11")); // 은행 명11
|
|
|
|
sndngDtl.setBankNm11(crdnPayerInfo.string("BANK_NM11")); // 은행 명11
|
|
|
|
sndngDtl.setVrActno11(crdnPayerInfo.string("VR_ACTNO11")); // 가상 계좌번호11
|
|
|
|
sndngDtl.setVrActno11(crdnPayerInfo.string("VR_ACTNO11")); // 가상 계좌번호11
|
|
|
|
|
|
|
|
sndngDtl.setBankNm12(crdnPayerInfo.string("BANK_NM12")); // 은행 명12
|
|
|
|
|
|
|
|
sndngDtl.setVrActno12(crdnPayerInfo.string("VR_ACTNO12")); // 가상 계좌번호12
|
|
|
|
|
|
|
|
sndngDtl.setBankNm13(crdnPayerInfo.string("BANK_NM13")); // 은행 명13
|
|
|
|
|
|
|
|
sndngDtl.setVrActno13(crdnPayerInfo.string("VR_ACTNO13")); // 가상 계좌번호13
|
|
|
|
|
|
|
|
sndngDtl.setBankNm14(crdnPayerInfo.string("BANK_NM14")); // 은행 명14
|
|
|
|
|
|
|
|
sndngDtl.setVrActno14(crdnPayerInfo.string("VR_ACTNO14")); // 가상 계좌번호14
|
|
|
|
|
|
|
|
sndngDtl.setBankNm15(crdnPayerInfo.string("BANK_NM15")); // 은행 명15
|
|
|
|
|
|
|
|
sndngDtl.setVrActno15(crdnPayerInfo.string("VR_ACTNO15")); // 가상 계좌번호15
|
|
|
|
|
|
|
|
sndngDtl.setBankNm16(crdnPayerInfo.string("BANK_NM16")); // 은행 명16
|
|
|
|
|
|
|
|
sndngDtl.setVrActno16(crdnPayerInfo.string("VR_ACTNO16")); // 가상 계좌번호16
|
|
|
|
|
|
|
|
sndngDtl.setBankNm17(crdnPayerInfo.string("BANK_NM17")); // 은행 명17
|
|
|
|
|
|
|
|
sndngDtl.setVrActno17(crdnPayerInfo.string("VR_ACTNO17")); // 가상 계좌번호17
|
|
|
|
|
|
|
|
sndngDtl.setBankNm18(crdnPayerInfo.string("BANK_NM18")); // 은행 명18
|
|
|
|
|
|
|
|
sndngDtl.setVrActno18(crdnPayerInfo.string("VR_ACTNO18")); // 가상 계좌번호18
|
|
|
|
|
|
|
|
sndngDtl.setBankNm19(crdnPayerInfo.string("BANK_NM19")); // 은행 명19
|
|
|
|
|
|
|
|
sndngDtl.setVrActno19(crdnPayerInfo.string("VR_ACTNO19")); // 가상 계좌번호19
|
|
|
|
|
|
|
|
sndngDtl.setBankNm20(crdnPayerInfo.string("BANK_NM20")); // 은행 명20
|
|
|
|
|
|
|
|
sndngDtl.setVrActno20(crdnPayerInfo.string("VR_ACTNO20")); // 가상 계좌번호20
|
|
|
|
sndngDtl.setDelYn("N"); // 삭제 여부
|
|
|
|
sndngDtl.setDelYn("N"); // 삭제 여부
|
|
|
|
|
|
|
|
|
|
|
|
rtnScs = sndngDtlMapper.insert(sndngDtl); // 발송 상세 등록
|
|
|
|
rtnScs = sndngDtlMapper.insert(sndngDtl); // 발송 상세 등록
|
|
|
@ -600,7 +617,7 @@ public class SndngBean extends AbstractComponent {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**고지서 발송 대상을 조회하여 발송 대장에 등록한다.
|
|
|
|
/**고지서 발송 대상을 조회하여 발송 대장에 등록한다.
|
|
|
|
* @param req 사전통지 발송 대상 조회, sndng 발송 대장
|
|
|
|
* @param req 고지서 발송 대상 조회, sndng 발송 대장
|
|
|
|
* @return 저장 여부
|
|
|
|
* @return 저장 여부
|
|
|
|
* <ul><li>저장됐으면 true</li>
|
|
|
|
* <ul><li>저장됐으면 true</li>
|
|
|
|
* <li>그렇지 않으면 false</li>
|
|
|
|
* <li>그렇지 않으면 false</li>
|
|
|
@ -609,7 +626,55 @@ public class SndngBean extends AbstractComponent {
|
|
|
|
public String createNhtSndngList(SndbQuery req, Sndng sndng) {
|
|
|
|
public String createNhtSndngList(SndbQuery req, Sndng sndng) {
|
|
|
|
// 변수 선언
|
|
|
|
// 변수 선언
|
|
|
|
boolean rtnScs = false; // DB 처리 결과
|
|
|
|
boolean rtnScs = false; // DB 처리 결과
|
|
|
|
String rtnMsg = "[F] "; // 처리 결과 메시지
|
|
|
|
String rtnMsg = ""; // 처리 결과 메시지
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<DataObject> nhtTrgtList = sndngMapper.selectNhtTrgtCrdnIds(req);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 조회 건수 확인
|
|
|
|
|
|
|
|
if (nhtTrgtList == null || nhtTrgtList.size() < 1) {
|
|
|
|
|
|
|
|
rtnMsg = "[F] 작업 중 대상 자료가 존재하지 않습니다.";
|
|
|
|
|
|
|
|
return rtnMsg;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// if (sndng.getTnocs() != nhtTrgtList.size()) {
|
|
|
|
|
|
|
|
// rtnMsg = "[F] 조회된 총 건수와 대상 건수가 다릅니다.";
|
|
|
|
|
|
|
|
// return rtnMsg;
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 사용자 정보
|
|
|
|
|
|
|
|
DataObject userInfo = userBean.getUserInfo(currentUser().getId());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 발송 대장에 등록한다.
|
|
|
|
|
|
|
|
sndng.setDeptCd(userInfo.string("DEPT_CD")); // 부서 코드
|
|
|
|
|
|
|
|
sndng.setVltnId(sndng.getVltnId()); // 위반 ID
|
|
|
|
|
|
|
|
sndng.setLevyBgngYmd(null); // 부과 시작 일자
|
|
|
|
|
|
|
|
sndng.setLevyEndYmd(null); // 부과 종료 일자
|
|
|
|
|
|
|
|
// if (sndng.getTnocs() == 1) {
|
|
|
|
|
|
|
|
// sndng.setSndngRegSeCd("02"); // 발송 등록 구분 코드 - 개별
|
|
|
|
|
|
|
|
// } else {
|
|
|
|
|
|
|
|
sndng.setSndngRegSeCd("01"); // 발송 등록 구분 코드 - 일괄
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
if (sndng.getResndYn() == null) {
|
|
|
|
|
|
|
|
sndng.setResndYn("N"); // 재발송 여부
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (sndng.getDelYn() == null) {
|
|
|
|
|
|
|
|
sndng.setDelYn("N"); // 삭제 여부
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
sndng.setSndngSttsCd("00"); // 발송 상태 코드(FIM049) - 00 발송 준비
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 발송(TB_SNDNG) 등록
|
|
|
|
|
|
|
|
rtnScs = sndngMapper.insert(sndng);
|
|
|
|
|
|
|
|
if (!rtnScs) {
|
|
|
|
|
|
|
|
throw new RuntimeException("발송 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 발송 상세 대장에 등록한다.
|
|
|
|
|
|
|
|
for (int iLoop = 0; iLoop < nhtTrgtList.size(); iLoop++) {
|
|
|
|
|
|
|
|
rtnMsg = createNhtSndngDtl(sndng, nhtTrgtList.get(iLoop).string("CRDN_ID"));
|
|
|
|
|
|
|
|
// 메시지 확인
|
|
|
|
|
|
|
|
if (!rtnMsg.contains("[S]")) {
|
|
|
|
|
|
|
|
throw new RuntimeException("고지서 발송 등록 작업중 발송상세 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
|
|
|
|
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
|
|
|
|
|
|
|
|
|
|
|
@ -626,7 +691,109 @@ public class SndngBean extends AbstractComponent {
|
|
|
|
public String createNhtSndngDtl(Sndng sndng, String crdnId) {
|
|
|
|
public String createNhtSndngDtl(Sndng sndng, String crdnId) {
|
|
|
|
// 변수 선언
|
|
|
|
// 변수 선언
|
|
|
|
boolean rtnScs = false; // DB 처리 결과
|
|
|
|
boolean rtnScs = false; // DB 처리 결과
|
|
|
|
String rtnMsg = "[F] "; // 처리 결과 메시지
|
|
|
|
String rtnMsg = ""; // 처리 결과 메시지
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 단속, 납부자 대장을 조회 한다.
|
|
|
|
|
|
|
|
DataObject crdnPayerInfo = sndngMapper.selectCrdnPayerInfo(crdnId);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (crdnPayerInfo == null) {
|
|
|
|
|
|
|
|
throw new RuntimeException("<p>고지서 발송상세 등록 작업중 단속 정보가 확인되지 않았습니다.</p>"
|
|
|
|
|
|
|
|
+ "<p>단속 ID : " + crdnId
|
|
|
|
|
|
|
|
+ "</p>"
|
|
|
|
|
|
|
|
); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (crdnPayerInfo.string("RTPYR_ID").equals("")) {
|
|
|
|
|
|
|
|
throw new RuntimeException("<p>고지서 발송상세 등록 작업중 납부자 정보가 확인되지 않았습니다.</p>"
|
|
|
|
|
|
|
|
+ "<p>단속 ID : " + crdnId
|
|
|
|
|
|
|
|
+ "<br />단속일시 : " + crdnPayerInfo.string("CRDN_YMD_TM_MASK")
|
|
|
|
|
|
|
|
+ "<br />차량번호 : " + crdnPayerInfo.string("VHRNO")
|
|
|
|
|
|
|
|
+ "</p>"
|
|
|
|
|
|
|
|
); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (crdnPayerInfo.string("LEVY_ID").equals("")) {
|
|
|
|
|
|
|
|
throw new RuntimeException("<p>고지서 발송상세 등록 작업중 부과 정보가 확인되지 않았습니다.</p>"
|
|
|
|
|
|
|
|
+ "<p>단속 ID : " + crdnId
|
|
|
|
|
|
|
|
+ "<br />단속일시 : " + crdnPayerInfo.string("CRDN_YMD_TM_MASK")
|
|
|
|
|
|
|
|
+ "<br />차량번호 : " + crdnPayerInfo.string("VHRNO")
|
|
|
|
|
|
|
|
+ "</p>"
|
|
|
|
|
|
|
|
); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 발송상세(TB_SNDNG_DTL) 등록
|
|
|
|
|
|
|
|
SndngDtl sndngDtl = new SndngDtl();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sndngDtl.setSndngId(sndng.getSndngId()); // 발송 ID
|
|
|
|
|
|
|
|
sndngDtl.setCrdnId(crdnPayerInfo.string("CRDN_ID")); // 단속 ID
|
|
|
|
|
|
|
|
sndngDtl.setSndngSeCd(sndng.getSndngSeCd()); // 발송 구분 코드
|
|
|
|
|
|
|
|
sndngDtl.setSndngYmd(sndng.getSndngYmd()); // 발송 일자
|
|
|
|
|
|
|
|
sndngDtl.setSndngEndYmd(sndng.getSndngEndYmd()); // 발송 종료 일자
|
|
|
|
|
|
|
|
sndngDtl.setRcpnNm(crdnPayerInfo.string("RTPYR_NM")); // 수령인 명
|
|
|
|
|
|
|
|
sndngDtl.setRcpnBrdt(crdnPayerInfo.string("RTPYR_BRDT")); // 수령인 생년월일
|
|
|
|
|
|
|
|
sndngDtl.setRcpnAddr(crdnPayerInfo.string("ADDR")); // 수령인 주소
|
|
|
|
|
|
|
|
sndngDtl.setRcpnDtlAddr(crdnPayerInfo.string("DTL_ADDR")); // 수령인 상세 주소
|
|
|
|
|
|
|
|
sndngDtl.setRcpnZip(crdnPayerInfo.string("ZIP")); // 수령인 우편번호
|
|
|
|
|
|
|
|
sndngDtl.setSndngDtlSttsCd("00"); // 발송 상세 상태 코드 - 00 처리전
|
|
|
|
|
|
|
|
sndngDtl.setVhrno(crdnPayerInfo.string("VHRNO")); // 차량번호
|
|
|
|
|
|
|
|
sndngDtl.setCrdnDt(crdnPayerInfo.string("CRDN_YMD_TM_MASK")); // 단속 일시
|
|
|
|
|
|
|
|
sndngDtl.setCrdnStdgNm(crdnPayerInfo.string("CRDN_STDG_NM")); // 단속 법정동 명
|
|
|
|
|
|
|
|
sndngDtl.setCrdnPlc(crdnPayerInfo.string("CRDN_PLC")); // 단속 장소
|
|
|
|
|
|
|
|
sndngDtl.setFyr(crdnPayerInfo.string("FYR")); // 회계연도
|
|
|
|
|
|
|
|
sndngDtl.setLevyNo(crdnPayerInfo.string("LEVY_NO")); // 부과 번호
|
|
|
|
|
|
|
|
sndngDtl.setLevyYmd(crdnPayerInfo.string("LEVY_YMD")); // 부과 일자
|
|
|
|
|
|
|
|
sndngDtl.setDudtYmd(crdnPayerInfo.string("DUDT_YMD")); // 납기 일자
|
|
|
|
|
|
|
|
sndngDtl.setFfnlgAmt(crdnPayerInfo.number("FFNLG_AMT").intValue()); // 과태료 금액
|
|
|
|
|
|
|
|
sndngDtl.setPcptax(crdnPayerInfo.number("PCPTAX").intValue()); // 본세 : 부과본세 - 수납본세 - 감액본세
|
|
|
|
|
|
|
|
sndngDtl.setAdamt(crdnPayerInfo.number("ADAMT").intValue()); // 가산금 : 부과가산금 - 수납가산금 - 감액가산금
|
|
|
|
|
|
|
|
sndngDtl.setSumAmt(crdnPayerInfo.number("SUM_AMT").intValue()); // 합계 금액
|
|
|
|
|
|
|
|
sndngDtl.setDudtAftrAmt(crdnPayerInfo.number("DUDT_AFTR_AMT").intValue()); // 납기 후 금액
|
|
|
|
|
|
|
|
sndngDtl.setEpayno(crdnPayerInfo.string("TAX_NO")); // 납세 번호
|
|
|
|
|
|
|
|
sndngDtl.setEpayno(crdnPayerInfo.string("EPAYNO")); // 전자납부번호
|
|
|
|
|
|
|
|
sndngDtl.setBankNm(crdnPayerInfo.string("BANK_NM")); // 은행 명
|
|
|
|
|
|
|
|
sndngDtl.setVrActno(crdnPayerInfo.string("VR_ACTNO")); // 가상 계좌번호
|
|
|
|
|
|
|
|
sndngDtl.setBankNm2(crdnPayerInfo.string("BANK_NM2")); // 은행 명2
|
|
|
|
|
|
|
|
sndngDtl.setVrActno2(crdnPayerInfo.string("VR_ACTNO2")); // 가상 계좌번호2
|
|
|
|
|
|
|
|
sndngDtl.setBankNm3(crdnPayerInfo.string("BANK_NM3")); // 은행 명3
|
|
|
|
|
|
|
|
sndngDtl.setVrActno3(crdnPayerInfo.string("VR_ACTNO3")); // 가상 계좌번호3
|
|
|
|
|
|
|
|
sndngDtl.setBankNm4(crdnPayerInfo.string("BANK_NM4")); // 은행 명4
|
|
|
|
|
|
|
|
sndngDtl.setVrActno4(crdnPayerInfo.string("VR_ACTNO4")); // 가상 계좌번호4
|
|
|
|
|
|
|
|
sndngDtl.setBankNm5(crdnPayerInfo.string("BANK_NM5")); // 은행 명5
|
|
|
|
|
|
|
|
sndngDtl.setVrActno5(crdnPayerInfo.string("VR_ACTNO5")); // 가상 계좌번호5
|
|
|
|
|
|
|
|
sndngDtl.setBankNm6(crdnPayerInfo.string("BANK_NM6")); // 은행 명6
|
|
|
|
|
|
|
|
sndngDtl.setVrActno6(crdnPayerInfo.string("VR_ACTNO6")); // 가상 계좌번호6
|
|
|
|
|
|
|
|
sndngDtl.setBankNm7(crdnPayerInfo.string("BANK_NM7")); // 은행 명7
|
|
|
|
|
|
|
|
sndngDtl.setVrActno7(crdnPayerInfo.string("VR_ACTNO7")); // 가상 계좌번호7
|
|
|
|
|
|
|
|
sndngDtl.setBankNm8(crdnPayerInfo.string("BANK_NM8")); // 은행 명8
|
|
|
|
|
|
|
|
sndngDtl.setVrActno8(crdnPayerInfo.string("VR_ACTNO8")); // 가상 계좌번호8
|
|
|
|
|
|
|
|
sndngDtl.setBankNm9(crdnPayerInfo.string("BANK_NM9")); // 은행 명9
|
|
|
|
|
|
|
|
sndngDtl.setVrActno9(crdnPayerInfo.string("VR_ACTNO9")); // 가상 계좌번호9
|
|
|
|
|
|
|
|
sndngDtl.setBankNm10(crdnPayerInfo.string("BANK_NM10")); // 은행 명10
|
|
|
|
|
|
|
|
sndngDtl.setVrActno10(crdnPayerInfo.string("VR_ACTNO10")); // 가상 계좌번호10
|
|
|
|
|
|
|
|
sndngDtl.setBankNm11(crdnPayerInfo.string("BANK_NM11")); // 은행 명11
|
|
|
|
|
|
|
|
sndngDtl.setVrActno11(crdnPayerInfo.string("VR_ACTNO11")); // 가상 계좌번호11
|
|
|
|
|
|
|
|
sndngDtl.setBankNm12(crdnPayerInfo.string("BANK_NM12")); // 은행 명12
|
|
|
|
|
|
|
|
sndngDtl.setVrActno12(crdnPayerInfo.string("VR_ACTNO12")); // 가상 계좌번호12
|
|
|
|
|
|
|
|
sndngDtl.setBankNm13(crdnPayerInfo.string("BANK_NM13")); // 은행 명13
|
|
|
|
|
|
|
|
sndngDtl.setVrActno13(crdnPayerInfo.string("VR_ACTNO13")); // 가상 계좌번호13
|
|
|
|
|
|
|
|
sndngDtl.setBankNm14(crdnPayerInfo.string("BANK_NM14")); // 은행 명14
|
|
|
|
|
|
|
|
sndngDtl.setVrActno14(crdnPayerInfo.string("VR_ACTNO14")); // 가상 계좌번호14
|
|
|
|
|
|
|
|
sndngDtl.setBankNm15(crdnPayerInfo.string("BANK_NM15")); // 은행 명15
|
|
|
|
|
|
|
|
sndngDtl.setVrActno15(crdnPayerInfo.string("VR_ACTNO15")); // 가상 계좌번호15
|
|
|
|
|
|
|
|
sndngDtl.setBankNm16(crdnPayerInfo.string("BANK_NM16")); // 은행 명16
|
|
|
|
|
|
|
|
sndngDtl.setVrActno16(crdnPayerInfo.string("VR_ACTNO16")); // 가상 계좌번호16
|
|
|
|
|
|
|
|
sndngDtl.setBankNm17(crdnPayerInfo.string("BANK_NM17")); // 은행 명17
|
|
|
|
|
|
|
|
sndngDtl.setVrActno17(crdnPayerInfo.string("VR_ACTNO17")); // 가상 계좌번호17
|
|
|
|
|
|
|
|
sndngDtl.setBankNm18(crdnPayerInfo.string("BANK_NM18")); // 은행 명18
|
|
|
|
|
|
|
|
sndngDtl.setVrActno18(crdnPayerInfo.string("VR_ACTNO18")); // 가상 계좌번호18
|
|
|
|
|
|
|
|
sndngDtl.setBankNm19(crdnPayerInfo.string("BANK_NM19")); // 은행 명19
|
|
|
|
|
|
|
|
sndngDtl.setVrActno19(crdnPayerInfo.string("VR_ACTNO19")); // 가상 계좌번호19
|
|
|
|
|
|
|
|
sndngDtl.setBankNm20(crdnPayerInfo.string("BANK_NM20")); // 은행 명20
|
|
|
|
|
|
|
|
sndngDtl.setVrActno20(crdnPayerInfo.string("VR_ACTNO20")); // 가상 계좌번호20
|
|
|
|
|
|
|
|
sndngDtl.setDelYn("N"); // 삭제 여부
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
rtnScs = sndngDtlMapper.insert(sndngDtl); // 발송 상세 등록
|
|
|
|
|
|
|
|
if (!rtnScs) {
|
|
|
|
|
|
|
|
throw new RuntimeException("발송상세 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
|
|
|
|
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
|
|
|
|
|
|
|
|
|
|
|
|