From 8d7cd6bb1d49e37f520488be36e509e9a2511227 Mon Sep 17 00:00:00 2001 From: jjh Date: Wed, 31 Jan 2024 16:55:28 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B0=9C=EB=B3=84=EC=B4=9D=EC=A0=95=EB=B3=B4?= =?UTF-8?q?=20-=20=EC=B2=98=EB=A6=AC=EC=83=81=EC=84=B8=20=EC=A0=95?= =?UTF-8?q?=EB=B3=B4=20=EC=88=98=EC=A0=95.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xit/fims/sprt/web/Sprt02Controller.java | 77 +- .../sql/mapper/fims/levy/rduct-mapper.xml | 2 +- .../WEB-INF/jsp/fims/excl/excl01010-main.jsp | 1 + .../WEB-INF/jsp/fims/excl/excl02010-main.jsp | 1 + .../WEB-INF/jsp/fims/levy/levy02020-info.jsp | 19 +- .../WEB-INF/jsp/fims/sprt/sprt02020-info.jsp | 300 +++-- .../WEB-INF/jsp/fims/sprt/sprt02030-info.jsp | 140 ++- .../WEB-INF/jsp/fims/sprt/sprt02040-info.jsp | 169 ++- .../WEB-INF/jsp/fims/sprt/sprt02050-info.jsp | 1095 +++++++++-------- .../webapp/resources/html/inputRsnDialog.html | 8 +- 10 files changed, 1017 insertions(+), 795 deletions(-) diff --git a/src/main/java/cokr/xit/fims/sprt/web/Sprt02Controller.java b/src/main/java/cokr/xit/fims/sprt/web/Sprt02Controller.java index 65a278bd..600f31ba 100644 --- a/src/main/java/cokr/xit/fims/sprt/web/Sprt02Controller.java +++ b/src/main/java/cokr/xit/fims/sprt/web/Sprt02Controller.java @@ -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 { * } */ 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 *
 {
@@ -290,7 +287,7 @@ public class Sprt02Controller extends ApplicationController {
 	 * }
*/ 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 { * } */ 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 { * } */ public ModelAndView getRcvmtInfo(SprtQuery req) { - // - List 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 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 *
 {
@@ -488,10 +486,14 @@ public class Sprt02Controller extends ApplicationController {
 	 * }
*/ public ModelAndView getCvlcptDscsnInfo(SprtQuery req) { - // + // 민원 상담 정보 CvlcptDscsnQuery cvlcptDscsnQuery = new CvlcptDscsnQuery(); - cvlcptDscsnQuery.setCallPurpose(req.getCallPurpose()); + 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)) // 민원상담내용 정보 ; diff --git a/src/main/resources/sql/mapper/fims/levy/rduct-mapper.xml b/src/main/resources/sql/mapper/fims/levy/rduct-mapper.xml index 2f54c1f8..0349076f 100644 --- a/src/main/resources/sql/mapper/fims/levy/rduct-mapper.xml +++ b/src/main/resources/sql/mapper/fims/levy/rduct-mapper.xml @@ -173,7 +173,7 @@ AND C.CRDN_ID = #{crdnId} - AND C.DEL_YN = #{delYN} + AND C.DEL_YN = 'N' AND R.RDUCT_ID = #{rductId} diff --git a/src/main/webapp/WEB-INF/jsp/fims/excl/excl01010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/excl/excl01010-main.jsp index fae2526e..c28fc9cd 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/excl/excl01010-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/excl/excl01010-main.jsp @@ -654,6 +654,7 @@ window.open( encodeURI(wctx.url("/resources/html/inputRsnDialog.html" + "?openerPageName=${pageName}" + + "&prefix=" + $P.control.prefix + "&usePurpose=" + "remove" + "&ttlNm=" + "삭제" )) diff --git a/src/main/webapp/WEB-INF/jsp/fims/excl/excl02010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/excl/excl02010-main.jsp index 0289230c..7a8e72bd 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/excl/excl02010-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/excl/excl02010-main.jsp @@ -731,6 +731,7 @@ window.open( encodeURI(wctx.url("/resources/html/inputRsnDialog.html" + "?openerPageName=${pageName}" + + "&prefix=" + $P.control.prefix + "&usePurpose=" + "remove" + "&ttlNm=" + "삭제" )) diff --git a/src/main/webapp/WEB-INF/jsp/fims/levy/levy02020-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/levy/levy02020-info.jsp index e36c9dd3..2c08ea89 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/levy/levy02020-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/levy/levy02020-info.jsp @@ -117,10 +117,13 @@ **************************************************************************/ // 저장 callback ${pageName}Control.onSave = (resp) => { - let dialogTitle = $("#" + ${pageName}Control.prefix + "Dialog").find("h5.modal-title").html(); - let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle); + 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"); @@ -131,13 +134,13 @@ ${pageName}Control.save = (info) => { if (!info) return; - let create = isEmpty(info.rductId); + let create = isEmpty(info.rductId); ajax.post({ - url : !create ? ${pageName}Control.urls.update : ${pageName}Control.urls.create - , data : info - , success : resp => ${pageName}Control.onSave(resp) - }); + url : !create ? ${pageName}Control.urls.update : ${pageName}Control.urls.create + , data : info + , success : resp => ${pageName}Control.onSave(resp) + }); } /************************************************************************** diff --git a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02020-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02020-info.jsp index f58fa943..51686ebd 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02020-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02020-info.jsp @@ -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$(); } @@ -565,46 +574,64 @@ /************************************************************************** * 버튼 clickEvent **************************************************************************/ - // 민원원본보기 + // 민원원본 보기 $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 : "조회된 단속 민원 대장 정보가 없습니다." + + "
" + "[" + btnTitle + "]" + " 실행이 취소되었습니다." + , onOK : () => { } + }); return; } let params = { callPurpose : "view" - , crdnId : crdnId // 단속 ID - , sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드 + , btnTitle : btnTitle + , crdnId : crdnId // 단속 ID + , sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드 , taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 }; $P.viewCvlcptOrgnl(params); } - // 민원답변보기 + // 민원답변 보기 $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 : "조회된 단속 민원 대장 정보가 없습니다." + + "
" + "[" + 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") // 업무 구분 코드 @@ -613,15 +640,19 @@ $P.viewAnswerPreview(params); } - // 단속정보수정 + // 단속정보 수정 $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") // 업무 구분 코드 @@ -630,40 +661,82 @@ $P.control.getInfo(params); } - // 단속정보삭제 - $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 + "' 입니다." + + "
" + "[" + 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 + "' 입니다." + + "
" + "[" + btnTitle + "]" + " 실행이 취소되었습니다." + , onOK : () => { } + }); + return; + } + let params = { callPurpose : "create" - , sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드 + , 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 : () => { } - }); - } - }); + return; } - // 단속상태변경 + // 단속 상태 변경 $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" @@ -821,42 +857,42 @@ // 기본 데이터 설정 $P.initData = () => { // jquery를 이용한 show/hide (style이 유지) - $("#divBlank1--${pageName}").hide(); // 빈 칸1 - $("#divBlank2--${pageName}").hide(); // 빈 칸2 - $("#divCrdnSn--${pageName}").hide(); // 단속 일련번호 - $("#divDtlCrdnPlc--${pageName}").hide(); // 상세 단속 장소 - $("#lbDstrbncYn--${pageName}").hide(); // 1면 방해 - $("#divCrdnSpareaNm--${pageName}").hide(); // 단속 특별구역 코드 - $("#divTowngYnNm--${pageName}").hide(); // 견인 여부 - $("#divFfnlgCarmdlNm--${pageName}").hide(); // 과태료 차종 - $("#divOvtimeYnNm--${pageName}").hide(); // 시간외 여부 - $("#divParkngPsbltyRsltNm--${pageName}").hide(); // 주차 가능 결과 코드 - $("#divUseFuelNm--${pageName}").hide(); // 사용 연료 구분 - $("#divCrdnBgngTm--${pageName}").hide(); // 단속 시작 시각 ~ 단속 종료 시각 + $("#divBlank1--${pageName}").hide(); // 빈 칸1 + $("#divBlank2--${pageName}").hide(); // 빈 칸2 + $("#divCrdnSn--${pageName}").hide(); // 단속 일련번호 + $("#divDtlCrdnPlc--${pageName}").hide(); // 상세 단속 장소 + $("#lbDstrbncYn--${pageName}").hide(); // 1면 방해 + $("#divCrdnSpareaNm--${pageName}").hide(); // 단속 특별구역 코드 + $("#divTowngYnNm--${pageName}").hide(); // 견인 여부 + $("#divFfnlgCarmdlNm--${pageName}").hide(); // 과태료 차종 + $("#divOvtimeYnNm--${pageName}").hide(); // 시간외 여부 + $("#divParkngPsbltyRsltNm--${pageName}").hide(); // 주차 가능 결과 코드 + $("#divUseFuelNm--${pageName}").hide(); // 사용 연료 구분 + $("#divCrdnBgngTm--${pageName}").hide(); // 단속 시작 시각 ~ 단속 종료 시각 // 업무에 따른 요소들 visible if (pageObject["${pageNameMain}"].mainControl.dataset.getValue("TASK_SE_CD") == "BPV") { // 전용차로위반 - $("#divBlank1--${pageName}").show(); // 빈 칸1 - $("#divDtlCrdnPlc--${pageName}").show(); // 상세 단속 장소 + $("#divBlank1--${pageName}").show(); // 빈 칸1 + $("#divDtlCrdnPlc--${pageName}").show(); // 상세 단속 장소 } else if (pageObject["${pageNameMain}"].mainControl.dataset.getValue("TASK_SE_CD") == "DPV") { // 장애인전용 - $("#divBlank1--${pageName}").show(); // 빈 칸1 - $("#divBlank2--${pageName}").show(); // 빈 칸2 - $("#lbDstrbncYn--${pageName}").show(); // 1면 방해 - $("#divParkngPsbltyRsltNm--${pageName}").show(); // 주차 가능 결과 코드 + $("#divBlank1--${pageName}").show(); // 빈 칸1 + $("#divBlank2--${pageName}").show(); // 빈 칸2 + $("#lbDstrbncYn--${pageName}").show(); // 1면 방해 + $("#divParkngPsbltyRsltNm--${pageName}").show(); // 주차 가능 결과 코드 } else if (pageObject["${pageNameMain}"].mainControl.dataset.getValue("TASK_SE_CD") == "ECA") { // 전기차주차 - $("#divBlank1--${pageName}").show(); // 빈 칸1 - $("#divBlank2--${pageName}").show(); // 빈 칸2 - $("#divUseFuelNm--${pageName}").show(); // 사용 연료 구분 + $("#divBlank1--${pageName}").show(); // 빈 칸1 + $("#divBlank2--${pageName}").show(); // 빈 칸2 + $("#divUseFuelNm--${pageName}").show(); // 사용 연료 구분 } else if (pageObject["${pageNameMain}"].mainControl.dataset.getValue("TASK_SE_CD") == "PVS") { // 주정차위반 - $("#divCrdnBgngTm--${pageName}").show(); // 단속 시작 시각 ~ 단속 종료 시각 - $("#divCrdnSn--${pageName}").show(); // 단속 일련번호 - $("#divCrdnSpareaNm--${pageName}").show(); // 단속 특별구역 코드 - $("#divTowngYnNm--${pageName}").show(); // 견인 여부 - $("#divFfnlgCarmdlNm--${pageName}").show(); // 과태료 차종 - $("#divOvtimeYnNm--${pageName}").show(); // 시간외 여부 + $("#divCrdnBgngTm--${pageName}").show(); // 단속 시작 시각 ~ 단속 종료 시각 + $("#divCrdnSn--${pageName}").show(); // 단속 일련번호 + $("#divCrdnSpareaNm--${pageName}").show(); // 단속 특별구역 코드 + $("#divTowngYnNm--${pageName}").show(); // 견인 여부 + $("#divFfnlgCarmdlNm--${pageName}").show(); // 과태료 차종 + $("#divOvtimeYnNm--${pageName}").show(); // 시간외 여부 } else if (pageObject["${pageNameMain}"].mainControl.dataset.getValue("TASK_SE_CD") == "TPV") { // 밤샘주차위반 - $("#divBlank2--${pageName}").show(); // 빈칸 - $("#divCrdnBgngTm--${pageName}").show(); // 단속 시작 시각 ~ 단속 종료 시각 + $("#divBlank2--${pageName}").show(); // 빈칸 + $("#divCrdnBgngTm--${pageName}").show(); // 단속 시작 시각 ~ 단속 종료 시각 } // 화면 호출(callPurpose)이 view 라면 버튼 비활성화 diff --git a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02030-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02030-info.jsp index 9550ee2a..eca02ce7 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02030-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02030-info.jsp @@ -154,6 +154,7 @@
+
@@ -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; @@ -369,15 +374,32 @@ /************************************************************************** * 버튼 clickEvent **************************************************************************/ - // 의견제출등록 버튼 이벤트 + // 의견제출 등록 버튼 이벤트 $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 + "' 입니다." + + "
" + "[" + btnTitle + "]" + " 실행이 취소되었습니다." + , onOK : () => { } + }); + return; + } + let params = { callPurpose : "create" + , btnTitle : btnTitle , crdnId : crdnId // 단속 ID , sggCd : $("#sggCd--${pageNameMain}").val() // 시군구 코드 , taskSeCd : $("#taskSeCd--${pageNameMain}").val() // 업무 구분 코드 @@ -386,18 +408,22 @@ $P.control.getInfo(params); } - // 의견제출수정 버튼 이벤트 + // 의견제출 수정 버튼 이벤트 $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 + "' 입니다." + + "
" + "[" + 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 + "' 입니다." + + "
" + "[" + 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); diff --git a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02040-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02040-info.jsp index 7440c37e..525d307f 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02040-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02040-info.jsp @@ -31,11 +31,11 @@