From a9ef449a3480f7ad6e1960713530a6554f545972 Mon Sep 17 00:00:00 2001 From: jjh Date: Fri, 8 Dec 2023 17:53:09 +0900 Subject: [PATCH] =?UTF-8?q?=EC=88=98=EB=82=A9=20=EC=88=98=EC=A0=95.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xit/fims/rcvm/service/bean/RcvmtBean.java | 52 ++-- .../xit/fims/rcvm/web/Rcvm01Controller.java | 38 +-- .../WEB-INF/jsp/fims/excl/excl01020-info.jsp | 7 - .../WEB-INF/jsp/fims/rcvm/rcvm01010-main.jsp | 243 +++++++++--------- .../WEB-INF/jsp/fims/rcvm/rcvm01020-info.jsp | 118 ++++++--- .../WEB-INF/jsp/fims/sprt/sprt02070-info.jsp | 136 +++++----- .../WEB-INF/jsp/fims/sprt/sprt02080-info.jsp | 26 +- 7 files changed, 332 insertions(+), 288 deletions(-) diff --git a/src/main/java/cokr/xit/fims/rcvm/service/bean/RcvmtBean.java b/src/main/java/cokr/xit/fims/rcvm/service/bean/RcvmtBean.java index 88c785ac..c8a182a5 100644 --- a/src/main/java/cokr/xit/fims/rcvm/service/bean/RcvmtBean.java +++ b/src/main/java/cokr/xit/fims/rcvm/service/bean/RcvmtBean.java @@ -93,8 +93,8 @@ public class RcvmtBean extends AbstractComponent { */ public String createRcvmt(Rcvmt rcvmt) { // 변수 선언 - boolean retSuccess = false; // DB 처리 결과 - String retMessage = "[F] "; // 처리 결과 메시지 + boolean rtnScs = false; // DB 처리 결과 + String rtnMsg = "[F] "; // 처리 결과 메시지 // 부과 ID로 단속, 부과 정보 조회 DataObject levyInfo = rcvmtMapper.selectLevyInfo(new RcvmtQuery().setLevyId(rcvmt.getLevyId()).setDelYn("N")); @@ -134,8 +134,8 @@ public class RcvmtBean extends AbstractComponent { rcvmt.setRcvmtSeCd(rcvmtSeCd); } - retSuccess = rcvmtMapper.insert(rcvmt); // 수납 대장 등록 - if (!retSuccess) { + rtnScs = rcvmtMapper.insert(rcvmt); // 수납 대장 등록 + if (!rtnScs) { throw new RuntimeException("수납 대장 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback } @@ -150,8 +150,8 @@ public class RcvmtBean extends AbstractComponent { levy.setRcvmtYmd(rcvmt.getRcvmtYmd()); // 수납 일자 levy.setPayMthdSeCd(rcvmt.getPayMthdSeCd()); // 납부 방법 구분 코드 - retSuccess = levyMapper.updateRcvmtAmt(levy); // 부과 대장 수정 - if (!retSuccess) { + rtnScs = levyMapper.updateRcvmtAmt(levy); // 부과 대장 수정 + if (!rtnScs) { throw new RuntimeException("부과 대장에 수납금액 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback } @@ -182,16 +182,16 @@ public class RcvmtBean extends AbstractComponent { crdnSttsHstry.setTaskDtlId(rcvmt.getRcvmtId()); // 수납 ID // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다. - retSuccess = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); - if (!retSuccess) { + rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); + if (!rtnScs) { throw new RuntimeException("수납 등록 중 단속 대장의 단속상태 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback } } } - retMessage = "[S] 작업이 정상 처리 되었습니다."; + rtnMsg = "[S] 작업이 정상 처리 되었습니다."; - return retMessage; + return rtnMsg; } /**수납 대장에 수납취소 정보를 등록한다. @@ -203,14 +203,14 @@ public class RcvmtBean extends AbstractComponent { */ public String updateRcvmtRtrcn(Rcvmt rcvmt) { // 변수 선언 - boolean retSuccess = false; // DB 처리 결과 - String retMessage = "[F] "; // 처리 결과 메시지 + boolean rtnScs = false; // DB 처리 결과 + String rtnMsg = "[F] "; // 처리 결과 메시지 // 수납 ID로 수납 정보 조회 DataObject rcvmtInfo = rcvmtMapper.selectRcvmtInfo(new RcvmtQuery().setRcvmtId(rcvmt.getRcvmtId()).setDelYn("N")); - retSuccess = rcvmtMapper.updateRcvmtRtrcn(rcvmt); - if (!retSuccess) { + rtnScs = rcvmtMapper.updateRcvmtRtrcn(rcvmt); + if (!rtnScs) { throw new RuntimeException("수납 대장 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback } @@ -240,8 +240,8 @@ public class RcvmtBean extends AbstractComponent { levy.setPayMthdSeCd(levyInfo.string("PAY_MTHD_SE_CD")); // 납부 방법 구분 코드 } - retSuccess = levyMapper.updateRcvmtAmt(levy); // 부과 대장 수정 - if (!retSuccess) { + rtnScs = levyMapper.updateRcvmtAmt(levy); // 부과 대장 수정 + if (!rtnScs) { throw new RuntimeException("부과 대장에 수납금액 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback } @@ -271,16 +271,16 @@ public class RcvmtBean extends AbstractComponent { crdnSttsHstry.setTaskDtlId(rcvmt.getRcvmtId()); // 수납 ID // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다. - retSuccess = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); - if (!retSuccess) { + rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); + if (!rtnScs) { throw new RuntimeException("수납 등록 중 단속 대장의 단속상태 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback } } } - retMessage = "[S] 작업이 정상 처리 되었습니다."; + rtnMsg = "[S] 작업이 정상 처리 되었습니다."; - return retMessage; + return rtnMsg; } /**수납 대장 정보를 삭제한다. @@ -292,17 +292,17 @@ public class RcvmtBean extends AbstractComponent { */ public String removeRcvmt(Rcvmt rcvmt) { // 변수 선언 - boolean retSuccess = false; // DB 처리 결과 - String retMessage = "[F] "; // 처리 결과 메시지 + boolean rtnScs = false; // DB 처리 결과 + String rtnMsg = "[F] "; // 처리 결과 메시지 - retSuccess = rcvmtMapper.delete(rcvmt); - if (!retSuccess) { + rtnScs = rcvmtMapper.delete(rcvmt); + if (!rtnScs) { throw new RuntimeException("수납 대장 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback } - retMessage = "[S] 작업이 정상 처리 되었습니다."; + rtnMsg = "[S] 작업이 정상 처리 되었습니다."; - return retMessage; + return rtnMsg; } /**수납 대장 정보를 등록한다. diff --git a/src/main/java/cokr/xit/fims/rcvm/web/Rcvm01Controller.java b/src/main/java/cokr/xit/fims/rcvm/web/Rcvm01Controller.java index a8801a29..6e3b7b8b 100644 --- a/src/main/java/cokr/xit/fims/rcvm/web/Rcvm01Controller.java +++ b/src/main/java/cokr/xit/fims/rcvm/web/Rcvm01Controller.java @@ -34,9 +34,10 @@ public class Rcvm01Controller extends ApplicationController { receivingMoneyMain = "/010/main.do" // 수납 관리 메인 화면 , getReceivingMoneyList = "/010/list.do" // 수납 대장 목록 조회 , getReceivingMoneyInfo = "/020/info.do" // 수납 정보 조회 - , createReceivingMoney = "/020/createRcvmt.do" // 수납 대장 등록 - , updateReceivingMoneyRetraction = "/010/updateRcvmtRtrcn.do" // 수납 대장에 수납취소 등록 - , removeReceivingMoney = "/010/removeRcvmt.do" // 수납 대장 삭제 + , createReceivingMoney = "/020/create.do" // 수납 대장 등록 + , updateReceivingMoney = "/020/update.do" // 수납 대장 수정 + , removeReceivingMoney = "/010/remove.do" // 수납 대장 삭제 + , updateReceivingMoneyRetraction = "/010/updateRcvmtRtrcn.do" // 수납취소 등록 ; } @@ -58,10 +59,11 @@ public class Rcvm01Controller extends ApplicationController { // View(jsp)에서 사용할 공통코드를 조회 Map> commonCodes = getCodesOf("FIM054"); - return mav.addObject("pageName", "rcvm01010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix - .addObject("infoPrefix", "rcvmt") // prefix - .addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD) - .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) + return mav + .addObject("pageName", "rcvm01010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix + .addObject("infoPrefix", "rcvmt") // prefix + .addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD) + .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) ; } @@ -102,10 +104,10 @@ public class Rcvm01Controller extends ApplicationController { return mav .addObject("pageName", "rcvm01020") + .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 .addObject("FIM041List", commonCodes.get("FIM041")) // 수납 구분 코드(RCVMT_SE_CD) .addObject("FIM045List", commonCodes.get("FIM045")) // 납부 방법 구분 코드(PAY_MTHD_SE_CD) .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) - .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 .addObject("rcvmtInfo", json ? rcvmtInfo : toJson(rcvmtInfo)) // 수납 정보 ; } @@ -119,9 +121,9 @@ public class Rcvm01Controller extends ApplicationController { */ public ModelAndView createReceivingMoney(Rcvmt rcvmt) { boolean saved = false; - String retMessage = rcvmtService.createRcvmt(rcvmt); + String rtnMsg = rcvmtService.createRcvmt(rcvmt); - if (retMessage.contains("[S]")) { + if (rtnMsg.contains("[S]")) { saved = true; } else { saved = false; @@ -129,7 +131,7 @@ public class Rcvm01Controller extends ApplicationController { return new ModelAndView("jsonView") .addObject("saved", saved) - .addObject("retMessage", retMessage); + .addObject("rtnMsg", rtnMsg); } /**수납 대장에 수납취소 정보를 등록한다. @@ -141,9 +143,9 @@ public class Rcvm01Controller extends ApplicationController { */ public ModelAndView updateReceivingMoneyRetraction(Rcvmt rcvmt) { boolean saved = false; - String retMessage = rcvmtService.updateRcvmtRtrcn(rcvmt); + String rtnMsg = rcvmtService.updateRcvmtRtrcn(rcvmt); - if (retMessage.contains("[S]")) { + if (rtnMsg.contains("[S]")) { saved = true; } else { saved = false; @@ -151,11 +153,9 @@ public class Rcvm01Controller extends ApplicationController { return new ModelAndView("jsonView") .addObject("saved", saved) - .addObject("retMessage", retMessage); + .addObject("rtnMsg", rtnMsg); } - - /**수납 대장 정보를 삭제한다. * @param rcvmt 수납 대장 정보 * @return jsonView @@ -165,9 +165,9 @@ public class Rcvm01Controller extends ApplicationController { */ public ModelAndView removeReceivingMoney(Rcvmt rcvmt) { boolean saved = false; - String retMessage = rcvmtService.removeRcvmt(rcvmt); + String rtnMsg = rcvmtService.removeRcvmt(rcvmt); - if (retMessage.contains("[S]")) { + if (rtnMsg.contains("[S]")) { saved = true; } else { saved = false; @@ -175,7 +175,7 @@ public class Rcvm01Controller extends ApplicationController { return new ModelAndView("jsonView") .addObject("saved", saved) - .addObject("retMessage", retMessage); + .addObject("rtnMsg", rtnMsg); } /**수납 대장를 등록한다. diff --git a/src/main/webapp/WEB-INF/jsp/fims/excl/excl01020-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/excl/excl01020-info.jsp index 557277f5..a991371e 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/excl/excl01020-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/excl/excl01020-info.jsp @@ -211,13 +211,6 @@ // 달력 초기화 initDatepicker("frmEdit--${pageName}"); $("#levyExclYmd--${pageName}").datepicker("setDate", new Date()); - - // view 로 호출됐을 경우.. - if (${pageName}CallPurpose == "view") { - $("btnSave--${pageName}").attr("disabled", true); - } else { - $("btnSave--${pageName}").attr("disabled", false); - } } // 기본 데이터 설정 diff --git a/src/main/webapp/WEB-INF/jsp/fims/rcvm/rcvm01010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/rcvm/rcvm01010-main.jsp index e340ad90..5a12bcca 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/rcvm/rcvm01010-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/rcvm/rcvm01010-main.jsp @@ -13,7 +13,7 @@
- @@ -140,7 +140,7 @@ -
@@ -310,10 +310,8 @@ , keymapper : info => info ? info.RCVMT_ID : "" , dataGetter : obj => obj.rcvmtList , appendData : true - , tableRenderComplete : false // dataTables 에 자료 추가 완료 여부 - , urls : { - getInfo : wctx.url("/sprt/sprt02/010/main.do") // 개별총정보 - } + , untilPageNum : 0 // 현재 페이지 번호 + , tableRenderComplete : false // dataTables 에 자료 추가 완료 여부 , formats : { RCVMT_YMD : dateFormat , ACNTG_YMD : dateFormat @@ -339,7 +337,7 @@ **************************************************************************/ // Dataset 변경 이벤트 ${pageName}Control.onDatasetChange = obj => { - renderList${pageName}(); + renderList${pageName}(obj.${infoPrefix}Total); $("#paging--${pageName}").setPagingInfo({ list : ${pageName}Control.dataset @@ -350,7 +348,7 @@ , func : "${pageName}Control.load({index})" }); - ${pageName}Control.tableRenderComplete = true; // dataTables 에 자료 추가 완료 + ${pageName}Control.tableRenderComplete = true; // dataTables 에 자료 추가 완료 }; // 현재 선택 자료 변경 이벤트 @@ -376,17 +374,64 @@ $("#btnLevyExclRemove--${pageName}").prop("disabled", keys.length < 1); }; + /************************************************************************** + * DataTables 이벤트 + **************************************************************************/ + // DataTables에 click, dbclick 이벤트 + renderList${pageName} = (totalSize) => { + let ${infoPrefix}List = ${pageName}Control.dataset; + let empty = ${infoPrefix}List.empty; + + let trs = empty ? + [document.getElementById("${infoPrefix}NotFound--${pageName}").innerHTML] : <%-- from template#${infoPrefix}NotFound --%> + ${infoPrefix}List.inStrings( + document.getElementById("${infoPrefix}Row--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%> + (str, dataItem) => str + .replace(/{onclick}/gi, "${pageName}Control.setCurrent('" + dataItem.getValue("RCVMT_ID") + "');") + .replace(/{ondblclick}/gi, "getTotalInfo${pageName}('" + dataItem.getValue("CRDN_ID") + "');") + ); + + let noMore = (totalSize == ${infoPrefix}List.length); + let initScroll = (${pageName}Control.query.pageNum < 2) && (${pageName}Control.untilPageNum == 0); + + $("#table-responsive--${pageName}")[0].changeContent(trs.join(), initScroll, noMore); + + if (${pageName}Control.untilPageNum != 0) { + ${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize; + ${pageName}Control.query.pageNum = ${pageName}Control.untilPageNum; + ${pageName}Control.untilPageNum = 0; + } + + // checkbox 체크 해제 + $("th input[type='checkbox']").prop("checked", false); + + //보안모드 + fn_securityModeToggle($("#securityMode--top").is(":checked")); + } + + // DataTables에 스크롤이 맨 밑으로 이동했을 때 이벤트 + scrollDataList${pageName} = () => { + ${pageName}Control.tableRenderComplete = false; // dataTables 에 자료 추가 false + + ${pageName}Control.load(${pageName}Control.query.pageNum + 1); + } + + /************************************************************************** + * 사용자 함수(function) + **************************************************************************/ // 개별총정보 dialog - ${pageName}Control.getInfo = (crdnId) => { + getTotalInfo${pageName} = (crdnId) => { if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; let params = { callControlName : "${pageName}Control" + , sggCd : $("#sggCd--${pageName}").val() + , taskSeCd : $("input[name=taskSeCd]:checked").val() , crdnId : crdnId } ajax.get({ - url : ${pageName}Control.urls.getInfo + url : wctx.url(params.taskSeCd + "/sprt/sprt02/010/main.do") , data : params , success : resp => { dialog.open({ @@ -394,51 +439,72 @@ , title : "개별총정보" , content : resp , size : "xxl" - , init : () => { } - , onClose : () => { } }); } }); } + // 검색 자료 재조회 + refreshList${pageName} = () => { + ${pageName}Control.untilPageNum = ${pageName}Control.query.pageNum; + ${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize * ${pageName}Control.query.pageNum; + + ${pageName}Control.load(1); + } + /************************************************************************** - * + * 버튼 clickEvent **************************************************************************/ - // DataTables에 click, dbclick 이벤트 - renderList${pageName} = () => { - let ${infoPrefix}List = ${pageName}Control.dataset; - let empty = ${infoPrefix}List.empty; + // 업무 구분 변경 + fnResetAndChangeBiz${pageName} = (taskSeCd) => { + // 업무 구분 코드 + if (typeof taskSeCd == "undefined" || taskSeCd == null || taskSeCd == "") { + taskSeCd = $("#layout-navbar input[name='taskSeCd']:checked").val(); + } - let trs = empty ? - [document.getElementById("${infoPrefix}NotFound--${pageName}").innerHTML] : <%-- from template#${infoPrefix}NotFound --%> - ${infoPrefix}List.inStrings( - document.getElementById("${infoPrefix}Row--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%> - (str, dataItem) => str - .replace(/{onclick}/gi, "${pageName}Control.setCurrent('" + dataItem.getValue("RCVMT_ID") + "');") - .replace(/{ondblclick}/gi, "${pageName}Control.getInfo('" + dataItem.getValue("CRDN_ID") + "');") - ); + // 초기 기본 설정 + initForm${pageName}(taskSeCd); - $("#tbody--${pageName}").html(trs.join()); - $("th input[type='checkbox']").prop("checked", false); + // URL 설정 + setURL${pageName}(taskSeCd); - //보안모드 - fn_securityModeToggle($("#securityMode--top").is(":checked")); + // 기본 데이터 설정 + setFormData${pageName}(); } - /************************************************************************** - * 초기 셋팅 - **************************************************************************/ - // 초기화 - initForm${pageName} = () => { - // 화면 초기화 - $("#frmSearch--${pageName}")[0].reset(); + // 검색 버튼 이벤트 + fnSearchList${pageName} = () => { + // 검색조건 + ${pageName}Control.query = ${pageName}Fields.get(); + + ${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize; // 한번에 조회되는 자료 건수 FETCH_XS = 30 + ${pageName}Control.query.delYn = "N"; // 삭제 여부 + + ${pageName}Control.load(1); + } + + // 엑셀 버튼 이벤트 + fnExcel${pageName} = () => { - // dataset 초기화 - ${pageName}Control.dataset.clear(); } + // 사용자 조회 버튼 이벤트 + fnFindUser${pageName} = () => { + + } + + /************************************************************************** + * 초기 셋팅 + **************************************************************************/ // 이벤트 setEvent${pageName} = () => { + // 동적검색에서 엔터(Enter) 키를 누르면 검색한다. + $("#term--${pageName}").keypress(function(e) { + if (e.keyCode == 13) { + fnSearchList${pageName}();    + }     + }); + // form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용 $("#frmSearch--${pageName}").find(".form-date").each(function() { $(this).on("input", function() { @@ -455,37 +521,17 @@ // DataTables width 변경 조정 업무별 그리드가 존재 한다면.. crdn06010-main.jsp 참고 $("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} ); - // DataTables 스크롤 이벤트 - $("#table-responsive--${pageName}").scroll(function() { - let el = $(this); - - if (el.scrollTop() == 0) { - return; - } - if (!${pageName}Control.tableRenderComplete) { - return; - } - - let itemsCnt = ${pageName}Control.dataset._items.length; - let totCnt = ${pageName}Control.dataset.getValue("TOT_CNT"); // let totCnt = ${pageName}Control.dataset.getCurrent("item").data.TOT_CNT; - - if (itemsCnt >= totCnt) { - return; - } - - if ((el[0].scrollHeight - el.scrollTop() + VERTICAL_SCROLL_HEIGHT) <= el.outerHeight()) { - ${pageName}Control.tableRenderComplete = false; // dataTables 에 자료 추가 완료 - - ${pageName}Control.load(${pageName}Control.query.pageNum + 1); - } - }); + // DataTables 스크롤 이벤트 생성 + fnMakeScrollableTable($("#table-responsive--${pageName}")[0], scrollDataList${pageName}); } - // 화면 초기값 셋팅 - setForm${pageName} = (taskSeCd) => { + // 화면 초기 설정 + initForm${pageName} = (taskSeCd) => { + // 화면 초기화 + $("#frmSearch--${pageName}")[0].reset(); + // 업무 구분 코드 $("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true); - // 최고 관리자 경우 업무구분을 선택할 수 있도록 하자. $("#frmSearch--${pageName} input[name='taskSeCd']").each(function(i) { $(this).prop("disabled", "true"); @@ -493,81 +539,42 @@ // 달력 초기화 initDatepicker("frmSearch--${pageName}"); - $("#schPstmrkYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-365).date); $("#schPstmrkYmdTo--${pageName}").datepicker("setDate", new Date()); + + // dataset 초기화 + ${pageName}Control.dataset.clear(); } // URL 설정 setURL${pageName} = (taskSeCd) => { - ${pageName}Control.urls.load = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/010/list.do"); // 조회 - ${pageName}Control.urls.getInfo = wctx.url("/" + taskSeCd + "/sprt/sprt02/010/main.do"); // 개별총정보 + ${pageName}Control.urls.load = wctx.url(taskSeCd + ${pageName}PrefixUrl + "/010/list.do"); // 조회 + ${pageName}Control.urls.getInfo = wctx.url(taskSeCd + "/sprt/sprt02/010/main.do"); // 개별총정보 } - /************************************************************************** - * 버튼 clickEvent - **************************************************************************/ - // 업무 구분 변경 - fnResetAndChangeBiz${pageName} = (taskSeCd) => { - // 초기화 - initForm${pageName}(); - - // 업무 구분 코드 - if (typeof taskSeCd == "undefined" || taskSeCd == null || taskSeCd == "") { - taskSeCd = $("#layout-navbar input[name='taskSeCd']:checked").val(); - } - - // 화면 초기값 설정 - setForm${pageName}(taskSeCd); - - // URL 설정 - setURL${pageName}(taskSeCd); - } - - // 초기화 버튼 이벤트 - fnReset${pageName} = () => { - fnResetAndChangeBiz${pageName}(); - } - - // 검색 버튼 이벤트 - fnSearchList${pageName} = () => { - // 검색조건 - ${pageName}Control.query = ${pageName}Fields.get(); - - ${pageName}Control.query.fetchSize = FETCH_XS; // 한번에 조회되는 자료 건수 FETCH_XS = 30 - ${pageName}Control.query.delYn = "N"; // 삭제 여부 - ${pageName}Control.query.crdnDelYn = "N"; // 단속 대장 삭제 여부 - - ${pageName}Control.load(); - } - - // 엑셀 버튼 이벤트 - fnExcel${pageName} = () => { - - } - - // 사용자 조회 버튼 이벤트 - fnUser${pageName} = () => { - + // 기본 데이터 설정 + setFormData${pageName} = () => { + // ${pageName}Control 설정 + ${pageName}Control.defaultFetchSize = FETCH_XS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30 } /************************************************************************** * script 진입 **************************************************************************/ $(document).ready(function() { - // 기본 데이터 설정 - $("#sggCd--${pageName}").val("${sggCd}"); // 시군구 코드 - // 이벤트 설정 setEvent${pageName}(); - // 보안모드 - fn_securityModeToggle($("#securityMode--top").is(":checked")); + // 시군구 코드 설정 + $("#sggCd--${pageName}").val("${sggCd}"); // 업무 구분 설정 let defaultBizValue = $("#layout-navbar input[name='taskSeCd']:checked").val(); $("#frmSearch--${pageName} input[name='taskSeCd'][value='" + defaultBizValue + "']").prop("checked", true); + // 보안모드 + fn_securityModeToggle($("#securityMode--top").is(":checked")); + // 화면 초기 설정 및 업무 구분 변경 fnResetAndChangeBiz${pageName}(defaultBizValue); }); diff --git a/src/main/webapp/WEB-INF/jsp/fims/rcvm/rcvm01020-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/rcvm/rcvm01020-info.jsp index 0ed6dd30..42213132 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/rcvm/rcvm01020-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/rcvm/rcvm01020-info.jsp @@ -12,9 +12,9 @@
+ - @@ -22,17 +22,17 @@
- +
- +
- +
@@ -159,6 +159,8 @@ **************************************************************************/ // URL var ${pageName}PrefixUrl = "/rcvm/rcvm01"; + // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정) + var ${pageName}CallPurpose = "${callPurpose}"; // FormFields var ${pageName}Fields = new FimsFormFields("#frmEdit--${pageName}"); @@ -193,7 +195,8 @@ } // 업무구분에 따른 url 변경 - ${pageName}Control.urls.create = wctx.url(item.data.TASK_SE_CD + ${pageName}PrefixUrl + "/020/createRcvmt.do"); + ${pageName}Control.urls.create = wctx.url(item.data.TASK_SE_CD + ${pageName}PrefixUrl + "/020/create.do"); + ${pageName}Control.urls.update = wctx.url(item.data.TASK_SE_CD + ${pageName}PrefixUrl + "/020/update.do"); } /************************************************************************** @@ -202,7 +205,7 @@ // 저장 callback ${pageName}Control.onSave = (resp) => { let dialogTitle = $("#" + ${pageName}Control.prefix + "Dialog").find("h5.modal-title").html(); - let showMessage = resp.retMessage.replace(/[S]|[F]/g, dialogTitle); + let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle); dialog.alert(showMessage); @@ -215,52 +218,26 @@ ${pageName}Control.save = (info) => { if (!info) return; - info.rcvmtInptSeCd = "03"; // 수납 입력 구분 코드(FIM044) : 03 수기 + let create = (${pageName}CallPurpose == "create"); + + info.rcvmtInptSeCd = "03"; // 수납 입력 구분 코드(FIM044) : 03 수기 ajax.post({ - url : ${pageName}Control.urls.create + url : !create ? ${pageName}Control.urls.update : ${pageName}Control.urls.create , data : info , success : resp => ${pageName}Control.onSave(resp) }); } /************************************************************************** - * - **************************************************************************/ - - /************************************************************************** - * 초기 셋팅 + * 사용자 함수 **************************************************************************/ - // 이벤트 설정 - setEvent${pageName} = () => { - // form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용 - $("#frmEdit--${pageName}").find(".form-date").each(function() { - $(this).on("input", function() { - let value = this.value.replaceAll("-",""); - - if (value.length > 7) { - this.value = value.substring(0, 4) + "-" + value.substring(4, 6) + "-" + value.substring(6); - } else if(value.length > 5) { - this.value = value.substring(0, 4) + "-" + value.substring(4); - } - }); - }); - } - // 검색조건 초기값 셋팅 - setForm${pageName} = () => { - // 달력 초기화 - initDatepicker("frmEdit--${pageName}"); - - $("#rcvmtYmd--${pageName}").datepicker("setDate", new Date()); - $("#pstmrkYmd--${pageName}").datepicker("setDate", new Date()); - $("#acntgYmd--${pageName}").datepicker("setDate", new Date()); - } /************************************************************************** - * function + * 버튼 clickEvent **************************************************************************/ - // 저장 + // 저장 버튼 클릭 이벤트 fnSave${pageName} = () => { // validate 확인 if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return; @@ -285,6 +262,60 @@ }); } + /************************************************************************** + * 초기 셋팅 + **************************************************************************/ + // 이벤트 설정 + setEvent${pageName} = () => { + // form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용 + $("#frmEdit--${pageName}").find(".form-date").each(function() { + $(this).on("input", function() { + let value = this.value.replaceAll("-",""); + + if (value.length > 7) { + this.value = value.substring(0, 4) + "-" + value.substring(4, 6) + "-" + value.substring(6); + } else if(value.length > 5) { + this.value = value.substring(0, 4) + "-" + value.substring(4); + } + }); + }); + } + + // 화면 초기화 + initForm${pageName} = () => { + // 화면 초기화 + $("#frmEdit--${pageName}")[0].reset(); + + // 달력 초기화 + initDatepicker("frmEdit--${pageName}"); + $("#rcvmtYmd--${pageName}").datepicker("setDate", new Date()); // 수납 일자 + $("#pstmrkYmd--${pageName}").datepicker("setDate", new Date()); // 소인 일자 + $("#acntgYmd--${pageName}").datepicker("setDate", new Date()); // 회계 일자 + } + + // 기본 데이터 설정 + setFormData${pageName} = () => { + $("#crdnYmdTm--${pageName}").prop("readonly", true); // 단속 일시 + $("#vhrno--${pageName}").prop("readonly", true); // 차량번호 + $("#crdnSttsNm--${pageName}").prop("readonly", true); // 단속 상태 + + if (${pageName}CallPurpose == "view") { + // input 요소들을 disabled + $("#frmEdit--${pageName}").find("input,textarea,select").prop("disabled", true); + // button 요소들을 disabled + $("#rcvmtYmd--${pageName}").prop("disabled", true); // 수납 일자 달력 버튼 + $("#pstmrkYmd--${pageName}").prop("disabled", true); // 소인 일자 달력 버튼 + $("#acntgYmd--${pageName}").prop("disabled", true); // 회계 일자 달력 버튼 + $("#btnSave--${pageName}").prop("disabled", true); // 저장 버튼 + } else if (${pageName}CallPurpose == "create") { + $("#rcvmtYmd--${pageName}").datepicker("setDate", new Date()); // 수납 일자 + $("#pstmrkYmd--${pageName}").datepicker("setDate", new Date()); // 소인 일자 + $("#acntgYmd--${pageName}").datepicker("setDate", new Date()); // 회계 일자 + } else if (${pageName}CallPurpose == "update") { + // + } + } + /************************************************************************** * script 진입 **************************************************************************/ @@ -292,11 +323,14 @@ // 이벤트 설정 setEvent${pageName}(); - // 화면 초기 설정 - setForm${pageName}(); + // 화면 초기화 + initForm${pageName}(); - // Dataset 셋팅 - 단건일 경우 setData + // Dataset 설정 ${pageName}Control.setData([${rcvmtInfo}]); + + // 기본 데이터 설정 + setFormData${pageName}(); }); diff --git a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02070-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02070-info.jsp index da4b9a86..88b96be8 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02070-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02070-info.jsp @@ -194,12 +194,6 @@
- -
-
- -
-
@@ -210,6 +204,17 @@
+ +
+ + +
+ +
+ + +
+
@@ -245,6 +250,7 @@ , RCVMT_INT : numberFormat , RCVMT_RTRCN_DT : datetimeFormat , REG_DT : datetimeFormat + , MDFCN_DT : datetimeFormat } }); @@ -289,7 +295,7 @@ } ajax.get({ - url : wctx.url($("#taskSeCd--${pageNameMain}").val() + ${pageName}PrefixUrl + "/020/info.do") + url : wctx.url(params.taskSeCd + ${pageName}PrefixUrl + "/020/info.do") , data : params || {} , success : resp => { dialog.open({ @@ -308,18 +314,20 @@ updateRcvmtRtrcn${pageName} = (obj) => { // 서버에 전송할 data(파라미터) 생성 let params = { - callPurpose : "update" - , rcvmtId : ${pageName}Control.dataset.getValue("RCVMT_ID") // 수납 ID - , rcvmtRtrcnYn : "Y" // 수납 취소 여부 - , rcvmtRtrcnRsn : obj.reason // 수납 취소 사유 + callPurpose : "update" + , sggCd : ${pageName}Control.dataset.getValue("SGG_CD") // 시군구 코드 + , taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 + , rcvmtId : ${pageName}Control.dataset.getValue("RCVMT_ID") // 수납 ID + , rcvmtRtrcnYn : "Y" // 수납 취소 여부 + , rcvmtRtrcnRsn : obj.reason // 수납 취소 사유 }; ajax.post({ - url : wctx.url($("#taskSeCd--${pageNameMain}").val() + ${pageName}PrefixUrl + "/010/updateRcvmtRtrcn.do") + url : wctx.url(params.taskSeCd + ${pageName}PrefixUrl + "/010/updateRcvmtRtrcn.do") , data : params , success : resp => { let btnTitle = $("#btnUpdateRcvmtRtrc--${pageName}").attr("title"); - let showMessage = resp.retMessage.replace(/[S]|[F]/g, btnTitle); + let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle); dialog.alert(showMessage); // 메시지 출력 @@ -334,18 +342,19 @@ removeRcvmt${pageName} = (obj) => { // 서버에 전송할 data(파라미터) 생성 let params = { - callPurpose : "remove" - , rcvmtId : ${pageName}Control.dataset.getValue("RCVMT_ID") // 수납 ID - , delYn : "Y" // 삭제 여부 - , delRsn : obj.reason // 삭제 사유 + callPurpose : "remove" + , sggCd : ${pageName}Control.dataset.getValue("SGG_CD") // 시군구 코드 + , taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 + , rcvmtId : ${pageName}Control.dataset.getValue("RCVMT_ID") // 수납 ID + , delRsn : obj.reason // 삭제 사유 }; ajax.post({ - url : wctx.url($("#taskSeCd--${pageNameMain}").val() + ${pageName}PrefixUrl + "/010/removeRcvmt.do") + url : wctx.url(params.taskSeCd + ${pageName}PrefixUrl + "/010/remove.do") , data : params , success : resp => { let btnTitle = $("#btnRemoveRcvmt--${pageName}").attr("title"); - let showMessage = resp.retMessage.replace(/[S]|[F]/g, btnTitle); + let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle); dialog.alert(showMessage); // 메시지 출력 @@ -408,46 +417,6 @@ }); } - /************************************************************************** - * 초기 셋팅 - **************************************************************************/ - // 화면 초기화 - initForm${pageName} = () => { - $("#frmEdit--${pageName}")[0].reset(); // 화면 초기화 - } - - // 이벤트 설정 - setEvent${pageName} = () => { - - } - - // 화면 초기값 설정 - setForm${pageName} = () => { - // 화면 호출(callPurpose)이 view 라면 버튼 비활성화 - if (${pageNameMain}CallPurpose == "view") { - $("#btnCreateRcvmt--${pageName}").prop("disabled", true); - $("#btnUpdateRcvmtRtrc--${pageName}").prop("disabled", true); - $("#btnRemoveRcvmt--${pageName}").prop("disabled", true); - } else { - $("#btnCreateRcvmt--${pageName}").prop("disabled", false); - $("#btnUpdateRcvmtRtrc--${pageName}").prop("disabled", false); - $("#btnRemoveRcvmt--${pageName}").prop("disabled", false); - } - - // 주정차위반, 전용차로위반과태료 외에는 수납 등록, 취소, 삭제 기능이 없어야 한다. - let taskSeCd = $("#taskSeCd--${pageNameMain}").val(); - - $("#btnCreateRcvmt--${pageName}").hide(); - $("#btnUpdateRcvmtRtrc--${pageName}").hide(); - $("#btnRemoveRcvmt--${pageName}").hide(); - - if (taskSeCd == "BPV" || taskSeCd == "PVS") { - $("#btnCreateRcvmt--${pageName}").show(); - $("#btnUpdateRcvmtRtrc--${pageName}").show(); - $("#btnRemoveRcvmt--${pageName}").show(); - } - } - /************************************************************************** * 버튼 clickEvent **************************************************************************/ @@ -459,10 +428,10 @@ if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; let params = { - callPurpose : "create" - , crdnId : crdnId - , sggCd : $("#sggCd--${pageNameMain}").val() - , taskSeCd : $("#taskSeCd--${pageNameMain}").val() + callPurpose : "create" + , crdnId : crdnId + , sggCd : $("#sggCd--${pageNameMain}").val() + , taskSeCd : $("#taskSeCd--${pageNameMain}").val() }; ${pageName}Control.getInfo(params); @@ -540,6 +509,47 @@ ); } + /************************************************************************** + * 초기 셋팅 + **************************************************************************/ + // 이벤트 설정 + setEvent${pageName} = () => { + + } + + // 화면 초기화 + initForm${pageName} = () => { + $("#frmEdit--${pageName}")[0].reset(); // 화면 초기화 + } + + // 화면 초기값 설정 + setForm${pageName} = () => { + // 화면 호출(callPurpose)이 view 라면 버튼 비활성화 + if (${pageNameMain}CallPurpose == "view") { + $("#btnCreateRcvmt--${pageName}").prop("disabled", true); + $("#btnUpdateRcvmtRtrc--${pageName}").prop("disabled", true); + $("#btnRemoveRcvmt--${pageName}").prop("disabled", true); + } else { + $("#btnCreateRcvmt--${pageName}").prop("disabled", false); + $("#btnUpdateRcvmtRtrc--${pageName}").prop("disabled", false); + $("#btnRemoveRcvmt--${pageName}").prop("disabled", false); + } + + // 주정차위반, 전용차로위반과태료 외에는 수납 등록, 취소, 삭제 기능이 없어야 한다. + let taskSeCd = $("#taskSeCd--${pageNameMain}").val(); +/* + if (taskSeCd == "BPV" || taskSeCd == "PVS") { + $("#btnCreateRcvmt--${pageName}").show(); + $("#btnUpdateRcvmtRtrc--${pageName}").show(); + $("#btnRemoveRcvmt--${pageName}").show(); + } else { + $("#btnCreateRcvmt--${pageName}").hide(); + $("#btnUpdateRcvmtRtrc--${pageName}").hide(); + $("#btnRemoveRcvmt--${pageName}").hide(); + } +*/ + } + /************************************************************************** * script 진입 **************************************************************************/ diff --git a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02080-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02080-info.jsp index 0811b7aa..7ddfa10c 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02080-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02080-info.jsp @@ -12,13 +12,13 @@ - - - @@ -235,13 +235,13 @@ removeCvlcptDscsn${pageName} = (obj) => { // 서버에 전송할 data(파라미터) 생성 let params = { - callPurpose : "remove" - , crdnId : ${pageName}Control.dataset.getValue("CRDN_ID") // 단속 ID - , sggCd : ${pageName}Control.dataset.getValue("SGG_CD") // 시군구 코드 - , taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 - , cvlcptDscsnId : ${pageName}Control.dataset.getValue("CVLCPT_DSCSN_ID") // 민원상담 ID - , delYn : "Y" // 삭제 여부 - , delRsn : obj.reason // 삭제 사유 + callPurpose : "remove" + , crdnId : ${pageName}Control.dataset.getValue("CRDN_ID") // 단속 ID + , sggCd : ${pageName}Control.dataset.getValue("SGG_CD") // 시군구 코드 + , taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 + , cvlcptDscsnId : ${pageName}Control.dataset.getValue("CVLCPT_DSCSN_ID") // 민원상담 ID + , delYn : "Y" // 삭제 여부 + , delRsn : obj.reason // 삭제 사유 }; ajax.post({ @@ -266,7 +266,7 @@ * 버튼 clickEvent **************************************************************************/ // 민원 상담 내용 등록 - fnCreate${pageName} = () => { + fnCreateCvlcptDscsn${pageName} = () => { let crdnId = $("#crdnId--${pageNameMain}").val(); // 단속 ID 가 없다면.. return @@ -283,7 +283,7 @@ } // 민원 상담 내용 수정 - fnUpdate${pageName} = () => { + fnUpdateCvlcptDscsn${pageName} = () => { let cvlcptDscsnId = ${pageName}Control.dataset.getValue("CVLCPT_DSCSN_ID"); // 민원 상담 ID 가 없다면.. return @@ -301,7 +301,7 @@ } // 민원상담 내용 삭제 - fnRemove${pageName} = () => { + fnRemoveCvlcptDscsn${pageName} = () => { // 민원상담 ID let cvlcptDscsnId = ${pageName}Control.dataset.getValue("CVLCPT_DSCSN_ID");