|
|
|
@ -330,11 +330,8 @@ public class SndngBean extends AbstractBean {
|
|
|
|
|
|
|
|
|
|
// 발송 대장에 등록한다.
|
|
|
|
|
sndng.setDeptCd(userInfo.string("DEPT_CD")); // 부서 코드
|
|
|
|
|
sndng.setVltnId(sndng.getVltnId()); // 위반 ID
|
|
|
|
|
if (sndng.getTnocs() == 1) {
|
|
|
|
|
sndng.setSndngRegSeCd("02"); // 발송 등록 구분 코드 - 개별
|
|
|
|
|
} else {
|
|
|
|
|
sndng.setSndngRegSeCd("01"); // 발송 등록 구분 코드 - 일괄
|
|
|
|
|
if (sndng.getSndngRegSeCd() == null) {
|
|
|
|
|
sndng.setSndngRegSeCd("02"); // 발송 등록 구분 코드(FIM067) - 02: 개별
|
|
|
|
|
}
|
|
|
|
|
if (sndng.getResndYn() == null) {
|
|
|
|
|
sndng.setResndYn("N"); // 재발송 여부
|
|
|
|
@ -342,7 +339,7 @@ public class SndngBean extends AbstractBean {
|
|
|
|
|
if (sndng.getDelYn() == null) {
|
|
|
|
|
sndng.setDelYn("N"); // 삭제 여부
|
|
|
|
|
}
|
|
|
|
|
sndng.setSndngSttsCd("00"); // 발송 상태 코드(FIM049) - 00 발송 준비
|
|
|
|
|
sndng.setSndngSttsCd("00"); // 발송 상태 코드(FIM049) - 00: 발송 준비
|
|
|
|
|
|
|
|
|
|
// 발송(TB_SNDNG) 대장을 등록한다.
|
|
|
|
|
rtnNocs = sndngMapper.insertSndng(sndng);
|
|
|
|
@ -355,7 +352,7 @@ public class SndngBean extends AbstractBean {
|
|
|
|
|
rtnMsg = createAdvntceSndngDtl(sndng, advntceTrgtList.get(iLoop).string("CRDN_ID"));
|
|
|
|
|
// 메시지 확인
|
|
|
|
|
if (!rtnMsg.contains("[S]")) {
|
|
|
|
|
throw new RuntimeException(rtnMsg); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
throw new RuntimeException(rtnMsg.replace("[F]", "사전통지")); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -373,9 +370,9 @@ public class SndngBean extends AbstractBean {
|
|
|
|
|
// 변수 선언
|
|
|
|
|
boolean rtnScs = false; // 처리 결과 여부
|
|
|
|
|
int rtnNocs = -1; // 처리 결과 건수
|
|
|
|
|
String rtnMsg = "[F] "; // 처리 결과 메시지
|
|
|
|
|
String rtnMsg = ""; // 처리 결과 메시지
|
|
|
|
|
|
|
|
|
|
// 단속, 납부자 대장을 조회 한다.
|
|
|
|
|
// 단속(TB_CRDN), 납부자(TB_PAYER), 부과(TB_LEVY) 대장을 조회 한다.
|
|
|
|
|
DataObject crdnPayerInfo = sndngMapper.selectCrdnPayerInfo(crdnId);
|
|
|
|
|
|
|
|
|
|
if (crdnPayerInfo == null) {
|
|
|
|
@ -393,6 +390,22 @@ public class SndngBean extends AbstractBean {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ("BPV,PVS".contains(crdnPayerInfo.string("TASK_SE_CD"))) {
|
|
|
|
|
// 사전 감경부과가 되지 않았다면.. 감경부과를 등록한다.
|
|
|
|
|
if (crdnPayerInfo.string("LEVY_ID").equals("")) {
|
|
|
|
|
Levy levy = new Levy();
|
|
|
|
|
levy.setSggCd(crdnPayerInfo.string("SGG_CD")); // 시군구 코드
|
|
|
|
|
levy.setTaskSeCd(crdnPayerInfo.string("TASK_SE_CD")); // 업무 구분 코드
|
|
|
|
|
levy.setCrdnId(crdnPayerInfo.string("CRDN_ID")); // 단속 ID
|
|
|
|
|
levy.setLevyYmd(sndng.getSndngYmd()); // 부과 일자
|
|
|
|
|
levy.setFrstDudtYmd(sndng.getSndngEndYmd()); // 최초 납기 일자
|
|
|
|
|
levy.setDudtYmd(sndng.getSndngEndYmd()); // 납기 일자
|
|
|
|
|
|
|
|
|
|
// 부과(TB_LEVY) 대장을 등록한다.
|
|
|
|
|
rtnMsg = levyBean.createRductLevy(levy);
|
|
|
|
|
|
|
|
|
|
// 단속(TB_CRDN), 납부자(TB_PAYER), 부과(TB_LEVY) 대장을 조회 한다.
|
|
|
|
|
crdnPayerInfo = sndngMapper.selectCrdnPayerInfo(crdnId);
|
|
|
|
|
} else {
|
|
|
|
|
// 부과 가산금 확인
|
|
|
|
|
if (crdnPayerInfo.number("LEVY_ADAMT").intValue() != 0) {
|
|
|
|
|
rtnMsg = "[F] 발송상세 등록 작업중 부과 가산금액이 0원이 아닙니다."
|
|
|
|
@ -425,7 +438,6 @@ public class SndngBean extends AbstractBean {
|
|
|
|
|
return rtnMsg;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 부과일자, 최초납기일자, 납기일자를 변경한다.
|
|
|
|
|
Levy levy = new Levy();
|
|
|
|
|
levy.setLevyId(crdnPayerInfo.string("LEVY_ID")); // 부과 ID
|
|
|
|
|
levy.setLevyYmd(sndng.getSndngYmd()); // 부과 일자
|
|
|
|
@ -435,11 +447,13 @@ public class SndngBean extends AbstractBean {
|
|
|
|
|
levy.setLevyPcptax(crdnPayerInfo.number("ADVNTCE_AMT").intValue()); // 본세 금액
|
|
|
|
|
levy.setSumAmt(crdnPayerInfo.number("ADVNTCE_AMT").intValue()); // 합계 금액
|
|
|
|
|
|
|
|
|
|
// 부과(TB_LEVY) 대장에 부과일자, 최초납기일자, 납기일자를 수정한다.
|
|
|
|
|
rtnMsg = levyBean.updateRductLevyYmd(levy);
|
|
|
|
|
if (!rtnMsg.contains("[S]")) {
|
|
|
|
|
throw new RuntimeException(rtnMsg.replace("[F]", "사전통지 발송상세 등록 작업중 ")); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 발송 상세(TB_SNDNG_DTL)
|
|
|
|
|
SndngDtl sndngDtl = new SndngDtl();
|
|
|
|
@ -653,7 +667,7 @@ public class SndngBean extends AbstractBean {
|
|
|
|
|
rtnMsg = createNhtSndngDtl(sndng, nhtTrgtList.get(iLoop).string("CRDN_ID"));
|
|
|
|
|
// 메시지 확인
|
|
|
|
|
if (!rtnMsg.contains("[S]")) {
|
|
|
|
|
throw new RuntimeException(rtnMsg); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
throw new RuntimeException(rtnMsg.replace("[F]", "고지서")); // 예외를 발생시켜서 DB Rollback
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|