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

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

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

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

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

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

@ -318,6 +318,7 @@
**************************************************************************/
$P.control = new DatasetControl({
prefix : "crdnPayer"
, prefixName : "단속"
, keymapper : info => info ? info.CRDN_ID : ""
, dataGetter : obj => obj.crdnPayerInfo
, formats : {
@ -352,23 +353,13 @@
$P.control.getInfo = (params) => {
if (!params) return;
let dialogTitle = "";
if (params.callPurpose == "create") {
dialogTitle = "단속정보 등록";
} else if (params.callPurpose == "update") {
dialogTitle = "단속정보 수정";
} else {
return;
}
ajax.get({
url : wctx.url("/" + params.taskSeCd + "/crdn/crdn06/020/info.do")
, data : params || {}
, success : resp => {
dialog.open({
id : "crdnDialog"
, title : dialogTitle
, title : params.btnTitle
, content : resp
, size : "lg"
, onClose : () => { $P.refreshDataInfo$(); }
@ -408,8 +399,8 @@
**************************************************************************/
// 자료 재조회
$P.refreshDataInfo = () => {
// 단속 ID
let crdnId = $("#crdnId--${pageNameMain}").val();
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
@ -452,7 +443,7 @@
, success : resp => {
dialog.open({
id : "cvlcptOrgnlDialog--${pageName}"
, title : "민원내역 원본"
, title : params.btnTitle
, content : resp
, size : "xl"
});
@ -470,7 +461,7 @@
, success : resp => {
dialog.open({
id : "answerPreviewDialog--${pageName}"
, title : "답변내용 미리보기"
, title : params.btnTitle
, content : resp
, 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) => {
if (!params) return;
@ -487,8 +492,12 @@
, data : params || {}
, success : resp => {
if (resp.saved) {
dialog.alert("단속재등록 작업이 정상 처리되었습니다.");
dialog.alert({
content : "단속재등록 작업이 정상 처리되었습니다."
, onOK : () => { }
});
}
return;
}
});
}
@ -503,7 +512,7 @@
, success : resp => {
dialog.open({
id : "crdnSttsCdDialog"
, title : "단속상태 변경"
, title : params.btnTitle
, content : resp
, size : "lg"
, onClose : () => { $P.refreshDataInfo$(); }
@ -567,20 +576,29 @@
**************************************************************************/
// 민원원본 보기
$P.fnViewCvlcptOrgnl = () => {
let crdnId = $P.control.dataset.getValue("CRDN_ID"); // 단속 ID
let cvlcptLinkId = $P.control.dataset.getValue("CVLCPT_LINK_ID"); // 민원 연계 ID
// 버튼 title
let btnTitle = $("#btnViewCvlcptOrgnl--${pageName}").attr("title");
// 단속 ID
let crdnId = $P.control.dataset.getValue("CRDN_ID");
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
// 민원 연계 ID
let cvlcptLinkId = $P.control.dataset.getValue("CVLCPT_LINK_ID");
// 민원 연계 ID가 없다면.. return
if (typeof cvlcptLinkId == "undefined" || cvlcptLinkId == null || cvlcptLinkId == "") {
dialog.alert("조회된 단속 민원 대장 정보가 없습니다.");
dialog.alert({
content : "조회된 단속 민원 대장 정보가 없습니다."
+ "<br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
});
return;
}
let params = {
callPurpose : "view"
, btnTitle : btnTitle
, crdnId : crdnId // 단속 ID
, sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
@ -591,20 +609,29 @@
// 민원답변 보기
$P.fnViewAnswerPreview = () => {
let crdnId = $P.control.dataset.getValue("CRDN_ID"); // 단속 ID
let cvlcptLinkId = $P.control.dataset.getValue("CVLCPT_LINK_ID"); // 민원 연계 ID
// 버튼 title
let btnTitle = $("#btnViewAnswerPreview--${pageName}").attr("title");
// 단속 ID
let crdnId = $P.control.dataset.getValue("CRDN_ID");
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
// 민원 연계 ID
let cvlcptLinkId = $P.control.dataset.getValue("CVLCPT_LINK_ID");
// 민원 연계 ID가 없다면.. return
if (typeof cvlcptLinkId == "undefined" || cvlcptLinkId == null || cvlcptLinkId == "") {
dialog.alert("조회된 단속 민원 대장 정보가 없습니다.");
dialog.alert({
content : "조회된 단속 민원 대장 정보가 없습니다."
+ "<br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
});
return;
}
let params = {
callPurpose : "view"
, btnTitle : btnTitle
, crdnId : crdnId // 단속 ID
, sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
@ -615,13 +642,17 @@
// 단속정보 수정
$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
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
let params = {
callPurpose : "update"
, btnTitle : btnTitle
, crdnId : crdnId // 단속 ID
, sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
@ -631,39 +662,81 @@
}
// 단속정보 삭제
$P.fnRemoveCrdn${pageName} = () => {
let crdnId = $P.control.dataset.getValue("CRDN_ID");
$P.fnRemoveCrdn = () => {
// 버튼 title
let btnTitle = $("#btnRemoveCrdn--${pageName}").attr("title");
// 단속 ID
let crdnId = $P.control.dataset.getValue("CRDN_ID");
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
let params = {
callPurpose : "remove"
, crdnId : crdnId // 단속 ID
, sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
};
// 단속 상태 코드
let crdnSttsCd = $("#crdnSttsCd--${pageNameMain}").val();
let crdnSttsNm = $("#crdnSttsNm--${pageNameMain}").val();
// 단속 상태 코드 확인
if (Number(crdnSttsCd) > 51) {
dialog.alert({
content : "단속상태가 '" + crdnSttsNm + "' 입니다."
+ "<br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
});
return;
}
// 삭제 메세지 확인
dialog.alert({
content : "선택한 단속 정보를 삭제하시겠습니까?"
content : "선택하신 단속 정보를 삭제하시겠습니까?"
, 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 = () => {
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
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 = {
callPurpose : "create"
, btnTitle : btnTitle
, bfrCrdnId : bfrCrdnId // 단속 ID
, sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, bfrCrdnId : bfrCrdnId // 단속 ID
};
dialog.alert({
@ -676,62 +749,22 @@
// 고지서출력
$P.fnPrintNht = () => {
var upDataset = $P.control;
if(upDataset.length <= 0){
dialog.alert("출력할 자료가 없습니다.");
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 = () => {
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
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
let params = {
callPurpose : "update"
, btnTitle : btnTitle
, crdnId : crdnId // 단속 ID
, sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
@ -742,27 +775,26 @@
// 납부자 초기화
$P.fnDeleteCrdnPayer = () => {
let crdnId = $P.control.dataset.getValue("CRDN_ID");
let rtpyrId = $P.control.dataset.getValue("RTPYR_ID");
// 버튼 title
let btnTitle = $("#btnDeleteCrdnPayer--${pageName}").attr("title");
// 단속 ID
let crdnId = $P.control.dataset.getValue("CRDN_ID");
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
if (rtpyrId == null || rtpyrId == "") {
dialog.alert({
content : "선택한 자료의 납부자 정보가 없습니다."
, onOK : () => { }
});
return;
}
// 납부자 ID
let rtpyrId = $P.control.dataset.getValue("RTPYR_ID");
// 납부자 ID 가 없다면.. return
if (rtpyrId == null || rtpyrId == "") return;
let params = {
callPurpose : "remove"
, btnTitle : btnTitle
, crdnId : crdnId // 단속 ID
, rtpyrId : rtpyrId // 납부자 ID
, sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, rtpyrId : rtpyrId // 납부자 ID
, delYN : "N"
};
@ -776,17 +808,21 @@
// 납부자 수정
$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
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
let params = {
callPurpose : "update"
, btnTitle : btnTitle
, crdnId : crdnId // 단속 ID
, rtpyrId : $P.control.dataset.getValue("RTPYR_ID") // 납부자 ID
, sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, rtpyrId : $P.control.dataset.getValue("RTPYR_ID") // 납부자 ID
, vhrno : $P.control.dataset.getValue("VHRNO") // 차량번호
, rtpyrInptSeCd : "01" // 납부자 입력 구분 코드
, delYN : "N"

@ -154,6 +154,7 @@
<div class="col-md-12">
<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="hidden" id="opnnSbmsnSttsCd--${pageName}" name="opnnSbmsnSttsCd" data-map="OPNN_SBMSN_STTS_CD" />
</div>
<!-- 답변일시 -->
<div class="col-md-12">
@ -228,16 +229,6 @@
$P.control.getInfo = (params) => {
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({
url : wctx.url("/" + params.taskSeCd + "/excl/excl02/020/info.do")
, data : params || {}
@ -250,7 +241,7 @@
} else {
dialog.open({
id : $P.control.prefixed("Dialog")
, title : dialogTitle
, title : params.btnTitle
, content : resp
, size : "lg"
, onClose : () => { $P.refreshDataInfo(); }
@ -291,8 +282,8 @@
**************************************************************************/
// 자료 재조회
$P.refreshDataInfo = () => {
// 단속 ID
let crdnId = $("#crdnId--${pageNameMain}").val();
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
@ -335,7 +326,7 @@
, success : resp => {
dialog.open({
id : "opnnSbmsnDialog"
, title : "의견제출 심의"
, title : params.btnTitle
, content : resp
, size : "lg"
, 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) => {
if (!params) return;
@ -371,13 +376,30 @@
**************************************************************************/
// 의견제출 등록 버튼 이벤트
$P.fnCreateOpnnSbmsn = () => {
let crdnId = $("#crdnId--${pageNameMain}").val();
// 버튼 title
let btnTitle = $("#btnCreateOpnnSbmsn--${pageName}").attr("title");
// 단속 ID
let crdnId = $("#crdnId--${pageNameMain}").val();
// 단속 ID 가 없다면.. 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 = {
callPurpose : "create"
, btnTitle : btnTitle
, crdnId : crdnId // 단속 ID
, sggCd : $("#sggCd--${pageNameMain}").val() // 시군구 코드
, taskSeCd : $("#taskSeCd--${pageNameMain}").val() // 업무 구분 코드
@ -388,16 +410,20 @@
// 의견제출 수정 버튼 이벤트
$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;
let params = {
callPurpose : "update"
, btnTitle : btnTitle
, opnnId : opnnId // 의견제출 ID
, sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, opnnId : opnnId // 의견제출 ID
};
$P.control.getInfo(params);
@ -405,41 +431,67 @@
// 의견제출삭제 버튼 이벤트
$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;
// 단속 상태 코드
let crdnSttsCd = $P.control.dataset.getValue("CRDN_STTS_CD");
let params = {
callPurpose : "remove"
, sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, opnnId : opnnId // 의견제출 ID
};
// 의견제출 상태 코드
let opnnSbmsnSttsCd = $("#opnnSbmsnSttsCd--${pageName}").val();
let opnnSbmsnSttsNm = $("#opnnSbmsnSttsNm--${pageName}").val();
// 의견제출 상태 코드 확인
if (opnnSbmsnSttsCd != '00' && opnnSbmsnSttsCd != '03') {
dialog.alert({
content : "의견제출 심의결과가 '" + opnnSbmsnSttsNm + "' 입니다."
+ "<br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
});
return;
}
// 삭제 메세지 확인
dialog.alert({
content : "선택한 의견제출 정보를 삭제하시겠습니까?"
, 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 = () => {
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
if (typeof opnnId == "undefined" || opnnId == null || opnnId == "") return;
let params = {
callPurpose : "view"
, btnTitle : btnTitle
, opnnIDs : opnnId // 의견제출 ID
, sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, opnnIDs : opnnId // 의견제출 ID
};
$P.makeHwpFileDlbrDecsn(params);
@ -447,16 +499,34 @@
// 의견제출 심의 버튼 이벤트
$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
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 = {
callPurpose : "update"
, btnTitle : btnTitle
, opnnId : opnnId // 의견제출 ID
, sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, opnnId : opnnId // 의견제출 ID
};
$P.getOpnnSbmsnDlbrtInfo(params);

@ -31,11 +31,11 @@
<!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap">
<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"
id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead">
<tr id="theadTrSndng--${pageName}">
<tr id="theadTrSndngDtl--${pageName}">
<th class="cmn" style="width: 120px">발송상태</th>
<th class="cmn" style="width: 100px">수납</th>
<th class="cmn" style="width: 140px">발송구분</th>
@ -61,9 +61,9 @@
<th class="cmn dummy-th"></th>
</tr>
</thead>
<tbody id="tbodySndng--${pageName}">
<tbody id="tbodySndngDtl--${pageName}">
</tbody>
<template id="sndngRow--${pageName}">
<template id="sndngDtlRow--${pageName}">
<tr data-key="{SNDNG_DTL_ID}">
<td class="text-center" onclick="{onclick}">{SNDNG_DTL_STTS_NM}</td>
<td class="text-center" onclick="{onclick}">{SNDNG_RCVMT_NM}</td>
@ -90,7 +90,7 @@
<td class="cmn dummy-td"></td>
</tr>
</template>
<template id="sndngNotFound--${pageName}">
<template id="sndngDtlNotFound--${pageName}">
<tr class="odd">
<td valign="top" colspan="23" class="dataTables_empty text-center">발송 정보를 찾지 못했습니다.</td>
</tr>
@ -207,9 +207,10 @@
/**************************************************************************
* DatasetControl
**************************************************************************/
$P.sndngControl = new DatasetControl({
// 발송 상세 정보 DatasetControl
$P.sndngDtlControl = new DatasetControl({
prefix : "sndng"
, prefixName : "발송 정보"
, prefixName : "발송 상세 정보"
, keymapper : info => info ? info.SNDNG_DTL_ID : ""
, dataGetter : obj => obj.sndngDtlList
, appendData : true
@ -224,7 +225,7 @@
}
});
// 공시송달 정보 Dataset
// 공시송달 정보 DatasetControl
$P.svbtcControl = new DatasetControl({
prefix : "svbtc"
, prefixName : "공시송달 정보"
@ -240,22 +241,23 @@
/**************************************************************************
* DatasetControl 이벤트
**************************************************************************/
// Dataset 변경
$P.sndngControl.onDatasetChange = obj => {
// 발송 상세 Dataset 변경
$P.sndngDtlControl.onDatasetChange = obj => {
$P.renderSndngList();
};
// 공시송달 Dataset 변경
$P.svbtcControl.onDatasetChange = obj => {
$P.renderSvbtcList();
}
// 현재 선택 자료 변경 이벤트
$P.sndngControl.onCurrentChange = item => {
// 발송 상세 선택 자료 변경 이벤트
$P.sndngDtlControl.onCurrentChange = item => {
if (!item) return;
let key = item.data.SNDNG_DTL_ID;
$("#tbodySndng--${pageName}").setCurrentRow(key);
$("#tbodySndngDtl--${pageName}").setCurrentRow(key);
// 가상계좌번호
let vrActno = "";
@ -285,6 +287,7 @@
$("#epayno--${pageName}").val(item.data.EPAYNO_MASK); // 전자납부번호
}
// 공시송달 선택 자료 변경 이벤트
$P.svbtcControl.onCurrentChange = item => {
if (!item) return;
@ -293,37 +296,27 @@
$("#tbodySvbtc--${pageName}").setCurrentRow(key);
}
// 개별 반송 Info
$P.sndngControl.getInfo = (params) => {
// 개별 반송 dialog
$P.sndngDtlControl.getInfo = (params) => {
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({
url : wctx.url("/" + params.taskSeCd + "/sndb/sndb01/220/info.do")
, data : params || {}
, success : resp => {
dialog.open({
id : "sndbkDialog"
, title : dialogTitle
, title : params.btnTitle
, content : resp
, size : "md"
, onClose : () => { $P.refreshSndngDataInfo(); }
, onClose : () => { $P.refreshDataInfo(); }
});
}
});
}
// 개별 반송 삭제 callback
$P.sndngControl.onRemove = (resp) => {
$P.sndngDtlControl.onRemove = (resp) => {
let btnTitle = $("#btnRemoveSndbk--${pageName}").attr("title");
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle);
@ -333,18 +326,18 @@
});
if (resp.saved) {
$P.refreshSndngDataInfo();
$P.refreshDataInfo();
}
}
// 개별 반송 삭제
$P.sndngControl.remove = (params) => {
$P.sndngDtlControl.remove = (params) => {
if (!params) return;
ajax.post({
url : wctx.url("/" + params.taskSeCd + "/sndb/sndb01/210/delete.do")
, data : params
, success : resp => $P.sndngControl.onRemove(resp)
, success : resp => $P.sndngDtlControl.onRemove(resp)
});
}
@ -353,18 +346,18 @@
**************************************************************************/
// DataTables에 click, dbclick 이벤트
$P.renderSndngList = () => {
let ${infoPrefix}List = $P.sndngControl.dataset;
let empty = ${infoPrefix}List.empty;
let sndngDtlList = $P.sndngDtlControl.dataset;
let empty = sndngDtlList.empty;
let trs = empty ?
[document.getElementById("sndngNotFound--${pageName}").innerHTML] : <%-- from template#${infoPrefix}NotFound --%>
${infoPrefix}List.inStrings(
document.getElementById("sndngRow--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%>
[document.getElementById("sndngDtlNotFound--${pageName}").innerHTML] : <%-- from template#${infoPrefix}NotFound --%>
sndngDtlList.inStrings(
document.getElementById("sndngDtlRow--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%>
(str, dataItem) => str
.replace(/{onclick}/gi, "pageObject['${pageName}'].sndngControl.setCurrent('" + dataItem.getValue("SNDNG_DTL_ID") + "');")
);
$("#tbodySndng--${pageName}").html(trs.join());
$("#tbodySndngDtl--${pageName}").html(trs.join());
}
// 공시송달 정보 DataTables에 click 이벤트
@ -387,7 +380,7 @@
* 사용자 함수(function)
**************************************************************************/
// 자료 재조회
$P.refreshSndngDataInfo = () => {
$P.refreshDataInfo = () => {
let crdnId = $("#crdnId--${pageNameMain}").val();
// 단속 ID 가 없다면.. return
@ -408,11 +401,11 @@
, success : resp => {
// 초기화
$("#frmEdit--${pageName}")[0].reset(); // 화면 초기화
$P.sndngControl.dataset.clear(); // Dataset 초기화
$P.svbtcControl.dataset.clear(); // Dataset 초기화
$P.sndngDtlControl.dataset.clear(); // 발송 상세 Dataset 초기화
$P.svbtcControl.dataset.clear(); // 공시송달 Dataset 초기화
// Dataset 셋팅
$P.sndngControl.setData(resp.sndngDtl); // 발송 이력 정보
$P.sndngDtlControl.setData(resp.sndngDtl); // 발송 이력 정보
$P.svbtcControl.setData(resp.svbtcList); // 공시송달 이력 정보
// 최상단 단속 Data 셋팅
@ -428,107 +421,111 @@
**************************************************************************/
// 개별 반송 등록
$P.fnCreateSndbk = () => {
// 버튼 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
if (typeof sndngDtlId == "undefined" || sndngDtlId == null || sndngDtlId == "") return;
// 미배달 사유 명
let undlvrRsnNm = $P.sndngDtlControl.dataset.getValue("UNDLVR_RSN_NM");
// 미배달 사유 확인
if (undlvrRsnNm != "" ) {
dialog.alert({
content : "미배달 사유가 " + undlvrRsnNm + " (으)로 이미 반송 등록이 되어 있습니다."
content : "미배달 사유가 " + undlvrRsnNm + " (으)로 반송 등록 되어 있습니다."
+ "<br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
});
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({
content : "발송 상세 상태가 " + sndngDtlSttsNm + " (으)로 " + btnTitle + " 을(를) 할 수 없습니다."
content : "발송상세 상태가 '" + sndngDtlSttsNm + "' 입니다."
+ "<br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
});
return;
}
let params = {
callPurpose : "create"
, sggCd : $P.sndngControl.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.sndngControl.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, btnTitle : btnTitle
, 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 = () => {
// 버튼 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
if (typeof sndngDtlId == "undefined" || sndngDtlId == null || sndngDtlId == "") return;
// 발송상세 상태코드 확인 (FIM050 - 05:반송)
if (sndngDtlSttsCd != "05") {
dialog.alert({
content : "발송 상세 상태가 " + sndngDtlSttsNm + " (으)로 " + btnTitle + " 을(를) 할 수 없습니다."
, onOK : () => { }
});
return;
}
let params = {
callPurpose : "update"
, sggCd : $P.sndngControl.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.sndngControl.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, btnTitle : btnTitle
, sggCd : $P.sndngDtlControl.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.sndngDtlControl.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, sndngDtlId : sndngDtlId // 발송 상세 ID
, sndngDtlSttsCd : $P.sndngControl.dataset.getValue("SNDNG_DTL_STTS_CD") // 발송 상세 상태 코드
, undlvrRsnNm : $P.sndngControl.dataset.getValue("UNDLVR_RSN_NM") // 미배달 사유 명
, sndngDtlSttsCd : $P.sndngDtlControl.dataset.getValue("SNDNG_DTL_STTS_CD") // 발송 상세 상태 코드
, undlvrRsnNm : $P.sndngDtlControl.dataset.getValue("UNDLVR_RSN_NM") // 미배달 사유 명
, delYN : "N"
};
$P.sndngControl.getInfo(params);
$P.sndngDtlControl.getInfo(params);
}
// 개별 반송 삭제
$P.fnRemoveSndbk = () => {
// 버튼 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
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:반송)
if (sndngDtlSttsCd != "05") {
dialog.alert({
content : "발송 상세 상태가 " + sndngDtlSttsNm + " (으)로 " + btnTitle + " 을(를) 할 수 없습니다."
content : "발송상세 상태가 '" + sndngDtlSttsNm + "' 입니다."
+ "<br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
});
return;
}
let params = {
callPurpose : "delete"
, sggCd : $P.sndngControl.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.sndngControl.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, btnTitle : btnTitle
, sggCd : $P.sndngDtlControl.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.sndngDtlControl.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, sndngDtlId : sndngDtlId // 발송 상세 ID
, sndngDtlSttsCd : "03" // 발송 상세 상태 코드(SNDNG_DTL_STTS_CD) FIM050 - 03 발송
};
dialog.alert({
content : "선택한 반송 정보 을() 삭제하시겠습니까?"
content : "선택한 반송 정보를 삭제하시겠습니까?"
, onOK : () => {
$P.sndngControl.remove(params);
$P.sndngDtlControl.remove(params);
}
});
}
@ -536,7 +533,7 @@
// 우편 종적 보기
$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;
@ -580,7 +577,7 @@
$P.initData();
// 3. Dataset 설정
$P.sndngControl.setData(${sndngDtl}); // 발송 이력
$P.sndngDtlControl.setData(${sndngDtl}); // 발송 이력
$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>
<!-- 버튼 우측 정렬 -->
<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 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 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>
</span>
</div> <!-- <div class="container-page-btn"> -->
<!-- 입력 영역 -->
<form id="frmEdit--${pageName}${pageDataName1}" name="frmEdit${pageDataName1}">
<form id="frmRductEdit--${pageName}" name="frmRductEdit">
<!-- hidden -->
<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>
<!-- 버튼 우측 정렬 -->
<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 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 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 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>
</span>
</div> <!-- <div class="container-page-btn"> -->
<!-- 입력 영역 -->
<form id="frmEdit--${pageName}${pageDataName2}" name="frmEdit${pageDataName2}">
<form id="frmExclEdit--${pageName}" name="frmExclEdit">
<!-- hidden -->
<input type="hidden" id="levyExclId--${pageName}${pageDataName2}" name="levyExclId" data-map="LEVY_EXCL_ID" />
@ -150,11 +150,12 @@
<div class="row g-1">
<!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap">
<div id="DataTables_Table_0_wrapper--${pageName}${pageDataName3}" class="dataTables_wrapper dt-bootstrap5 no-footer">
<div id="table-responsive--${pageName}${pageDataName3}" class="table-responsive" 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">
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}">
<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}" aria-describedby="DataTables_Table_0_info">
<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: 140px;">등록사용자</th>
<th class="cmn" style="width: 140px;">단속상태</th>
@ -163,9 +164,9 @@
<th class="cmn dummy-th"></th>
</tr>
</thead>
<tbody id="tbody--${pageName}${pageDataName3}">
<tbody id="tbodyCrdnSttsHstry--${pageName}">
</tbody>
<template id="${infoPrefix}Row--${pageName}${pageDataName3}">
<template id="crdnSttsHstryRow--${pageName}">
<tr data-key="{STTS_HSTRY_ID}">
<td class="cmn text-center" onclick="{onclick}">{REG_DT}</td>
<td class="cmn text-center" onclick="{onclick}">{RGTR_NM}</td>
@ -175,7 +176,7 @@
<td class="cmn dummy-td"></td>
</tr>
</template>
<template id="${infoPrefix}NotFound--${pageName}${pageDataName3}">
<template id="crdnSttsHstryNotFound--${pageName}">
<tr class="odd">
<td valign="top" colspan="6" class="dataTables_empty text-center">처리상태 이력 정보를 찾지 못했습니다.</td>
</tr>
@ -198,11 +199,12 @@
<div class="row g-1">
<!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap">
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}${pageDataName4}">
<div class="table-responsive" id="table-responsive--${pageName}${pageDataName4}" 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">
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_1_wrapper--${pageName}">
<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_1--${pageName}" aria-describedby="DataTables_Table_0_info">
<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: 140px;">등록사용자</th>
<th class="cmn" style="width: 400px;">전체주소</th>
@ -210,9 +212,9 @@
<th class="cmn dummy-th"></th>
</tr>
</thead>
<tbody id="tbody--${pageName}${pageDataName4}">
<tbody id="tbodyPayerHstry--${pageName}">
</tbody>
<template id="${infoPrefix}Row--${pageName}${pageDataName4}">
<template id="payerHstryRow--${pageName}">
<tr data-key="{HSTRY_SN}">
<td class="cmn text-center" onclick="{onclick}">{REG_DT}</td>
<td class="cmn text-center" onclick="{onclick}">{RGTR_NM}</td>
@ -221,7 +223,7 @@
<td class="cmn dummy-td"></td>
</tr>
</template>
<template id="${infoPrefix}NotFound--${pageName}${pageDataName4}">
<template id="payerHstryNotFound--${pageName}">
<tr class="odd">
<td valign="top" colspan="5" class="dataTables_empty text-center">주소변동 이력 정보를 찾지 못했습니다.</td>
</tr>
@ -241,23 +243,28 @@
/**************************************************************************
* Global Variable
**************************************************************************/
// URL
var ${pageName}PrefixUrl = "/sprt/sprt02";
var ${pageName}${pageDataName1}PrefixUrl = "/levy/levy02";
var ${pageName}${pageDataName2}PrefixUrl = "/excl/excl01";
pageObject["${pageName}"] = {};
/**************************************************************************
* script 진입
**************************************************************************/
$(document).ready(function() {
// pageObject
var $P = pageObject["${pageName}"];
// FormFields
var ${pageName}${pageDataName1}Fields = new FimsFormFields("#frmEdit--${pageName}${pageDataName1}");
var ${pageName}${pageDataName2}Fields = new FimsFormFields("#frmEdit--${pageName}${pageDataName2}");
$P.rductFormFields = new FimsFormFields("#frmRductEdit--${pageName}");
$P.exclFormFields = new FimsFormFields("#frmExclEdit--${pageName}");
/**************************************************************************
* DatasetControl
**************************************************************************/
// 감경 Dataset
var ${pageName}${pageDataName1}Control = new DatasetControl({
// 감경 정보 DatasetControl
$P.rductControl = new DatasetControl({
prefix : "rduct"
, prefixName : "감경"
, keymapper : info => info ? info.RDUCT_ID : ""
, dataGetter : obj => obj.rduct
, formats : {
RDUCT_YMD : dateFormat
, RDUCT_AMT : numberFormat
@ -265,19 +272,20 @@
}
});
// 부과제외 Dataset
var ${pageName}${pageDataName2}Control = new DatasetControl({
// 부과제외 정보 DatasetControl
$P.levyExclControl = new DatasetControl({
prefix : "levyExcl"
, prefixName : "부과제외"
, keymapper : info => info ? info.LEVY_EXCL_ID : ""
, dataGetter : obj => obj.levyExcl
, formats : {
LEVY_EXCL_YMD : dateFormat
, REG_DT : datetimeFormat
}
});
// 단속상태이력 Dataset
var ${pageName}${pageDataName3}Dataset = new Dataset({
// 단속상태이력 DatasetControl
$P.crdnSttsHstryControl = new DatasetControl({
prefix : "crdnSttsHstry"
, prefixName : "단속상태 이력"
, keymapper : info => info ? info.STTS_HSTRY_ID : ""
@ -286,20 +294,10 @@
, formats : {
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
var ${pageName}${pageDataName4}Dataset = new Dataset({
// 납부자 변경 이력 DatasetControl
$P.payerHstryControl = new DatasetControl({
prefix : "payerHstry"
, prefixName : "납부자변경 이력"
, keymapper : info => info ? info.HSTRY_SN : ""
@ -308,40 +306,59 @@
, formats : {
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 이벤트
**************************************************************************/
// 단속상태 이력 Dataset 변경
$P.crdnSttsHstryControl.onDatasetChange = obj => {
$P.renderCrdnSttsHstryList();
}
// 납부자변경 이력 Dataset 변경
$P.payerHstryControl.onDatasetChange = obj => {
$P.renderPayerHstryList();
}
// 감경 선택 자료 변경 이벤트
${pageName}${pageDataName1}Control.onCurrentChange = item => {
${pageName}${pageDataName1}Fields.set(item);
$P.rductControl.onCurrentChange = item => {
if (!item) return;
$P.rductFormFields.set(item);
}
// 감경 dialog
${pageName}${pageDataName1}Control.getInfo = (params) => {
let dialogTitle = "";
// 부과제외 선택 자료 변경 이벤트
$P.levyExclControl.onCurrentChange = item => {
if (!item) return;
if (params.callPurpose == "create") {
dialogTitle = ${pageName}${pageDataName1}Control.prefixName + " 등록";
} else if (params.callPurpose == "update") {
dialogTitle = ${pageName}${pageDataName1}Control.prefixName + " 수정";
} else {
return;
$P.exclFormFields.set(item);
}
// 단속상태 이력 선택 자료 변경 이벤트
$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({
url : wctx.url(params.taskSeCd + ${pageName}${pageDataName1}PrefixUrl + "/020/info.do")
url : wctx.url("/" + params.taskSeCd + "/levy/levy02/020/info.do")
, data : params || {}
, success : resp => {
if ((typeof resp) != "string") {
@ -351,38 +368,51 @@
return;
} else {
dialog.open({
id : ${pageName}${pageDataName1}Control.prefixed("Dialog")
, title : dialogTitle
id : $P.rductControl.prefixed("Dialog")
, title : params.btnTitle
, content : resp
, size : "lg"
, onClose : () => { refreshDataInfo${pageName}(); } // callback 자료 재조회
, onClose : () => { $P.refreshDataInfo(); }
});
}
}
});
}
// 부과제외 선택 자료 변경 이벤트
${pageName}${pageDataName2}Control.onCurrentChange = item => {
${pageName}${pageDataName2}Fields.set(item);
// 감경 삭제 callback
$P.rductControl.onRemove = (resp) => {
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;
let dialogTitle = "";
if (params.callPurpose == "create") {
dialogTitle = ${pageName}${pageDataName2}Control.prefixName + " 등록";
} else if (params.callPurpose == "update") {
dialogTitle = ${pageName}${pageDataName2}Control.prefixName + " 수정";
} else {
dialogTitle = ${pageName}${pageDataName2}Control.prefixName + " 정보";
ajax.post({
url : wctx.url("/" + params.taskSeCd + "/levy/levy02/010/remove.do")
, data : params
, success : resp => $P.rductControl.onRemove(resp)
});
}
// 부과제외 dialog
$P.levyExclControl.getInfo = (params) => {
if (!params) return;
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 || {}
, success : resp => {
if ((typeof resp) != "string") {
@ -392,37 +422,42 @@
return;
} else {
dialog.open({
id : ${pageName}${pageDataName2}Control.prefixed("Dialog")
, title : dialogTitle
id : $P.levyExclControl.prefixed("Dialog")
, title : params.btnTitle
, content : resp
, size : "md"
, onClose : () => { refreshDataInfo${pageName}(); } // callback 자료 재조회
, onClose : () => { $P.refreshDataInfo(); }
});
}
}
});
}
// 삭제 callback
${pageName}${pageDataName2}Control.onRemove = (resp) => {
// 부과제외 삭제 callback
$P.levyExclControl.onRemove = (resp) => {
let btnTitle = $("#btnRemoveLevyExcl--${pageName}").attr("title");
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle);
dialog.alert(showMessage); // 메시지 출력
// 메시지 출력
dialog.alert({
content : showMessage
, onOK : () => { }
});
// 자료 재조회
if (resp.saved) {
refreshDataInfo${pageName}(); // 자료 재조회
$P.refreshDataInfo();
}
}
// 삭제
${pageName}${pageDataName2}Control.remove = (params) => {
// 부과제외 삭제
$P.levyExclControl.remove = (params) => {
if (!params) return;
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
, success : resp => ${pageName}${pageDataName2}Control.onRemove(resp)
, success : resp => $P.levyExclControl.onRemove(resp)
});
}
@ -430,42 +465,42 @@
* DataTables 이벤트
**************************************************************************/
// 단속 상태 이력 DataTables에 click 이벤트
renderList${pageName}${pageDataName3} = () => {
let ${infoPrefix}List = ${pageName}${pageDataName3}Dataset;
let empty = ${infoPrefix}List.empty;
$P.renderCrdnSttsHstryList = () => {
let crdnSttsHstryList = $P.crdnSttsHstryControl.dataset;
let empty = crdnSttsHstryList.empty;
let trs = empty ?
[document.getElementById("${infoPrefix}NotFound--${pageName}${pageDataName3}").innerHTML] : <%-- from template#${infoPrefix}NotFound --%>
${infoPrefix}List.inStrings(
document.getElementById("${infoPrefix}Row--${pageName}${pageDataName3}").innerHTML, <%-- from template#${infoPrefix}Row --%>
[document.getElementById("crdnSttsHstryNotFound--${pageName}").innerHTML] : <%-- from template#${infoPrefix}NotFound --%>
crdnSttsHstryList.inStrings(
document.getElementById("crdnSttsHstryRow--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%>
(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 이벤트
renderList${pageName}${pageDataName4} = () => {
let ${infoPrefix}List = ${pageName}${pageDataName4}Dataset;
let empty = ${infoPrefix}List.empty;
$P.renderPayerHstryList = () => {
let payerHstryList = $P.payerHstryControl.dataset;
let empty = payerHstryList.empty;
let trs = empty ?
[document.getElementById("${infoPrefix}NotFound--${pageName}${pageDataName4}").innerHTML] : <%-- from template#${infoPrefix}NotFound --%>
${infoPrefix}List.inStrings(
document.getElementById("${infoPrefix}Row--${pageName}${pageDataName4}").innerHTML, <%-- from template#${infoPrefix}Row --%>
[document.getElementById("payerHstryNotFound--${pageName}").innerHTML] : <%-- from template#${infoPrefix}NotFound --%>
payerHstryList.inStrings(
document.getElementById("payerHstryRow--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%>
(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)
**************************************************************************/
// 자료 재조회
refreshDataInfo${pageName} = () => {
$P.refreshDataInfo = () => {
let crdnId = $("#crdnId--${pageNameMain}").val();
// 단속 ID 가 없다면.. return
@ -481,80 +516,72 @@
};
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
, data : params || {}
, success : resp => {
// Dataset 초기화
$("#frmEdit--${pageName}${pageDataName1}")[0].reset();
$("#frmEdit--${pageName}${pageDataName2}")[0].reset();
${pageName}${pageDataName3}Dataset.clear();
${pageName}${pageDataName4}Dataset.clear();
// 초기화
$("#frmRductEdit--${pageName}")[0].reset(); // 감경 화면 초기화
$("#frmExclEdit--${pageName}")[0].reset(); // 부과제외 화면 초기화
$P.rductControl.dataset.clear(); // 감경 Dataset 초기화
$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) {
${pageName}${pageDataName1}Control.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 // 삭제 사유
};
if (resp.rduct)
$P.rductControl.setData([resp.rduct]);
ajax.post({
url : wctx.url($("#taskSeCd--${pageNameMain}").val() + ${pageName}${pageDataName1}PrefixUrl + "/010/remove.do")
, data : params
, success : resp => {
let btnTitle = $("#btnRemoveRduct--${pageName}").attr("title");
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle);
// 부과제외 정보
if (resp.levyExcl)
$P.levyExclControl.setData([resp.levyExcl]);
dialog.alert(showMessage); // 메시지 출력
// Dataset 셋팅
$P.crdnSttsHstryControl.setData(resp.crdnSttsHstry); // 단속상태 이력
$P.payerHstryControl.setData(resp.payerHstry); // 납부자 이력
if (resp.saved) {
refreshDataInfo${pageName}(); // 자료 재조회
// 최상단 단속 Data 셋팅
if (resp.totalInfo) {
pageObject["${pageNameMain}"].mainControl.setData([resp.totalInfo]);
}
}
});
}
// 부과제외 삭제
callbackRemoveLevyExcl${pageName} = (obj) => {
// 삭제 callback
$P.callbackRemove = (obj) => {
// 서버에 전송할 data(파라미터) 생성
let params = {
callPurpose : "remove"
, sggCd : ${pageName}${pageDataName2}Control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : ${pageName}${pageDataName2}Control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, levyExclId : ${pageName}${pageDataName2}Control.dataset.getValue("LEVY_EXCL_ID") // 부과제외 ID
, delRsn : obj.reason // 삭제 사유
};
${pageName}${pageDataName2}Control.remove(params);
let params = {};
if (obj.prefix == $P.rductControl.prefix) {
params.callPurpose = "remove";
params.sggCd = $P.rductControl.dataset.getValue("SGG_CD"); // 시군구 코드
params.taskSeCd = $P.rductControl.dataset.getValue("TASK_SE_CD"); // 업무 구분 코드
params.rductId = $P.rductControl.dataset.getValue("RDUCT_ID") // 감경 ID
params.delRsn = obj.reason; // 삭제 사유
$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
**************************************************************************/
// 감경 등록
fnCreateRduct${pageName} = () => {
$P.fnCreateRduct = () => {
// 버튼 title
let btnTitle = $("#btnCreateRduct--${pageName}").attr("title");
// 단속 ID
let crdnId = $("#crdnId--${pageNameMain}").val();
// 단속 ID 가 없다면.. return
@ -568,175 +595,268 @@
content : "납부자가 등록되지 않았습니다."
, onOK : () => { }
});
return;
}
// 단속 상태 코드
let crdnSttsCd = $("#crdnSttsCd--${pageNameMain}").val();
let crdnSttsNm = $("#crdnSttsNm--${pageNameMain}").val();
// 단속 상태 코드 확인
if (Number(crdnSttsCd) < 21 || Number(crdnSttsCd) > 45) {
dialog.alert({
content : "단속상태가 '" + $("#crdnSttsNm--${pageNameMain}").val() + "' 입니다."
content : "단속상태가 '" + crdnSttsNm + "' 입니다."
+ "<br>" + "[" + btnTitle + "]" + " 실행이 취소되었습니다."
, onOK : () => { }
});
return;
}
let params = {
callPurpose : "create"
, btnTitle : btnTitle
, crdnId : crdnId
, sggCd : $("#sggCd--${pageNameMain}").val()
, taskSeCd : $("#taskSeCd--${pageNameMain}").val()
, rtpyrId : rtpyrId
, delYN : "N"
};
${pageName}${pageDataName1}Control.getInfo(params);
$P.rductControl.getInfo(params);
}
// 감경 수정
fnUpdateRduct${pageName} = () => {
// 감경 ID
let rductId = ${pageName}${pageDataName1}Control.dataset.getValue("RDUCT_ID");
$P.fnUpdateRduct = () => {
// 버튼 title
let btnTitle = $("#btnUpdateRduct--${pageName}").attr("title");
// 감경 ID
let rductId = $P.rductControl.dataset.getValue("RDUCT_ID");
// 감경 ID 가 없다면.. 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 = {
callPurpose : "update"
, crdnId : ${pageName}${pageDataName1}Control.dataset.getValue("CRDN_ID")
, sggCd : ${pageName}${pageDataName1}Control.dataset.getValue("SGG_CD")
, taskSeCd : ${pageName}${pageDataName1}Control.dataset.getValue("TASK_SE_CD")
, btnTitle : btnTitle
, crdnId : $P.rductControl.dataset.getValue("CRDN_ID")
, sggCd : $P.rductControl.dataset.getValue("SGG_CD")
, taskSeCd : $P.rductControl.dataset.getValue("TASK_SE_CD")
, rductId : rductId
, delYN : "N"
};
${pageName}${pageDataName1}Control.getInfo(params);
$P.rductControl.getInfo(params);
}
// 감경 삭제
fnRemoveRduct${pageName} = () => {
// 감경 ID
let rductId = ${pageName}${pageDataName1}Control.dataset.getValue("RDUCT_ID");
$P.fnRemoveRduct = () => {
// 버튼 title
let btnTitle = $("#btnRemoveRduct--${pageName}").attr("title");
// 감경 ID
let rductId = $P.rductControl.dataset.getValue("RDUCT_ID");
// 감경 ID 가 없다면.. 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 popupHeight = 360;
let popupHeight = 240;
let popupX = (window.screen.width / 2) - (popupWidth / 2);
let popupY = (window.screen.height / 2) - (popupHeight / 2);
window.open(
wctx.url("/resources/html/inputRsnDialog.html"
+ "?callbackFuncName=" + callbackFuncName
+ "&CALL_PURPOSE=" + "remove"
)
encodeURI(wctx.url("/resources/html/inputRsnDialog.html"
+ "?openerPageName=${pageName}"
+ "&prefix=" + $P.rductControl.prefix
+ "&usePurpose=" + "remove"
+ "&ttlNm=" + "삭제"
))
, "inputDelRsnDialog"
, 'status=no, height=' + popupHeight + ', width=' + popupWidth + ', left='+ popupX + ', top='+ popupY
);
}
});
}
// 계고 등록
fnCreateWrng${pageName} = () => {
$P.fnCreateWrng = () => {
// 버튼 title
let btnTitle = $("#btnCreateWrng--${pageName}").attr("title");
// 단속 ID
let crdnId = $("#crdnId--${pageNameMain}").val();
// 단속 ID 가 없다면.. 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 = {
callPurpose : "create"
, btnTitle : btnTitle
, crdnId : crdnId
, sggCd : $("#sggCd--${pageNameMain}").val()
, taskSeCd : $("#taskSeCd--${pageNameMain}").val()
, 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
let crdnId = $("#crdnId--${pageNameMain}").val();
// 단속 ID 가 없다면.. 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 = {
callPurpose : "create"
, btnTitle : btnTitle
, crdnId : crdnId
, sggCd : $("#sggCd--${pageNameMain}").val()
, taskSeCd : $("#taskSeCd--${pageNameMain}").val()
, levyExclSeCd : "1"
, delYN : "N"
};
${pageName}${pageDataName2}Control.getInfo(params);
$P.levyExclControl.getInfo(params);
}
// 부과제외 수정
fnUpdateLevyExcl${pageName} = () => {
// 부과제외 ID
let levyExclId = ${pageName}${pageDataName2}Control.dataset.getValue("LEVY_EXCL_ID");
$P.fnUpdateLevyExcl = () => {
// 버튼 title
let btnTitle = $("#btnUpdateLevyExcl--${pageName}").attr("title");
// 부과제외 ID
let levyExclId = $P.levyExclControl.dataset.getValue("LEVY_EXCL_ID");
// 부과 제외 ID 가 없다면.. return
if (typeof levyExclId == "undefined" || levyExclId == null || levyExclId == "") return;
let params = {
callPurpose : "update"
, crdnId : ${pageName}${pageDataName2}Control.dataset.getValue("CRDN_ID")
, sggCd : ${pageName}${pageDataName2}Control.dataset.getValue("SGG_CD")
, taskSeCd : ${pageName}${pageDataName2}Control.dataset.getValue("TASK_SE_CD")
, btnTitle : btnTitle
, crdnId : $P.levyExclControl.dataset.getValue("CRDN_ID")
, sggCd : $P.levyExclControl.dataset.getValue("SGG_CD")
, taskSeCd : $P.levyExclControl.dataset.getValue("TASK_SE_CD")
, levyExclId : levyExclId
, delYN : "N"
};
${pageName}${pageDataName2}Control.getInfo(params);
$P.levyExclControl.getInfo(params);
}
// 부과제외 삭제
fnRemoveLevyExcl${pageName} = () => {
// 부과제외 ID
let levyExclId = ${pageName}${pageDataName2}Control.dataset.getValue("LEVY_EXCL_ID");
$P.fnRemoveLevyExcl = () => {
// 버튼 title
let btnTitle = $("#btnRemoveLevyExcl--${pageName}").attr("title");
// 부과제외 ID
let levyExclId = $P.levyExclControl.dataset.getValue("LEVY_EXCL_ID");
// 부과제외 ID 가 없다면.. return
if (typeof levyExclId == "undefined" || levyExclId == null || levyExclId == "") return;
// 삭제 메세지 확인
dialog.alert({
content : "선택하신 " + $P.levyExclControl.prefixName + " 정보를 삭제하시겠습니까?"
, onOK : () => {
// 삭제 사유 입력
let callbackFuncName = "callbackRemoveLevyExcl${pageName}";
let popupWidth = 640;
let popupHeight = 360;
let popupHeight = 240;
let popupX = (window.screen.width / 2) - (popupWidth / 2);
let popupY = (window.screen.height / 2) - (popupHeight / 2);
window.open(
wctx.url("/resources/html/inputRsnDialog.html"
+ "?callbackFuncName=" + callbackFuncName
+ "&USE_PURPOSE=" + "삭제"
)
encodeURI(wctx.url("/resources/html/inputRsnDialog.html"
+ "?openerPageName=${pageName}"
+ "&prefix=" + $P.levyExclControl.prefix
+ "&usePurpose=" + "remove"
+ "&ttlNm=" + "삭제"
))
, "inputDelRsnDialog"
, 'status=no, height=' + popupHeight + ', width=' + popupWidth + ', left='+ popupX + ', top='+ popupY
);
}
});
}
/**************************************************************************
* 초기 셋팅
**************************************************************************/
// 이벤트 설정
setEvent${pageName} = () => {
// DataTables width 변경 조정
$("#DataTables_Table_0--${pageName}${pageDataName3}").find("th").resizable( {handles : "e"} );
$("#DataTables_Table_0--${pageName}${pageDataName4}").find("th").resizable( {handles : "e"} );
}
$P.setEvent = () => {
// 업무 버튼 이벤트
$("#btnCreateRduct--${pageName}").on("click", () => $P.fnCreateRduct()); // 개별 반송 등록 버튼 이벤트
$("#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()); // 개별 반송 삭제 버튼 이벤트
// 화면 초기 설정
initForm${pageName} = () => {
// 화면 초기화
$("#frmEdit--${pageName}${pageDataName1}")[0].reset();
$("#frmEdit--${pageName}${pageDataName2}")[0].reset();
// DataTables width 변경 조정
$("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} );
$("#DataTables_Table_1--${pageName}").find("th").resizable( {handles : "e"} );
}
// 화면 초기값 설정
setFormData${pageName} = () => {
// 기본 데이터 설정
$P.initData = () => {
// 화면 호출(callPurpose)이 view 라면 버튼 비활성화
if (${pageNameMain}CallPurpose == "view") {
$("#btnCreateRduct--${pageName}").prop("disabled", true);
@ -758,32 +878,23 @@
}
/**************************************************************************
* script 진입
* 최초 실행 함수
**************************************************************************/
$(document).ready(function() {
// 이벤트 설정
setEvent${pageName}();
// 1. 이벤트 설정
$P.setEvent();
// 화면 초기 설정
initForm${pageName}();
// 2. 기본 데이터 설정
$P.initData();
// Dataset 셋팅
// 3. Dataset 설정
let rduct = ${rduct}; // 감경 정보
if (rduct) {
${pageName}${pageDataName1}Control.setData([rduct]);
}
if (rduct) $P.rductControl.setData([rduct]);
let levyExcl = ${levyExcl}; // 부과제외 정보
if (levyExcl) {
${pageName}${pageDataName2}Control.setData([levyExcl]);
}
${pageName}${pageDataName3}Dataset.setData(${crdnSttsHstry}); // 처리상태 이력 정보
${pageName}${pageDataName4}Dataset.setData(${payerHstry}); // 주소변동 이력 정보
if (levyExcl) $P.levyExclControl.setData([levyExcl]);
// 화면 데이터 셋팅
setFormData${pageName}();
$P.crdnSttsHstryControl.setData(${crdnSttsHstry}); // 단속상태 이력
$P.payerHstryControl.setData(${payerHstry}); // 납부자 이력
});
</script>

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

Loading…
Cancel
Save