우편통합 발송 수정.

main
jjh 6 months ago
parent 5d3838e763
commit e72e31d4d5

@ -99,33 +99,31 @@ public class NxrpMtchgBean extends AbstractComponent {
// 발송상세 대상 자료로 세외수입 매핑 내역 등록한다.
for (int iLoop = 0; iLoop < sndngDtlIds.size(); iLoop++) {
// 단속 자료 조회
DataObject sndngDtlLevyInfo = sndngDtlMapper.selectSndngDtlLevyInfo(sndngDtlIds.get(iLoop).string("SNDNG_DTL_ID"));
//
if (sndngDtlLevyInfo == null) {
DataObject sndngDtlInfo = sndngDtlMapper.selectSndngDtlInfo(new SndbQuery().setSndngDtlId(sndngDtlIds.get(iLoop).string("SNDNG_DTL_ID")));
if (sndngDtlInfo == null) {
throw new RuntimeException("세외수입 등록 작업중 단속자료가 존재하지 않습니다."); // 예외를 발생시켜서 DB Rollback
}
// 발송 상세 상태 코드 확인.
if ("00,01,02".contains(sndngDtlLevyInfo.string("SNDNG_DTL_STTS_CD"))) {
if ("00,01,02".contains(sndngDtlInfo.string("SNDNG_DTL_STTS_CD"))) {
// 세외수입 연계 등록 서비스 호출 //////////////////////////////////////////////
String linkRsltId = "0000000000";
// 세외수입 매칭 내역 정보 조회
DataObject nxrpMtchgInfo = nxrpMtchgMapper.selectNxrpMtchgInfo(new NxrpMtchgQuery().setCrdnId(sndngDtlLevyInfo.string("CRDN_ID")));
DataObject nxrpMtchgInfo = nxrpMtchgMapper.selectNxrpMtchgInfo(new NxrpMtchgQuery().setCrdnId(sndngDtlInfo.string("CRDN_ID")));
NxrpMtchg nxrpMtchg = new NxrpMtchg();
if (nxrpMtchgInfo == null) {
nxrpMtchg.setCrdnId(sndngDtlLevyInfo.string("CRDN_ID")); // 단속 ID
nxrpMtchg.setCrdnDt(sndngDtlLevyInfo.string("CRDN_YMD_TM_MASK")); // 단속 일시
nxrpMtchg.setStdgNm(sndngDtlLevyInfo.string("CRDN_STDG_NM")); // 법정동 명
nxrpMtchg.setCrdnPlc(sndngDtlLevyInfo.string("CRDN_PLC")); // 단속 장소
nxrpMtchg.setCrdnId(sndngDtlInfo.string("CRDN_ID")); // 단속 ID
nxrpMtchg.setCrdnDt(sndngDtlInfo.string("CRDN_YMD_TM_MASK")); // 단속 일시
nxrpMtchg.setStdgNm(sndngDtlInfo.string("CRDN_STDG_NM")); // 법정동 명
nxrpMtchg.setCrdnPlc(sndngDtlInfo.string("CRDN_PLC")); // 단속 장소
nxrpMtchg.setLinkRsltId(linkRsltId); // 연계 결과 ID
nxrpMtchg.setAcntgYr(sndngDtlLevyInfo.string("FYR")); // 회계 연도
nxrpMtchg.setLevyNo(sndngDtlLevyInfo.string("LEVY_NO")); // 부과 번호
nxrpMtchg.setLevyAmt(sndngDtlLevyInfo.number("PCPTAX").intValue()); // 부과 금액
nxrpMtchg.setAdtnAmt(sndngDtlLevyInfo.number("ADAMT").intValue()); // 가산 금액
nxrpMtchg.setSumAmt(sndngDtlLevyInfo.number("SUM_AMT").intValue()); // 합계 금액
nxrpMtchg.setAcntgYr(sndngDtlInfo.string("FYR")); // 회계 연도
nxrpMtchg.setLevyNo(sndngDtlInfo.string("LEVY_NO")); // 부과 번호
nxrpMtchg.setLevyAmt(sndngDtlInfo.number("PCPTAX").intValue()); // 부과 금액
nxrpMtchg.setAdtnAmt(sndngDtlInfo.number("ADAMT").intValue()); // 가산 금액
nxrpMtchg.setSumAmt(sndngDtlInfo.number("SUM_AMT").intValue()); // 합계 금액
nxrpMtchg.setNxrpMtchgSttsCd("01"); // FIM073(세외수입 매칭 상태 코드) - 01 처리전
rtnScs = nxrpMtchgMapper.insert(nxrpMtchg); // 세외수입 매칭 내역 등록
@ -139,7 +137,6 @@ public class NxrpMtchgBean extends AbstractComponent {
// 발송 상세 상태 코드 수정.
SndngDtl sndngDtl = new SndngDtl();
// sndngDtl.setMtchgId(nxrpMtchg.getMtchgId()); // 매칭 ID
sndngDtl.setSndngDtlSttsCd("01"); // FIM050(발송 상세 상태 코드) - 01 세외수입부과
sndngDtl.setSndngDtlId(sndngDtlIds.get(iLoop).string("SNDNG_DTL_ID")); // 발송 상세 ID

@ -57,12 +57,6 @@ public interface SndngDtlMapper extends AbstractMapper {
*/
List<DataObject> selectSndngTrgtDtlIds(SndbQuery req);
/**
* @param req
* @return
*/
DataObject selectSndngDtlLevyInfo(String sndngDtlId);
/** .
* @param params
* <ul><li>"sndngDtl" - </li>

@ -84,10 +84,6 @@ public interface SndngService {
*/
List<DataObject> getAdvntceSndngList(SndbQuery req);
/**(EPost) .
* @param sndng
* @return

@ -973,7 +973,7 @@ public class SndngBean extends AbstractComponent {
mdfcnSndng.setSndngSttsCd("01"); // 발송 상태 코드(FIM049) - 01 발송 대기
mdfcnSndng.setSndngId(sndng.getSndngId()); // 발송 ID
rtnScs = sndngMapper.updateEPostSndng(mdfcnSndng); // 전자우편 발송 내역 수정
rtnScs = sndngMapper.updateEPostSndng(mdfcnSndng); // 전자우편 발송 내역 수정
if (!rtnScs) {
throw new RuntimeException("우편통합 발송 작업중 발송 내역 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
@ -1008,18 +1008,18 @@ public class SndngBean extends AbstractComponent {
String recevDocCd4 = "";
String recevDocCd5 = "";
if (sndngInfo.string("TASK_SE_CD").equals("DPV") || sndngInfo.string("TASK_SE_CD").equals("ECA")) {
if ("DPV,ECA".contains(sndngInfo.string("TASK_SE_CD"))) {
recevDocCd1 = "납부(" + infoSndngSeNm + ")서 영수증"; // 문서종류1
recevDocCd2 = vltnInfo.string("TASK_SE_NM") + " " + vltnInfo.string("VLTN_ARTCL"); // 문서종류2
recevDocCd3 = "[" + infoSndngSeNm + "]"; // 문서종류3
recevDocCd4 = "[" + "시세외" + "]" + sndngInfo.string("TXITM_NM"); // 문서종류4
recevDocCd5 = "영수필통지서"; // 문서종류5
} else {
recevDocCd1 = ""; // 문서종류1
recevDocCd2 = ""; // 문서종류2
recevDocCd3 = ""; // 문서종류3
recevDocCd4 = ""; // 문서종류4
recevDocCd5 = "영수필통지서"; // 문서종류5
recevDocCd1 = ""; // 문서종류1
recevDocCd2 = ""; // 문서종류2
recevDocCd3 = ""; // 문서종류3
recevDocCd4 = ""; // 문서종류4
recevDocCd5 = "영수필통지서"; // 문서종류5
}
// 과목명
@ -1047,17 +1047,17 @@ public class SndngBean extends AbstractComponent {
EpostRcptDtl epostRcptDtl = new EpostRcptDtl();
// 발송 상세 및 단속, 납부자, 부과 정보 조회
DataObject sndngDtlInfo = sndngDtlMapper.selectSndngDtlLevyInfo(sndngTrgts.get(iLoop).string("SNDNG_DTL_ID"));
DataObject sndngDtlInfo = sndngDtlMapper.selectSndngDtlInfo(new SndbQuery().setSndngDtlId(sndngTrgts.get(iLoop).string("SNDNG_DTL_ID")));
// 가상계좌취득 자료가 아니면 다음 자료로..
if (!sndngDtlInfo.string("SNDNG_DTL_STTS_CD").equals("02")) {
if (!rtnScs) {
throw new RuntimeException("우편통합 발송 작업중 발송상세 상태코드가 가상계좌취득이 아닌 자료를 발견되었습니다."); // 예외를 발생시켜서 DB Rollback
}
// continue;
throw new RuntimeException("우편통합 발송 작업중 발송상세 상태코드가 가상계좌취득이 아닌 자료를 발견되었습니다."); // 예외를 발생시켜서 DB Rollback
}
// 고지번호
String becevBillNumber = "";
if (sndngDtlInfo.string("SNDNG_SE_CD").equals("01") || sndngDtlInfo.string("SNDNG_SE_CD").equals("02")) {
if ("01,02".contains(sndngDtlInfo.string("SNDNG_SE_CD"))) {
becevBillNumber = "";
} else {
becevBillNumber = "고지번호:" + sndngDtlInfo.string("FYR") + "-" + sndngDtlInfo.string("LEVY_NO");
@ -1105,7 +1105,6 @@ public class SndngBean extends AbstractComponent {
afterSumAmt = 0;
} else {
afterPcptax = sndngDtlInfo.number("PCPTAX").intValue(); // 납기후 본세
if (afterSumAmt > afterPcptax) { // 납기후 금액이 본세보다 크다면..
afterAdamt = sndngDtlInfo.number("DUDT_AFTR_AMT").intValue() - sndngDtlInfo.number("PCPTAX").intValue();
} else if (afterSumAmt < afterPcptax) { // 납기후 금액이 본세보다 작다면 오류..
@ -1118,86 +1117,25 @@ public class SndngBean extends AbstractComponent {
}
// OCR Band
String band1 = "";
String band2 = "";
String band3 = "";
String band4 = "";
String band5 = "";
String band6 = "";
if (sndngDtlInfo.string("SNDNG_SE_CD").equals("11") || sndngDtlInfo.string("SNDNG_SE_CD").equals("12")) { // 계도장
band1 = "";
band2 = "";
band3 = "";
band4 = "";
band5 = "";
band6 = "";
} else if (ctpvCode.equals("11")) { // 서울
band1 = sndngDtlInfo.string("TAX_NO");
band2 = "";
band3 = "";
band4 = "";
band5 = "";
band6 = "";
String ocr0 = "";
String ocr1 = "";
String ocr2 = "";
if ("11,12".contains(sndngDtlInfo.string("SNDNG_SE_CD"))) { // 계도장
ocr0 = "";
ocr1 = "";
ocr2 = "";
} else if (ctpvCode.equals("11")) { // 서울
ocr0 = sndngDtlInfo.string("TAX_NO");
ocr1 = "";
ocr2 = "";
} else {
String levySeCd = ""; // OCR 부과구분코드
String ocrVrfcCode = ""; // OCR 검증코드
// OCR 1번째 줄 54
// band1 = 부서코드 + 회계연도 + 회계구분 + 세목코드 + 고지번호 + 분납순번
band1 = sndngDtlInfo.string("DEPT_CD") + sndngDtlInfo.string("SPCL_BIZ_CD")
+ sndngDtlInfo.string("FYR")
+ sndngDtlInfo.string("ACNTG_SE_CD")
+ sndngDtlInfo.string("TXITM_CD")
+ sndngDtlInfo.string("LEVY_NO")
+ sndngDtlInfo.string("INSPY_NO");
ocrVrfcCode = getOcrVrfcCode("12357", band1, 31);
band1 = band1 + ocrVrfcCode;
// 1=정기분 2=수시분
if (sndngDtlInfo.string("LEVY_SE_CD").equals("01")) {
levySeCd = "1" ;
} else if (sndngDtlInfo.string("LEVY_SE_CD").equals("02")) {
levySeCd = "2" ;
} else {
levySeCd = "2" ;
}
// band2 = 부과구분코드 + 합계금액 + 납기일자 + "0"
band2 = levySeCd
+ String.format("%011d", sumAmt)
+ sndngDtlInfo.string("DUDT_YMD")
+ "0";
ocrVrfcCode = getOcrVrfcCode("23571", band1 + band2, 53);
band2 = band2 + ocrVrfcCode;
// OCR 2번째줄 54
// band3 = 국세 + 국세요율(납기후에 추가되는 가산금의 비율) + 시도세 + 시도세요율 + 시군구세 + 시군구세요율
band3 = "0000000000"
+ "00"
+ "0000000000"
+ "00"
+ String.format("%011d", sumAmt)
+ "00";
ocrVrfcCode = getOcrVrfcCode("35712", band3, 36);
// band4 = 부과월 + 납기후처리 + 납기후금액(12자리)
// 0=납기후 수납가능, 1=납기후 수납불가, 2=납기 무관, 7~9=납기후 수납가능
band4 = sndngDtlInfo.string("DUDT_YMD").substring(4, 6)
+ "1"
+ String.format("%012d", afterSumAmt);
ocrVrfcCode = getOcrVrfcCode("57123", band3 + band4, 52);
band4 = band4 + ocrVrfcCode;
// band5 = 전체 합산해서 검코드 구하기용, 사용하지는 않음
band5 = band1 + band2 + band3 + band4;
ocrVrfcCode = getOcrVrfcCode("71235", band5, 107);
band5 = band5 + ocrVrfcCode;
// band6
band6 = band3 + band4 + ocrVrfcCode;
// TAX_NO = 부서코드(7) + 특별회계사업코드(4) + 회계연도(4) + 회계구분(2) + 세목코드(6) + 고지번호(6) + 분납순번(2)
ocr0 = sndngDtlInfo.string("TAX_NO") + CmmnUtil.getOcrVrfcCode("12357", sndngDtlInfo.string("TAX_NO"), 31);
ocr1 = CmmnUtil.getOcrband2(ocr0, sndngDtlInfo.string("LEVY_SE_CD"), sumAmt, sndngDtlInfo.string("DUDT_YMD"));
ocr2 = CmmnUtil.getOcrband3(ocr1, sumAmt, sndngDtlInfo.string("DUDT_YMD"), afterSumAmt);
}
// 전자우편 접수 상세 set ///////////////////////////////////////////////
// 전자우편 접수 상세 /////////////////////////////////////////////////////
// CON_KEY
epostRcptDtl.setConKey(conKey);
// 등기번호
@ -1243,19 +1181,19 @@ public class SndngBean extends AbstractComponent {
// 법조항
epostRcptDtl.setRecevLaws(vltnInfo.string("VLTN_LAW_NM") + " " + vltnInfo.string("VLTN_LAW1") + " " + vltnInfo.string("VLTN_LAW2"));
// 납부번호
if (band1.equals("")) {
epostRcptDtl.setRecevPayNumber1(""); // 납부번호1
epostRcptDtl.setRecevPayNumber2(""); // 납부번호2
if (ocr0.equals("")) {
epostRcptDtl.setRecevPayNumber1(""); // 납부번호1
epostRcptDtl.setRecevPayNumber2(""); // 납부번호2
} else {
epostRcptDtl.setRecevPayNumber1(band1.substring(0, 17)); // 납부번호1
epostRcptDtl.setRecevPayNumber2(band1.substring(17)); // 납부번호2
epostRcptDtl.setRecevPayNumber1(sndngDtlInfo.string("TAX_NO").substring(0, 17)); // 납부번호1
epostRcptDtl.setRecevPayNumber2(sndngDtlInfo.string("TAX_NO").substring(17)); // 납부번호2
}
// OCR0
epostRcptDtl.setRecevOcr0(band1);
epostRcptDtl.setRecevOcr0(ocr0);
// OCR1
epostRcptDtl.setRecevOcr1(band1 + band2);
epostRcptDtl.setRecevOcr1(ocr1);
// OCR2
epostRcptDtl.setRecevOcr2(band6);
epostRcptDtl.setRecevOcr2(ocr2);
// 전자 납부번호
epostRcptDtl.setRecevOnlinePayNumber(sndngDtlInfo.string("EPAYNO"));
// 가상계좌
@ -1382,13 +1320,13 @@ public class SndngBean extends AbstractComponent {
}
if (jLoop == 0) {
epostRcptDtl.setRecevPhotoFilename1(fileName); // 사진파일명1
epostRcptDtl.setRecevPhotoFilename1(fileName); // 사진파일명1
} else if (jLoop == 1) {
epostRcptDtl.setRecevPhotoFilename2(fileName); // 사진파일명2
epostRcptDtl.setRecevPhotoFilename2(fileName); // 사진파일명2
} else if (jLoop == 2) {
epostRcptDtl.setRecevPhotoFilename3(fileName); // 사진파일명3
epostRcptDtl.setRecevPhotoFilename3(fileName); // 사진파일명3
} else if (jLoop == 3) {
epostRcptDtl.setRecevPhotoFilename4(fileName); // 사진파일명4
epostRcptDtl.setRecevPhotoFilename4(fileName); // 사진파일명4
}
}
}
@ -1401,58 +1339,13 @@ public class SndngBean extends AbstractComponent {
}
// 11. 발송상세 내역을 수정한다.
// 우편통합 발송에 사용되었던 최신 단속,부과,납부자 정보로 -> 발송상세 정보를 업데이트한다.
SndngDtl sndngDtl = new SndngDtl();
sndngDtl.setConKey(conKey); // 외부연계식별키
sndngDtl.setRgNo(rgstNmbr); // 등기 번호
sndngDtl.setSndngDtlSttsCd("03"); // 발송 상세 상태 코드(FIM050) - 03 발송
sndngDtl.setRcpnNm(sndngDtlInfo.string("RTPYR_NM")); // 납부자 명
sndngDtl.setRcpnBrdt(sndngDtlInfo.string("RTPYR_BRDT")); // 납부자 생년월일
sndngDtl.setRcpnAddr(sndngDtlInfo.string("ADDR")); // 주소
sndngDtl.setRcpnDtlAddr(sndngDtlInfo.string("DTL_ADDR")); // 상세 주소
sndngDtl.setRcpnZip(sndngDtlInfo.string("ZIP")); // 우편번호
sndngDtl.setCrdnDt(sndngDtlInfo.string("CRDN_YMD_TM_MASK")); // 단속 일시
sndngDtl.setVhrno(sndngDtlInfo.string("VHRNO")); // 차량번호
sndngDtl.setCrdnStdgNm(sndngDtlInfo.string("CRDN_STDG_NM")); // 단속 법정동
sndngDtl.setCrdnPlc(crdnPlc); // 단속 장소
sndngDtl.setFyr(sndngDtlInfo.string("FYR"));
sndngDtl.setLevyNo(sndngDtlInfo.string("LEVY_NO"));
sndngDtl.setLevyYmd(sndngDtlInfo.string("LEVY_YMD"));
sndngDtl.setDudtYmd(sndngDtlInfo.string("DUDT_YMD"));
sndngDtl.setDudtAftrYmd(sndngDtlInfo.string("DUDT_AFTR_YMD"));
sndngDtl.setFfnlgAmt(sndngDtlInfo.number("FFNLG_AMT").intValue());
sndngDtl.setPcptax(pcptax);
sndngDtl.setAdamt(adamt);
sndngDtl.setSumAmt(sumAmt);
sndngDtl.setDudtAftrAmt(afterSumAmt);
sndngDtl.setTaxNo(band1);
sndngDtl.setEpayno(sndngDtlInfo.string("EPAYNO"));
sndngDtl.setBankNm(sndngDtlInfo.string("BANK_NM"));
sndngDtl.setVrActno(sndngDtlInfo.string("VR_ACTNO"));
sndngDtl.setBankNm2(sndngDtlInfo.string("BANK_NM2"));
sndngDtl.setVrActno2(sndngDtlInfo.string("VR_ACTNO2"));
sndngDtl.setBankNm3(sndngDtlInfo.string("BANK_NM3"));
sndngDtl.setVrActno3(sndngDtlInfo.string("VR_ACTNO3"));
sndngDtl.setBankNm4(sndngDtlInfo.string("BANK_NM4"));
sndngDtl.setVrActno4(sndngDtlInfo.string("VR_ACTNO4"));
sndngDtl.setBankNm5(sndngDtlInfo.string("BANK_NM5"));
sndngDtl.setVrActno5(sndngDtlInfo.string("VR_ACTNO5"));
sndngDtl.setBankNm6(sndngDtlInfo.string("BANK_NM6"));
sndngDtl.setVrActno6(sndngDtlInfo.string("VR_ACTNO6"));
sndngDtl.setBankNm7(sndngDtlInfo.string("BANK_NM7"));
sndngDtl.setVrActno7(sndngDtlInfo.string("VR_ACTNO7"));
sndngDtl.setBankNm8(sndngDtlInfo.string("BANK_NM8"));
sndngDtl.setVrActno8(sndngDtlInfo.string("VR_ACTNO8"));
sndngDtl.setBankNm9(sndngDtlInfo.string("BANK_NM9"));
sndngDtl.setVrActno9(sndngDtlInfo.string("VR_ACTNO9"));
sndngDtl.setBankNm10(sndngDtlInfo.string("BANK_NM10"));
sndngDtl.setVrActno10(sndngDtlInfo.string("VR_ACTNO10"));
sndngDtl.setBankNm11(sndngDtlInfo.string("BANK_NM11"));
sndngDtl.setVrActno11(sndngDtlInfo.string("VR_ACTNO11"));
sndngDtl.setSndngDtlId(sndngDtlInfo.string("SNDNG_DTL_ID"));
rtnScs = sndngDtlMapper.updateSndngDtlEPost(sndngDtl); // 전자우편 발송상세 내역 수정
rtnScs = sndngDtlMapper.updateSndngDtlEPost(sndngDtl); // 전자우편 발송상세 내역 수정
if (!rtnScs) {
throw new RuntimeException("우편통합 발송 작업중 전자우편 상세 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
@ -1463,29 +1356,4 @@ public class SndngBean extends AbstractComponent {
return rtnMsg;
}
/**OCR .
* @param vrfcCode
* ocrData OCR
* bgngPstn
* totalLength OCR
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public static String getOcrVrfcCode(String vrfcCode, String strData, int totalLength) {
int temp = 0;
int cdTemp = 0;
String retCode = "";
for (int iLoop = 0; iLoop < totalLength; iLoop++) {
temp = (iLoop + vrfcCode.length()) % vrfcCode.length();
cdTemp = cdTemp + (Integer.valueOf(strData.substring(iLoop, iLoop + 1)) * Integer.valueOf(vrfcCode.substring(temp, temp + 1)));
}
retCode = String.valueOf(cdTemp % 10);
return retCode;
}
}

@ -359,6 +359,8 @@ public class SndngDtlBean extends AbstractComponent {
uptSndngDtl.setRcpnZip(a03.getPyrZip()); // 수령인 우편번호
uptSndngDtl.setFyr(a03.getRsveItem1().substring(11, 15)); // 회계연도
uptSndngDtl.setLevyNo(a03.getRsveItem1().substring(23, 29)); // 부과 번호
uptSndngDtl.setLevyYmd(a03.getOpnSbmsnTermBgngYmd()); // 부과 일자
uptSndngDtl.setDudtYmd(a03.getOpnSbmsnTermEndYmd()); // 납기 일자
uptSndngDtl.setFfnlgAmt(Integer.parseInt(a03.getFinScrgAmt())); // 과태료 금액
uptSndngDtl.setPcptax(Integer.parseInt(a03.getFinScrgAmt()) - Integer.parseInt(a03.getBfRdtAmt())); // 본세
uptSndngDtl.setAdamt(0); // 가산금

@ -83,9 +83,6 @@ public class SndngServiceBean extends AbstractServiceBean implements SndngServic
return sndngBean.getSndngList(req);
}
@Override
public String createSndngLink(Sndng sndng) {
return sndngBean.createEPost(sndng);

@ -302,115 +302,6 @@
ORDER BY SNDNG_DTL_ID
</select>
<select id="selectSndngDtlLevyInfo" parameterType="string" resultType="dataobject">/* 발송 상세 및 부과 객체 가져오기(sndngDtlMapper.selectSndngDtlLevyInfo) */
SELECT SD.SNDNG_DTL_ID <!-- 발송 상세 ID -->
, SD.SNDNG_ID <!-- 발송 ID -->
, SD.SVBTC_ID <!-- 공시송달 ID -->
, SD.SNDNG_YMD <!-- 발송 일자 -->
, SD.SNDNG_END_YMD <!-- 발송 종료 일자 -->
, SD.CON_KEY <!-- 외부연계식별키 -->
, SD.RG_NO <!-- 등기 번호 -->
, SD.SNDNG_DTL_STTS_CD <!-- 발송 상세 상태 코드 -->
, SD.SNDNG_RCVMT_CD <!-- 발송 수납 코드 -->
, SD.ADDR_CHG_CD <!-- 주소 변경 코드 -->
, SD.REG_DT <!-- 등록 일시 -->
, (SELECT GET_CODE_NM('FIM050', SD.SNDNG_DTL_STTS_CD) FROM DUAL) AS SNDNG_DTL_STTS_NM <!-- 발송 상세 상태 명 -->
, (SELECT GET_CODE_NM('FIM051', SD.SNDNG_RCVMT_CD) FROM DUAL) AS SNDNG_RCVMT_NM <!-- 발송 수납 명 -->
, C.CRDN_ID <!-- 단속 ID -->
, C.VHRNO <!-- 차량번호 -->
, C.CRDN_STDG_NM <!-- 단속 법정동 명 -->
, C.CRDN_PLC <!-- 단속 장소 -->
, C.FFNLG_CRDN_AMT <!-- 과태료 단속 금액 -->
, C.CRDN_STTS_CD <!-- 단속 상태 코드 -->
, (GET_MASK_DATETIME(C.CRDN_YMD, '-', C.CRDN_TM, ':')) AS CRDN_YMD_TM_MASK <!-- 단속 일시 마스크 -->
, (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM <!-- 단속 상태 명 -->
, P.RTPYR_ID <!-- 납부자 ID -->
, P.RTPYR_NO <!-- 납부자 번호 -->
, P.RTPYR_NM <!-- 납부자 명 -->
, P.RTPYR_BRDT <!-- 납부자 생년월일 -->
, P.ADDR <!-- 주소 -->
, P.DTL_ADDR <!-- 상세 주소 -->
, P.ZIP <!-- 우편번호 -->
, L.LEVY_ID <!-- 부과 ID -->
, L.DEPT_CD <!-- 부서 코드 -->
, L.SPCL_BIZ_CD <!-- 특별회계 사업 코드 -->
, L.FYR <!-- 회계연도 -->
, L.ACNTG_SE_CD <!-- 회계 구분 코드 -->
, L.TXITM_CD <!-- 세목 코드 -->
, L.OPER_ITEM_CD <!-- 운영 항목 코드 -->
, L.LEVY_NO <!-- 부과 번호 -->
, L.INSPY_NO <!-- 분납 번호 -->
, L.LEVY_SE_CD <!-- 부과 구분 코드 -->
, L.LEVY_YMD <!-- 부과 일자 -->
, L.FRST_DUDT_YMD <!-- 최초 납기 일자 -->
, L.DUDT_YMD <!-- 납기 일자 -->
, L.DUDT_AFTR_YMD <!-- 납기 후 일자 -->
, L.FFNLG_AMT <!-- 과태료 금액 -->
, L.LEVY_PCPTAX <!-- 부과 본세 -->
, L.LEVY_ADAMT <!-- 부과 가산금 -->
, L.INSPY_INT <!-- 분납 이자 -->
, L.LEVY_PCPTAX <!-- 부과 본세 -->
, L.LEVY_ADAMT <!-- 부과 가산금 -->
, L.INSPY_INT <!-- 분납 이자 -->
, L.RCVMT_PCPTAX <!-- 수납 본세 -->
, L.RCVMT_ADAMT <!-- 수납 가산금 -->
, L.RDCAMT_PCPTAX <!-- 감액 본세 -->
, L.RDCAMT_ADAMT <!-- 감액 가산금 -->
, L.SUM_AMT <!-- 합계 금액 -->
, L.EPAYNO <!-- 전자납부번호 -->
, L.BANK_NM <!-- 은행 명 -->
, L.VR_ACTNO <!-- 가상 계좌번호 -->
, L.BANK_NM2 <!-- 은행 명2 -->
, L.VR_ACTNO2 <!-- 가상 계좌번호2 -->
, L.BANK_NM3 <!-- 은행 명3 -->
, L.VR_ACTNO3 <!-- 가상 계좌번호3 -->
, L.BANK_NM4 <!-- 은행 명4 -->
, L.VR_ACTNO4 <!-- 가상 계좌번호4 -->
, L.BANK_NM5 <!-- 은행 명5 -->
, L.VR_ACTNO5 <!-- 가상 계좌번호5 -->
, L.BANK_NM6 <!-- 은행 명6 -->
, L.VR_ACTNO6 <!-- 가상 계좌번호6 -->
, L.BANK_NM7 <!-- 은행 명7 -->
, L.VR_ACTNO7 <!-- 가상 계좌번호7 -->
, L.BANK_NM8 <!-- 은행 명8 -->
, L.VR_ACTNO8 <!-- 가상 계좌번호8 -->
, L.BANK_NM9 <!-- 은행 명9 -->
, L.VR_ACTNO9 <!-- 가상 계좌번호9 -->
, L.BANK_NM10 <!-- 은행 명10 -->
, L.VR_ACTNO10 <!-- 가상 계좌번호10 -->
, L.BANK_NM11 <!-- 은행 명11 -->
, L.VR_ACTNO11 <!-- 가상 계좌번호11 -->
, L.BANK_NM12 <!-- 은행 명 12 -->
, L.VR_ACTNO12 <!-- 가상 계좌번호 12 -->
, L.BANK_NM13 <!-- 은행 명 13 -->
, L.VR_ACTNO13 <!-- 가상 계좌번호 13 -->
, L.BANK_NM14 <!-- 은행 명 14 -->
, L.VR_ACTNO14 <!-- 가상 계좌번호 14 -->
, L.BANK_NM15 <!-- 은행 명 15 -->
, L.VR_ACTNO15 <!-- 가상 계좌번호 15 -->
, L.BANK_NM16 <!-- 은행 명 16 -->
, L.VR_ACTNO16 <!-- 가상 계좌번호 16 -->
, L.BANK_NM17 <!-- 은행 명 17 -->
, L.VR_ACTNO17 <!-- 가상 계좌번호 17 -->
, L.BANK_NM18 <!-- 은행 명 18 -->
, L.VR_ACTNO18 <!-- 가상 계좌번호 18 -->
, L.BANK_NM19 <!-- 은행 명 19 -->
, L.VR_ACTNO19 <!-- 가상 계좌번호 19 -->
, L.BANK_NM20 <!-- 은행 명 20 -->
, L.VR_ACTNO20 <!-- 가상 계좌번호 20 -->
, (L.LEVY_PCPTAX - L.RCVMT_PCPTAX - L.RDCAMT_PCPTAX) AS PCPTAX <!-- 본세 -->
, (L.LEVY_ADAMT - L.RCVMT_ADAMT - L.RDCAMT_ADAMT) AS ADAMT <!-- 가산금 -->
, (GET_MASK_DATE(L.LEVY_YMD, '.')) AS LEVY_YMD_MASK <!-- 부과 일자 마스크 -->
, (GET_MASK_DATE(L.DUDT_YMD, '.')) AS DUDT_YMD_MASK <!-- 납기 일자 마스크 -->
, (GET_MASK_DATE(L.DUDT_YMD, 'K')) AS DUDT_YMD_MASK_KOR <!-- 납기 일자 마스크 -->
, (GET_MASK_DATE(L.DUDT_AFTR_YMD, '.')) AS DUDT_AFTR_YMD_MASK <!-- 납기 후 일자 마스크 -->
FROM TB_SNDNG_DTL SD
INNER JOIN TB_CRDN C ON (SD.CRDN_ID = C.CRDN_ID)
INNER JOIN TB_PAYER P ON (C.RTPYR_ID = P.RTPYR_ID)
INNER JOIN TB_LEVY L ON (C.CRDN_ID = L.CRDN_ID AND L.DEL_YN = 'N')
WHERE SD.SNDNG_DTL_ID = #{sndngDtlId}
</select>
<insert id="insertSndngDtl" parameterType="map">/* 발송 상세 등록(sndngDtlMapper.insertSndngDtl) */
<selectKey resultType="string" keyProperty="sndngDtl.sndngDtlId" keyColumn="NEW_ID" order="BEFORE">
SELECT LPAD(CAST(IFNULL(MAX(SNDNG_DTL_ID) + 1, 1) AS INT), 10, '0') AS NEW_ID
@ -783,74 +674,13 @@
<update id="updateSndngDtlEPost" parameterType="map">/* 전자우편 발송상세 내역 수정(sndngDtlMapper.updateSndngDtlEPost) */
UPDATE TB_SNDNG_DTL
SET CON_KEY = #{sndngDtl.conKey} <!-- 외부연계식별키 -->
, RG_NO = #{sndngDtl.rgNo} <!-- 등기 번호 -->
, BFR_SNDNG_DTL_STTS_CD= SNDNG_DTL_STTS_CD <!-- 이전 발송 상세 상태 코드 -->
, SNDNG_DTL_STTS_CD = #{sndngDtl.sndngDtlSttsCd} <!-- 발송 상세 상태 코드 -->
, RCPN_NM = #{sndngDtl.rcpnNm} <!-- 납부자 명 -->
, RCPN_BRDT = #{sndngDtl.rcpnBrdt} <!-- 납부자 생년월일 -->
, RCPN_ADDR = #{sndngDtl.rcpnAddr} <!-- 납부자 주소 -->
, RCPN_DTL_ADDR = #{sndngDtl.rcpnDtlAddr} <!-- 납부자 상세 주소 -->
, RCPN_ZIP = #{sndngDtl.rcpnZip} <!-- 납부자 우편번호 -->
, CRDN_DT = #{sndngDtl.crdnDt} <!-- 단속 일시 -->
, VHRNO = #{sndngDtl.vhrno} <!-- 차량번호 -->
, CRDN_STDG_NM = #{sndngDtl.crdnStdgNm} <!-- 단속 법정동 명 -->
, CRDN_PLC = #{sndngDtl.crdnPlc} <!-- 단속 장소 -->
, FYR = #{sndngDtl.fyr} <!-- 회계연도 -->
, LEVY_NO = #{sndngDtl.levyNo} <!-- 부과 번호 -->
, LEVY_YMD = #{sndngDtl.levyYmd} <!-- 부과 일자 -->
, DUDT_YMD = #{sndngDtl.dudtYmd} <!-- 납기 일자 -->
, DUDT_AFTR_YMD = #{sndngDtl.dudtAftrYmd} <!-- 납기 후 일자 -->
, FFNLG_AMT = #{sndngDtl.ffnlgAmt} <!-- 과태료 금액 -->
, PCPTAX = #{sndngDtl.pcptax} <!-- 본세 -->
, ADAMT = #{sndngDtl.adamt} <!-- 가산금 -->
, SUM_AMT = #{sndngDtl.sumAmt} <!-- 합계 금액 -->
, DUDT_AFTR_AMT = #{sndngDtl.dudtAftrAmt} <!-- 납기 후 금액 -->
, TAX_NO = #{sndngDtl.taxNo} <!-- 납세 번호 -->
, EPAYNO = #{sndngDtl.epayno} <!-- 전자납부번호 -->
, BANK_NM = #{sndngDtl.bankNm} <!-- 은행 명 -->
, VR_ACTNO = #{sndngDtl.vrActno} <!-- 가상 계좌번호 -->
, BANK_NM2 = #{sndngDtl.bankNm2} <!-- 은행 명2 -->
, VR_ACTNO2 = #{sndngDtl.vrActno2} <!-- 가상 계좌번호2 -->
, BANK_NM3 = #{sndngDtl.bankNm3} <!-- 은행 명3 -->
, VR_ACTNO3 = #{sndngDtl.vrActno3} <!-- 가상 계좌번호3 -->
, BANK_NM4 = #{sndngDtl.bankNm4} <!-- 은행 명4 -->
, VR_ACTNO4 = #{sndngDtl.vrActno4} <!-- 가상 계좌번호4 -->
, BANK_NM5 = #{sndngDtl.bankNm5} <!-- 은행 명5 -->
, VR_ACTNO5 = #{sndngDtl.vrActno5} <!-- 가상 계좌번호5 -->
, BANK_NM6 = #{sndngDtl.bankNm6} <!-- 은행 명6 -->
, VR_ACTNO6 = #{sndngDtl.vrActno6} <!-- 가상 계좌번호6 -->
, BANK_NM7 = #{sndngDtl.bankNm7} <!-- 은행 명7 -->
, VR_ACTNO7 = #{sndngDtl.vrActno7} <!-- 가상 계좌번호7 -->
, BANK_NM8 = #{sndngDtl.bankNm8} <!-- 은행 명8 -->
, VR_ACTNO8 = #{sndngDtl.vrActno8} <!-- 가상 계좌번호8 -->
, BANK_NM9 = #{sndngDtl.bankNm9} <!-- 은행 명9 -->
, VR_ACTNO9 = #{sndngDtl.vrActno9} <!-- 가상 계좌번호9 -->
, BANK_NM10 = #{sndngDtl.bankNm10} <!-- 은행 명10 -->
, VR_ACTNO10 = #{sndngDtl.vrActno10} <!-- 가상 계좌번호10 -->
, BANK_NM11 = #{sndngDtl.bankNm11} <!-- 은행 명11 -->
, VR_ACTNO11 = #{sndngDtl.vrActno11} <!-- 가상 계좌번호11 -->
, BANK_NM12 = #{sndngDtl.bankNm12} <!-- 은행 명 12 -->
, VR_ACTNO12 = #{sndngDtl.vrActno12} <!-- 가상 계좌번호 12 -->
, BANK_NM13 = #{sndngDtl.bankNm13} <!-- 은행 명 13 -->
, VR_ACTNO13 = #{sndngDtl.vrActno13} <!-- 가상 계좌번호 13 -->
, BANK_NM14 = #{sndngDtl.bankNm14} <!-- 은행 명 14 -->
, VR_ACTNO14 = #{sndngDtl.vrActno14} <!-- 가상 계좌번호 14 -->
, BANK_NM15 = #{sndngDtl.bankNm15} <!-- 은행 명 15 -->
, VR_ACTNO15 = #{sndngDtl.vrActno15} <!-- 가상 계좌번호 15 -->
, BANK_NM16 = #{sndngDtl.bankNm16} <!-- 은행 명 16 -->
, VR_ACTNO16 = #{sndngDtl.vrActno16} <!-- 가상 계좌번호 16 -->
, BANK_NM17 = #{sndngDtl.bankNm17} <!-- 은행 명 17 -->
, VR_ACTNO17 = #{sndngDtl.vrActno17} <!-- 가상 계좌번호 17 -->
, BANK_NM18 = #{sndngDtl.bankNm18} <!-- 은행 명 18 -->
, VR_ACTNO18 = #{sndngDtl.vrActno18} <!-- 가상 계좌번호 18 -->
, BANK_NM19 = #{sndngDtl.bankNm19} <!-- 은행 명 19 -->
, VR_ACTNO19 = #{sndngDtl.vrActno19} <!-- 가상 계좌번호 19 -->
, BANK_NM20 = #{sndngDtl.bankNm20} <!-- 은행 명 20 -->
, VR_ACTNO20 = #{sndngDtl.vrActno20} <!-- 가상 계좌번호 20 -->
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
, MDFR = #{sndngDtl.modifiedBy} <!-- 수정자 -->
WHERE SNDNG_DTL_ID = #{sndngDtl.sndngDtlId} <!-- 발송 상세 ID -->
SET BFR_SNDNG_DTL_STTS_CD= SNDNG_DTL_STTS_CD <!-- 이전 발송 상세 상태 코드 -->
, SNDNG_DTL_STTS_CD = #{sndngDtl.sndngDtlSttsCd} <!-- 발송 상세 상태 코드 -->
, CON_KEY = #{sndngDtl.conKey} <!-- 외부연계식별키 -->
, RG_NO = #{sndngDtl.rgNo} <!-- 등기 번호 -->
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
, MDFR = #{sndngDtl.modifiedBy} <!-- 수정자 -->
WHERE SNDNG_DTL_ID = #{sndngDtl.sndngDtlId} <!-- 발송 상세 ID -->
AND DEL_YN = 'N'
</update>

@ -330,7 +330,7 @@
dialog.alert({
content : showMessage
, onOK : () => { $P.refreshList(); } // 자료 재조회
, onOK : () => { $P.refreshList(); } // 자료 재조회
});
}
});
@ -357,7 +357,7 @@
dialog.alert({
content : showMessage
, onOK : () => { }
, onOK : () => { $P.refreshList(); } // 자료 재조회
});
}
});
@ -487,7 +487,6 @@
});
}
});
}
// 사전통지출력 버튼 이벤트

Loading…
Cancel
Save