|
|
@ -153,7 +153,7 @@ public class SndngBean extends AbstractComponent {
|
|
|
|
// 위반 ID
|
|
|
|
// 위반 ID
|
|
|
|
sndng.setVltnId(sndng.getVltnId());
|
|
|
|
sndng.setVltnId(sndng.getVltnId());
|
|
|
|
// 계고장
|
|
|
|
// 계고장
|
|
|
|
if (sndng.getSndngSeCd().equals("10")) {
|
|
|
|
if (sndng.getSndngSeCd().equals("01")) {
|
|
|
|
sndng.setLevyBgngYmd(null); // 부과 시작 일자
|
|
|
|
sndng.setLevyBgngYmd(null); // 부과 시작 일자
|
|
|
|
sndng.setLevyEndYmd(null); // 부과 종료 일자
|
|
|
|
sndng.setLevyEndYmd(null); // 부과 종료 일자
|
|
|
|
sndng.setDudtYmd(null); // 납기 일자
|
|
|
|
sndng.setDudtYmd(null); // 납기 일자
|
|
|
@ -176,10 +176,10 @@ public class SndngBean extends AbstractComponent {
|
|
|
|
sndng.setSndngSttsCd("00"); // 00 발송 준비
|
|
|
|
sndng.setSndngSttsCd("00"); // 00 발송 준비
|
|
|
|
|
|
|
|
|
|
|
|
// 발송 구분 코드에 따른 처리상태 변경
|
|
|
|
// 발송 구분 코드에 따른 처리상태 변경
|
|
|
|
if (sndng.getSndngSeCd().equals("01")) { // 사전통지서
|
|
|
|
if (sndng.getSndngSeCd().equals("01")) { // 계고장
|
|
|
|
newCrdnSttsCd = "42"; // 단속 상태 코드 - 42 사전통지 발송
|
|
|
|
newCrdnSttsCd = "84"; // 단속 상태 코드 - 84 계고장 출력 완료
|
|
|
|
} else if (sndng.getSndngSeCd().equals("10")) { // 계고장
|
|
|
|
} else if (sndng.getSndngSeCd().equals("02")) { // 사전통지서
|
|
|
|
newCrdnSttsCd = "84"; // 단속 상태 코드 - 84 계고장 출력 완료
|
|
|
|
newCrdnSttsCd = "42"; // 단속 상태 코드 - 42 사전통지 발송
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
newCrdnSttsCd = "";
|
|
|
|
newCrdnSttsCd = "";
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -204,8 +204,12 @@ public class SndngBean extends AbstractComponent {
|
|
|
|
throw new RuntimeException("발송 상세 등록 작업중 납부자 정보가 확인되지 않았습니다." + "<p>차량번호 : " + infoCrdnPayer.string("VHRNO"));
|
|
|
|
throw new RuntimeException("발송 상세 등록 작업중 납부자 정보가 확인되지 않았습니다." + "<p>차량번호 : " + infoCrdnPayer.string("VHRNO"));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 사전통지 발송 등록시 부과대장 등록 /////////////////////////////////////////
|
|
|
|
if (sndng.getSndngSeCd().equals("01")) { // 계고장
|
|
|
|
if (sndng.getSndngSeCd().equals("01")) { // 사전통지
|
|
|
|
ffnlgAmt = infoCrdnPayer.number("FFNLG_AMT").intValue(); // 과태료 금액
|
|
|
|
|
|
|
|
levyPcptax = 0; // 부과 본세
|
|
|
|
|
|
|
|
levyAdamt = 0; // 부과 가산금
|
|
|
|
|
|
|
|
levySumAmt = 0; // 부과 합계 금액
|
|
|
|
|
|
|
|
} else if (sndng.getSndngSeCd().equals("02")) { // 사전통지 발송 등록시 부과대장 등록
|
|
|
|
// 세외수입에 등록 후 세외수입에서 감경해야 하므로 사전통보액 80,000 원이 아닌 본 부과액 100,000 원으로 등록한다.
|
|
|
|
// 세외수입에 등록 후 세외수입에서 감경해야 하므로 사전통보액 80,000 원이 아닌 본 부과액 100,000 원으로 등록한다.
|
|
|
|
// 세외수입에서 가상계좌를 부여 받은 후 다시 금액이 80,000 원으로 업데이트 된다.
|
|
|
|
// 세외수입에서 가상계좌를 부여 받은 후 다시 금액이 80,000 원으로 업데이트 된다.
|
|
|
|
ffnlgAmt = infoCrdnPayer.number("FFNLG_AMT").intValue(); // 과태료 금액
|
|
|
|
ffnlgAmt = infoCrdnPayer.number("FFNLG_AMT").intValue(); // 과태료 금액
|
|
|
@ -233,18 +237,11 @@ public class SndngBean extends AbstractComponent {
|
|
|
|
throw new RuntimeException("발송 상세 등록 작업중 부과대장 등록에 실패하였습니다.");
|
|
|
|
throw new RuntimeException("발송 상세 등록 작업중 부과대장 등록에 실패하였습니다.");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 부과 ID
|
|
|
|
sndngDtl.setLevyId(levy.getLevyId()); // 부과 ID
|
|
|
|
sndngDtl.setLevyId(levy.getLevyId());
|
|
|
|
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
// 부과 ID
|
|
|
|
sndngDtl.setLevyId(infoCrdnPayer.string("LEVY_ID")); // 부과 ID
|
|
|
|
sndngDtl.setLevyId(infoCrdnPayer.string("LEVY_ID"));
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else if (sndng.getSndngSeCd().equals("10")) { // 계고장
|
|
|
|
} else { // 기타
|
|
|
|
ffnlgAmt = infoCrdnPayer.number("FFNLG_AMT").intValue(); // 과태료 금액
|
|
|
|
|
|
|
|
levyPcptax = 0; // 부과 본세
|
|
|
|
|
|
|
|
levyAdamt = 0; // 부과 가산금
|
|
|
|
|
|
|
|
levySumAmt = 0; // 부과 합계 금액
|
|
|
|
|
|
|
|
} else { // 기타
|
|
|
|
|
|
|
|
ffnlgAmt = infoCrdnPayer.number("FFNLG_AMT").intValue(); // 과태료 금액
|
|
|
|
ffnlgAmt = infoCrdnPayer.number("FFNLG_AMT").intValue(); // 과태료 금액
|
|
|
|
levyPcptax = infoCrdnPayer.number("FFNLG_AMT").intValue(); // 부과 본세
|
|
|
|
levyPcptax = infoCrdnPayer.number("FFNLG_AMT").intValue(); // 부과 본세
|
|
|
|
levyAdamt = 0; // 부과 가산금
|
|
|
|
levyAdamt = 0; // 부과 가산금
|
|
|
@ -252,7 +249,7 @@ public class SndngBean extends AbstractComponent {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 사전통지 발송 등록시 세외수입 연계 자료 등록 ///////////////////////////////////
|
|
|
|
// 사전통지 발송 등록시 세외수입 연계 자료 등록 ///////////////////////////////////
|
|
|
|
if (sndng.getSndngSeCd().equals("01")) { // 사전통지
|
|
|
|
if (sndng.getSndngSeCd().equals("02")) { // 사전통지
|
|
|
|
// 세외수입 매칭 내역(TB_ENIS_MTCHG)
|
|
|
|
// 세외수입 매칭 내역(TB_ENIS_MTCHG)
|
|
|
|
EnisMtchg enisMtchg = new EnisMtchg();
|
|
|
|
EnisMtchg enisMtchg = new EnisMtchg();
|
|
|
|
|
|
|
|
|
|
|
@ -309,20 +306,22 @@ public class SndngBean extends AbstractComponent {
|
|
|
|
throw new RuntimeException("발송 상세 등록에 실패하였습니다.");
|
|
|
|
throw new RuntimeException("발송 상세 등록에 실패하였습니다.");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 단속상태이력(TB_CRDN_STTS_HSTRY)
|
|
|
|
if (!newCrdnSttsCd.equals("")) {
|
|
|
|
CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry();
|
|
|
|
// 단속상태이력(TB_CRDN_STTS_HSTRY)
|
|
|
|
|
|
|
|
CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry();
|
|
|
|
|
|
|
|
|
|
|
|
crdnSttsHstry.setCrdnId(infoCrdnPayer.string("CRDN_ID"));
|
|
|
|
crdnSttsHstry.setCrdnId(infoCrdnPayer.string("CRDN_ID"));
|
|
|
|
crdnSttsHstry.setBfrSttsCd(infoCrdnPayer.string("CRDN_STTS_CD"));
|
|
|
|
crdnSttsHstry.setBfrSttsCd(infoCrdnPayer.string("CRDN_STTS_CD"));
|
|
|
|
crdnSttsHstry.setBfrSttsChgDt(infoCrdnPayer.string("CRDN_STTS_CHG_DT"));
|
|
|
|
crdnSttsHstry.setBfrSttsChgDt(infoCrdnPayer.string("CRDN_STTS_CHG_DT"));
|
|
|
|
crdnSttsHstry.setCrdnSttsCd(newCrdnSttsCd);
|
|
|
|
crdnSttsHstry.setCrdnSttsCd(newCrdnSttsCd);
|
|
|
|
crdnSttsHstry.setTaskDtlId(sndngDtl.getSndngDtlId());
|
|
|
|
crdnSttsHstry.setTaskDtlId(sndngDtl.getSndngDtlId());
|
|
|
|
|
|
|
|
|
|
|
|
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다.
|
|
|
|
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다.
|
|
|
|
retSuccess = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry);
|
|
|
|
retSuccess = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry);
|
|
|
|
if (!retSuccess) {
|
|
|
|
if (!retSuccess) {
|
|
|
|
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
|
|
|
|
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
|
|
|
|
throw new RuntimeException("부과제외 등록 중 단속 대장의 단속상태 변경에 실패하였습니다.");
|
|
|
|
throw new RuntimeException("부과제외 등록 중 단속 대장의 단속상태 변경에 실패하였습니다.");
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -374,28 +373,61 @@ public class SndngBean extends AbstractComponent {
|
|
|
|
// 발송 정보 조회
|
|
|
|
// 발송 정보 조회
|
|
|
|
DataObject infoSndng = sndngMapper.selectSndngInfo(sndng.getSndngId());
|
|
|
|
DataObject infoSndng = sndngMapper.selectSndngInfo(sndng.getSndngId());
|
|
|
|
|
|
|
|
|
|
|
|
if (infoSndng.string("SNDNG_SE_CD").equals("10")) { // 계고장
|
|
|
|
if (infoSndng.string("SNDNG_SE_CD").equals("01")) { // 계고장
|
|
|
|
workId = "E";
|
|
|
|
workId = "E";
|
|
|
|
} else if (infoSndng.string("TASK_SE_CD").equals("DPV")) { // 장애인전용
|
|
|
|
} else if (infoSndng.string("TASK_SE_CD").equals("DPV")) { // 장애인전용
|
|
|
|
if (infoSndng.string("SNDNG_SE_CD").equals("01")) {
|
|
|
|
if (infoSndng.string("SNDNG_SE_CD").equals("02")) { // 사전통지
|
|
|
|
workId = "2";
|
|
|
|
workId = "2";
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
workId = "7";
|
|
|
|
workId = "7";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else if (infoSndng.string("TASK_SE_CD").equals("ECA")) { // 전기차주차
|
|
|
|
} else if (infoSndng.string("TASK_SE_CD").equals("ECA")) { // 전기차주차
|
|
|
|
if (infoSndng.string("SNDNG_SE_CD").equals("01")) {
|
|
|
|
if (infoSndng.string("SNDNG_SE_CD").equals("02")) { // 사전통지
|
|
|
|
workId = "L";
|
|
|
|
workId = "L";
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
workId = "M";
|
|
|
|
workId = "M";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (infoSndng.string("SNDNG_SE_CD").equals("10")) { // 계고장
|
|
|
|
if (infoSndng.string("VLTN_CD").equals("")) {
|
|
|
|
|
|
|
|
jobCd = "01";
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
jobCd = infoSndng.string("VLTN_CD");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (infoSndng.string("SNDNG_SE_CD").equals("01")) { // 계고장
|
|
|
|
jobCd = jobCd + "01";
|
|
|
|
jobCd = jobCd + "01";
|
|
|
|
} else if (infoSndng.string("SNDNG_SE_CD").equals("01")) { // 사전통지
|
|
|
|
} else if (infoSndng.string("SNDNG_SE_CD").equals("02")) { // 사전통지
|
|
|
|
jobCd = jobCd + "02";
|
|
|
|
jobCd = jobCd + "02";
|
|
|
|
|
|
|
|
} else if (infoSndng.string("SNDNG_SE_CD").equals("03")) { // 부과
|
|
|
|
|
|
|
|
jobCd = jobCd + "03";
|
|
|
|
|
|
|
|
} else if (infoSndng.string("SNDNG_SE_CD").equals("04")) { // 독촉
|
|
|
|
|
|
|
|
jobCd = jobCd + "04";
|
|
|
|
|
|
|
|
} else if (infoSndng.string("SNDNG_SE_CD").equals("05")) { // 압류예고
|
|
|
|
|
|
|
|
jobCd = jobCd + "05";
|
|
|
|
|
|
|
|
} else if (infoSndng.string("SNDNG_SE_CD").equals("06")) { // 압류통지
|
|
|
|
|
|
|
|
jobCd = jobCd + "06";
|
|
|
|
|
|
|
|
} else if (infoSndng.string("SNDNG_SE_CD").equals("09")) { // 체납분
|
|
|
|
|
|
|
|
jobCd = jobCd + "09";
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
retMessage = "[E] 작업중 발송구분이 지정되지 않았습니다.";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return retMessage;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// String today = infoSndng.string("TODAY");
|
|
|
|
|
|
|
|
// String seq = sndngMapper.getEpostSenderRegSeq(today, );
|
|
|
|
|
|
|
|
// String conKey = "";
|
|
|
|
|
|
|
|
// sToday := Today;
|
|
|
|
|
|
|
|
// im_seq := Get_EPOST_SENDER_REG_Seq(sToday, CPSystem_Info.TAXELSE_DEP_CODE + '0000');
|
|
|
|
|
|
|
|
// im_con_key := sToday + '-' + CPSystem_Info.TAXELSE_DEP_CODE + '0000' + '-' + im_seq;
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// if regist_gubun = '0' then
|
|
|
|
|
|
|
|
// begin
|
|
|
|
|
|
|
|
// nSeqNo := Get_EPOST_SENDER_DETAIL_Seq(sToday);
|
|
|
|
|
|
|
|
// end;
|
|
|
|
|
|
|
|
|
|
|
|
for (int iLoop = 0; iLoop < sndng.getSndngDtlIDs().length; iLoop++) {
|
|
|
|
for (int iLoop = 0; iLoop < sndng.getSndngDtlIDs().length; iLoop++) {
|
|
|
|
// 전자우편 접수 상세
|
|
|
|
// 전자우편 접수 상세
|
|
|
|
EpostRcptDtl epostRcptDtl = new EpostRcptDtl();
|
|
|
|
EpostRcptDtl epostRcptDtl = new EpostRcptDtl();
|
|
|
|