개별총정보 발송반송정보 탭 수정.

main
jjh 11 months ago
parent 413e9df74e
commit 289c3cc801

@ -308,9 +308,9 @@ public class Sprt02Controller extends ApplicationController {
mav.addObject("pageName", "sprt02040") mav.addObject("pageName", "sprt02040")
.addObject("pageNameMain", "sprt02010") .addObject("pageNameMain", "sprt02010")
.addObject("infoPrefix", "sndng") // prefix .addObject("infoPrefix", "sndng") // prefix
.addObject("sndngDtlList", json ? sndngDtl : toJson(sndngDtl)) // 발송 정보 .addObject("sndngDtl", json ? sndngDtl : toJson(sndngDtl)) // 발송 정보
.addObject("pageDataName2", "Svbtc") // dataset2 .addObject("pageDataName2", "Svbtc") // dataset2
.addObject("svbtcList", json ? svbtc : toJson(svbtc)) // 공시송달 정보 .addObject("svbtc", json ? svbtc : toJson(svbtc)) // 공시송달 정보
; ;
// 재조회로 호출되었다면.. // 재조회로 호출되었다면..

@ -200,7 +200,7 @@
/************************************************************************** /**************************************************************************
* DatasetControl * DatasetControl
**************************************************************************/ **************************************************************************/
var ${pageName}Dataset = new Dataset({ var ${pageName}Control = new DatasetControl({
prefix : "sndng" prefix : "sndng"
, prefixName : "발송 정보" , prefixName : "발송 정보"
, keymapper : info => info ? info.SNDNG_DTL_ID : "" , keymapper : info => info ? info.SNDNG_DTL_ID : ""
@ -215,12 +215,43 @@
, REG_DT : datetimeFormat , REG_DT : datetimeFormat
, MDFCN_DT : datetimeFormat , MDFCN_DT : datetimeFormat
} }
});
// 공시송달 정보 Dataset
var ${pageName}${pageDataName2}Dataset = new Dataset({
prefix : "svbtc"
, prefixName : "공시송달 정보"
, keymapper : info => info ? info.SVBTC_ID : ""
, dataGetter : obj => obj.svbtcList
, appendData : true
, formats : {
SVBTC_YMD : dateFormat
, REG_DT : datetimeFormat
}
, onDatasetChange : obj => { , onDatasetChange : obj => {
renderList${pageName}(); renderList${pageName}${pageDataName2}();
} }
, onCurrentChange : item => { , onCurrentChange : item => {
if (!item) return; if (!item) return;
let key = item.data.SVBTC_ID;
$("#tbody--${pageName}${pageDataName2}").setCurrentRow(key);
}
});
/**************************************************************************
* DatasetControl 이벤트
**************************************************************************/
// Dataset 변경
${pageName}Control.onDatasetChange = obj => {
renderList${pageName}();
};
// 현재 선택 자료 변경 이벤트
${pageName}Control.onCurrentChange = item => {
if (!item) return;
let key = item.data.SNDNG_DTL_ID; let key = item.data.SNDNG_DTL_ID;
$("#tbody--${pageName}").setCurrentRow(key); $("#tbody--${pageName}").setCurrentRow(key);
@ -254,88 +285,20 @@
$("#vrActno--${pageName}").val(vrActno); // 가상 계좌번호 $("#vrActno--${pageName}").val(vrActno); // 가상 계좌번호
$("#epayno--${pageName}").val(item.data.EPAYNO_MASK); // 전자납부번호 $("#epayno--${pageName}").val(item.data.EPAYNO_MASK); // 전자납부번호
} }
});
// 공시송달 정보 Dataset
var ${pageName}${pageDataName2}Dataset = new Dataset({
prefix : "svbtc"
, prefixName : "공시송달 정보"
, keymapper : info => info ? info.SVBTC_ID : ""
, dataGetter : obj => obj.svbtcList
, appendData : true
, formats : {
SVBTC_YMD : dateFormat
, REG_DT : datetimeFormat
}
, onDatasetChange : obj => {
renderList${pageName}${pageDataName2}();
}
, onCurrentChange : item => {
if (!item) return;
let key = item.data.SVBTC_ID;
$("#tbody--${pageName}${pageDataName2}").setCurrentRow(key);
}
});
/**************************************************************************
*
**************************************************************************/
// DataTables에 click, dbclick 이벤트
renderList${pageName} = () => {
let ${infoPrefix}List = ${pageName}Dataset;
let empty = ${infoPrefix}List.empty;
let trs = empty ?
[document.getElementById("${infoPrefix}NotFound--${pageName}").innerHTML] : <%-- from template#${infoPrefix}NotFound --%>
${infoPrefix}List.inStrings(
document.getElementById("${infoPrefix}Row--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%>
(str, dataItem) => str
.replace(/{onclick}/gi, "${pageName}Dataset.setCurrent('" + dataItem.getValue("SNDNG_DTL_ID") + "');")
);
$("#tbody--${pageName}").html(trs.join());
}
// 공시송달 정보 DataTables에 click 이벤트
renderList${pageName}${pageDataName2} = () => {
let ${infoPrefix}List = ${pageName}${pageDataName2}Dataset;
let empty = ${infoPrefix}List.empty;
let trs = empty ?
[document.getElementById("${infoPrefix}NotFound--${pageName}${pageDataName2}").innerHTML] : <%-- from template#${infoPrefix}NotFound --%>
${infoPrefix}List.inStrings(
document.getElementById("${infoPrefix}Row--${pageName}${pageDataName2}").innerHTML, <%-- from template#${infoPrefix}Row --%>
(str, dataItem) => str
.replace(/{onclick}/gi, "${pageName}${pageDataName2}Dataset.setCurrent('" + dataItem.getValue("SVBTC_ID") + "');")
);
$("#tbody--${pageName}${pageDataName2}").html(trs.join());
}
// 개별 반송 등록 // 개별 반송 Info
createSndbk${pageName} = (params) => { ${pageName}Control.getInfo = (params) => {
if (!params) return; if (!params) return;
ajax.get({ let dialogTitle = "";
url : wctx.url(params.taskSeCd + "/sndb/sndb01/220/info.do")
, data : params || {}
, success : resp => {
dialog.open({
id : "sndbkInfoDialog"
, title : "개별반송 등록"
, content : resp
, size : "md"
, onClose : () => { refreshDataInfo${pageName}(); } // callback 자료 조회
});
}
});
}
// 개별 반송 수정 if (params.callPurpose == "create") {
updateSndbk${pageName} = (params) => { dialogTitle = $("#btnCreateSndbk--${pageName}").attr("title");
if (!params) return; } else if (params.callPurpose == "update") {
dialogTitle = $("#btnUpdateSndbk--${pageName}").attr("title");
} else {
dialogTitle = ${pageName}Control.prefixName + " 정보";
}
ajax.get({ ajax.get({
url : wctx.url(params.taskSeCd + "/sndb/sndb01/220/info.do") url : wctx.url(params.taskSeCd + "/sndb/sndb01/220/info.do")
@ -343,7 +306,7 @@
, success : resp => { , success : resp => {
dialog.open({ dialog.open({
id : "sndbkInfoDialog" id : "sndbkInfoDialog"
, title : "개별반송 수정" , title : dialogTitle
, content : resp , content : resp
, size : "md" , size : "md"
, onClose : () => { refreshDataInfo${pageName}(); } // callback 자료 조회 , onClose : () => { refreshDataInfo${pageName}(); } // callback 자료 조회
@ -352,8 +315,8 @@
}); });
} }
// 삭제 callback // 개별 반송 삭제 callback
${pageName}CallbackRemoveSndbk = (resp) => { ${pageName}Control.onRemove = (resp) => {
let btnTitle = $("#btnRemoveSndbk--${pageName}").attr("title"); let btnTitle = $("#btnRemoveSndbk--${pageName}").attr("title");
let showMessage = resp.retMessage.replace(/[S]|[F]/g, btnTitle); let showMessage = resp.retMessage.replace(/[S]|[F]/g, btnTitle);
@ -365,7 +328,7 @@
} }
// 개별 반송 삭제 // 개별 반송 삭제
${pageName}RemoveSndbk = (params) => { ${pageName}Control.remove = (params) => {
if (!params) return; if (!params) return;
params.sndngDtlSttsCd = "03"; // 발송 상세 상태 코드(SNDNG_DTL_STTS_CD) FIM050 - 03 발송 params.sndngDtlSttsCd = "03"; // 발송 상세 상태 코드(SNDNG_DTL_STTS_CD) FIM050 - 03 발송
@ -373,10 +336,45 @@
ajax.post({ ajax.post({
url : wctx.url(params.taskSeCd + "/sndb/sndb01/210/delete.do") url : wctx.url(params.taskSeCd + "/sndb/sndb01/210/delete.do")
, data : params , data : params
, success : resp => ${pageName}CallbackRemoveSndbk(resp) , success : resp => ${pageName}Control.onRemove(resp)
}); });
} }
/**************************************************************************
* DataTables 이벤트
**************************************************************************/
// DataTables에 click, dbclick 이벤트
renderList${pageName} = () => {
let ${infoPrefix}List = ${pageName}Control.dataset;
let empty = ${infoPrefix}List.empty;
let trs = empty ?
[document.getElementById("${infoPrefix}NotFound--${pageName}").innerHTML] : <%-- from template#${infoPrefix}NotFound --%>
${infoPrefix}List.inStrings(
document.getElementById("${infoPrefix}Row--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%>
(str, dataItem) => str
.replace(/{onclick}/gi, "${pageName}Control.setCurrent('" + dataItem.getValue("SNDNG_DTL_ID") + "');")
);
$("#tbody--${pageName}").html(trs.join());
}
// 공시송달 정보 DataTables에 click 이벤트
renderList${pageName}${pageDataName2} = () => {
let ${infoPrefix}List = ${pageName}${pageDataName2}Dataset;
let empty = ${infoPrefix}List.empty;
let trs = empty ?
[document.getElementById("${infoPrefix}NotFound--${pageName}${pageDataName2}").innerHTML] : <%-- from template#${infoPrefix}NotFound --%>
${infoPrefix}List.inStrings(
document.getElementById("${infoPrefix}Row--${pageName}${pageDataName2}").innerHTML, <%-- from template#${infoPrefix}Row --%>
(str, dataItem) => str
.replace(/{onclick}/gi, "${pageName}${pageDataName2}Dataset.setCurrent('" + dataItem.getValue("SVBTC_ID") + "');")
);
$("#tbody--${pageName}${pageDataName2}").html(trs.join());
}
/************************************************************************** /**************************************************************************
* 사용자 함수(function) * 사용자 함수(function)
**************************************************************************/ **************************************************************************/
@ -400,10 +398,14 @@
, headers: { Accept: "application/json; charset=utf-8" } // json , headers: { Accept: "application/json; charset=utf-8" } // json
, data : params || {} , data : params || {}
, success : resp => { , success : resp => {
// 발송 이력 정보 // Dataset 초기화
${pageName}Dataset.setData(resp.sndngDtlList); ${pageName}Control.dataset.clear();
// 공시송달 이력 정보 ${pageName}${pageDataName2}Dataset.clear();
${pageName}${pageDataName2}Dataset.setData(resp.svbtcList);
// Dataset 셋팅
${pageName}Control.setData(resp.cvlcptDscsn); // 발송 이력 정보
${pageName}${pageDataName2}Dataset.setData(resp.svbtcList); // 공시송달 이력 정보
// 최상단 단속 Data 셋팅 // 최상단 단속 Data 셋팅
if (resp.totalInfo) { if (resp.totalInfo) {
${pageNameMain}Control.setData([resp.totalInfo]); ${pageNameMain}Control.setData([resp.totalInfo]);
@ -417,9 +419,10 @@
**************************************************************************/ **************************************************************************/
// 개별 반송 등록 // 개별 반송 등록
fnCreateSndbk${pageName} = () => { fnCreateSndbk${pageName} = () => {
let sndngDtlId = ${pageName}Dataset.getValue("SNDNG_DTL_ID"); // 발송 상세 ID let btnTitle = $("#btnCreateSndbk--${pageName}").attr("title");
let undlvrRsnNm = ${pageName}Dataset.getValue("UNDLVR_RSN_NM"); // 미배달 사유 명 let sndngDtlId = ${pageName}Control.dataset.getValue("SNDNG_DTL_ID"); // 발송 상세 ID
let sndngDtlSttsCd = ${pageName}Dataset.getValue("SNDNG_DTL_STTS_CD"); // 발송 상세 상태 코드 let undlvrRsnNm = ${pageName}Control.dataset.getValue("UNDLVR_RSN_NM"); // 미배달 사유 명
let sndngDtlSttsNm = ${pageName}Control.dataset.getValue("SNDNG_DTL_STTS_NM"); // 발송 상세 상태 코드
// 발송상세ID 가 없다면.. return // 발송상세ID 가 없다면.. return
if (typeof sndngDtlId == "undefined" || sndngDtlId == null || sndngDtlId == "") return; if (typeof sndngDtlId == "undefined" || sndngDtlId == null || sndngDtlId == "") return;
@ -427,17 +430,17 @@
// 미배달 사유 확인 // 미배달 사유 확인
if (undlvrRsnNm != "" ) { if (undlvrRsnNm != "" ) {
dialog.alert({ dialog.alert({
content : "미배달 사유가 " + ${pageName}Dataset.getValue("UNDLVR_RSN_NM") + " 로 이미 반송 등록이 되어 있습니다." content : "미배달 사유가 " + undlvrRsnNm + " (으)로 이미 반송 등록이 되어 있습니다."
, onOK : () => {} , onOK : () => { }
}); });
return; return;
} }
// 발송상세 상태코드 확인 // 발송상세 상태코드 확인 (FIM050 - 05:반송 06:공시송달)
if (sndngDtlSttsCd == "06") { if (sndngDtlSttsNm == "반송" || sndngDtlSttsNm == "공시송달") {
dialog.alert({ dialog.alert({
content : "발송상세 상태가 " + ${pageName}Dataset.getValue("SNDNG_DTL_STTS_NM") + " 로 개별 반송을 등록할 수 없습니다." content : "발송 상세 상태가 " + sndngDtlSttsNm + " (으)로 " + btnTitle + " 을(를) 할 수 없습니다."
, onOK : () => {} , onOK : () => { }
}); });
return; return;
@ -445,18 +448,19 @@
let params = { let params = {
callPurpose : "create" callPurpose : "create"
, sggCd : ${pageName}Dataset.getValue("SGG_CD") // 시군구 코드 , sggCd : ${pageName}Control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : ${pageName}Dataset.getValue("TASK_SE_CD") // 업무 구분 코드 , taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, sndngDtlId : sndngDtlId // 발송 상세 ID , sndngDtlId : sndngDtlId // 발송 상세 ID
}; };
createSndbk${pageName}(params); ${pageName}Control.getInfo(params);
} }
// 개별 반송 수정 // 개별 반송 수정
fnUpdateSndbk${pageName} = () => { fnUpdateSndbk${pageName} = () => {
let sndngDtlId = ${pageName}Dataset.getValue("SNDNG_DTL_ID"); let btnTitle = $("#btnUpdateSndbk--${pageName}").attr("title");
let undlvrRsnNm = ${pageName}Dataset.getValue("UNDLVR_RSN_NM"); // 미배달 사유 명 let sndngDtlId = ${pageName}Control.dataset.getValue("SNDNG_DTL_ID");
let undlvrRsnNm = ${pageName}Control.dataset.getValue("UNDLVR_RSN_NM"); // 미배달 사유 명
// 발송상세ID 가 없다면.. return // 발송상세ID 가 없다면.. return
if (typeof sndngDtlId == "undefined" || sndngDtlId == null || sndngDtlId == "") return; if (typeof sndngDtlId == "undefined" || sndngDtlId == null || sndngDtlId == "") return;
@ -464,8 +468,8 @@
// 미배달 사유 확인 // 미배달 사유 확인
if (undlvrRsnNm == "" ) { if (undlvrRsnNm == "" ) {
dialog.alert({ dialog.alert({
content : "미배달 사유가 없어 반송 내용을 수정할 수 없습니다." content : "미배달 사유가 없어 " + btnTitle + " 을(를) 할 수 없습니다."
, onOK : () => {} , onOK : () => { }
}); });
return; return;
@ -473,52 +477,61 @@
let params = { let params = {
callPurpose : "update" callPurpose : "update"
, sggCd : ${pageName}Dataset.getValue("SGG_CD") // 시군구 코드 , sggCd : ${pageName}Control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : ${pageName}Dataset.getValue("TASK_SE_CD") // 업무 구분 코드 , taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, sndngDtlId : sndngDtlId // 발송 상세 ID , sndngDtlId : sndngDtlId // 발송 상세 ID
, sndngDtlSttsCd : ${pageName}Dataset.getValue("SNDNG_DTL_STTS_CD") // 발송 상세 상태 코드 , sndngDtlSttsCd : ${pageName}Control.dataset.getValue("SNDNG_DTL_STTS_CD") // 발송 상세 상태 코드
, undlvrRsnNm : ${pageName}Dataset.getValue("UNDLVR_RSN_NM") // 미배달 사유 명 , undlvrRsnNm : ${pageName}Control.dataset.getValue("UNDLVR_RSN_NM") // 미배달 사유 명
}; };
updateSndbk${pageName}(params); ${pageName}Control.getInfo(params);
} }
// 개별 반송 삭제 // 개별 반송 삭제
fnRemoveSndbk${pageName} = () => { fnRemoveSndbk${pageName} = () => {
let sndngDtlId = ${pageName}Dataset.getValue("SNDNG_DTL_ID"); let btnTitle = $("#btnRemoveSndbk--${pageName}").attr("title");
let undlvrRsnNm = ${pageName}Dataset.getValue("UNDLVR_RSN_NM"); // 미배달 사유 명 let sndngDtlId = ${pageName}Control.dataset.getValue("SNDNG_DTL_ID"); // 발송 상세 ID
let undlvrRsnNm = ${pageName}Control.dataset.getValue("UNDLVR_RSN_NM"); // 미배달 사유 명
// 발송상세ID 가 없다면.. return // 발송상세ID 가 없다면.. return
if (typeof sndngDtlId == "undefined" || sndngDtlId == null || sndngDtlId == "") return; if (typeof sndngDtlId == "undefined" || sndngDtlId == null || sndngDtlId == "") return;
// 미배달 사유 확인 // 미배달 사유 확인
if (undlvrRsnNm == "" ) { if (undlvrRsnNm == "" ) {
dialog.alert({ dialog.alert({
content : "미배달 사유가 없어 반송 내용을 삭제할 수 없습니다." content : "미배달 사유가 없어 " + btnTitle + " 을(를) 할 수 없습니다."
, onOK : () => {} , onOK : () => {}
}); });
return; return;
} }
// 발송상세 상태코드 확인 (FIM050 - 05:반송)
if (sndngDtlSttsNm != "반송") {
dialog.alert({
content : "발송 상세 상태가 " + sndngDtlSttsNm + " (으)로 " + btnTitle + " 을(를) 할 수 없습니다."
, onOK : () => { }
});
return;
}
let params = { let params = {
callPurpose : "delete" callPurpose : "delete"
, sggCd : ${pageName}Dataset.getValue("SGG_CD") // 시군구 코드 , sggCd : ${pageName}Control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : ${pageName}Dataset.getValue("TASK_SE_CD") // 업무 구분 코드 , taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, sndngDtlId : sndngDtlId // 발송 상세 ID , sndngDtlId : sndngDtlId // 발송 상세 ID
}; };
dialog.alert({ dialog.alert({
content : "선택한 반송 정보(을)를 삭제하시겠습니까?" content : "선택한 반송 정보 을(를) 삭제하시겠습니까?"
, onOK : () => { , onOK : () => {
${pageName}RemoveSndbk(params); ${pageName}Control.remove(params);
} }
}); });
} }
// 우편 종적 보기 참고 https://www.data.go.kr/dataset/15000390/openapi.do // 우편 종적 보기 참고 https://www.data.go.kr/dataset/15000390/openapi.do
fnViewPostTrace${pageName} = () => { fnViewPostTrace${pageName} = () => {
let rgNo = ${pageName}Dataset.getValue("RG_NO"); let rgNo = ${pageName}Control.dataset.getValue("RG_NO");
alert("우편 종적 보기"); alert("우편 종적 보기");
} }
@ -565,10 +578,10 @@
// 화면 초기 설정 // 화면 초기 설정
initForm${pageName}(); initForm${pageName}();
// Dataset 셋팅 // Dataset 설정
${pageName}Dataset.setData(${sndngDtlList}); // 발송 이력 ${pageName}Control.setData(${sndngDtl}); // 발송 이력
${pageName}${pageDataName2}Dataset.setData(${svbtcList}); // 공시송달 이력 ${pageName}${pageDataName2}Dataset.setData(${svbtc}); // 공시송달 이력
// 화면 데이터 셋팅 // 화면 데이터 셋팅
setFormData${pageName}(); setFormData${pageName}();

@ -728,7 +728,9 @@
// 화면 초기 설정 // 화면 초기 설정
initForm${pageName} = () => { initForm${pageName} = () => {
$("#frmEdit--${pageName}")[0].reset(); // 화면 초기화 // 화면 초기화
$("#frmEdit--${pageName}${pageDataName1}")[0].reset();
$("#frmEdit--${pageName}${pageDataName2}")[0].reset();
} }
// 화면 초기값 설정 // 화면 초기값 설정

@ -38,7 +38,7 @@
</div> </div>
<!-- 회계 연도 --> <!-- 회계 연도 -->
<div class="col-md-4"> <div class="col-md-4">
<label for="acntgYr--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">회계연도</label> <label for="fyr--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">회계연도</label>
<input type="text" class="form-control w-15" id="fyr--${pageName}" name="fyr" data-map="FYR" readonly /> <input type="text" class="form-control w-15" id="fyr--${pageName}" name="fyr" data-map="FYR" readonly />
</div> </div>
<!-- 부과 번호 --> <!-- 부과 번호 -->
@ -355,7 +355,6 @@
}); });
} }
/************************************************************************** /**************************************************************************
* 버튼 clickEvent * 버튼 clickEvent
**************************************************************************/ **************************************************************************/
@ -376,7 +375,7 @@
} }
// 화면 데이터 셋팅 // 화면 데이터 셋팅
setForm${pageName} = () => { setFormData${pageName} = () => {
// 화면 호출(callPurpose)이 view 라면 버튼 비활성화 // 화면 호출(callPurpose)이 view 라면 버튼 비활성화
if (${pageNameMain}CallPurpose == "view") { if (${pageNameMain}CallPurpose == "view") {
// button 요소들을 disabled = true // button 요소들을 disabled = true

Loading…
Cancel
Save