사전통지 세부내역 팝업 수정.

main
jjh 1 year ago
parent 02ea3a09fd
commit f41ae0713c

@ -173,7 +173,7 @@ public class SndngBean extends AbstractComponent {
// 발송 구분 코드에 따른 처리상태 변경
if (sndng.getSndngSeCd().equals("01")) { // 사전통지서
newCrdnSttsCd = "42"; // 단속 상태 코드 - 42 사전통지
newCrdnSttsCd = "42"; // 단속 상태 코드 - 42 사전통지 발송
} else if (sndng.getSndngSeCd().equals("10")) { // 계고장
newCrdnSttsCd = "84"; // 단속 상태 코드 - 84 계고장 출력 완료
} else {
@ -200,111 +200,104 @@ public class SndngBean extends AbstractComponent {
throw new RuntimeException("발송 상세 등록 작업중 납부자 정보가 확인되지 않았습니다." + "<p>차량번호 : " + infoCrdnPayer.string("VHRNO"));
}
// 주정차 위반, 전용차로 위반
if (sndng.getTaskSeCd().equals("BPV") || sndng.getTaskSeCd().equals("PVS")) {
//
} else if (sndng.getTaskSeCd().equals("DPV") || sndng.getTaskSeCd().equals("ECA") || sndng.getTaskSeCd().equals("TPV")) {
// 사전통지 발송 등록시 부과대장 등록 /////////////////////////////////////////
if (sndng.getSndngSeCd().equals("01")) { // 사전통지
// 세외수입에 등록 후 세외수입에서 감경해야 하므로 사전통보액 80,000 원이 아닌 본 부과액 100,000 원으로 등록한다.
// 세외수입에서 가상계좌를 부여 받은 후 다시 금액이 80,000 원으로 업데이트 된다.
ffnlgAmt = infoCrdnPayer.number("FFNLG_AMT").intValue(); // 과태료 금액
levyPcptax = infoCrdnPayer.number("FFNLG_AMT").intValue(); // 부과 본세
levyAdamt = 0; // 부과 가산금
levySumAmt = infoCrdnPayer.number("FFNLG_AMT").intValue(); // 부과 합계 금액
// 부과 ID가 없다면 부과대장 등록
if (infoCrdnPayer.string("LEVY_ID").equals("")) {
// 부과 대장(TB_LEVY)
Levy levy = new Levy();
levy.setSggCd(infoCrdnPayer.string("SGG_CD")); // 시군구 코드
levy.setCrdnId(infoCrdnPayer.string("CRDN_ID")); // 단속 ID
levy.setFfnlgAmt(ffnlgAmt); // 과태료 금액
levy.setLevyPcptax(levyPcptax); // 부과 금액
levy.setLevyAdamt(levyAdamt); // 가산 금액
levy.setSumAmt(levySumAmt); // 합계 금액
// 부과 대장에 등록한다.
levyBean.createLevy(levy);
if (!retSuccess) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("발송 상세 등록 작업중 부과대장 등록에 실패하였습니다.");
}
// 부과 ID
sndngDtl.setLevyId(levy.getLevyId());
} else {
// 부과 ID
sndngDtl.setLevyId(infoCrdnPayer.string("LEVY_ID"));
// 사전통지 발송 등록시 부과대장 등록 /////////////////////////////////////////
if (sndng.getSndngSeCd().equals("01")) { // 사전통지
// 세외수입에 등록 후 세외수입에서 감경해야 하므로 사전통보액 80,000 원이 아닌 본 부과액 100,000 원으로 등록한다.
// 세외수입에서 가상계좌를 부여 받은 후 다시 금액이 80,000 원으로 업데이트 된다.
ffnlgAmt = infoCrdnPayer.number("FFNLG_AMT").intValue(); // 과태료 금액
levyPcptax = infoCrdnPayer.number("FFNLG_AMT").intValue(); // 부과 본세
levyAdamt = 0; // 부과 가산금
levySumAmt = infoCrdnPayer.number("FFNLG_AMT").intValue(); // 부과 합계 금액
// 부과 ID가 없다면 부과대장 등록
if (infoCrdnPayer.string("LEVY_ID").equals("")) {
// 부과 대장(TB_LEVY)
Levy levy = new Levy();
levy.setSggCd(infoCrdnPayer.string("SGG_CD")); // 시군구 코드
levy.setCrdnId(infoCrdnPayer.string("CRDN_ID")); // 단속 ID
levy.setRtpyrId(infoCrdnPayer.string("RTPYR_ID")); // 납부자 ID
levy.setFfnlgAmt(ffnlgAmt); // 과태료 금액
levy.setLevyPcptax(levyPcptax); // 부과 금액
levy.setLevyAdamt(levyAdamt); // 가산 금액
levy.setSumAmt(levySumAmt); // 합계 금액
// 부과 대장에 등록한다.
levyBean.createLevy(levy);
if (!retSuccess) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("발송 상세 등록 작업중 부과대장 등록에 실패하였습니다.");
}
} else if (sndng.getSndngSeCd().equals("10")) { // 계고장
ffnlgAmt = infoCrdnPayer.number("FFNLG_AMT").intValue(); // 과태료 금액
levyPcptax = 0; // 부과 본세
levyAdamt = 0; // 부과 가산금
levySumAmt = 0; // 부과 합계 금액
// 부과 ID
sndngDtl.setLevyId(levy.getLevyId());
} else {
ffnlgAmt = infoCrdnPayer.number("FFNLG_AMT").intValue(); // 과태료 금액
levyPcptax = infoCrdnPayer.number("FFNLG_AMT").intValue(); // 부과 본세
levyAdamt = 0; // 부과 가산금
levySumAmt = infoCrdnPayer.number("FFNLG_AMT").intValue(); // 부과 합계 금액
// 부과 ID
sndngDtl.setLevyId(infoCrdnPayer.string("LEVY_ID"));
}
} else if (sndng.getSndngSeCd().equals("10")) { // 계고장
ffnlgAmt = infoCrdnPayer.number("FFNLG_AMT").intValue(); // 과태료 금액
levyPcptax = 0; // 부과 본세
levyAdamt = 0; // 부과 가산금
levySumAmt = 0; // 부과 합계 금액
} else { // 기타
ffnlgAmt = infoCrdnPayer.number("FFNLG_AMT").intValue(); // 과태료 금액
levyPcptax = infoCrdnPayer.number("FFNLG_AMT").intValue(); // 부과 본세
levyAdamt = 0; // 부과 가산금
levySumAmt = infoCrdnPayer.number("FFNLG_AMT").intValue(); // 부과 합계 금액
}
// 사전통지 발송 등록시 세외수입 연계 자료 등록 ///////////////////////////////////
if (sndng.getSndngSeCd().equals("01")) { // 사전통지
// 세외수입 매칭 내역(TB_ENIS_MTCHG)
EnisMtchg enisMtchg = new EnisMtchg();
// 사전통지 발송 등록시 세외수입 연계 자료 등록 ///////////////////////////////////
if (sndng.getSndngSeCd().equals("01")) { // 사전통지
// 세외수입 매칭 내역(TB_ENIS_MTCHG)
EnisMtchg enisMtchg = new EnisMtchg();
// 세외수입 매핑 내역 정보 조회
DataObject infoEnisMtchg = enisMtchgBean.getEnisMtchgInfo(sndng.getCrdnIDs()[iLoop]);
// 기존에 등록된 자료가 있다면 삭제 처리
if (infoEnisMtchg != null) {
enisMtchg.setCrdnId(infoCrdnPayer.string("CRDN_ID"));
// 세외수입 매핑 내역 정보 조회
DataObject infoEnisMtchg = enisMtchgBean.getEnisMtchgInfo(sndng.getCrdnIDs()[iLoop]);
// 기존에 등록된 자료가 있다면 삭제 처리
if (infoEnisMtchg != null) {
enisMtchg.setCrdnId(infoCrdnPayer.string("CRDN_ID"));
enisMtchgBean.removeEnisMtchg(enisMtchg);
}
enisMtchgBean.removeEnisMtchg(enisMtchg);
}
enisMtchg.setCrdnId(infoCrdnPayer.string("CRDN_ID")); // 단속 ID
enisMtchg.setCrdnDt(infoCrdnPayer.string("CRDN_YMD_TM_MASK")); // 단속 일시
enisMtchg.setStdgNm(infoCrdnPayer.string("CRDN_STDG_NM")); // 법정동 명
enisMtchg.setCrdnPlc(infoCrdnPayer.string("CRDN_PLC")); // 단속 장소
enisMtchg.setLevyAmt(levyPcptax); // 부과 금액
enisMtchg.setAdtnAmt(levyAdamt); // 가산 금액
enisMtchg.setSumAmt(levySumAmt); // 합계 금액
enisMtchg.setPrcsSttsCd("01"); // 처리 상태 코드
// 세외수입 매칭 내역을 등록한다.
retSuccess = enisMtchgBean.createEnisMtchg(enisMtchg);
if (!retSuccess) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("부과제외 등록 중 단속 대장의 단속상태 변경에 실패하였습니다.");
}
enisMtchg.setCrdnId(infoCrdnPayer.string("CRDN_ID")); // 단속 ID
enisMtchg.setCrdnDt(infoCrdnPayer.string("CRDN_YMD_TM_MASK")); // 단속 일시
enisMtchg.setStdgNm(infoCrdnPayer.string("CRDN_STDG_NM")); // 법정동 명
enisMtchg.setCrdnPlc(infoCrdnPayer.string("CRDN_PLC")); // 단속 장소
enisMtchg.setLevyAmt(levyPcptax); // 부과 금액
enisMtchg.setAdtnAmt(levyAdamt); // 가산 금액
enisMtchg.setSumAmt(levySumAmt); // 합계 금액
enisMtchg.setPrcsSttsCd("01"); // 처리 상태 코드
// 세외수입 매칭 내역을 등록한다.
retSuccess = enisMtchgBean.createEnisMtchg(enisMtchg);
if (!retSuccess) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("부과제외 등록 중 단속 대장의 단속상태 변경에 실패하였습니다.");
}
} else {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("발송 상세 등록 작업중 업무 구분 코드가 확인되지 않았습니다.");
}
// 기본 데이터 셋팅
sndngDtl.setSndngId(sndng.getSndngId()); // 발송 ID
sndngDtl.setCrdnId(infoCrdnPayer.string("CRDN_ID")); // 단속 ID
sndngDtl.setVltnCd(infoCrdnPayer.string("VLTN_CD")); // 위반 코드
sndngDtl.setVhrno(infoCrdnPayer.string("VHRNO")); // 차량번호
sndngDtl.setCrdnDt(infoCrdnPayer.string("CRDN_YMD_TM_MASK")); // 단속 일시
sndngDtl.setCrdnPlc(infoCrdnPayer.string("CRDN_PLC")); // 단속 장소
sndngDtl.setSndngYmd(sndng.getSndngYmd()); // 발송 일자
sndngDtl.setDudtYmd(sndng.getDudtYmd()); // 납기 일자
sndngDtl.setFfnlgAmt(ffnlgAmt); // 과태료 금액
sndngDtl.setLevyPcptax(levyPcptax); // 부과 본세
sndngDtl.setLevyAdamt(levyAdamt); // 부과 가산금
sndngDtl.setLevySumAmt(levySumAmt); // 부과 합계 금액
sndngDtl.setRtpyrNm(infoCrdnPayer.string("RTPYR_NM")); // 납부자 명
sndngDtl.setRtpyrNo(infoCrdnPayer.string("RTPYR_NO")); // 납부자 번호
sndngDtl.setRtpyrAddr(infoCrdnPayer.string("ADDR")); // 납부자 주소
sndngDtl.setRtpyrDtlAddr(infoCrdnPayer.string("DTL_ADDR")); // 납부자 상세 주소
sndngDtl.setRtpyrZip(infoCrdnPayer.string("ZIP")); // 납부자 우편번호
sndngDtl.setSndngDtlSttsCd("00"); // 발송 상세 상태 코드 - 00 처리전
sndngDtl.setDelYn("N"); // 삭제 여부
sndngDtl.setSndngId(sndng.getSndngId()); // 발송 ID
sndngDtl.setCrdnId(infoCrdnPayer.string("CRDN_ID")); // 단속 ID
sndngDtl.setVltnCd(infoCrdnPayer.string("VLTN_CD")); // 위반 코드
sndngDtl.setVhrno(infoCrdnPayer.string("VHRNO")); // 차량번호
sndngDtl.setCrdnDt(infoCrdnPayer.string("CRDN_YMD_TM_MASK")); // 단속 일시
sndngDtl.setCrdnPlc(infoCrdnPayer.string("CRDN_PLC")); // 단속 장소
sndngDtl.setSndngYmd(sndng.getSndngYmd()); // 발송 일자
sndngDtl.setDudtYmd(sndng.getDudtYmd()); // 납기 일자
sndngDtl.setFfnlgAmt(ffnlgAmt); // 과태료 금액
sndngDtl.setLevyPcptax(levyPcptax); // 부과 본세
sndngDtl.setLevyAdamt(levyAdamt); // 부과 가산금
sndngDtl.setLevySumAmt(levySumAmt); // 부과 합계 금액
sndngDtl.setRtpyrNm(infoCrdnPayer.string("RTPYR_NM")); // 납부자 명
sndngDtl.setRtpyrNo(infoCrdnPayer.string("RTPYR_NO")); // 납부자 번호
sndngDtl.setRtpyrAddr(infoCrdnPayer.string("ADDR")); // 납부자 주소
sndngDtl.setRtpyrDtlAddr(infoCrdnPayer.string("DTL_ADDR")); // 납부자 상세 주소
sndngDtl.setRtpyrZip(infoCrdnPayer.string("ZIP")); // 납부자 우편번호
sndngDtl.setSndngDtlSttsCd("00"); // 발송 상세 상태 코드 - 00 처리전
sndngDtl.setDelYn("N"); // 삭제 여부
// 발송 상세(TB_SNDNG_DTL)
retSuccess = sndngMapper.insertSndngDtl(sndngDtl);

@ -22,9 +22,27 @@
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀 저장" onclick="fnExcel${pageName}();">
엑셀 저장
</button>
<button type="button" class="btn btn-primary w-px-80" id="btnPrint--${pageName}" title="사전통지 출력" onclick="fnPrint${pageName}();">
<button type="button" class="btn btn-primary w-px-120" id="btnCreateNxrp--${pageName}" title="세외수입 등록" onclick="fnCreateNxrp${pageName}();">
세외수입 등록
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnUpdateNxrpMtchg--${pageName}" title="매치정보 등록" onclick="fnUpdateNxrpMtchg${pageName}();">
매치정보 작성
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnCreateEPost--${pageName}" title="우편통합 발송" onclick="fnCreateEPost${pageName}();">
우편통합 발송
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnPrintAdvntce--${pageName}" title="사전통지 출력" onclick="fnPrintAdvntce${pageName}();">
사전통지 출력
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnCreateRgNo--${pageName}" title="등기번호 등록" onclick="fnCreateRgNo${pageName}();">
등기번호 등록
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnCreateSndbk--${pageName}" title="반송 등록" onclick="fnCreateSndbk${pageName}();">
반송 확인
</button>
<button type="button" class="btn btn-primary w-px-120" id="btnLevyIdnty--${pageName}" title="미부과건 확인" onclick="fnLevyIdnty${pageName}();">
미부과건 확인
</button>
</span>
</span>
</div>
@ -198,6 +216,23 @@
fn_securityModeToggle($("#securityMode--top").is(":checked"));
}
// 종적결과 등록
createSndbk${pageName} = (params) => {
// 선택된 자료의 발송 상세 ID 추가
let selected = ${pageName}Control.dataset.getKeys("selected");
if (selected.length < 1) return;
params.sndngDtlIDs = selected.join(","); // 발송 상세 IDs
params.delYn = "N"; // 삭제 여부
// ajax.post({
// url : wctx.url(${pageName}PrefixUrl + "/createCrdnPayer.do")
// , data : params || {}
// , success : resp => ${pageName}Control.onSave(resp)
// });
}
/**************************************************************************
* 초기 셋팅
**************************************************************************/
@ -245,22 +280,52 @@
/**************************************************************************
* 버튼 clickEvent
**************************************************************************/
// 엑셀
// 엑셀 저장
fnExcel${pageName} = () => {
}
// 계고장 출력
fnPrint${pageName} = () => {
let params = ${pageName}Fields.get();
// 세외수입 등록
fnCreateNxrp${pageName} = () => {
// 선택된 자료의 발송 상세 ID 추가
let selected = ${pageName}Control.dataset.getKeys("selected");
}
if (selected.length < 1) return;
// 매치정보 등록
fnUpdateNxrpMtchg${pageName} = () => {
}
// 우편통합 발송
fnCreateEPost${pageName} = () => {
}
// 사전통지 출력
fnPrintAdvntce${pageName} = () => {
}
// 등기번호 등록
fnCreateRgNo${pageName} = () => {
}
// 종적결과 확인
fnCreateSndbk${pageName} = () => {
// validate 확인
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
dialog.alert({
content : "종적결과를 확인하시겠습니까?"
, onOK : () => {
createSndbk${pageName}(${pageName}Fields.get());
}
});
}
// 미부과건 확인
fnLevyIdnty${pageName} = () => {
params.sndngDtlIDs = selected.join(","); // 발송 상세 IDs
params.delYn = "N"; // 삭제 여부
}
/**************************************************************************

Loading…
Cancel
Save