개별총정보 - 처리상세 정보 수정.

main
jjh 10 months ago
parent 20b9571926
commit 8d7cd6bb1d

@ -123,8 +123,7 @@ public class Sprt02Controller extends ApplicationController {
ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02010-main"); ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02010-main");
return mav return mav.addObject("callControlName", req.getCallControlName())
.addObject("callControlName", req.getCallControlName())
.addObject("callPurpose", req.getCallPurpose()) .addObject("callPurpose", req.getCallPurpose())
.addObject("pageName", "sprt02010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix .addObject("pageName", "sprt02010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
.addObject("pageNameMain", "sprt02010") // 개별총정보 메인 화면명 .addObject("pageNameMain", "sprt02010") // 개별총정보 메인 화면명
@ -147,8 +146,8 @@ public class Sprt02Controller extends ApplicationController {
ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02020-info"); ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02020-info");
mav.addObject("pageName", "sprt02020") mav.addObject("pageNameMain", "sprt02010")
.addObject("pageNameMain", "sprt02010") .addObject("pageName", "sprt02020")
.addObject("crdnPayer", json ? crdnPayer : toJson(crdnPayer)) // 단속, 납부자 정보 .addObject("crdnPayer", json ? crdnPayer : toJson(crdnPayer)) // 단속, 납부자 정보
; ;
@ -173,10 +172,8 @@ public class Sprt02Controller extends ApplicationController {
ModelAndView mav = new ModelAndView("jsonView"); ModelAndView mav = new ModelAndView("jsonView");
return mav return mav.addObject("pageNameMain", "sprt02010")
.addObject("callPurpose", req.getCallPurpose())
.addObject("pageName", "sprt02020") .addObject("pageName", "sprt02020")
.addObject("pageNameMain", "sprt02010")
.addObject("fileList", fileList) // 파일 리스트 .addObject("fileList", fileList) // 파일 리스트
; ;
} }
@ -250,7 +247,7 @@ public class Sprt02Controller extends ApplicationController {
* }</code></pre> * }</code></pre>
*/ */
public ModelAndView getOpnnSbmsnInfo(SprtQuery req) { public ModelAndView getOpnnSbmsnInfo(SprtQuery req) {
// 의견제출(TB_OPNN_SBMSN) 대장 조회 // 의견제출 정보
LevyExclQuery exclQuery = new LevyExclQuery(); LevyExclQuery exclQuery = new LevyExclQuery();
if (req.getCallPurpose() == null) { if (req.getCallPurpose() == null) {
@ -268,8 +265,8 @@ public class Sprt02Controller extends ApplicationController {
ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02030-info"); ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02030-info");
mav.addObject("pageName", "sprt02030") mav.addObject("pageNameMain", "sprt02010")
.addObject("pageNameMain", "sprt02010") .addObject("pageName", "sprt02030")
.addObject("opnnSbmsn", json ? opnnSbmsn : toJson(opnnSbmsn)) // 의견제출 정보 .addObject("opnnSbmsn", json ? opnnSbmsn : toJson(opnnSbmsn)) // 의견제출 정보
; ;
@ -282,7 +279,7 @@ public class Sprt02Controller extends ApplicationController {
return mav; return mav;
} }
/** ID . /** ID .
* @param crdnId ID * @param crdnId ID
* @return fims/sprt/sprt02040-main jsonView * @return fims/sprt/sprt02040-main jsonView
* <pre><code> { * <pre><code> {
@ -290,7 +287,7 @@ public class Sprt02Controller extends ApplicationController {
* }</code></pre> * }</code></pre>
*/ */
public ModelAndView getSndngInfo(SprtQuery req) { public ModelAndView getSndngInfo(SprtQuery req) {
// 발송반송 정보 // 발송상세 정보
SndbQuery sndbQuery = new SndbQuery(); SndbQuery sndbQuery = new SndbQuery();
if (req.getCallPurpose() == null) { if (req.getCallPurpose() == null) {
@ -315,11 +312,9 @@ public class Sprt02Controller extends ApplicationController {
ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02040-info"); ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02040-info");
mav.addObject("pageName", "sprt02040") mav.addObject("pageNameMain", "sprt02010")
.addObject("pageNameMain", "sprt02010") .addObject("pageName", "sprt02040")
.addObject("infoPrefix", "sndng") // prefix
.addObject("sndngDtl", json ? sndngDtl : toJson(sndngDtl)) // 발송 정보 .addObject("sndngDtl", json ? sndngDtl : toJson(sndngDtl)) // 발송 정보
.addObject("pageDataName2", "Svbtc") // dataset2
.addObject("svbtc", json ? svbtc : toJson(svbtc)) // 공시송달 정보 .addObject("svbtc", json ? svbtc : toJson(svbtc)) // 공시송달 정보
; ;
@ -386,16 +381,11 @@ public class Sprt02Controller extends ApplicationController {
ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02050-info"); ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02050-info");
mav mav.addObject("pageNameMain", "sprt02010")
.addObject("pageName", "sprt02050") .addObject("pageName", "sprt02050")
.addObject("pageNameMain", "sprt02010")
.addObject("pageDataName1", "Rduct") // dataset1
.addObject("rduct", json ? rduct : toJson(rduct)) // 과태료 감경 정보 .addObject("rduct", json ? rduct : toJson(rduct)) // 과태료 감경 정보
.addObject("pageDataName2", "LevyExcl") // dataset2
.addObject("levyExcl", json ? levyExcl : toJson(levyExcl)) // 부과 제외 정보 .addObject("levyExcl", json ? levyExcl : toJson(levyExcl)) // 부과 제외 정보
.addObject("pageDataName3", "CrdnSttsHstry") // dataset3
.addObject("crdnSttsHstry", json ? crdnSttsHstry : toJson(crdnSttsHstry)) // 단속 상태 이력 .addObject("crdnSttsHstry", json ? crdnSttsHstry : toJson(crdnSttsHstry)) // 단속 상태 이력
.addObject("pageDataName4", "PayerHstry") // dataset4
.addObject("payerHstry", json ? payerHstry : toJson(payerHstry)) // 납부자 변경 이력 .addObject("payerHstry", json ? payerHstry : toJson(payerHstry)) // 납부자 변경 이력
; ;
@ -416,6 +406,7 @@ public class Sprt02Controller extends ApplicationController {
* }</code></pre> * }</code></pre>
*/ */
public ModelAndView getLevyNpmntInfo(SprtQuery req) { public ModelAndView getLevyNpmntInfo(SprtQuery req) {
// 부과 정보
LevyQuery levyQuery = new LevyQuery(); LevyQuery levyQuery = new LevyQuery();
if (req.getCallPurpose() == null) { if (req.getCallPurpose() == null) {
@ -433,8 +424,8 @@ public class Sprt02Controller extends ApplicationController {
ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02060-info"); ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02060-info");
mav.addObject("pageName", "sprt02060") mav.addObject("pageNameMain", "sprt02010")
.addObject("pageNameMain", "sprt02010") .addObject("pageName", "sprt02060")
.addObject("levy", json ? levy : toJson(levy)) // 부과 정보 .addObject("levy", json ? levy : toJson(levy)) // 부과 정보
; ;
@ -455,19 +446,26 @@ public class Sprt02Controller extends ApplicationController {
* }</code></pre> * }</code></pre>
*/ */
public ModelAndView getRcvmtInfo(SprtQuery req) { public ModelAndView getRcvmtInfo(SprtQuery req) {
// // 수납 정보
List<DataObject> rcvmt = rcvmtService.getRcvmts(new RcvmtQuery().setCallPurpose(req.getCallPurpose()) RcvmtQuery rcvmtQuery = new RcvmtQuery();
.setCrdnId(req.getCrdnId())
.setDelYN(req.getDelYN()) if (req.getCallPurpose() == null) {
.setOrderBy("R.RCVMT_ID DESC")); rcvmtQuery.setCallPurpose("view");
} else {
rcvmtQuery.setCallPurpose(req.getCallPurpose());
}
rcvmtQuery.setCrdnId(req.getCrdnId());
rcvmtQuery.setDelYN(req.getDelYN());
rcvmtQuery.setOrderBy("R.RCVMT_ID DESC");
List<DataObject> rcvmt = rcvmtService.getRcvmts(rcvmtQuery);
boolean json = jsonResponse(); boolean json = jsonResponse();
ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02070-info"); ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02070-info");
mav.addObject("pageName", "sprt02070") mav.addObject("pageNameMain", "sprt02010")
.addObject("pageNameMain", "sprt02010") .addObject("pageName", "sprt02070")
.addObject("infoPrefix", "rcvmt") // prefix
.addObject("rcvmt", json ? rcvmt : toJson(rcvmt)) // 수납 정보 .addObject("rcvmt", json ? rcvmt : toJson(rcvmt)) // 수납 정보
; ;
@ -480,7 +478,7 @@ public class Sprt02Controller extends ApplicationController {
return mav; return mav;
} }
/** ID . /** ID .
* @param crdnId ID * @param crdnId ID
* @return fims/sprt/sprt02080-main jsonView * @return fims/sprt/sprt02080-main jsonView
* <pre><code> { * <pre><code> {
@ -488,10 +486,14 @@ public class Sprt02Controller extends ApplicationController {
* }</code></pre> * }</code></pre>
*/ */
public ModelAndView getCvlcptDscsnInfo(SprtQuery req) { public ModelAndView getCvlcptDscsnInfo(SprtQuery req) {
// // 민원 상담 정보
CvlcptDscsnQuery cvlcptDscsnQuery = new CvlcptDscsnQuery(); CvlcptDscsnQuery cvlcptDscsnQuery = new CvlcptDscsnQuery();
if (req.getCallPurpose() == null) {
cvlcptDscsnQuery.setCallPurpose("view");
} else {
cvlcptDscsnQuery.setCallPurpose(req.getCallPurpose()); cvlcptDscsnQuery.setCallPurpose(req.getCallPurpose());
}
cvlcptDscsnQuery.setInquiryCondition(req.getInquiryCondition()); cvlcptDscsnQuery.setInquiryCondition(req.getInquiryCondition());
cvlcptDscsnQuery.setSggCd(req.getSggCd()); cvlcptDscsnQuery.setSggCd(req.getSggCd());
cvlcptDscsnQuery.setTaskSeCd(req.getTaskSeCd()); cvlcptDscsnQuery.setTaskSeCd(req.getTaskSeCd());
@ -504,9 +506,8 @@ public class Sprt02Controller extends ApplicationController {
ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02080-info"); ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02080-info");
mav.addObject("pageName", "sprt02080") mav.addObject("pageNameMain", "sprt02010")
.addObject("pageNameMain", "sprt02010") .addObject("pageName", "sprt02080")
.addObject("infoPrefix", "cvlcptDscsn") // prefix
.addObject("cvlcptDscsn", json ? cvlcptDscsn : toJson(cvlcptDscsn)) // 민원상담내용 정보 .addObject("cvlcptDscsn", json ? cvlcptDscsn : toJson(cvlcptDscsn)) // 민원상담내용 정보
; ;

@ -173,7 +173,7 @@
<where> <where>
<if test="crdnId != null"> <if test="crdnId != null">
AND C.CRDN_ID = #{crdnId} <!-- 단속 ID --> AND C.CRDN_ID = #{crdnId} <!-- 단속 ID -->
AND C.DEL_YN = #{delYN} <!-- 삭제 여부 --> AND C.DEL_YN = 'N' <!-- 삭제 여부 -->
</if> </if>
<if test="rductId != null"> <if test="rductId != null">
AND R.RDUCT_ID = #{rductId} <!-- 감경 ID --> AND R.RDUCT_ID = #{rductId} <!-- 감경 ID -->

@ -654,6 +654,7 @@
window.open( window.open(
encodeURI(wctx.url("/resources/html/inputRsnDialog.html" encodeURI(wctx.url("/resources/html/inputRsnDialog.html"
+ "?openerPageName=${pageName}" + "?openerPageName=${pageName}"
+ "&prefix=" + $P.control.prefix
+ "&usePurpose=" + "remove" + "&usePurpose=" + "remove"
+ "&ttlNm=" + "삭제" + "&ttlNm=" + "삭제"
)) ))

@ -731,6 +731,7 @@
window.open( window.open(
encodeURI(wctx.url("/resources/html/inputRsnDialog.html" encodeURI(wctx.url("/resources/html/inputRsnDialog.html"
+ "?openerPageName=${pageName}" + "?openerPageName=${pageName}"
+ "&prefix=" + $P.control.prefix
+ "&usePurpose=" + "remove" + "&usePurpose=" + "remove"
+ "&ttlNm=" + "삭제" + "&ttlNm=" + "삭제"
)) ))

@ -120,7 +120,10 @@
let dialogTitle = $("#" + ${pageName}Control.prefix + "Dialog").find("h5.modal-title").html(); let dialogTitle = $("#" + ${pageName}Control.prefix + "Dialog").find("h5.modal-title").html();
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle); let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle);
dialog.alert(showMessage); dialog.alert({
content : showMessage
, onOK : () => { }
});
if (resp.saved) { if (resp.saved) {
dialog.close(${pageName}Control.prefix + "Dialog"); dialog.close(${pageName}Control.prefix + "Dialog");

@ -318,6 +318,7 @@
**************************************************************************/ **************************************************************************/
$P.control = new DatasetControl({ $P.control = new DatasetControl({
prefix : "crdnPayer" prefix : "crdnPayer"
, prefixName : "단속"
, keymapper : info => info ? info.CRDN_ID : "" , keymapper : info => info ? info.CRDN_ID : ""
, dataGetter : obj => obj.crdnPayerInfo , dataGetter : obj => obj.crdnPayerInfo
, formats : { , formats : {
@ -352,23 +353,13 @@
$P.control.getInfo = (params) => { $P.control.getInfo = (params) => {
if (!params) return; if (!params) return;
let dialogTitle = "";
if (params.callPurpose == "create") {
dialogTitle = "단속정보 등록";
} else if (params.callPurpose == "update") {
dialogTitle = "단속정보 수정";
} else {
return;
}
ajax.get({ ajax.get({
url : wctx.url("/" + params.taskSeCd + "/crdn/crdn06/020/info.do") url : wctx.url("/" + params.taskSeCd + "/crdn/crdn06/020/info.do")
, data : params || {} , data : params || {}
, success : resp => { , success : resp => {
dialog.open({ dialog.open({
id : "crdnDialog" id : "crdnDialog"
, title : dialogTitle , title : params.btnTitle
, content : resp , content : resp
, size : "lg" , size : "lg"
, onClose : () => { $P.refreshDataInfo$(); } , onClose : () => { $P.refreshDataInfo$(); }
@ -408,8 +399,8 @@
**************************************************************************/ **************************************************************************/
// 자료 재조회 // 자료 재조회
$P.refreshDataInfo = () => { $P.refreshDataInfo = () => {
// 단속 ID
let crdnId = $("#crdnId--${pageNameMain}").val(); let crdnId = $("#crdnId--${pageNameMain}").val();
// 단속 ID 가 없다면.. return // 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
@ -452,7 +443,7 @@
, success : resp => { , success : resp => {
dialog.open({ dialog.open({
id : "cvlcptOrgnlDialog--${pageName}" id : "cvlcptOrgnlDialog--${pageName}"
, title : "민원내역 원본" , title : params.btnTitle
, content : resp , content : resp
, size : "xl" , size : "xl"
}); });
@ -470,7 +461,7 @@
, success : resp => { , success : resp => {
dialog.open({ dialog.open({
id : "answerPreviewDialog--${pageName}" id : "answerPreviewDialog--${pageName}"
, title : "답변내용 미리보기" , title : params.btnTitle
, content : resp , content : resp
, size : "xl" , size : "xl"
}); });
@ -478,6 +469,20 @@
}); });
} }
// 삭제 callback
$P.callbackRemove = (obj) => {
// 서버에 전송할 data(파라미터) 생성
let params = {
callPurpose : "remove"
, crdnId : $P.control.dataset.getValue("CRDN_ID") // 단속 ID
, sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, delRsn : obj.reason // 삭제 사유
};
$P.control.remove(params);
}
// 단속 재등록 // 단속 재등록
$P.createCrdnReReg = (params) => { $P.createCrdnReReg = (params) => {
if (!params) return; if (!params) return;
@ -487,8 +492,12 @@
, data : params || {} , data : params || {}
, success : resp => { , success : resp => {
if (resp.saved) { if (resp.saved) {
dialog.alert("단속재등록 작업이 정상 처리되었습니다."); dialog.alert({
content : "단속재등록 작업이 정상 처리되었습니다."
, onOK : () => { }
});
} }
return;
} }
}); });
} }
@ -503,7 +512,7 @@
, success : resp => { , success : resp => {
dialog.open({ dialog.open({
id : "crdnSttsCdDialog" id : "crdnSttsCdDialog"
, title : "단속상태 변경" , title : params.btnTitle
, content : resp , content : resp
, size : "lg" , size : "lg"
, onClose : () => { $P.refreshDataInfo$(); } , onClose : () => { $P.refreshDataInfo$(); }
@ -565,22 +574,31 @@
/************************************************************************** /**************************************************************************
* 버튼 clickEvent * 버튼 clickEvent
**************************************************************************/ **************************************************************************/
// 민원원본보기 // 민원원본 보기
$P.fnViewCvlcptOrgnl = () => { $P.fnViewCvlcptOrgnl = () => {
let crdnId = $P.control.dataset.getValue("CRDN_ID"); // 단속 ID // 버튼 title
let cvlcptLinkId = $P.control.dataset.getValue("CVLCPT_LINK_ID"); // 민원 연계 ID let btnTitle = $("#btnViewCvlcptOrgnl--${pageName}").attr("title");
// 단속 ID
let crdnId = $P.control.dataset.getValue("CRDN_ID");
// 단속 ID 가 없다면.. return // 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
// 민원 연계 ID
let cvlcptLinkId = $P.control.dataset.getValue("CVLCPT_LINK_ID");
// 민원 연계 ID가 없다면.. return // 민원 연계 ID가 없다면.. return
if (typeof cvlcptLinkId == "undefined" || cvlcptLinkId == null || cvlcptLinkId == "") { if (typeof cvlcptLinkId == "undefined" || cvlcptLinkId == null || cvlcptLinkId == "") {
dialog.alert("조회된 단속 민원 대장 정보가 없습니다."); dialog.alert({
content : "조회된 단속 민원 대장 정보가 없습니다."
+ "<br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
});
return; return;
} }
let params = { let params = {
callPurpose : "view" callPurpose : "view"
, btnTitle : btnTitle
, crdnId : crdnId // 단속 ID , crdnId : crdnId // 단속 ID
, sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드 , sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 , taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
@ -589,22 +607,31 @@
$P.viewCvlcptOrgnl(params); $P.viewCvlcptOrgnl(params);
} }
// 민원답변보기 // 민원답변 보기
$P.fnViewAnswerPreview = () => { $P.fnViewAnswerPreview = () => {
let crdnId = $P.control.dataset.getValue("CRDN_ID"); // 단속 ID // 버튼 title
let cvlcptLinkId = $P.control.dataset.getValue("CVLCPT_LINK_ID"); // 민원 연계 ID let btnTitle = $("#btnViewAnswerPreview--${pageName}").attr("title");
// 단속 ID
let crdnId = $P.control.dataset.getValue("CRDN_ID");
// 단속 ID 가 없다면.. return // 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
// 민원 연계 ID
let cvlcptLinkId = $P.control.dataset.getValue("CVLCPT_LINK_ID");
// 민원 연계 ID가 없다면.. return // 민원 연계 ID가 없다면.. return
if (typeof cvlcptLinkId == "undefined" || cvlcptLinkId == null || cvlcptLinkId == "") { if (typeof cvlcptLinkId == "undefined" || cvlcptLinkId == null || cvlcptLinkId == "") {
dialog.alert("조회된 단속 민원 대장 정보가 없습니다."); dialog.alert({
content : "조회된 단속 민원 대장 정보가 없습니다."
+ "<br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
});
return; return;
} }
let params = { let params = {
callPurpose : "view" callPurpose : "view"
, btnTitle : btnTitle
, crdnId : crdnId // 단속 ID , crdnId : crdnId // 단속 ID
, sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드 , sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 , taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
@ -613,15 +640,19 @@
$P.viewAnswerPreview(params); $P.viewAnswerPreview(params);
} }
// 단속정보수정 // 단속정보 수정
$P.fnUpdateCrdn = () => { $P.fnUpdateCrdn = () => {
let crdnId = $P.control.dataset.getValue("CRDN_ID"); // 버튼 title
let btnTitle = $("#btnUpdateCrdn--${pageName}").attr("title");
// 단속 ID
let crdnId = $P.control.dataset.getValue("CRDN_ID");
// 단속 ID 가 없다면.. return // 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
let params = { let params = {
callPurpose : "update" callPurpose : "update"
, btnTitle : btnTitle
, crdnId : crdnId // 단속 ID , crdnId : crdnId // 단속 ID
, sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드 , sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 , taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
@ -630,40 +661,82 @@
$P.control.getInfo(params); $P.control.getInfo(params);
} }
// 단속정보삭제 // 단속정보 삭제
$P.fnRemoveCrdn${pageName} = () => { $P.fnRemoveCrdn = () => {
let crdnId = $P.control.dataset.getValue("CRDN_ID"); // 버튼 title
let btnTitle = $("#btnRemoveCrdn--${pageName}").attr("title");
// 단속 ID
let crdnId = $P.control.dataset.getValue("CRDN_ID");
// 단속 ID 가 없다면.. return // 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
let params = { // 단속 상태 코드
callPurpose : "remove" let crdnSttsCd = $("#crdnSttsCd--${pageNameMain}").val();
, crdnId : crdnId // 단속 ID let crdnSttsNm = $("#crdnSttsNm--${pageNameMain}").val();
, sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드 // 단속 상태 코드 확인
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 if (Number(crdnSttsCd) > 51) {
}; dialog.alert({
content : "단속상태가 '" + crdnSttsNm + "' 입니다."
+ "<br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
});
return;
}
// 삭제 메세지 확인
dialog.alert({ dialog.alert({
content : "선택한 단속 정보를 삭제하시겠습니까?" content : "선택하신 단속 정보를 삭제하시겠습니까?"
, onOK : () => { , onOK : () => {
$P.control.remove(params); // 삭제 사유 입력
let popupWidth = 640;
let popupHeight = 240;
let popupX = (window.screen.width / 2) - (popupWidth / 2);
let popupY = (window.screen.height / 2) - (popupHeight / 2);
window.open(
encodeURI(wctx.url("/resources/html/inputRsnDialog.html"
+ "?openerPageName=${pageName}"
+ "&prefix=" + $P.control.prefix
+ "&usePurpose=" + "remove"
+ "&ttlNm=" + "삭제"
))
, "inputDelRsnDialog"
, 'status=no, height=' + popupHeight + ', width=' + popupWidth + ', left='+ popupX + ', top='+ popupY
);
} }
}); });
} }
// 단속재등록 // 단속 재등록
$P.fnCreateCrdnReReg = () => { $P.fnCreateCrdnReReg = () => {
let bfrCrdnId = $P.control.dataset.getValue("CRDN_ID"); // 버튼 title
let btnTitle = $("#btnCreateCrdnReReg--${pageName}").attr("title");
// 단속 ID
let bfrCrdnId = $P.control.dataset.getValue("CRDN_ID");
// 단속 ID 가 없다면.. return // 단속 ID 가 없다면.. return
if (typeof bfrCrdnId == "undefined" || bfrCrdnId == null || bfrCrdnId == "") return; if (typeof bfrCrdnId == "undefined" || bfrCrdnId == null || bfrCrdnId == "") return;
// 단속 상태 코드
let crdnSttsCd = $("#crdnSttsCd--${pageNameMain}").val();
let crdnSttsNm = $("#crdnSttsNm--${pageNameMain}").val();
// 단속 상태 코드 확인
if (Number(crdnSttsCd) < 80 || Number(crdnSttsCd) > 88) {
dialog.alert({
content : "단속상태가 '" + crdnSttsNm + "' 입니다."
+ "<br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
});
return;
}
let params = { let params = {
callPurpose : "create" callPurpose : "create"
, btnTitle : btnTitle
, bfrCrdnId : bfrCrdnId // 단속 ID
, sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드 , sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 , taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, bfrCrdnId : bfrCrdnId // 단속 ID
}; };
dialog.alert({ dialog.alert({
@ -676,62 +749,22 @@
// 고지서출력 // 고지서출력
$P.fnPrintNht = () => { $P.fnPrintNht = () => {
var upDataset = $P.control;
if(upDataset.length <= 0){
dialog.alert("출력할 자료가 없습니다.");
return; return;
} }
var crdnId = $P.control.dataset.getValue("CRDN_ID"); // 단속 상태 변경
var url = wctx.url("/sprt/sprt01/150/info.do");
var dialogId = "printNhtDialog";
ajax.get({
url : url
, data : { crdnIds : crdnId }
, success : resp => {
dialog.open({
id : dialogId
, title : "종합조회-고지서"
, size : "xl"
, content : resp
, init : () => {
$("#"+dialogId).find("input[name='dialogId']").val(dialogId);
var found = $("#"+dialogId).find("template")[0].innerHTML;
var trs = upDataset.inStrings(found, null);
$("#"+dialogId).find("tbody").html(trs.join());
var parentRes = new Object();
var childReq = pageObject.childReq.pop();
for(var reqKey in childReq) {
if(integrationSearch.provide[reqKey]){
parentRes[reqKey] = integrationSearch.provide[reqKey];
} else {
parentRes[reqKey] = function(){};
}
}
pageObject.parentRes.push(parentRes);
}
, onClose : () => { }
});
}
});
}
// 단속상태변경
$P.fnUpdateCrdnSttsCd = () => { $P.fnUpdateCrdnSttsCd = () => {
let crdnId = $P.control.dataset.getValue("CRDN_ID"); // 버튼 title
let btnTitle = $("#btnUpdateCrdnSttsCd--${pageName}").attr("title");
// 단속 ID
let crdnId = $P.control.dataset.getValue("CRDN_ID");
// 단속 ID 가 없다면.. return // 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
let params = { let params = {
callPurpose : "update" callPurpose : "update"
, btnTitle : btnTitle
, crdnId : crdnId // 단속 ID , crdnId : crdnId // 단속 ID
, sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드 , sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 , taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
@ -742,27 +775,26 @@
// 납부자 초기화 // 납부자 초기화
$P.fnDeleteCrdnPayer = () => { $P.fnDeleteCrdnPayer = () => {
let crdnId = $P.control.dataset.getValue("CRDN_ID"); // 버튼 title
let rtpyrId = $P.control.dataset.getValue("RTPYR_ID"); let btnTitle = $("#btnDeleteCrdnPayer--${pageName}").attr("title");
// 단속 ID
let crdnId = $P.control.dataset.getValue("CRDN_ID");
// 단속 ID 가 없다면.. return // 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
if (rtpyrId == null || rtpyrId == "") { // 납부자 ID
dialog.alert({ let rtpyrId = $P.control.dataset.getValue("RTPYR_ID");
content : "선택한 자료의 납부자 정보가 없습니다." // 납부자 ID 가 없다면.. return
, onOK : () => { } if (rtpyrId == null || rtpyrId == "") return;
});
return;
}
let params = { let params = {
callPurpose : "remove" callPurpose : "remove"
, btnTitle : btnTitle
, crdnId : crdnId // 단속 ID , crdnId : crdnId // 단속 ID
, rtpyrId : rtpyrId // 납부자 ID
, sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드 , sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 , taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, rtpyrId : rtpyrId // 납부자 ID
, delYN : "N" , delYN : "N"
}; };
@ -776,17 +808,21 @@
// 납부자 수정 // 납부자 수정
$P.fnUpdatePayer = () => { $P.fnUpdatePayer = () => {
let crdnId = $P.control.dataset.getValue("CRDN_ID"); // 버튼 title
let btnTitle = $("#btnUpdatePayer--${pageName}").attr("title");
// 단속 ID
let crdnId = $P.control.dataset.getValue("CRDN_ID");
// 단속 ID 가 없다면.. return // 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
let params = { let params = {
callPurpose : "update" callPurpose : "update"
, btnTitle : btnTitle
, crdnId : crdnId // 단속 ID , crdnId : crdnId // 단속 ID
, rtpyrId : $P.control.dataset.getValue("RTPYR_ID") // 납부자 ID
, sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드 , sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 , taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, rtpyrId : $P.control.dataset.getValue("RTPYR_ID") // 납부자 ID
, vhrno : $P.control.dataset.getValue("VHRNO") // 차량번호 , vhrno : $P.control.dataset.getValue("VHRNO") // 차량번호
, rtpyrInptSeCd : "01" // 납부자 입력 구분 코드 , rtpyrInptSeCd : "01" // 납부자 입력 구분 코드
, delYN : "N" , delYN : "N"

@ -154,6 +154,7 @@
<div class="col-md-12"> <div class="col-md-12">
<label for="opnnSbmsnSttsNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">심의결과</label> <label for="opnnSbmsnSttsNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">심의결과</label>
<input type="text" class="form-control w-30" id="opnnSbmsnSttsNm--${pageName}" name="opnnSbmsnSttsNm" data-map="OPNN_SBMSN_STTS_NM" readonly /> <input type="text" class="form-control w-30" id="opnnSbmsnSttsNm--${pageName}" name="opnnSbmsnSttsNm" data-map="OPNN_SBMSN_STTS_NM" readonly />
<input type="hidden" id="opnnSbmsnSttsCd--${pageName}" name="opnnSbmsnSttsCd" data-map="OPNN_SBMSN_STTS_CD" />
</div> </div>
<!-- 답변일시 --> <!-- 답변일시 -->
<div class="col-md-12"> <div class="col-md-12">
@ -228,16 +229,6 @@
$P.control.getInfo = (params) => { $P.control.getInfo = (params) => {
if (!params) return; if (!params) return;
let dialogTitle = "";
if (params.callPurpose == "create") {
dialogTitle = $("#btnCreateOpnnSbmsn--${pageName}").attr("title");
} else if (params.callPurpose == "update") {
dialogTitle = $("#btnUpdateOpnnSbmsn--${pageName}").attr("title");
} else {
return;
}
ajax.get({ ajax.get({
url : wctx.url("/" + params.taskSeCd + "/excl/excl02/020/info.do") url : wctx.url("/" + params.taskSeCd + "/excl/excl02/020/info.do")
, data : params || {} , data : params || {}
@ -250,7 +241,7 @@
} else { } else {
dialog.open({ dialog.open({
id : $P.control.prefixed("Dialog") id : $P.control.prefixed("Dialog")
, title : dialogTitle , title : params.btnTitle
, content : resp , content : resp
, size : "lg" , size : "lg"
, onClose : () => { $P.refreshDataInfo(); } , onClose : () => { $P.refreshDataInfo(); }
@ -291,8 +282,8 @@
**************************************************************************/ **************************************************************************/
// 자료 재조회 // 자료 재조회
$P.refreshDataInfo = () => { $P.refreshDataInfo = () => {
// 단속 ID
let crdnId = $("#crdnId--${pageNameMain}").val(); let crdnId = $("#crdnId--${pageNameMain}").val();
// 단속 ID 가 없다면.. return // 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
@ -335,7 +326,7 @@
, success : resp => { , success : resp => {
dialog.open({ dialog.open({
id : "opnnSbmsnDialog" id : "opnnSbmsnDialog"
, title : "의견제출 심의" , title : params.btnTitle
, content : resp , content : resp
, size : "lg" , size : "lg"
, onClose : () => { $P.refreshDataInfo(); } , onClose : () => { $P.refreshDataInfo(); }
@ -344,6 +335,20 @@
}); });
} }
// 삭제 callback
$P.callbackRemove = (obj) => {
// 서버에 전송할 data(파라미터) 생성
let params = {
callPurpose : "remove"
, opnnId : $P.control.dataset.getValue("OPNN_ID") // 의견제출 ID
, sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, delRsn : obj.reason // 삭제 사유
};
$P.control.remove(params);
}
// 심의의결서 출력 // 심의의결서 출력
$P.makeHwpFileDlbrDecsn = (params) => { $P.makeHwpFileDlbrDecsn = (params) => {
if (!params) return; if (!params) return;
@ -369,15 +374,32 @@
/************************************************************************** /**************************************************************************
* 버튼 clickEvent * 버튼 clickEvent
**************************************************************************/ **************************************************************************/
// 의견제출등록 버튼 이벤트 // 의견제출 등록 버튼 이벤트
$P.fnCreateOpnnSbmsn = () => { $P.fnCreateOpnnSbmsn = () => {
let crdnId = $("#crdnId--${pageNameMain}").val(); // 버튼 title
let btnTitle = $("#btnCreateOpnnSbmsn--${pageName}").attr("title");
// 단속 ID
let crdnId = $("#crdnId--${pageNameMain}").val();
// 단속 ID 가 없다면.. return // 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
// 단속 상태 코드
let crdnSttsCd = $("#crdnSttsCd--${pageNameMain}").val();
let crdnSttsNm = $("#crdnSttsNm--${pageNameMain}").val();
// 단속 상태 코드 확인
if (Number(crdnSttsCd) < 01 || Number(crdnSttsCd) > 45) {
dialog.alert({
content : "단속상태가 '" + crdnSttsNm + "' 입니다."
+ "<br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
});
return;
}
let params = { let params = {
callPurpose : "create" callPurpose : "create"
, btnTitle : btnTitle
, crdnId : crdnId // 단속 ID , crdnId : crdnId // 단속 ID
, sggCd : $("#sggCd--${pageNameMain}").val() // 시군구 코드 , sggCd : $("#sggCd--${pageNameMain}").val() // 시군구 코드
, taskSeCd : $("#taskSeCd--${pageNameMain}").val() // 업무 구분 코드 , taskSeCd : $("#taskSeCd--${pageNameMain}").val() // 업무 구분 코드
@ -386,18 +408,22 @@
$P.control.getInfo(params); $P.control.getInfo(params);
} }
// 의견제출수정 버튼 이벤트 // 의견제출 수정 버튼 이벤트
$P.fnUpdateOpnnSbmsn = () => { $P.fnUpdateOpnnSbmsn = () => {
let opnnId = $P.control.dataset.getValue("OPNN_ID"); // 버튼 title
let btnTitle = $("#btnUpdateOpnnSbmsn--${pageName}").attr("title");
// 의견 ID 가 없다면.. return // 의견제출 ID
let opnnId = $P.control.dataset.getValue("OPNN_ID");
// 의견제출 ID 가 없다면.. return
if (typeof opnnId == "undefined" || opnnId == null || opnnId == "") return; if (typeof opnnId == "undefined" || opnnId == null || opnnId == "") return;
let params = { let params = {
callPurpose : "update" callPurpose : "update"
, btnTitle : btnTitle
, opnnId : opnnId // 의견제출 ID
, sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드 , sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 , taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, opnnId : opnnId // 의견제출 ID
}; };
$P.control.getInfo(params); $P.control.getInfo(params);
@ -405,41 +431,67 @@
// 의견제출삭제 버튼 이벤트 // 의견제출삭제 버튼 이벤트
$P.fnRemoveOpnnSbmsn = () => { $P.fnRemoveOpnnSbmsn = () => {
let opnnId = $P.control.dataset.getValue("OPNN_ID"); // 버튼 title
let btnTitle = $("#btnRemoveOpnnSbmsn--${pageName}").attr("title");
// 의견 ID 가 없다면.. return // 의견제출 ID
let opnnId = $P.control.dataset.getValue("OPNN_ID");
// 의견제출 ID 가 없다면.. return
if (typeof opnnId == "undefined" || opnnId == null || opnnId == "") return; if (typeof opnnId == "undefined" || opnnId == null || opnnId == "") return;
// 단속 상태 코드 // 의견제출 상태 코드
let crdnSttsCd = $P.control.dataset.getValue("CRDN_STTS_CD"); let opnnSbmsnSttsCd = $("#opnnSbmsnSttsCd--${pageName}").val();
let opnnSbmsnSttsNm = $("#opnnSbmsnSttsNm--${pageName}").val();
let params = { // 의견제출 상태 코드 확인
callPurpose : "remove" if (opnnSbmsnSttsCd != '00' && opnnSbmsnSttsCd != '03') {
, sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드 dialog.alert({
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 content : "의견제출 심의결과가 '" + opnnSbmsnSttsNm + "' 입니다."
, opnnId : opnnId // 의견제출 ID + "<br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
}; , onOK : () => { }
});
return;
}
// 삭제 메세지 확인
dialog.alert({ dialog.alert({
content : "선택한 의견제출 정보를 삭제하시겠습니까?" content : "선택한 의견제출 정보를 삭제하시겠습니까?"
, onOK : () => { , onOK : () => {
$P.control.remove(params); // 삭제 사유 입력
let popupWidth = 640;
let popupHeight = 240;
let popupX = (window.screen.width / 2) - (popupWidth / 2);
let popupY = (window.screen.height / 2) - (popupHeight / 2);
window.open(
encodeURI(wctx.url("/resources/html/inputRsnDialog.html"
+ "?openerPageName=${pageName}"
+ "&prefix=" + $P.control.prefix
+ "&usePurpose=" + "remove"
+ "&ttlNm=" + "삭제"
))
, "inputDelRsnDialog"
, 'status=no, height=' + popupHeight + ', width=' + popupWidth + ', left='+ popupX + ', top='+ popupY
);
} }
}); });
} }
// 심의의결서 출력 버튼 이벤트 // 심의의결서 출력 버튼 이벤트
$P.fnPrintDlbrDecsn = () => { $P.fnPrintDlbrDecsn = () => {
let opnnId = $P.control.dataset.getValue("OPNN_ID"); // 버튼 title
let btnTitle = $("#btnPrintDlbrDecsn--${pageName}").attr("title");
// 의견제출 ID
let opnnId = $P.control.dataset.getValue("OPNN_ID");
// 의견제출 ID 가 없다면.. return // 의견제출 ID 가 없다면.. return
if (typeof opnnId == "undefined" || opnnId == null || opnnId == "") return; if (typeof opnnId == "undefined" || opnnId == null || opnnId == "") return;
let params = { let params = {
callPurpose : "view" callPurpose : "view"
, btnTitle : btnTitle
, opnnIDs : opnnId // 의견제출 ID
, sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드 , sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 , taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, opnnIDs : opnnId // 의견제출 ID
}; };
$P.makeHwpFileDlbrDecsn(params); $P.makeHwpFileDlbrDecsn(params);
@ -447,16 +499,34 @@
// 의견제출 심의 버튼 이벤트 // 의견제출 심의 버튼 이벤트
$P.fnUpdateOpnnSbmsnDlbrt = () => { $P.fnUpdateOpnnSbmsnDlbrt = () => {
let opnnId = $P.control.dataset.getValue("OPNN_ID"); // 버튼 title
let btnTitle = $("#btnUpdateOpnnSbmsnDlbrt--${pageName}").attr("title");
// 의견제출 ID
let opnnId = $P.control.dataset.getValue("OPNN_ID");
// 의견제출 ID 가 없다면.. return // 의견제출 ID 가 없다면.. return
if (typeof opnnId == "undefined" || opnnId == null || opnnId == "") return; if (typeof opnnId == "undefined" || opnnId == null || opnnId == "") return;
// 단속 상태 코드
let crdnSttsCd = $("#crdnSttsCd--${pageNameMain}").val();
let crdnSttsNm = $("#crdnSttsNm--${pageNameMain}").val();
// 단속 상태 코드 확인
if ( (Number(crdnSttsCd) != 82 && Number(crdnSttsCd) != 87)
&& (Number(crdnSttsCd) < 21 || Number(crdnSttsCd) > 45) ) {
dialog.alert({
content : "단속상태가 '" + crdnSttsNm + "' 입니다."
+ "<br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
});
return;
}
let params = { let params = {
callPurpose : "update" callPurpose : "update"
, btnTitle : btnTitle
, opnnId : opnnId // 의견제출 ID
, sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드 , sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 , taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, opnnId : opnnId // 의견제출 ID
}; };
$P.getOpnnSbmsnDlbrtInfo(params); $P.getOpnnSbmsnDlbrtInfo(params);

@ -31,11 +31,11 @@
<!-- DataTables(그리드) --> <!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap"> <div class="card-datatable text-nowrap">
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}"> <div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}">
<div class="table-responsive" id="table-responsive-sndng--${pageName}" style="overflow-x:scroll; height:320px; overflow-y:scroll;" > <div class="table-responsive" id="table-responsive-sndngDtl--${pageName}" style="overflow-x:scroll; height:320px; overflow-y:scroll;" >
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" <table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer"
id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info"> id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead"> <thead class="sticky-thead">
<tr id="theadTrSndng--${pageName}"> <tr id="theadTrSndngDtl--${pageName}">
<th class="cmn" style="width: 120px">발송상태</th> <th class="cmn" style="width: 120px">발송상태</th>
<th class="cmn" style="width: 100px">수납</th> <th class="cmn" style="width: 100px">수납</th>
<th class="cmn" style="width: 140px">발송구분</th> <th class="cmn" style="width: 140px">발송구분</th>
@ -61,9 +61,9 @@
<th class="cmn dummy-th"></th> <th class="cmn dummy-th"></th>
</tr> </tr>
</thead> </thead>
<tbody id="tbodySndng--${pageName}"> <tbody id="tbodySndngDtl--${pageName}">
</tbody> </tbody>
<template id="sndngRow--${pageName}"> <template id="sndngDtlRow--${pageName}">
<tr data-key="{SNDNG_DTL_ID}"> <tr data-key="{SNDNG_DTL_ID}">
<td class="text-center" onclick="{onclick}">{SNDNG_DTL_STTS_NM}</td> <td class="text-center" onclick="{onclick}">{SNDNG_DTL_STTS_NM}</td>
<td class="text-center" onclick="{onclick}">{SNDNG_RCVMT_NM}</td> <td class="text-center" onclick="{onclick}">{SNDNG_RCVMT_NM}</td>
@ -90,7 +90,7 @@
<td class="cmn dummy-td"></td> <td class="cmn dummy-td"></td>
</tr> </tr>
</template> </template>
<template id="sndngNotFound--${pageName}"> <template id="sndngDtlNotFound--${pageName}">
<tr class="odd"> <tr class="odd">
<td valign="top" colspan="23" class="dataTables_empty text-center">발송 정보를 찾지 못했습니다.</td> <td valign="top" colspan="23" class="dataTables_empty text-center">발송 정보를 찾지 못했습니다.</td>
</tr> </tr>
@ -207,9 +207,10 @@
/************************************************************************** /**************************************************************************
* DatasetControl * DatasetControl
**************************************************************************/ **************************************************************************/
$P.sndngControl = new DatasetControl({ // 발송 상세 정보 DatasetControl
$P.sndngDtlControl = new DatasetControl({
prefix : "sndng" prefix : "sndng"
, prefixName : "발송 정보" , prefixName : "발송 상세 정보"
, keymapper : info => info ? info.SNDNG_DTL_ID : "" , keymapper : info => info ? info.SNDNG_DTL_ID : ""
, dataGetter : obj => obj.sndngDtlList , dataGetter : obj => obj.sndngDtlList
, appendData : true , appendData : true
@ -224,7 +225,7 @@
} }
}); });
// 공시송달 정보 Dataset // 공시송달 정보 DatasetControl
$P.svbtcControl = new DatasetControl({ $P.svbtcControl = new DatasetControl({
prefix : "svbtc" prefix : "svbtc"
, prefixName : "공시송달 정보" , prefixName : "공시송달 정보"
@ -240,22 +241,23 @@
/************************************************************************** /**************************************************************************
* DatasetControl 이벤트 * DatasetControl 이벤트
**************************************************************************/ **************************************************************************/
// Dataset 변경 // 발송 상세 Dataset 변경
$P.sndngControl.onDatasetChange = obj => { $P.sndngDtlControl.onDatasetChange = obj => {
$P.renderSndngList(); $P.renderSndngList();
}; };
// 공시송달 Dataset 변경
$P.svbtcControl.onDatasetChange = obj => { $P.svbtcControl.onDatasetChange = obj => {
$P.renderSvbtcList(); $P.renderSvbtcList();
} }
// 현재 선택 자료 변경 이벤트 // 발송 상세 선택 자료 변경 이벤트
$P.sndngControl.onCurrentChange = item => { $P.sndngDtlControl.onCurrentChange = item => {
if (!item) return; if (!item) return;
let key = item.data.SNDNG_DTL_ID; let key = item.data.SNDNG_DTL_ID;
$("#tbodySndng--${pageName}").setCurrentRow(key); $("#tbodySndngDtl--${pageName}").setCurrentRow(key);
// 가상계좌번호 // 가상계좌번호
let vrActno = ""; let vrActno = "";
@ -285,6 +287,7 @@
$("#epayno--${pageName}").val(item.data.EPAYNO_MASK); // 전자납부번호 $("#epayno--${pageName}").val(item.data.EPAYNO_MASK); // 전자납부번호
} }
// 공시송달 선택 자료 변경 이벤트
$P.svbtcControl.onCurrentChange = item => { $P.svbtcControl.onCurrentChange = item => {
if (!item) return; if (!item) return;
@ -293,37 +296,27 @@
$("#tbodySvbtc--${pageName}").setCurrentRow(key); $("#tbodySvbtc--${pageName}").setCurrentRow(key);
} }
// 개별 반송 Info // 개별 반송 dialog
$P.sndngControl.getInfo = (params) => { $P.sndngDtlControl.getInfo = (params) => {
if (!params) return; if (!params) return;
let dialogTitle = "";
if (params.callPurpose == "create") {
dialogTitle = $("#btnCreateSndbk--${pageName}").attr("title");
} else if (params.callPurpose == "update") {
dialogTitle = $("#btnUpdateSndbk--${pageName}").attr("title");
} else {
return;
}
ajax.get({ ajax.get({
url : wctx.url("/" + params.taskSeCd + "/sndb/sndb01/220/info.do") url : wctx.url("/" + params.taskSeCd + "/sndb/sndb01/220/info.do")
, data : params || {} , data : params || {}
, success : resp => { , success : resp => {
dialog.open({ dialog.open({
id : "sndbkDialog" id : "sndbkDialog"
, title : dialogTitle , title : params.btnTitle
, content : resp , content : resp
, size : "md" , size : "md"
, onClose : () => { $P.refreshSndngDataInfo(); } , onClose : () => { $P.refreshDataInfo(); }
}); });
} }
}); });
} }
// 개별 반송 삭제 callback // 개별 반송 삭제 callback
$P.sndngControl.onRemove = (resp) => { $P.sndngDtlControl.onRemove = (resp) => {
let btnTitle = $("#btnRemoveSndbk--${pageName}").attr("title"); let btnTitle = $("#btnRemoveSndbk--${pageName}").attr("title");
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle); let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle);
@ -333,18 +326,18 @@
}); });
if (resp.saved) { if (resp.saved) {
$P.refreshSndngDataInfo(); $P.refreshDataInfo();
} }
} }
// 개별 반송 삭제 // 개별 반송 삭제
$P.sndngControl.remove = (params) => { $P.sndngDtlControl.remove = (params) => {
if (!params) return; if (!params) return;
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 => $P.sndngControl.onRemove(resp) , success : resp => $P.sndngDtlControl.onRemove(resp)
}); });
} }
@ -353,18 +346,18 @@
**************************************************************************/ **************************************************************************/
// DataTables에 click, dbclick 이벤트 // DataTables에 click, dbclick 이벤트
$P.renderSndngList = () => { $P.renderSndngList = () => {
let ${infoPrefix}List = $P.sndngControl.dataset; let sndngDtlList = $P.sndngDtlControl.dataset;
let empty = ${infoPrefix}List.empty; let empty = sndngDtlList.empty;
let trs = empty ? let trs = empty ?
[document.getElementById("sndngNotFound--${pageName}").innerHTML] : <%-- from template#${infoPrefix}NotFound --%> [document.getElementById("sndngDtlNotFound--${pageName}").innerHTML] : <%-- from template#${infoPrefix}NotFound --%>
${infoPrefix}List.inStrings( sndngDtlList.inStrings(
document.getElementById("sndngRow--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%> document.getElementById("sndngDtlRow--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%>
(str, dataItem) => str (str, dataItem) => str
.replace(/{onclick}/gi, "pageObject['${pageName}'].sndngControl.setCurrent('" + dataItem.getValue("SNDNG_DTL_ID") + "');") .replace(/{onclick}/gi, "pageObject['${pageName}'].sndngControl.setCurrent('" + dataItem.getValue("SNDNG_DTL_ID") + "');")
); );
$("#tbodySndng--${pageName}").html(trs.join()); $("#tbodySndngDtl--${pageName}").html(trs.join());
} }
// 공시송달 정보 DataTables에 click 이벤트 // 공시송달 정보 DataTables에 click 이벤트
@ -387,7 +380,7 @@
* 사용자 함수(function) * 사용자 함수(function)
**************************************************************************/ **************************************************************************/
// 자료 재조회 // 자료 재조회
$P.refreshSndngDataInfo = () => { $P.refreshDataInfo = () => {
let crdnId = $("#crdnId--${pageNameMain}").val(); let crdnId = $("#crdnId--${pageNameMain}").val();
// 단속 ID 가 없다면.. return // 단속 ID 가 없다면.. return
@ -408,11 +401,11 @@
, success : resp => { , success : resp => {
// 초기화 // 초기화
$("#frmEdit--${pageName}")[0].reset(); // 화면 초기화 $("#frmEdit--${pageName}")[0].reset(); // 화면 초기화
$P.sndngControl.dataset.clear(); // Dataset 초기화 $P.sndngDtlControl.dataset.clear(); // 발송 상세 Dataset 초기화
$P.svbtcControl.dataset.clear(); // Dataset 초기화 $P.svbtcControl.dataset.clear(); // 공시송달 Dataset 초기화
// Dataset 셋팅 // Dataset 셋팅
$P.sndngControl.setData(resp.sndngDtl); // 발송 이력 정보 $P.sndngDtlControl.setData(resp.sndngDtl); // 발송 이력 정보
$P.svbtcControl.setData(resp.svbtcList); // 공시송달 이력 정보 $P.svbtcControl.setData(resp.svbtcList); // 공시송달 이력 정보
// 최상단 단속 Data 셋팅 // 최상단 단속 Data 셋팅
@ -428,107 +421,111 @@
**************************************************************************/ **************************************************************************/
// 개별 반송 등록 // 개별 반송 등록
$P.fnCreateSndbk = () => { $P.fnCreateSndbk = () => {
// 버튼 title
let btnTitle = $("#btnCreateSndbk--${pageName}").attr("title"); let btnTitle = $("#btnCreateSndbk--${pageName}").attr("title");
let sndngDtlId = $P.sndngControl.dataset.getValue("SNDNG_DTL_ID"); // 발송 상세 ID
let undlvrRsnNm = $P.sndngControl.dataset.getValue("UNDLVR_RSN_NM"); // 미배달 사유 명
let sndngDtlSttsNm = $P.sndngControl.dataset.getValue("SNDNG_DTL_STTS_NM"); // 발송 상세 상태 코드
// 발송 상세 ID
let sndngDtlId = $P.sndngDtlControl.dataset.getValue("SNDNG_DTL_ID");
// 발송상세ID 가 없다면.. return // 발송상세ID 가 없다면.. return
if (typeof sndngDtlId == "undefined" || sndngDtlId == null || sndngDtlId == "") return; if (typeof sndngDtlId == "undefined" || sndngDtlId == null || sndngDtlId == "") return;
// 미배달 사유 명
let undlvrRsnNm = $P.sndngDtlControl.dataset.getValue("UNDLVR_RSN_NM");
// 미배달 사유 확인 // 미배달 사유 확인
if (undlvrRsnNm != "" ) { if (undlvrRsnNm != "" ) {
dialog.alert({ dialog.alert({
content : "미배달 사유가 " + undlvrRsnNm + " (으)로 이미 반송 등록이 되어 있습니다." content : "미배달 사유가 " + undlvrRsnNm + " (으)로 반송 등록 되어 있습니다."
+ "<br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
, onOK : () => { } , onOK : () => { }
}); });
return; return;
} }
// 발송상세 상태코드 확인 (FIM050 - 05:반송 06:공시송달)
if (sndngDtlSttsNm == "반송" || sndngDtlSttsNm == "공시송달") { // 발송 상세 상태 코드
let sndngDtlSttsCd = $P.sndngDtlControl.dataset.getValue("SNDNG_DTL_STTS_CD");
let sndngDtlSttsNm = $P.sndngDtlControl.dataset.getValue("SNDNG_DTL_STTS_NM");
// 발송상세 상태코드 확인 (FIM050 - 03:발송 04:발송확인)
if (sndngDtlSttsCd != "03" && sndngDtlSttsCd != "04") {
dialog.alert({ dialog.alert({
content : "발송 상세 상태가 " + sndngDtlSttsNm + " (으)로 " + btnTitle + " 을(를) 할 수 없습니다." content : "발송상세 상태가 '" + sndngDtlSttsNm + "' 입니다."
+ "<br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
, onOK : () => { } , onOK : () => { }
}); });
return; return;
} }
let params = { let params = {
callPurpose : "create" callPurpose : "create"
, sggCd : $P.sndngControl.dataset.getValue("SGG_CD") // 시군구 코드 , btnTitle : btnTitle
, taskSeCd : $P.sndngControl.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, sndngDtlId : sndngDtlId // 발송 상세 ID , sndngDtlId : sndngDtlId // 발송 상세 ID
, sggCd : $P.sndngDtlControl.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.sndngDtlControl.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, delYN : "N"
}; };
$P.sndngControl.getInfo(params); $P.sndngDtlControl.getInfo(params);
} }
// 개별 반송 수정 // 개별 반송 수정
$P.fnUpdateSndbk = () => { $P.fnUpdateSndbk = () => {
// 버튼 title
let btnTitle = $("#btnUpdateSndbk--${pageName}").attr("title"); let btnTitle = $("#btnUpdateSndbk--${pageName}").attr("title");
let sndngDtlId = $P.sndngControl.dataset.getValue("SNDNG_DTL_ID"); // 발송 상세 ID
let sndngDtlSttsCd = $P.sndngControl.dataset.getValue("SNDNG_DTL_STTS_CD"); // 발송 상세 상태 코드
let sndngDtlSttsNm = $P.sndngControl.dataset.getValue("SNDNG_DTL_STTS_NM"); // 발송 상세 상태 명
// 발송 상세 ID
let sndngDtlId = $P.sndngDtlControl.dataset.getValue("SNDNG_DTL_ID");
// 발송상세ID 가 없다면.. return // 발송상세ID 가 없다면.. return
if (typeof sndngDtlId == "undefined" || sndngDtlId == null || sndngDtlId == "") return; if (typeof sndngDtlId == "undefined" || sndngDtlId == null || sndngDtlId == "") return;
// 발송상세 상태코드 확인 (FIM050 - 05:반송)
if (sndngDtlSttsCd != "05") {
dialog.alert({
content : "발송 상세 상태가 " + sndngDtlSttsNm + " (으)로 " + btnTitle + " 을(를) 할 수 없습니다."
, onOK : () => { }
});
return;
}
let params = { let params = {
callPurpose : "update" callPurpose : "update"
, sggCd : $P.sndngControl.dataset.getValue("SGG_CD") // 시군구 코드 , btnTitle : btnTitle
, taskSeCd : $P.sndngControl.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 , sggCd : $P.sndngDtlControl.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.sndngDtlControl.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, sndngDtlId : sndngDtlId // 발송 상세 ID , sndngDtlId : sndngDtlId // 발송 상세 ID
, sndngDtlSttsCd : $P.sndngControl.dataset.getValue("SNDNG_DTL_STTS_CD") // 발송 상세 상태 코드 , sndngDtlSttsCd : $P.sndngDtlControl.dataset.getValue("SNDNG_DTL_STTS_CD") // 발송 상세 상태 코드
, undlvrRsnNm : $P.sndngControl.dataset.getValue("UNDLVR_RSN_NM") // 미배달 사유 명 , undlvrRsnNm : $P.sndngDtlControl.dataset.getValue("UNDLVR_RSN_NM") // 미배달 사유 명
, delYN : "N"
}; };
$P.sndngControl.getInfo(params); $P.sndngDtlControl.getInfo(params);
} }
// 개별 반송 삭제 // 개별 반송 삭제
$P.fnRemoveSndbk = () => { $P.fnRemoveSndbk = () => {
// 버튼 title
let btnTitle = $("#btnRemoveSndbk--${pageName}").attr("title"); let btnTitle = $("#btnRemoveSndbk--${pageName}").attr("title");
let sndngDtlId = $P.sndngControl.dataset.getValue("SNDNG_DTL_ID"); // 발송 상세 ID
let sndngDtlSttsCd = $P.sndngControl.dataset.getValue("SNDNG_DTL_STTS_CD"); // 발송 상세 상태 코드
let sndngDtlSttsNm = $P.sndngControl.dataset.getValue("SNDNG_DTL_STTS_NM"); // 발송 상세 상태 명
// 발송 상세 ID
let sndngDtlId = $P.sndngDtlControl.dataset.getValue("SNDNG_DTL_ID");
// 발송상세ID 가 없다면.. return // 발송상세ID 가 없다면.. return
if (typeof sndngDtlId == "undefined" || sndngDtlId == null || sndngDtlId == "") return; if (typeof sndngDtlId == "undefined" || sndngDtlId == null || sndngDtlId == "") return;
// 발송 상세 상태 코드
let sndngDtlSttsCd = $P.sndngDtlControl.dataset.getValue("SNDNG_DTL_STTS_CD");
let sndngDtlSttsNm = $P.sndngDtlControl.dataset.getValue("SNDNG_DTL_STTS_NM");
// 발송상세 상태코드 확인 (FIM050 - 05:반송) // 발송상세 상태코드 확인 (FIM050 - 05:반송)
if (sndngDtlSttsCd != "05") { if (sndngDtlSttsCd != "05") {
dialog.alert({ dialog.alert({
content : "발송 상세 상태가 " + sndngDtlSttsNm + " (으)로 " + btnTitle + " 을(를) 할 수 없습니다." content : "발송상세 상태가 '" + sndngDtlSttsNm + "' 입니다."
+ "<br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
, onOK : () => { } , onOK : () => { }
}); });
return; return;
} }
let params = { let params = {
callPurpose : "delete" callPurpose : "delete"
, sggCd : $P.sndngControl.dataset.getValue("SGG_CD") // 시군구 코드 , btnTitle : btnTitle
, taskSeCd : $P.sndngControl.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 , sggCd : $P.sndngDtlControl.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.sndngDtlControl.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, sndngDtlId : sndngDtlId // 발송 상세 ID , sndngDtlId : sndngDtlId // 발송 상세 ID
, sndngDtlSttsCd : "03" // 발송 상세 상태 코드(SNDNG_DTL_STTS_CD) FIM050 - 03 발송 , sndngDtlSttsCd : "03" // 발송 상세 상태 코드(SNDNG_DTL_STTS_CD) FIM050 - 03 발송
}; };
dialog.alert({ dialog.alert({
content : "선택한 반송 정보 을() 삭제하시겠습니까?" content : "선택한 반송 정보를 삭제하시겠습니까?"
, onOK : () => { , onOK : () => {
$P.sndngControl.remove(params); $P.sndngDtlControl.remove(params);
} }
}); });
} }
@ -536,7 +533,7 @@
// 우편 종적 보기 // 우편 종적 보기
$P.fnViewPostTrace = () => { $P.fnViewPostTrace = () => {
// 등기번호 // 등기번호
let rgNo = $P.sndngControl.dataset.getValue("RG_NO"); let rgNo = $P.sndngDtlControl.dataset.getValue("RG_NO");
// 등기번호가 없다면.. // 등기번호가 없다면..
if (typeof rgNo == "undefined" || rgNo == null || rgNo == "") return; if (typeof rgNo == "undefined" || rgNo == null || rgNo == "") return;
@ -580,7 +577,7 @@
$P.initData(); $P.initData();
// 3. Dataset 설정 // 3. Dataset 설정
$P.sndngControl.setData(${sndngDtl}); // 발송 이력 $P.sndngDtlControl.setData(${sndngDtl}); // 발송 이력
$P.svbtcControl.setData(${svbtc}); // 공시송달 이력 $P.svbtcControl.setData(${svbtc}); // 공시송달 이력
}); });

@ -13,20 +13,20 @@
<label class="w-px-120 bg-label-danger pe-2 col-form-label text-sm-center">감경 정보</label> <label class="w-px-120 bg-label-danger pe-2 col-form-label text-sm-center">감경 정보</label>
<!-- 버튼 우측 정렬 --> <!-- 버튼 우측 정렬 -->
<span class="container-window-btn-right"> <span class="container-window-btn-right">
<button type="button" class="btn btn-primary w-px-120" id="btnCreateRduct--${pageName}" title="감경 등록" onclick="fnCreateRduct${pageName}();"> <button type="button" class="btn btn-primary w-px-120" id="btnCreateRduct--${pageName}" title="감경 등록">
감경 등록 감경 등록
</button> </button>
<button type="button" class="btn btn-primary w-px-120" id="btnUpdateRduct--${pageName}" title="감경 수정" onclick="fnUpdateRduct${pageName}();"> <button type="button" class="btn btn-primary w-px-120" id="btnUpdateRduct--${pageName}" title="감경 수정">
감경 수정 감경 수정
</button> </button>
<button type="button" class="btn btn-primary w-px-120" id="btnRemoveRduct--${pageName}" title="감경 삭제" onclick="fnRemoveRduct${pageName}();"> <button type="button" class="btn btn-primary w-px-120" id="btnRemoveRduct--${pageName}" title="감경 삭제">
감경 삭제 감경 삭제
</button> </button>
</span> </span>
</div> <!-- <div class="container-page-btn"> --> </div> <!-- <div class="container-page-btn"> -->
<!-- 입력 영역 --> <!-- 입력 영역 -->
<form id="frmEdit--${pageName}${pageDataName1}" name="frmEdit${pageDataName1}"> <form id="frmRductEdit--${pageName}" name="frmRductEdit">
<!-- hidden --> <!-- hidden -->
<input type="hidden" id="rductId--${pageName}${pageDataName1}" name="rductId" data-map="RDUCT_ID" /> <input type="hidden" id="rductId--${pageName}${pageDataName1}" name="rductId" data-map="RDUCT_ID" />
@ -77,23 +77,23 @@
<label class="w-px-120 bg-label-danger pe-2 col-form-label text-sm-center">부과제외 정보</label> <label class="w-px-120 bg-label-danger pe-2 col-form-label text-sm-center">부과제외 정보</label>
<!-- 버튼 우측 정렬 --> <!-- 버튼 우측 정렬 -->
<span class="container-window-btn-right"> <span class="container-window-btn-right">
<button type="button" class="btn btn-primary w-px-120" id="btnCreateWrng--${pageName}" title="계고 등록" onclick="fnCreateWrng${pageName}();"> <button type="button" class="btn btn-primary w-px-120" id="btnCreateWrng--${pageName}" title="계고 등록">
계고 등록 계고 등록
</button> </button>
<button type="button" class="btn btn-primary w-px-120" id="btnCreateLevyExcl--${pageName}" title="비부과 등록" onclick="fnCreateLevyExcl${pageName}();"> <button type="button" class="btn btn-primary w-px-120" id="btnCreateLevyExcl--${pageName}" title="비부과 등록">
비부과 등록 비부과 등록
</button> </button>
<button type="button" class="btn btn-primary w-px-120" id="btnUpdateLevyExcl--${pageName}" title="부과제외 수정" onclick="fnUpdateLevyExcl${pageName}();"> <button type="button" class="btn btn-primary w-px-120" id="btnUpdateLevyExcl--${pageName}" title="부과제외 수정">
부과제외 수정 부과제외 수정
</button> </button>
<button type="button" class="btn btn-primary w-px-120" id="btnRemoveLevyExcl--${pageName}" title="부과제외 삭제" onclick="fnRemoveLevyExcl${pageName}();"> <button type="button" class="btn btn-primary w-px-120" id="btnRemoveLevyExcl--${pageName}" title="부과제외 삭제">
부과제외 삭제 부과제외 삭제
</button> </button>
</span> </span>
</div> <!-- <div class="container-page-btn"> --> </div> <!-- <div class="container-page-btn"> -->
<!-- 입력 영역 --> <!-- 입력 영역 -->
<form id="frmEdit--${pageName}${pageDataName2}" name="frmEdit${pageDataName2}"> <form id="frmExclEdit--${pageName}" name="frmExclEdit">
<!-- hidden --> <!-- hidden -->
<input type="hidden" id="levyExclId--${pageName}${pageDataName2}" name="levyExclId" data-map="LEVY_EXCL_ID" /> <input type="hidden" id="levyExclId--${pageName}${pageDataName2}" name="levyExclId" data-map="LEVY_EXCL_ID" />
@ -150,11 +150,12 @@
<div class="row g-1"> <div class="row g-1">
<!-- DataTables(그리드) --> <!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap"> <div class="card-datatable text-nowrap">
<div id="DataTables_Table_0_wrapper--${pageName}${pageDataName3}" class="dataTables_wrapper dt-bootstrap5 no-footer"> <div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}">
<div id="table-responsive--${pageName}${pageDataName3}" class="table-responsive" style="overflow-x:scroll; height:320px; overflow-y:scroll;" > <div class="table-responsive" id="table-responsive-crdnSttsHstry--${pageName}" style="overflow-x:scroll; height:320px; overflow-y:scroll;" >
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}${pageDataName3}" aria-describedby="DataTables_Table_0_info"> <table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer"
id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead"> <thead class="sticky-thead">
<tr id="theadTr--${pageName}${pageDataName3}"> <tr id="theadTrCrdnSttsHstry--${pageName}">
<th class="cmn" style="width: 180px;">등록일시</th> <th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 140px;">등록사용자</th> <th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn" style="width: 140px;">단속상태</th> <th class="cmn" style="width: 140px;">단속상태</th>
@ -163,9 +164,9 @@
<th class="cmn dummy-th"></th> <th class="cmn dummy-th"></th>
</tr> </tr>
</thead> </thead>
<tbody id="tbody--${pageName}${pageDataName3}"> <tbody id="tbodyCrdnSttsHstry--${pageName}">
</tbody> </tbody>
<template id="${infoPrefix}Row--${pageName}${pageDataName3}"> <template id="crdnSttsHstryRow--${pageName}">
<tr data-key="{STTS_HSTRY_ID}"> <tr data-key="{STTS_HSTRY_ID}">
<td class="cmn text-center" onclick="{onclick}">{REG_DT}</td> <td class="cmn text-center" onclick="{onclick}">{REG_DT}</td>
<td class="cmn text-center" onclick="{onclick}">{RGTR_NM}</td> <td class="cmn text-center" onclick="{onclick}">{RGTR_NM}</td>
@ -175,7 +176,7 @@
<td class="cmn dummy-td"></td> <td class="cmn dummy-td"></td>
</tr> </tr>
</template> </template>
<template id="${infoPrefix}NotFound--${pageName}${pageDataName3}"> <template id="crdnSttsHstryNotFound--${pageName}">
<tr class="odd"> <tr class="odd">
<td valign="top" colspan="6" class="dataTables_empty text-center">처리상태 이력 정보를 찾지 못했습니다.</td> <td valign="top" colspan="6" class="dataTables_empty text-center">처리상태 이력 정보를 찾지 못했습니다.</td>
</tr> </tr>
@ -198,11 +199,12 @@
<div class="row g-1"> <div class="row g-1">
<!-- DataTables(그리드) --> <!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap"> <div class="card-datatable text-nowrap">
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}${pageDataName4}"> <div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_1_wrapper--${pageName}">
<div class="table-responsive" id="table-responsive--${pageName}${pageDataName4}" style="overflow-x:scroll; height:320px; overflow-y:scroll;" > <div class="table-responsive" id="table-responsive-payerHstry--${pageName}" style="overflow-x:scroll; height:320px; overflow-y:scroll;" >
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}${pageDataName4}" aria-describedby="DataTables_Table_0_info"> <table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer"
id="DataTables_Table_1--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead"> <thead class="sticky-thead">
<tr id="theadTr--${pageName}${pageDataName4}"> <tr id="theadTrPayerHstry--${pageName}">
<th class="cmn" style="width: 180px;">등록일시</th> <th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 140px;">등록사용자</th> <th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn" style="width: 400px;">전체주소</th> <th class="cmn" style="width: 400px;">전체주소</th>
@ -210,9 +212,9 @@
<th class="cmn dummy-th"></th> <th class="cmn dummy-th"></th>
</tr> </tr>
</thead> </thead>
<tbody id="tbody--${pageName}${pageDataName4}"> <tbody id="tbodyPayerHstry--${pageName}">
</tbody> </tbody>
<template id="${infoPrefix}Row--${pageName}${pageDataName4}"> <template id="payerHstryRow--${pageName}">
<tr data-key="{HSTRY_SN}"> <tr data-key="{HSTRY_SN}">
<td class="cmn text-center" onclick="{onclick}">{REG_DT}</td> <td class="cmn text-center" onclick="{onclick}">{REG_DT}</td>
<td class="cmn text-center" onclick="{onclick}">{RGTR_NM}</td> <td class="cmn text-center" onclick="{onclick}">{RGTR_NM}</td>
@ -221,7 +223,7 @@
<td class="cmn dummy-td"></td> <td class="cmn dummy-td"></td>
</tr> </tr>
</template> </template>
<template id="${infoPrefix}NotFound--${pageName}${pageDataName4}"> <template id="payerHstryNotFound--${pageName}">
<tr class="odd"> <tr class="odd">
<td valign="top" colspan="5" class="dataTables_empty text-center">주소변동 이력 정보를 찾지 못했습니다.</td> <td valign="top" colspan="5" class="dataTables_empty text-center">주소변동 이력 정보를 찾지 못했습니다.</td>
</tr> </tr>
@ -241,23 +243,28 @@
/************************************************************************** /**************************************************************************
* Global Variable * Global Variable
**************************************************************************/ **************************************************************************/
// URL pageObject["${pageName}"] = {};
var ${pageName}PrefixUrl = "/sprt/sprt02";
var ${pageName}${pageDataName1}PrefixUrl = "/levy/levy02"; /**************************************************************************
var ${pageName}${pageDataName2}PrefixUrl = "/excl/excl01"; * script 진입
**************************************************************************/
$(document).ready(function() {
// pageObject
var $P = pageObject["${pageName}"];
// FormFields // FormFields
var ${pageName}${pageDataName1}Fields = new FimsFormFields("#frmEdit--${pageName}${pageDataName1}"); $P.rductFormFields = new FimsFormFields("#frmRductEdit--${pageName}");
var ${pageName}${pageDataName2}Fields = new FimsFormFields("#frmEdit--${pageName}${pageDataName2}"); $P.exclFormFields = new FimsFormFields("#frmExclEdit--${pageName}");
/************************************************************************** /**************************************************************************
* DatasetControl * DatasetControl
**************************************************************************/ **************************************************************************/
// 감경 Dataset // 감경 정보 DatasetControl
var ${pageName}${pageDataName1}Control = new DatasetControl({ $P.rductControl = new DatasetControl({
prefix : "rduct" prefix : "rduct"
, prefixName : "감경" , prefixName : "감경"
, keymapper : info => info ? info.RDUCT_ID : "" , keymapper : info => info ? info.RDUCT_ID : ""
, dataGetter : obj => obj.rduct
, formats : { , formats : {
RDUCT_YMD : dateFormat RDUCT_YMD : dateFormat
, RDUCT_AMT : numberFormat , RDUCT_AMT : numberFormat
@ -265,83 +272,93 @@
} }
}); });
// 부과제외 Dataset // 부과제외 정보 DatasetControl
var ${pageName}${pageDataName2}Control = new DatasetControl({ $P.levyExclControl = new DatasetControl({
prefix : "levyExcl" prefix : "levyExcl"
, prefixName : "부과제외" , prefixName : "부과제외"
, keymapper : info => info ? info.LEVY_EXCL_ID : "" , keymapper : info => info ? info.LEVY_EXCL_ID : ""
, dataGetter : obj => obj.levyExcl
, formats : { , formats : {
LEVY_EXCL_YMD : dateFormat LEVY_EXCL_YMD : dateFormat
, REG_DT : datetimeFormat , REG_DT : datetimeFormat
} }
}); });
// 단속상태이력 Dataset // 단속상태이력 DatasetControl
var ${pageName}${pageDataName3}Dataset = new Dataset({ $P.crdnSttsHstryControl = new DatasetControl({
prefix : "crdnSttsHstry" prefix : "crdnSttsHstry"
, prefixName : "단속상태이력" , prefixName : "단속상태 이력"
, keymapper : info => info ? info.STTS_HSTRY_ID : "" , keymapper : info => info ? info.STTS_HSTRY_ID : ""
, dataGetter : obj => obj.crdnSttsHstryList , dataGetter : obj => obj.crdnSttsHstryList
, appendData : true , appendData : true
, formats : { , formats : {
REG_DT : datetimeFormat REG_DT : datetimeFormat
} }
, onDatasetChange : obj => {
renderList${pageName}${pageDataName3}();
}
, onCurrentChange : item => {
if (!item) return;
let key = item.data.STTS_HSTRY_ID;
$("#tbody--${pageName}${pageDataName3}").setCurrentRow(key);
}
}); });
// 납부자 변경 이력 Dataset // 납부자 변경 이력 DatasetControl
var ${pageName}${pageDataName4}Dataset = new Dataset({ $P.payerHstryControl = new DatasetControl({
prefix : "payerHstry" prefix : "payerHstry"
, prefixName : "납부자변경이력" , prefixName : "납부자변경 이력"
, keymapper : info => info ? info.HSTRY_SN : "" , keymapper : info => info ? info.HSTRY_SN : ""
, dataGetter : obj => obj.payerHstryList , dataGetter : obj => obj.payerHstryList
, appendData : true , appendData : true
, formats : { , formats : {
REG_DT : datetimeFormat REG_DT : datetimeFormat
} }
, onDatasetChange : obj => {
renderList${pageName}${pageDataName4}();
}
, onCurrentChange : item => {
if (!item) return;
let key = item.data.HSTRY_SN;
$("#tbody--${pageName}${pageDataName4}").setCurrentRow(key);
}
}); });
/************************************************************************** /**************************************************************************
* DatasetControl 이벤트 * DatasetControl 이벤트
**************************************************************************/ **************************************************************************/
// 단속상태 이력 Dataset 변경
$P.crdnSttsHstryControl.onDatasetChange = obj => {
$P.renderCrdnSttsHstryList();
}
// 납부자변경 이력 Dataset 변경
$P.payerHstryControl.onDatasetChange = obj => {
$P.renderPayerHstryList();
}
// 감경 선택 자료 변경 이벤트 // 감경 선택 자료 변경 이벤트
${pageName}${pageDataName1}Control.onCurrentChange = item => { $P.rductControl.onCurrentChange = item => {
${pageName}${pageDataName1}Fields.set(item); if (!item) return;
$P.rductFormFields.set(item);
} }
// 감경 dialog // 부과제외 선택 자료 변경 이벤트
${pageName}${pageDataName1}Control.getInfo = (params) => { $P.levyExclControl.onCurrentChange = item => {
let dialogTitle = ""; if (!item) return;
if (params.callPurpose == "create") { $P.exclFormFields.set(item);
dialogTitle = ${pageName}${pageDataName1}Control.prefixName + " 등록";
} else if (params.callPurpose == "update") {
dialogTitle = ${pageName}${pageDataName1}Control.prefixName + " 수정";
} else {
return;
} }
// 단속상태 이력 선택 자료 변경 이벤트
$P.crdnSttsHstryControl.onCurrentChange = item => {
if (!item) return;
let key = item.data.STTS_HSTRY_ID;
$("#tbodyCrdnSttsHstry--${pageName}").setCurrentRow(key);
}
// 납부자변경 이력 선택 자료 변경 이벤트
$P.payerHstryControl.onCurrentChange = item => {
if (!item) return;
let key = item.data.HSTRY_SN;
$("#tbodyPayerHstry--${pageName}").setCurrentRow(key);
}
// 감경 dialog
$P.rductControl.getInfo = (params) => {
if (!params) return;
ajax.get({ ajax.get({
url : wctx.url(params.taskSeCd + ${pageName}${pageDataName1}PrefixUrl + "/020/info.do") url : wctx.url("/" + params.taskSeCd + "/levy/levy02/020/info.do")
, data : params || {} , data : params || {}
, success : resp => { , success : resp => {
if ((typeof resp) != "string") { if ((typeof resp) != "string") {
@ -351,38 +368,51 @@
return; return;
} else { } else {
dialog.open({ dialog.open({
id : ${pageName}${pageDataName1}Control.prefixed("Dialog") id : $P.rductControl.prefixed("Dialog")
, title : dialogTitle , title : params.btnTitle
, content : resp , content : resp
, size : "lg" , size : "lg"
, onClose : () => { refreshDataInfo${pageName}(); } // callback 자료 재조회 , onClose : () => { $P.refreshDataInfo(); }
}); });
} }
} }
}); });
} }
// 부과제외 선택 자료 변경 이벤트 // 감경 삭제 callback
${pageName}${pageDataName2}Control.onCurrentChange = item => { $P.rductControl.onRemove = (resp) => {
${pageName}${pageDataName2}Fields.set(item); let btnTitle = $("#btnRemoveRduct--${pageName}").attr("title");
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle);
// 메시지 출력
dialog.alert({
content : showMessage
, onOK : () => { }
});
// 자료 재조회
if (resp.saved) {
$P.refreshDataInfo();
}
} }
// 부과제외 dialog // 감경 삭제
${pageName}${pageDataName2}Control.getInfo = (params) => { $P.rductControl.remove = (params) => {
if (!params) return; if (!params) return;
let dialogTitle = ""; ajax.post({
url : wctx.url("/" + params.taskSeCd + "/levy/levy02/010/remove.do")
if (params.callPurpose == "create") { , data : params
dialogTitle = ${pageName}${pageDataName2}Control.prefixName + " 등록"; , success : resp => $P.rductControl.onRemove(resp)
} else if (params.callPurpose == "update") { });
dialogTitle = ${pageName}${pageDataName2}Control.prefixName + " 수정";
} else {
dialogTitle = ${pageName}${pageDataName2}Control.prefixName + " 정보";
} }
// 부과제외 dialog
$P.levyExclControl.getInfo = (params) => {
if (!params) return;
ajax.get({ ajax.get({
url : wctx.url(params.taskSeCd + ${pageName}${pageDataName2}PrefixUrl + "/020/info.do") url : wctx.url("/" + params.taskSeCd + "/excl/excl01/020/info.do")
, data : params || {} , data : params || {}
, success : resp => { , success : resp => {
if ((typeof resp) != "string") { if ((typeof resp) != "string") {
@ -392,37 +422,42 @@
return; return;
} else { } else {
dialog.open({ dialog.open({
id : ${pageName}${pageDataName2}Control.prefixed("Dialog") id : $P.levyExclControl.prefixed("Dialog")
, title : dialogTitle , title : params.btnTitle
, content : resp , content : resp
, size : "md" , size : "md"
, onClose : () => { refreshDataInfo${pageName}(); } // callback 자료 재조회 , onClose : () => { $P.refreshDataInfo(); }
}); });
} }
} }
}); });
} }
// 삭제 callback // 부과제외 삭제 callback
${pageName}${pageDataName2}Control.onRemove = (resp) => { $P.levyExclControl.onRemove = (resp) => {
let btnTitle = $("#btnRemoveLevyExcl--${pageName}").attr("title"); let btnTitle = $("#btnRemoveLevyExcl--${pageName}").attr("title");
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle); let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle);
dialog.alert(showMessage); // 메시지 출력 // 메시지 출력
dialog.alert({
content : showMessage
, onOK : () => { }
});
// 자료 재조회
if (resp.saved) { if (resp.saved) {
refreshDataInfo${pageName}(); // 자료 재조회 $P.refreshDataInfo();
} }
} }
// 삭제 // 부과제외 삭제
${pageName}${pageDataName2}Control.remove = (params) => { $P.levyExclControl.remove = (params) => {
if (!params) return; if (!params) return;
ajax.post({ ajax.post({
url : wctx.url(params.taskSeCd + ${pageName}${pageDataName2}PrefixUrl + "/010/remove.do") url : wctx.url("/" + params.taskSeCd + "/excl/excl01/010/remove.do")
, data : params , data : params
, success : resp => ${pageName}${pageDataName2}Control.onRemove(resp) , success : resp => $P.levyExclControl.onRemove(resp)
}); });
} }
@ -430,42 +465,42 @@
* DataTables 이벤트 * DataTables 이벤트
**************************************************************************/ **************************************************************************/
// 단속 상태 이력 DataTables에 click 이벤트 // 단속 상태 이력 DataTables에 click 이벤트
renderList${pageName}${pageDataName3} = () => { $P.renderCrdnSttsHstryList = () => {
let ${infoPrefix}List = ${pageName}${pageDataName3}Dataset; let crdnSttsHstryList = $P.crdnSttsHstryControl.dataset;
let empty = ${infoPrefix}List.empty; let empty = crdnSttsHstryList.empty;
let trs = empty ? let trs = empty ?
[document.getElementById("${infoPrefix}NotFound--${pageName}${pageDataName3}").innerHTML] : <%-- from template#${infoPrefix}NotFound --%> [document.getElementById("crdnSttsHstryNotFound--${pageName}").innerHTML] : <%-- from template#${infoPrefix}NotFound --%>
${infoPrefix}List.inStrings( crdnSttsHstryList.inStrings(
document.getElementById("${infoPrefix}Row--${pageName}${pageDataName3}").innerHTML, <%-- from template#${infoPrefix}Row --%> document.getElementById("crdnSttsHstryRow--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%>
(str, dataItem) => str (str, dataItem) => str
.replace(/{onclick}/gi, "${pageName}${pageDataName3}Dataset.setCurrent('" + dataItem.getValue("STTS_HSTRY_ID") + "');") .replace(/{onclick}/gi, "pageObject['${pageName}'].crdnSttsHstryControl.setCurrent('" + dataItem.getValue("STTS_HSTRY_ID") + "');")
); );
$("#tbody--${pageName}${pageDataName3}").html(trs.join()); $("#tbodyCrdnSttsHstry--${pageName}").html(trs.join());
} }
// 납부자 이력 DataTables에 click 이벤트 // 납부자 이력 DataTables에 click 이벤트
renderList${pageName}${pageDataName4} = () => { $P.renderPayerHstryList = () => {
let ${infoPrefix}List = ${pageName}${pageDataName4}Dataset; let payerHstryList = $P.payerHstryControl.dataset;
let empty = ${infoPrefix}List.empty; let empty = payerHstryList.empty;
let trs = empty ? let trs = empty ?
[document.getElementById("${infoPrefix}NotFound--${pageName}${pageDataName4}").innerHTML] : <%-- from template#${infoPrefix}NotFound --%> [document.getElementById("payerHstryNotFound--${pageName}").innerHTML] : <%-- from template#${infoPrefix}NotFound --%>
${infoPrefix}List.inStrings( payerHstryList.inStrings(
document.getElementById("${infoPrefix}Row--${pageName}${pageDataName4}").innerHTML, <%-- from template#${infoPrefix}Row --%> document.getElementById("payerHstryRow--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%>
(str, dataItem) => str (str, dataItem) => str
.replace(/{onclick}/gi, "${pageName}${pageDataName4}Dataset.setCurrent('" + dataItem.getValue("HSTRY_SN") + "');") .replace(/{onclick}/gi, "pageObject['${pageName}'].payerHstryControl.setCurrent('" + dataItem.getValue("HSTRY_SN") + "');")
); );
$("#tbody--${pageName}${pageDataName4}").html(trs.join()); $("#tbodyPayerHstry--${pageName}").html(trs.join());
} }
/************************************************************************** /**************************************************************************
* 사용자 함수(function) * 사용자 함수(function)
**************************************************************************/ **************************************************************************/
// 자료 재조회 // 자료 재조회
refreshDataInfo${pageName} = () => { $P.refreshDataInfo = () => {
let crdnId = $("#crdnId--${pageNameMain}").val(); let crdnId = $("#crdnId--${pageNameMain}").val();
// 단속 ID 가 없다면.. return // 단속 ID 가 없다면.. return
@ -481,80 +516,72 @@
}; };
ajax.get({ ajax.get({
url : wctx.url(params.taskSeCd + "/sprt/sprt02/050/info.do") url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/050/info.do")
, 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 초기화 // 초기화
$("#frmEdit--${pageName}${pageDataName1}")[0].reset(); $("#frmRductEdit--${pageName}")[0].reset(); // 감경 화면 초기화
$("#frmEdit--${pageName}${pageDataName2}")[0].reset(); $("#frmExclEdit--${pageName}")[0].reset(); // 부과제외 화면 초기화
${pageName}${pageDataName3}Dataset.clear(); $P.rductControl.dataset.clear(); // 감경 Dataset 초기화
${pageName}${pageDataName4}Dataset.clear(); $P.levyExclControl.dataset.clear(); // 부과제외 Dataset 초기화
$P.crdnSttsHstryControl.dataset.clear(); // 단속상태 이력 Dataset 초기화
$P.payerHstryControl.dataset.clear(); // 납부자 이력 Dataset 초기화
// 단속 정보
if (resp.totalInfo) {
${pageNameMain}Control.setData([resp.totalInfo]);
}
// 감경 정보 // 감경 정보
if (resp.rduct) { if (resp.rduct)
${pageName}${pageDataName1}Control.setData([resp.rduct]); $P.rductControl.setData([resp.rduct]);
}
// 부과제외 정보
if (resp.levyExcl) {
${pageName}${pageDataName2}Control.setData([resp.levyExcl]);
}
// 처리상태 이력
${pageName}${pageDataName3}Dataset.setData(resp.crdnSttsHstry);
// 주소변동 이력
${pageName}${pageDataName4}Dataset.setData(resp.payerHstry);
}
});
}
// 감경 삭제
removeRduct${pageName} = (obj) => {
// 서버에 전송할 data(파라미터) 생성
let params = {
callPurpose : "remove"
, rductId : ${pageName}${pageDataName1}Control.dataset.getValue("RDUCT_ID") // 감경 ID
, delRsn : obj.reason // 삭제 사유
};
ajax.post({ // 부과제외 정보
url : wctx.url($("#taskSeCd--${pageNameMain}").val() + ${pageName}${pageDataName1}PrefixUrl + "/010/remove.do") if (resp.levyExcl)
, data : params $P.levyExclControl.setData([resp.levyExcl]);
, success : resp => {
let btnTitle = $("#btnRemoveRduct--${pageName}").attr("title");
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle);
dialog.alert(showMessage); // 메시지 출력 // Dataset 셋팅
$P.crdnSttsHstryControl.setData(resp.crdnSttsHstry); // 단속상태 이력
$P.payerHstryControl.setData(resp.payerHstry); // 납부자 이력
if (resp.saved) { // 최상단 단속 Data 셋팅
refreshDataInfo${pageName}(); // 자료 재조회 if (resp.totalInfo) {
pageObject["${pageNameMain}"].mainControl.setData([resp.totalInfo]);
} }
} }
}); });
} }
// 부과제외 삭제 // 삭제 callback
callbackRemoveLevyExcl${pageName} = (obj) => { $P.callbackRemove = (obj) => {
// 서버에 전송할 data(파라미터) 생성 // 서버에 전송할 data(파라미터) 생성
let params = { let params = {};
callPurpose : "remove"
, sggCd : ${pageName}${pageDataName2}Control.dataset.getValue("SGG_CD") // 시군구 코드 if (obj.prefix == $P.rductControl.prefix) {
, taskSeCd : ${pageName}${pageDataName2}Control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 params.callPurpose = "remove";
, levyExclId : ${pageName}${pageDataName2}Control.dataset.getValue("LEVY_EXCL_ID") // 부과제외 ID params.sggCd = $P.rductControl.dataset.getValue("SGG_CD"); // 시군구 코드
, delRsn : obj.reason // 삭제 사유 params.taskSeCd = $P.rductControl.dataset.getValue("TASK_SE_CD"); // 업무 구분 코드
}; params.rductId = $P.rductControl.dataset.getValue("RDUCT_ID") // 감경 ID
params.delRsn = obj.reason; // 삭제 사유
${pageName}${pageDataName2}Control.remove(params);
$P.rductControl.remove(params);
} else if (obj.prefix == $P.levyExclControl.prefix) {
params.callPurpose = "remove";
params.sggCd = $P.levyExclControl.dataset.getValue("SGG_CD"); // 시군구 코드
params.taskSeCd = $P.levyExclControl.dataset.getValue("TASK_SE_CD"); // 업무 구분 코드
params.levyExclId = $P.levyExclControl.dataset.getValue("LEVY_EXCL_ID");// 부과제외 ID
params.delRsn = obj.reason; // 삭제 사유
$P.levyExclControl.remove(params);
} else {
return;
}
} }
/************************************************************************** /**************************************************************************
* 버튼 clickEvent * 버튼 clickEvent
**************************************************************************/ **************************************************************************/
// 감경 등록 // 감경 등록
fnCreateRduct${pageName} = () => { $P.fnCreateRduct = () => {
// 버튼 title
let btnTitle = $("#btnCreateRduct--${pageName}").attr("title");
// 단속 ID // 단속 ID
let crdnId = $("#crdnId--${pageNameMain}").val(); let crdnId = $("#crdnId--${pageNameMain}").val();
// 단속 ID 가 없다면.. return // 단속 ID 가 없다면.. return
@ -568,175 +595,268 @@
content : "납부자가 등록되지 않았습니다." content : "납부자가 등록되지 않았습니다."
, onOK : () => { } , onOK : () => { }
}); });
return; return;
} }
// 단속 상태 코드
let crdnSttsCd = $("#crdnSttsCd--${pageNameMain}").val(); let crdnSttsCd = $("#crdnSttsCd--${pageNameMain}").val();
let crdnSttsNm = $("#crdnSttsNm--${pageNameMain}").val();
// 단속 상태 코드 확인 // 단속 상태 코드 확인
if (Number(crdnSttsCd) < 21 || Number(crdnSttsCd) > 45) { if (Number(crdnSttsCd) < 21 || Number(crdnSttsCd) > 45) {
dialog.alert({ dialog.alert({
content : "단속상태가 '" + $("#crdnSttsNm--${pageNameMain}").val() + "' 입니다." content : "단속상태가 '" + crdnSttsNm + "' 입니다."
+ "<br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
, onOK : () => { } , onOK : () => { }
}); });
return; return;
} }
let params = { let params = {
callPurpose : "create" callPurpose : "create"
, btnTitle : btnTitle
, crdnId : crdnId , crdnId : crdnId
, sggCd : $("#sggCd--${pageNameMain}").val() , sggCd : $("#sggCd--${pageNameMain}").val()
, taskSeCd : $("#taskSeCd--${pageNameMain}").val() , taskSeCd : $("#taskSeCd--${pageNameMain}").val()
, rtpyrId : rtpyrId
, delYN : "N"
}; };
${pageName}${pageDataName1}Control.getInfo(params); $P.rductControl.getInfo(params);
} }
// 감경 수정 // 감경 수정
fnUpdateRduct${pageName} = () => { $P.fnUpdateRduct = () => {
// 감경 ID // 버튼 title
let rductId = ${pageName}${pageDataName1}Control.dataset.getValue("RDUCT_ID"); let btnTitle = $("#btnUpdateRduct--${pageName}").attr("title");
// 감경 ID
let rductId = $P.rductControl.dataset.getValue("RDUCT_ID");
// 감경 ID 가 없다면.. return // 감경 ID 가 없다면.. return
if (typeof rductId == "undefined" || rductId == null || rductId == "") return; if (typeof rductId == "undefined" || rductId == null || rductId == "") return;
// 단속 상태 코드
let crdnSttsCd = $("#crdnSttsCd--${pageNameMain}").val();
let crdnSttsNm = $("#crdnSttsNm--${pageNameMain}").val();
// 단속 상태 코드 확인
if (Number(crdnSttsCd) > 45) {
dialog.alert({
content : "단속상태가 '" + crdnSttsNm + "' 입니다."
+ "<br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
});
return;
}
let params = { let params = {
callPurpose : "update" callPurpose : "update"
, crdnId : ${pageName}${pageDataName1}Control.dataset.getValue("CRDN_ID") , btnTitle : btnTitle
, sggCd : ${pageName}${pageDataName1}Control.dataset.getValue("SGG_CD") , crdnId : $P.rductControl.dataset.getValue("CRDN_ID")
, taskSeCd : ${pageName}${pageDataName1}Control.dataset.getValue("TASK_SE_CD") , sggCd : $P.rductControl.dataset.getValue("SGG_CD")
, taskSeCd : $P.rductControl.dataset.getValue("TASK_SE_CD")
, rductId : rductId , rductId : rductId
, delYN : "N"
}; };
${pageName}${pageDataName1}Control.getInfo(params); $P.rductControl.getInfo(params);
} }
// 감경 삭제 // 감경 삭제
fnRemoveRduct${pageName} = () => { $P.fnRemoveRduct = () => {
// 감경 ID // 버튼 title
let rductId = ${pageName}${pageDataName1}Control.dataset.getValue("RDUCT_ID"); let btnTitle = $("#btnRemoveRduct--${pageName}").attr("title");
// 감경 ID
let rductId = $P.rductControl.dataset.getValue("RDUCT_ID");
// 감경 ID 가 없다면.. return // 감경 ID 가 없다면.. return
if (typeof rductId == "undefined" || rductId == null || rductId == "") return; if (typeof rductId == "undefined" || rductId == null || rductId == "") return;
let callbackFuncName = "removeRduct${pageName}"; // 단속 상태 코드
let crdnSttsCd = $("#crdnSttsCd--${pageNameMain}").val();
let crdnSttsNm = $("#crdnSttsNm--${pageNameMain}").val();
// 단속 상태 코드 확인
if (Number(crdnSttsCd) > 45) {
dialog.alert({
content : "단속상태가 '" + crdnSttsNm + "' 입니다."
+ "<br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
});
return;
}
// 삭제 메세지 확인
dialog.alert({
content : "선택하신 " + $P.rductControl.prefixName + " 정보를 삭제하시겠습니까?"
, onOK : () => {
// 삭제 사유 입력
let popupWidth = 640; let popupWidth = 640;
let popupHeight = 360; let popupHeight = 240;
let popupX = (window.screen.width / 2) - (popupWidth / 2); let popupX = (window.screen.width / 2) - (popupWidth / 2);
let popupY= (window.screen.height / 2) - (popupHeight / 2); let popupY = (window.screen.height / 2) - (popupHeight / 2);
window.open( window.open(
wctx.url("/resources/html/inputRsnDialog.html" encodeURI(wctx.url("/resources/html/inputRsnDialog.html"
+ "?callbackFuncName=" + callbackFuncName + "?openerPageName=${pageName}"
+ "&CALL_PURPOSE=" + "remove" + "&prefix=" + $P.rductControl.prefix
) + "&usePurpose=" + "remove"
+ "&ttlNm=" + "삭제"
))
, "inputDelRsnDialog" , "inputDelRsnDialog"
, 'status=no, height=' + popupHeight + ', width=' + popupWidth + ', left='+ popupX + ', top='+ popupY , 'status=no, height=' + popupHeight + ', width=' + popupWidth + ', left='+ popupX + ', top='+ popupY
); );
} }
});
}
// 계고 등록 // 계고 등록
fnCreateWrng${pageName} = () => { $P.fnCreateWrng = () => {
// 버튼 title
let btnTitle = $("#btnCreateWrng--${pageName}").attr("title");
// 단속 ID // 단속 ID
let crdnId = $("#crdnId--${pageNameMain}").val(); let crdnId = $("#crdnId--${pageNameMain}").val();
// 단속 ID 가 없다면.. return // 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
// 단속 상태 코드
let crdnSttsCd = $("#crdnSttsCd--${pageNameMain}").val();
let crdnSttsNm = $("#crdnSttsNm--${pageNameMain}").val();
// 단속 상태 코드 확인
if (Number(crdnSttsCd) < 01 || Number(crdnSttsCd) > 45 || Number(crdnSttsCd) == 31) {
dialog.alert({
content : "단속상태가 '" + crdnSttsNm + "' 입니다."
+ "<br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
});
return;
}
let params = { let params = {
callPurpose : "create" callPurpose : "create"
, btnTitle : btnTitle
, crdnId : crdnId , crdnId : crdnId
, sggCd : $("#sggCd--${pageNameMain}").val() , sggCd : $("#sggCd--${pageNameMain}").val()
, taskSeCd : $("#taskSeCd--${pageNameMain}").val() , taskSeCd : $("#taskSeCd--${pageNameMain}").val()
, levyExclSeCd : "2" , levyExclSeCd : "2"
, delYN : "N"
}; };
${pageName}${pageDataName2}Control.getInfo(params); $P.levyExclControl.getInfo(params);
} }
// 부과제외 등록 // 부과제외 등록
fnCreateLevyExcl${pageName} = () => { $P.fnCreateLevyExcl = () => {
// 버튼 title
let btnTitle = $("#btnCreateLevyExcl--${pageName}").attr("title");
// 단속 ID // 단속 ID
let crdnId = $("#crdnId--${pageNameMain}").val(); let crdnId = $("#crdnId--${pageNameMain}").val();
// 단속 ID 가 없다면.. return // 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
// 단속 상태 코드
let crdnSttsCd = $("#crdnSttsCd--${pageNameMain}").val();
let crdnSttsNm = $("#crdnSttsNm--${pageNameMain}").val();
// 단속 상태 코드 확인
if (Number(crdnSttsCd) < 01 || Number(crdnSttsCd) > 45 || Number(crdnSttsCd) == 31) {
dialog.alert({
content : "단속상태가 '" + crdnSttsNm + "' 입니다."
+ "<br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
});
return;
}
let params = { let params = {
callPurpose : "create" callPurpose : "create"
, btnTitle : btnTitle
, crdnId : crdnId , crdnId : crdnId
, sggCd : $("#sggCd--${pageNameMain}").val() , sggCd : $("#sggCd--${pageNameMain}").val()
, taskSeCd : $("#taskSeCd--${pageNameMain}").val() , taskSeCd : $("#taskSeCd--${pageNameMain}").val()
, levyExclSeCd : "1" , levyExclSeCd : "1"
, delYN : "N"
}; };
${pageName}${pageDataName2}Control.getInfo(params); $P.levyExclControl.getInfo(params);
} }
// 부과제외 수정 // 부과제외 수정
fnUpdateLevyExcl${pageName} = () => { $P.fnUpdateLevyExcl = () => {
// 부과제외 ID // 버튼 title
let levyExclId = ${pageName}${pageDataName2}Control.dataset.getValue("LEVY_EXCL_ID"); let btnTitle = $("#btnUpdateLevyExcl--${pageName}").attr("title");
// 부과제외 ID
let levyExclId = $P.levyExclControl.dataset.getValue("LEVY_EXCL_ID");
// 부과 제외 ID 가 없다면.. return // 부과 제외 ID 가 없다면.. return
if (typeof levyExclId == "undefined" || levyExclId == null || levyExclId == "") return; if (typeof levyExclId == "undefined" || levyExclId == null || levyExclId == "") return;
let params = { let params = {
callPurpose : "update" callPurpose : "update"
, crdnId : ${pageName}${pageDataName2}Control.dataset.getValue("CRDN_ID") , btnTitle : btnTitle
, sggCd : ${pageName}${pageDataName2}Control.dataset.getValue("SGG_CD") , crdnId : $P.levyExclControl.dataset.getValue("CRDN_ID")
, taskSeCd : ${pageName}${pageDataName2}Control.dataset.getValue("TASK_SE_CD") , sggCd : $P.levyExclControl.dataset.getValue("SGG_CD")
, taskSeCd : $P.levyExclControl.dataset.getValue("TASK_SE_CD")
, levyExclId : levyExclId , levyExclId : levyExclId
, delYN : "N"
}; };
${pageName}${pageDataName2}Control.getInfo(params); $P.levyExclControl.getInfo(params);
} }
// 부과제외 삭제 // 부과제외 삭제
fnRemoveLevyExcl${pageName} = () => { $P.fnRemoveLevyExcl = () => {
// 부과제외 ID // 버튼 title
let levyExclId = ${pageName}${pageDataName2}Control.dataset.getValue("LEVY_EXCL_ID"); let btnTitle = $("#btnRemoveLevyExcl--${pageName}").attr("title");
// 부과제외 ID
let levyExclId = $P.levyExclControl.dataset.getValue("LEVY_EXCL_ID");
// 부과제외 ID 가 없다면.. return // 부과제외 ID 가 없다면.. return
if (typeof levyExclId == "undefined" || levyExclId == null || levyExclId == "") return; if (typeof levyExclId == "undefined" || levyExclId == null || levyExclId == "") return;
// 삭제 메세지 확인
dialog.alert({
content : "선택하신 " + $P.levyExclControl.prefixName + " 정보를 삭제하시겠습니까?"
, onOK : () => {
// 삭제 사유 입력 // 삭제 사유 입력
let callbackFuncName = "callbackRemoveLevyExcl${pageName}";
let popupWidth = 640; let popupWidth = 640;
let popupHeight = 360; let popupHeight = 240;
let popupX = (window.screen.width / 2) - (popupWidth / 2); let popupX = (window.screen.width / 2) - (popupWidth / 2);
let popupY= (window.screen.height / 2) - (popupHeight / 2); let popupY = (window.screen.height / 2) - (popupHeight / 2);
window.open( window.open(
wctx.url("/resources/html/inputRsnDialog.html" encodeURI(wctx.url("/resources/html/inputRsnDialog.html"
+ "?callbackFuncName=" + callbackFuncName + "?openerPageName=${pageName}"
+ "&USE_PURPOSE=" + "삭제" + "&prefix=" + $P.levyExclControl.prefix
) + "&usePurpose=" + "remove"
+ "&ttlNm=" + "삭제"
))
, "inputDelRsnDialog" , "inputDelRsnDialog"
, 'status=no, height=' + popupHeight + ', width=' + popupWidth + ', left='+ popupX + ', top='+ popupY , 'status=no, height=' + popupHeight + ', width=' + popupWidth + ', left='+ popupX + ', top='+ popupY
); );
} }
});
}
/************************************************************************** /**************************************************************************
* 초기 셋팅 * 초기 셋팅
**************************************************************************/ **************************************************************************/
// 이벤트 설정 // 이벤트 설정
setEvent${pageName} = () => { $P.setEvent = () => {
// DataTables width 변경 조정 // 업무 버튼 이벤트
$("#DataTables_Table_0--${pageName}${pageDataName3}").find("th").resizable( {handles : "e"} ); $("#btnCreateRduct--${pageName}").on("click", () => $P.fnCreateRduct()); // 개별 반송 등록 버튼 이벤트
$("#DataTables_Table_0--${pageName}${pageDataName4}").find("th").resizable( {handles : "e"} ); $("#btnUpdateRduct--${pageName}").on("click", () => $P.fnUpdateRduct()); // 개별 반송 수정 버튼 이벤트
} $("#btnRemoveRduct--${pageName}").on("click", () => $P.fnRemoveRduct()); // 개별 반송 삭제 버튼 이벤트
$("#btnCreateWrng--${pageName}").on("click", () => $P.fnCreateWrng()); // 개별 반송 등록 버튼 이벤트
$("#btnCreateLevyExcl--${pageName}").on("click", () => $P.fnCreateLevyExcl()); // 개별 반송 등록 버튼 이벤트
$("#btnUpdateLevyExcl--${pageName}").on("click", () => $P.fnUpdateLevyExcl()); // 개별 반송 수정 버튼 이벤트
$("#btnRemoveLevyExcl--${pageName}").on("click", () => $P.fnRemoveLevyExcl()); // 개별 반송 삭제 버튼 이벤트
// 화면 초기 설정 // DataTables width 변경 조정
initForm${pageName} = () => { $("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} );
// 화면 초기화 $("#DataTables_Table_1--${pageName}").find("th").resizable( {handles : "e"} );
$("#frmEdit--${pageName}${pageDataName1}")[0].reset();
$("#frmEdit--${pageName}${pageDataName2}")[0].reset();
} }
// 화면 초기값 설정 // 기본 데이터 설정
setFormData${pageName} = () => { $P.initData = () => {
// 화면 호출(callPurpose)이 view 라면 버튼 비활성화 // 화면 호출(callPurpose)이 view 라면 버튼 비활성화
if (${pageNameMain}CallPurpose == "view") { if (${pageNameMain}CallPurpose == "view") {
$("#btnCreateRduct--${pageName}").prop("disabled", true); $("#btnCreateRduct--${pageName}").prop("disabled", true);
@ -758,32 +878,23 @@
} }
/************************************************************************** /**************************************************************************
* script 진입 * 최초 실행 함수
**************************************************************************/ **************************************************************************/
$(document).ready(function() { // 1. 이벤트 설정
// 이벤트 설정 $P.setEvent();
setEvent${pageName}();
// 화면 초기 설정 // 2. 기본 데이터 설정
initForm${pageName}(); $P.initData();
// Dataset 셋팅 // 3. Dataset 설정
let rduct = ${rduct}; // 감경 정보 let rduct = ${rduct}; // 감경 정보
if (rduct) { if (rduct) $P.rductControl.setData([rduct]);
${pageName}${pageDataName1}Control.setData([rduct]);
}
let levyExcl = ${levyExcl}; // 부과제외 정보 let levyExcl = ${levyExcl}; // 부과제외 정보
if (levyExcl) { if (levyExcl) $P.levyExclControl.setData([levyExcl]);
${pageName}${pageDataName2}Control.setData([levyExcl]);
}
${pageName}${pageDataName3}Dataset.setData(${crdnSttsHstry}); // 처리상태 이력 정보
${pageName}${pageDataName4}Dataset.setData(${payerHstry}); // 주소변동 이력 정보
// 화면 데이터 셋팅 $P.crdnSttsHstryControl.setData(${crdnSttsHstry}); // 단속상태 이력
setFormData${pageName}(); $P.payerHstryControl.setData(${payerHstry}); // 납부자 이력
}); });
</script> </script>

@ -67,12 +67,14 @@
<script language="javascript"> <script language="javascript">
// parameter // parameter
var openerPageName = location.search.split("&")[0].split("=")[1]; var openerPageName = location.search.split("&")[0].split("=")[1];
var usePurpose = location.search.split("&")[1].split("=")[1]; var prefix = location.search.split("&")[1].split("=")[1];
var ttlNm = decodeURI(location.search.split("&")[2].split("=")[1]); var usePurpose = location.search.split("&")[2].split("=")[1];
var ttlNm = decodeURI(location.search.split("&")[3].split("=")[1]);
function fnOK() { function fnOK() {
let obj = { let obj = {
reason : $("#reason").val() // 사유 prefix : prefix // 호출 prefix
, reason : $("#reason").val() // 사유
}; };
if (usePurpose == "remove") { if (usePurpose == "remove") {

Loading…
Cancel
Save