|
|
|
@ -34,7 +34,7 @@
|
|
|
|
|
<div class="table-responsive ox-scroll oy-scroll h-px-300" name="tableRspnsSndngDtl">
|
|
|
|
|
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" aria-describedby="DataTables_Table_0_info">
|
|
|
|
|
<thead class="sticky-thead">
|
|
|
|
|
<tr name="theadTrSndngDtl">
|
|
|
|
|
<tr name="theadTrSndngDtl" data-search-target="[data-doctx='${pageName}']">
|
|
|
|
|
<th class="cmn sorting" style="width: 120px" data-field="SNDNG_DTL_STTS_NM">발송상태</th>
|
|
|
|
|
<th class="cmn sorting" style="width: 100px" data-field="SNDNG_RCVMT_NM">수납</th>
|
|
|
|
|
<th class="cmn sorting" style="width: 100px" data-field="DIV_KB_NM">취급구분</th>
|
|
|
|
@ -65,7 +65,7 @@
|
|
|
|
|
<tbody name="tbodySndngDtlList">
|
|
|
|
|
</tbody>
|
|
|
|
|
<template is="curly-brackets" name="tmpltSndngDtlRows">
|
|
|
|
|
<tr data-key="SNDNG_DTL_ID">
|
|
|
|
|
<tr data-key="{data-index}">
|
|
|
|
|
<td class="text-center" onclick>{SNDNG_DTL_STTS_NM}</td>
|
|
|
|
|
<td class="text-center" onclick>{SNDNG_RCVMT_NM}</td>
|
|
|
|
|
<td class="text-center" onclick>{DIV_KB_NM}</td>
|
|
|
|
@ -152,7 +152,7 @@
|
|
|
|
|
<div class="table-responsive ox-scroll oy-scroll h-px-250" name="tableRspnsSvbtc">
|
|
|
|
|
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" aria-describedby="DataTables_Table_0_info">
|
|
|
|
|
<thead class="sticky-thead">
|
|
|
|
|
<tr name="theadTrSvbtc">
|
|
|
|
|
<tr name="theadTrSvbtc" data-search-target="[data-doctx='${pageName}']">
|
|
|
|
|
<th class="cmn sorting" style="width: 140px" data-field="SNDNG_SE_NM">발송구분</th>
|
|
|
|
|
<th class="cmn sorting" style="width: 120px" data-field="SNDNG_YMD">발송일자</th>
|
|
|
|
|
<th class="cmn sorting" style="width: 120px" data-field="SVBTC_YMD">공시송달일자</th>
|
|
|
|
@ -168,7 +168,7 @@
|
|
|
|
|
<tbody name="tbodySvbtcList">
|
|
|
|
|
</tbody>
|
|
|
|
|
<template is="curly-brackets" name="tmpltSvbtcRows">
|
|
|
|
|
<tr data-key="SNDNG_DTL_ID">
|
|
|
|
|
<tr data-key="{data-index}">
|
|
|
|
|
<td class="text-center" onclick>{SNDNG_SE_NM}</td>
|
|
|
|
|
<td class="text-center" onclick>{SNDNG_YMD}</td>
|
|
|
|
|
<td class="text-center" onclick>{SVBTC_YMD}</td>
|
|
|
|
@ -183,7 +183,7 @@
|
|
|
|
|
</template>
|
|
|
|
|
<template name="tmpltNotFoundSvbtc">
|
|
|
|
|
<tr class="odd">
|
|
|
|
|
<td valign="top" colspan="9" class="dataTables_empty text-center">공시송달 정보를 찾지 못했습니다.</td>
|
|
|
|
|
<td valign="top" colspan="10" class="dataTables_empty text-center">공시송달 정보를 찾지 못했습니다.</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</template>
|
|
|
|
|
</table>
|
|
|
|
@ -198,6 +198,8 @@
|
|
|
|
|
</div> <!-- <div class="content-pop"> -->
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
LoadScript("sprt02040Script", wctx.url("/webjars/js/fims/sprt/sprt02040.js?ver=${ver}"));
|
|
|
|
|
|
|
|
|
|
/**************************************************************************
|
|
|
|
|
* Global Variable
|
|
|
|
|
**************************************************************************/
|
|
|
|
@ -210,198 +212,28 @@
|
|
|
|
|
// pageObject
|
|
|
|
|
let $P = pageObject["${pageName}"];
|
|
|
|
|
|
|
|
|
|
// FormFields
|
|
|
|
|
$P.formFields = new FimsFormFields($P.selectorn("frmEditSndngDtl"));
|
|
|
|
|
|
|
|
|
|
/**************************************************************************
|
|
|
|
|
* DatasetControl
|
|
|
|
|
**************************************************************************/
|
|
|
|
|
// 발송 상세 정보 DatasetControl
|
|
|
|
|
$P.ctrlSndngDtl = new DatasetControl({
|
|
|
|
|
prefix: "sndngDtl"
|
|
|
|
|
, prefixName: "발송반송"
|
|
|
|
|
, keymapper: info => info ? info.SNDNG_DTL_ID : ""
|
|
|
|
|
, dataGetter: obj => obj.sndngDtls
|
|
|
|
|
, appendData: true
|
|
|
|
|
, formats: {
|
|
|
|
|
SNDNG_YMD: dateFormat
|
|
|
|
|
, DUDT_YMD: dateFormat
|
|
|
|
|
, SUM_AMT: numberFormat
|
|
|
|
|
, DLVR_YMD: dateFormat
|
|
|
|
|
, DLVR_TM: timeFormat
|
|
|
|
|
, REG_DT: datetimeFormat
|
|
|
|
|
, MDFCN_DT: datetimeFormat
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 공시송달 정보 DatasetControl
|
|
|
|
|
$P.ctrlSvbtc = new DatasetControl({
|
|
|
|
|
prefix: "svbtc"
|
|
|
|
|
, prefixName: "공시송달"
|
|
|
|
|
, keymapper: info => info ? info.SNDNG_DTL_ID : ""
|
|
|
|
|
, dataGetter: obj => obj.svbtcDtls
|
|
|
|
|
, appendData: true
|
|
|
|
|
, formats: {
|
|
|
|
|
SNDNG_YMD: dateFormat
|
|
|
|
|
, SVBTC_YMD: dateFormat
|
|
|
|
|
, REG_DT: datetimeFormat
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
/**************************************************************************
|
|
|
|
|
* 발송 상세 DatasetControl 이벤트
|
|
|
|
|
**************************************************************************/
|
|
|
|
|
// Dataset 변경 이벤트
|
|
|
|
|
$P.ctrlSndngDtl.onDatasetChange = (obj, option) => {
|
|
|
|
|
$P.renderSndngDtlList();
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 현재 선택 자료 변경 이벤트
|
|
|
|
|
$P.ctrlSndngDtl.onCurrentChange = (item) => {
|
|
|
|
|
if (!item) return;
|
|
|
|
|
|
|
|
|
|
let key = item.data.SNDNG_DTL_ID;
|
|
|
|
|
|
|
|
|
|
$P.$findn("tbodySndngDtlList").setCurrentRow(key);
|
|
|
|
|
|
|
|
|
|
// 가상계좌번호
|
|
|
|
|
let vrActno = Array.from({length: 20}, (x, i) => {
|
|
|
|
|
let no = i + 1
|
|
|
|
|
, bank = "BANK_NM" + (no > 1 ? no : "")
|
|
|
|
|
, account = "VR_ACTNO" + (no > 1 ? no : "");
|
|
|
|
|
|
|
|
|
|
return [bank, account]
|
|
|
|
|
})
|
|
|
|
|
.map(entry => {
|
|
|
|
|
let bank = item.data[entry[0]]
|
|
|
|
|
, account = item.data[entry[1]];
|
|
|
|
|
|
|
|
|
|
return bank ? bank + " " + account : null;
|
|
|
|
|
})
|
|
|
|
|
.filter(txt => txt != null)
|
|
|
|
|
.join("\n");
|
|
|
|
|
|
|
|
|
|
$P.$findn("vrActno").val(vrActno); // 가상 계좌번호
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 개별 반송 dialog
|
|
|
|
|
$P.ctrlSndngDtl.getInfo = (params) => {
|
|
|
|
|
if (!params) return;
|
|
|
|
|
|
|
|
|
|
ajax.get({
|
|
|
|
|
url: wctx.url("/" + params.taskSeCd + "/sndb/sndb01/230/info.do")
|
|
|
|
|
, data: params || {}
|
|
|
|
|
, success: (resp) => {
|
|
|
|
|
let dialogName = "sndbkDialog";
|
|
|
|
|
let dialogId = dialogName + "-" + uuid();
|
|
|
|
|
|
|
|
|
|
dialog.open({
|
|
|
|
|
id: dialogId
|
|
|
|
|
, title: params.btnTitle
|
|
|
|
|
, size: "md"
|
|
|
|
|
, content: resp
|
|
|
|
|
, init: () => {
|
|
|
|
|
$("#" + dialogId).attr("name", dialogName);
|
|
|
|
|
$("#" + dialogId).attr("data-ref-doctx", "${pageName}");
|
|
|
|
|
|
|
|
|
|
AppSupport.setDialogZindex();
|
|
|
|
|
}
|
|
|
|
|
, onClose: () => { $P.fnRefreshDataInfo(); } // 자료 재조회
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 개별 반송 삭제 callback
|
|
|
|
|
$P.ctrlSndngDtl.onRemove = (params, resp) => {
|
|
|
|
|
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, params.btnTitle);
|
|
|
|
|
|
|
|
|
|
dialog.alert({
|
|
|
|
|
content: showMessage
|
|
|
|
|
, init: () => { AppSupport.setDialogZindex(); }
|
|
|
|
|
, onOK: () => { }
|
|
|
|
|
, onClose: () => {
|
|
|
|
|
if (resp.saved) { $P.fnRefreshDataInfo(); } // 자료 재조회
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 개별 반송 삭제
|
|
|
|
|
$P.ctrlSndngDtl.remove = (params) => {
|
|
|
|
|
if (!params) return;
|
|
|
|
|
|
|
|
|
|
ajax.post({
|
|
|
|
|
url: wctx.url("/" + params.taskSeCd + "/sndb/sndb01/220/remove.do")
|
|
|
|
|
, data: params || {}
|
|
|
|
|
, success: (resp) => {
|
|
|
|
|
$P.ctrlSndngDtl.onRemove(params, resp);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**************************************************************************
|
|
|
|
|
* 공시송달 DatasetControl 이벤트
|
|
|
|
|
**************************************************************************/
|
|
|
|
|
// Dataset 변경
|
|
|
|
|
$P.ctrlSvbtc.onDatasetChange = (obj, option) => {
|
|
|
|
|
$P.renderSvbtcList();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 현재 선택 자료 변경 이벤트
|
|
|
|
|
$P.ctrlSvbtc.onCurrentChange = (item) => {
|
|
|
|
|
if (!item) return;
|
|
|
|
|
|
|
|
|
|
let key = item.data.SNDNG_DTL_ID;
|
|
|
|
|
|
|
|
|
|
$P.$findn("tbodySvbtcList").setCurrentRow(key);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**************************************************************************
|
|
|
|
|
* DataTables 이벤트
|
|
|
|
|
**************************************************************************/
|
|
|
|
|
// DataTables에 click, dbclick 이벤트
|
|
|
|
|
$P.renderSndngDtlList = (totalSize, option) => {
|
|
|
|
|
let sndngDtlList = $P.ctrlSndngDtl.dataset;
|
|
|
|
|
let empty = sndngDtlList.empty;
|
|
|
|
|
|
|
|
|
|
let trs = empty ? [$P.findn("tmpltNotFoundSndngDtl").innerHTML] :
|
|
|
|
|
sndngDtlList.inStrings($P.findn("tmpltSndngDtlRows").innerHTML
|
|
|
|
|
, (str, dataItem) => str
|
|
|
|
|
.replace(/{onclick}/gi, "pageObject['${pageName}'].ctrlSndngDtl.setCurrent('" + dataItem.getValue("SNDNG_DTL_ID") + "');")
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
$P.$findn("tbodySndngDtlList").html(trs.join());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 공시송달 정보 DataTables에 click 이벤트
|
|
|
|
|
$P.renderSvbtcList = (totalSize, option) => {
|
|
|
|
|
let svbtcList = $P.ctrlSvbtc.dataset;
|
|
|
|
|
let empty = svbtcList.empty;
|
|
|
|
|
|
|
|
|
|
let trs = empty ? [$P.findn("tmpltNotFoundSvbtc").innerHTML] :
|
|
|
|
|
svbtcList.inStrings($P.findn("tmpltSvbtcRows").innerHTML
|
|
|
|
|
, (str, dataItem) => str
|
|
|
|
|
.replace(/{onclick}/gi, "pageObject['${pageName}'].ctrlSvbtc.setCurrent('" + dataItem.getValue("SNDNG_DTL_ID") + "');")
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
$P.$findn("tbodySvbtcList").html(trs.join());
|
|
|
|
|
}
|
|
|
|
|
// URL
|
|
|
|
|
$P.prefixUrl = "${prefixUrl}"
|
|
|
|
|
// datasetControl
|
|
|
|
|
$P.ctrlSndngDtl = newSprt02040ControlSD("${pageName}", "[data-doctx=${pageName}]", "${pageNameMain}");
|
|
|
|
|
$P.ctrlSvbtc = newSprt02040ControlSV("${pageName}", "[data-doctx=${pageName}]", "${pageNameMain}");
|
|
|
|
|
|
|
|
|
|
/**************************************************************************
|
|
|
|
|
* 사용자 함수(function)
|
|
|
|
|
**************************************************************************/
|
|
|
|
|
// 자료 재조회
|
|
|
|
|
$P.fnRefreshDataInfo = () => {
|
|
|
|
|
let crdnId = pageObject["${mainPageName}"].mainCtrl.getValue("CRDN_ID"); // 단속 ID
|
|
|
|
|
// 정보 새로고침
|
|
|
|
|
$P.fnRefresh = () => {
|
|
|
|
|
let ctrlMain = pageObject["${pageNameMain}"].ctrlMain;
|
|
|
|
|
|
|
|
|
|
// 단속 ID 가 없다면.. return
|
|
|
|
|
let crdnId = ctrlMain.getValue("CRDN_ID"); // 단속 ID
|
|
|
|
|
if (!crdnId) return;
|
|
|
|
|
|
|
|
|
|
let params = {
|
|
|
|
|
callPurpose: "refresh"
|
|
|
|
|
, sggCd: pageObject["${mainPageName}"].mainCtrl.getValue("SGG_CD")
|
|
|
|
|
, taskSeCd: pageObject["${mainPageName}"].mainCtrl.getValue("TASK_SE_CD")
|
|
|
|
|
, crdnId: pageObject["${mainPageName}"].mainCtrl.getValue("CRDN_ID")
|
|
|
|
|
, sggCd: ctrlMain.getValue("SGG_CD")
|
|
|
|
|
, taskSeCd: ctrlMain.getValue("TASK_SE_CD")
|
|
|
|
|
, crdnId: ctrlMain.getValue("CRDN_ID")
|
|
|
|
|
, delYn: "N"
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
@ -418,9 +250,10 @@
|
|
|
|
|
// sprt02010-main 단속 정보
|
|
|
|
|
pageObject["${pageNameMain}"].mainControl.setData([resp.totalInfo]);
|
|
|
|
|
|
|
|
|
|
// Dataset 셋팅
|
|
|
|
|
$P.ctrlSndngDtl.setData(resp.sndngDtls); // 발송 이력 정보
|
|
|
|
|
$P.ctrlSvbtc.setData(resp.svbtcDtls); // 공시송달 이력 정보
|
|
|
|
|
// 발송 이력 정보
|
|
|
|
|
$P.ctrlSndngDtl.setData(resp.sndngDtls);
|
|
|
|
|
// 공시송달 이력 정보
|
|
|
|
|
$P.ctrlSvbtc.setData(resp.svbtcDtls);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
@ -430,12 +263,12 @@
|
|
|
|
|
**************************************************************************/
|
|
|
|
|
// 개별 반송 등록
|
|
|
|
|
$P.fnCreateSndbk = (btnTitle) => {
|
|
|
|
|
// 발송상세 ID 가 없다면.. return
|
|
|
|
|
let sndngDtlId = $P.ctrlSndngDtl.getValue("SNDNG_DTL_ID"); // 발송 상세 ID
|
|
|
|
|
let undlvrRsnNm = $P.ctrlSndngDtl.getValue("UNDLVR_RSN_NM"); // 미배달 사유 명
|
|
|
|
|
if (!sndngDtlId) return;
|
|
|
|
|
|
|
|
|
|
// 발송상세ID 가 없다면.. return
|
|
|
|
|
if (typeof sndngDtlId == "undefined" || sndngDtlId == null || sndngDtlId == "") return;
|
|
|
|
|
// 미배달 사유 확인
|
|
|
|
|
let undlvrRsnNm = $P.ctrlSndngDtl.getValue("UNDLVR_RSN_NM"); // 미배달 사유 명
|
|
|
|
|
if (undlvrRsnNm != "" ) {
|
|
|
|
|
dialog.alert({
|
|
|
|
|
content: "미배달 사유가 " + undlvrRsnNm + " (으)로 반송 등록 되어 있습니다."
|
|
|
|
@ -465,8 +298,8 @@
|
|
|
|
|
let params = {
|
|
|
|
|
callPurpose: "create"
|
|
|
|
|
, btnTitle: btnTitle
|
|
|
|
|
, sggCd: $P.ctrlSndngDtl.getValue("SGG_CD") // 시군구 코드
|
|
|
|
|
, taskSeCd: $P.ctrlSndngDtl.getValue("TASK_SE_CD") // 업무 구분 코드
|
|
|
|
|
, sggCd: ctrlMain.getValue("SGG_CD") // 시군구 코드
|
|
|
|
|
, taskSeCd: ctrlMain.getValue("TASK_SE_CD") // 업무 구분 코드
|
|
|
|
|
, sndngDtlId: $P.ctrlSndngDtl.getValue("SNDNG_DTL_ID") // 발송 상세 ID
|
|
|
|
|
, delYn: "N"
|
|
|
|
|
};
|
|
|
|
@ -476,9 +309,8 @@
|
|
|
|
|
|
|
|
|
|
// 개별 반송 수정
|
|
|
|
|
$P.fnUpdateSndbk = (btnTitle) => {
|
|
|
|
|
let sndngDtlId = $P.ctrlSndngDtl.getValue("SNDNG_DTL_ID"); // 발송 상세 ID
|
|
|
|
|
|
|
|
|
|
// 발송상세ID 가 없다면.. return
|
|
|
|
|
let sndngDtlId = $P.ctrlSndngDtl.getValue("SNDNG_DTL_ID"); // 발송 상세 ID
|
|
|
|
|
if (!sndngDtlId) return;
|
|
|
|
|
|
|
|
|
|
// 미배달 사유 코드
|
|
|
|
@ -512,13 +344,14 @@
|
|
|
|
|
|
|
|
|
|
// 개별 반송 삭제
|
|
|
|
|
$P.fnRemoveSndbk = (btnTitle) => {
|
|
|
|
|
// 발송상세ID 가 없다면.. return
|
|
|
|
|
let sndngDtlId = $P.ctrlSndngDtl.getValue("SNDNG_DTL_ID"); // 발송 상세 ID
|
|
|
|
|
if (!sndngDtlId) return;
|
|
|
|
|
|
|
|
|
|
// 발송상세 상태코드 확인 (FIM050 - 05:반송)
|
|
|
|
|
let sndngDtlSttsCd = $P.ctrlSndngDtl.getValue("SNDNG_DTL_STTS_CD"); // 발송 상세 상태 코드
|
|
|
|
|
let sndngDtlSttsNm = $P.ctrlSndngDtl.getValue("SNDNG_DTL_STTS_NM"); // 발송 상세 상태 명
|
|
|
|
|
|
|
|
|
|
// 발송상세ID 가 없다면.. return
|
|
|
|
|
if (typeof sndngDtlId == "undefined" || sndngDtlId == null || sndngDtlId == "") return;
|
|
|
|
|
// 발송상세 상태코드 확인 (FIM050 - 05:반송)
|
|
|
|
|
if (sndngDtlSttsCd != "05") {
|
|
|
|
|
dialog.alert({
|
|
|
|
|
content: "[" + btnTitle + "]" + " 작업은 발송상세 상태가 '반송' 자료만 처리 가능합니다."
|
|
|
|
@ -586,11 +419,12 @@
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 초기 화면 설정
|
|
|
|
|
$P.initForm = () => {
|
|
|
|
|
// 초기화
|
|
|
|
|
$P.findn("frmEditSndngDtl").reset(); // 화면 초기화
|
|
|
|
|
$P.ctrlSndngDtl.dataset.clear(); // 발송 상세 Dataset 초기화
|
|
|
|
|
$P.ctrlSvbtc.dataset.clear(); // 공시송달 Dataset 초기화
|
|
|
|
|
$P.fnReset = () => {
|
|
|
|
|
// 화면 초기화
|
|
|
|
|
$P.findn("frmEditSndngDtl").reset();
|
|
|
|
|
// Dataset 초기화
|
|
|
|
|
$P.ctrlSndngDtl.dataset.clear(); // 발송상세
|
|
|
|
|
$P.ctrlSvbtc.dataset.clear(); // 공시송달
|
|
|
|
|
|
|
|
|
|
// 화면 호출(callPurpose)이 view라면 버튼 비활성화 disabled = true
|
|
|
|
|
if (pageObject["${pageNameMain}"].callPurpose == "view") {
|
|
|
|
@ -611,10 +445,10 @@
|
|
|
|
|
$P.setEvent();
|
|
|
|
|
|
|
|
|
|
// 2. 초기 화면 설정
|
|
|
|
|
$P.initForm();
|
|
|
|
|
$P.fnReset();
|
|
|
|
|
|
|
|
|
|
// 3. Dataset 설정
|
|
|
|
|
$P.ctrlSndngDtl.setData(${sndngDtls}); // 발송 이력
|
|
|
|
|
$P.ctrlSndngDtl.setData(${sndngDtls}); // 발송상세 이력
|
|
|
|
|
$P.ctrlSvbtc.setData(${svbtcDtls}); // 공시송달 이력
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|