diff --git a/src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnSttsHstryBean.java b/src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnSttsHstryBean.java index 61d543ce..0c9c769a 100644 --- a/src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnSttsHstryBean.java +++ b/src/main/java/cokr/xit/fims/cmmn/service/bean/CrdnSttsHstryBean.java @@ -1,5 +1,6 @@ package cokr.xit.fims.cmmn.service.bean; +import java.text.SimpleDateFormat; import java.util.List; import javax.annotation.Resource; @@ -111,22 +112,29 @@ public class CrdnSttsHstryBean extends AbstractComponent { */ public boolean createHstryUpdateCrdnSttsCd(CrdnSttsHstry crdnSttsHstry) { // 변수 선언 - boolean retSuccess = false; // DB 처리 결과 + boolean rtnScs = false; // DB 처리 결과 + // 사용 여부 if (crdnSttsHstry.getUseYN() == null) { crdnSttsHstry.setUseYN("Y"); } + // 단속 상태 변경 일시 + if (crdnSttsHstry.getCrdnSttsChgDt() == null) { + // 현재 날짜 구하기 + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); + crdnSttsHstry.setCrdnSttsChgDt(dateFormat.format(System.currentTimeMillis())); + } // 단속상태이력(TB_CRDN_STTS_HSTRY) 대장을 등록 한다. - retSuccess = crdnSttsHstryMapper.insert(crdnSttsHstry); - if (!retSuccess) { + rtnScs = crdnSttsHstryMapper.insert(crdnSttsHstry); + if (!rtnScs) { // 예외를 발생시켜서 오류메세지를 보내고 Database 롤백.. throw new RuntimeException("단속상태이력 대장 등록에 실패하였습니다."); } // 단속(TB_CRDN) 대장을 수정 한다. - retSuccess = crdnSttsHstryMapper.updateCrdn(crdnSttsHstry); - if (!retSuccess) { + rtnScs = crdnSttsHstryMapper.updateCrdn(crdnSttsHstry); + if (!rtnScs) { // 예외를 발생시켜서 오류메세지를 보내고 Database 롤백.. throw new RuntimeException("단속상태이력 정보 등록 중 오류가 발생하였습니다."); } @@ -143,7 +151,7 @@ public class CrdnSttsHstryBean extends AbstractComponent { */ public boolean removeHstryUpdateCrdnSttsCd(String crdnId, String crdnSttsCd, String deleteSttsCd, boolean insertBfrSttsYn) { // 변수 선언 - boolean retSuccess = false; // DB 처리 결과 + boolean rtnScs = false; // DB 처리 결과 // 단속 ID에 해당하는 단속상태코드의 단속상태이력(TB_CRDN_STTS_HSTRY) 대장을 조회 한다. DataObject crdnSttsHstryInfo = crdnSttsHstryMapper.selectCrdnSttsHstryInfo(crdnId, crdnSttsCd, "Y"); @@ -158,8 +166,8 @@ public class CrdnSttsHstryBean extends AbstractComponent { crdnSttsHstry.setSttsHstryId(crdnSttsHstryInfo.string("STTS_HSTRY_ID")); crdnSttsHstry.setUseYN("N"); - retSuccess = crdnSttsHstryMapper.update(crdnSttsHstry); - if (!retSuccess) { + rtnScs = crdnSttsHstryMapper.update(crdnSttsHstry); + if (!rtnScs) { throw new RuntimeException("단속상태이력 대장에 이력 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback } } @@ -180,8 +188,8 @@ public class CrdnSttsHstryBean extends AbstractComponent { opnnSttsHstry.setSttsHstryId(crdnSttsHstryInfo.string("STTS_HSTRY_ID")); opnnSttsHstry.setUseYN("N"); - retSuccess = crdnSttsHstryMapper.update(opnnSttsHstry); - if (!retSuccess) { + rtnScs = crdnSttsHstryMapper.update(opnnSttsHstry); + if (!rtnScs) { throw new RuntimeException("단속상태이력 대장에 의견제출접수 이력 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback } } @@ -194,8 +202,8 @@ public class CrdnSttsHstryBean extends AbstractComponent { deleteSttsHstry.setCrdnSttsCd(deleteSttsCd); deleteSttsHstry.setUseYN("N"); - retSuccess = crdnSttsHstryMapper.insert(deleteSttsHstry); - if (!retSuccess) { + rtnScs = crdnSttsHstryMapper.insert(deleteSttsHstry); + if (!rtnScs) { throw new RuntimeException("삭제 단속상태이력 정보 등록 중 오류가 발생하였습니다."); // 예외를 발생시켜서 DB Rollback } } @@ -211,8 +219,8 @@ public class CrdnSttsHstryBean extends AbstractComponent { crdnSttsHstry.setCrdnSttsChgDt(crdnSttsHstryInfo.string("BFR_STTS_CHG_DT")); crdnSttsHstry.setUseYN("Y"); - retSuccess = createHstryUpdateCrdnSttsCd(crdnSttsHstry); - if (!retSuccess) { + rtnScs = createHstryUpdateCrdnSttsCd(crdnSttsHstry); + if (!rtnScs) { throw new RuntimeException("단속상태이력 정보 등록 중 오류가 발생하였습니다."); // 예외를 발생시켜서 DB Rollback } } diff --git a/src/main/java/cokr/xit/fims/levy/service/bean/LevyBean.java b/src/main/java/cokr/xit/fims/levy/service/bean/LevyBean.java index 1d19a5ac..844de51c 100644 --- a/src/main/java/cokr/xit/fims/levy/service/bean/LevyBean.java +++ b/src/main/java/cokr/xit/fims/levy/service/bean/LevyBean.java @@ -1,5 +1,6 @@ package cokr.xit.fims.levy.service.bean; +import java.text.SimpleDateFormat; import java.util.List; import javax.annotation.Resource; @@ -103,15 +104,15 @@ public class LevyBean extends AbstractComponent { */ public String createRductLevyList(LevyQuery req) { // 변수 선언 - String retMessage = "[F] "; // 처리 결과 메시지 + String rtnMsg = "[F] "; // 처리 결과 메시지 // 최초 조회 List rductLevyTrgtList = levyMapper.selectRductLevyTrgtList(req); // 조회 건수와 등록 대상 건수 확인 if (!req.getTnocs().equals(rductLevyTrgtList.get(0).string("TNOCS"))) { - retMessage = "[F] 조회된 총건수와 감경부과 등록 대상건수가 다릅니다."; - return retMessage; + rtnMsg = "[F] 조회된 총건수와 감경부과 등록 대상건수가 다릅니다."; + return rtnMsg; } // 총 페이지 건수 확인 @@ -133,16 +134,16 @@ public class LevyBean extends AbstractComponent { levy.setFrstDudtYmd(req.getDudtYmd()); // 최초 납기 일자 levy.setDudtYmd(req.getDudtYmd()); // 납기 일자 - retMessage = createRductLevy(levy); - if (retMessage.contains("[F]")) { - throw new RuntimeException(retMessage); + rtnMsg = createRductLevy(levy); + if (rtnMsg.contains("[F]")) { + throw new RuntimeException(rtnMsg); } } } - retMessage = "[S] 작업이 정상 처리 되었습니다."; + rtnMsg = "[S] 작업이 정상 처리 되었습니다."; - return retMessage; + return rtnMsg; } /**감경부과 대장 정보를 등록한다. @@ -154,8 +155,8 @@ public class LevyBean extends AbstractComponent { */ public String createRductLevy(Levy levy) { // 변수 선언 - boolean retSuccess = false; // DB 처리 결과 - String retMessage = "[F] "; // 처리 결과 메시지 + boolean rtnScs = false; // DB 처리 결과 + String rtnMsg = "[F] "; // 처리 결과 메시지 // 사용자 정보 ManagedUser managedUser = (ManagedUser)currentUser().getUser(); @@ -185,9 +186,9 @@ public class LevyBean extends AbstractComponent { } else { levy.setFyr(null); // 회계연도 levy.setLevyNo(null); // 부과 번호 - levy.setLevyYmd(null); // 부과 일자 - levy.setFrstDudtYmd(null); // 최초 납기 일자 - levy.setDudtYmd(null); // 납기 일자 +// levy.setLevyYmd(null); // 부과 일자 +// levy.setFrstDudtYmd(null); // 최초 납기 일자 +// levy.setDudtYmd(null); // 납기 일자 levy.setFfnlgAmt(crdnInfo.number("FFNLG_AMT").intValue()); // 과태료 금액 levy.setLevyPcptax(crdnInfo.number("FFNLG_AMT").intValue()); // 부과 본세 levy.setSumAmt(crdnInfo.number("FFNLG_AMT").intValue()); // 합계 금액 @@ -225,38 +226,42 @@ public class LevyBean extends AbstractComponent { levy.setMngItem6(crdnInfo.string("CRDN_ID")); // 관리 아이템6 levy.setLevySttsNm("부과"); // 부과 상태 명 - retSuccess = levyMapper.insert(levy); - if (!retSuccess) { + rtnScs = levyMapper.insert(levy); + if (!rtnScs) { // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback throw new RuntimeException("감경부과 대장 등록에 실패하였습니다."); } + // 현재 날짜 구하기 + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); + // 단속상태이력(TB_CRDN_STTS_HSTRY) CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); crdnSttsHstry.setCrdnId(crdnInfo.string("CRDN_ID")); // 단속 ID - crdnSttsHstry.setBfrSttsCd(crdnInfo.string("CRDN_STTS_CD")); // 단속 상태 코드 - crdnSttsHstry.setBfrSttsChgDt(crdnInfo.string("CRDN_STTS_CHG_DT")); // 단소 상태 변경 일시 - crdnSttsHstry.setCrdnSttsCd("23"); // 단속상태코드(FIM010) - 감경부과 + crdnSttsHstry.setBfrSttsCd(crdnInfo.string("CRDN_STTS_CD")); // 이전 단속 상태 코드 + crdnSttsHstry.setBfrSttsChgDt(crdnInfo.string("CRDN_STTS_CHG_DT")); // 이전 단속 상태 변경 일시 + crdnSttsHstry.setCrdnSttsCd("23"); // 단속 상태 코드(FIM010) - 감경부과 + crdnSttsHstry.setCrdnSttsChgDt(dateFormat.format(System.currentTimeMillis())); // 단속 상태 변경 일시 crdnSttsHstry.setTaskDtlId(levy.getLevyId()); // 부과 ID if (crdnInfo.number("CRDN_STTS_CD").intValue() >= 1 && crdnInfo.number("CRDN_STTS_CD").intValue() <= 22 ) { // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다. - retSuccess = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); - if (!retSuccess) { + rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); + if (!rtnScs) { throw new RuntimeException("감경부과 등록 중 단속 대장의 단속상태 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback } } else { // 단속상태이력(TB_CRDN_STTS_HSTRY) 대장을 등록 한다. - retSuccess = crdnSttsHstryBean.create(crdnSttsHstry); - if (!retSuccess) { + rtnScs = crdnSttsHstryBean.create(crdnSttsHstry); + if (!rtnScs) { throw new RuntimeException("감경부과 등록 중 단속 대장의 단속상태 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback } } - retMessage = "[S] 작업이 정상 처리 되었습니다."; + rtnMsg = "[S] 작업이 정상 처리 되었습니다."; - return retMessage; + return rtnMsg; } /**감경부과 대장의 부과일자, 최초납기일자, 납기일자 정보를 수정한다. @@ -268,18 +273,18 @@ public class LevyBean extends AbstractComponent { */ public String updateRductLevyYmd(Levy levy) { // 변수 선언 - boolean retSuccess = false; // DB 처리 결과 - String retMessage = "[F] "; // 처리 결과 메시지 + boolean rtnScs = false; // DB 처리 결과 + String rtnMsg = "[F] "; // 처리 결과 메시지 - retSuccess = levyMapper.updateRductLevyYmd(levy); - if (!retSuccess) { + rtnScs = levyMapper.updateRductLevyYmd(levy); + if (!rtnScs) { // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback throw new RuntimeException("부과 대장에 사전 감경부과 일자 정보 수정에 실패하였습니다."); } - retMessage = "[S] 작업이 정상 처리 되었습니다."; + rtnMsg = "[S] 작업이 정상 처리 되었습니다."; - return retMessage; + return rtnMsg; } /**부과 대장에 수납 금액 정보를 수정한다. @@ -291,18 +296,18 @@ public class LevyBean extends AbstractComponent { */ public String updateRcvmtAmt(Levy levy) { // 변수 선언 - boolean retSuccess = false; // DB 처리 결과 - String retMessage = "[F] "; // 처리 결과 메시지 + boolean rtnScs = false; // DB 처리 결과 + String rtnMsg = "[F] "; // 처리 결과 메시지 - retSuccess = levyMapper.updateRcvmtAmt(levy); - if (!retSuccess) { + rtnScs = levyMapper.updateRcvmtAmt(levy); + if (!rtnScs) { // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback throw new RuntimeException("부과 대장에 수납금액 정보 수정에 실패하였습니다."); } - retMessage = "[S] 작업이 정상 처리 되었습니다."; + rtnMsg = "[S] 작업이 정상 처리 되었습니다."; - return retMessage; + return rtnMsg; } /**부과 대장 정보를 등록한다. diff --git a/src/main/java/cokr/xit/fims/levy/web/Levy01Controller.java b/src/main/java/cokr/xit/fims/levy/web/Levy01Controller.java index dc1f83a1..c4ee85bd 100644 --- a/src/main/java/cokr/xit/fims/levy/web/Levy01Controller.java +++ b/src/main/java/cokr/xit/fims/levy/web/Levy01Controller.java @@ -106,8 +106,10 @@ public class Levy01Controller extends ApplicationController { rductLevyYmdInfo.put("TNOCS", req.getTnocs()); rductLevyYmdInfo.put("GRAMT", req.getGramt()); - return mav.addObject("pageName", "levy01020") - .addObject("levyQuery", json ? req : toJson(req)) + return mav + .addObject("pageName", "levy01020") + .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 + .addObject("levyQuery", json ? req : toJson(req)) // Query .addObject("rductLevyYmdInfo", json ? rductLevyYmdInfo : toJson(rductLevyYmdInfo)) ; } @@ -121,9 +123,9 @@ public class Levy01Controller extends ApplicationController { */ public ModelAndView createReductionLevyList(LevyQuery req) { boolean saved = false; - String retMessage = levyService.createRductLevyList(req); + String rtnMsg = levyService.createRductLevyList(req); - if (retMessage.contains("[S]")) { + if (rtnMsg.contains("[S]")) { saved = true; } else { saved = false; @@ -131,7 +133,7 @@ public class Levy01Controller extends ApplicationController { return new ModelAndView("jsonView") .addObject("saved", saved) - .addObject("retMessage", retMessage); + .addObject("rtnMsg", rtnMsg); } /**부과 관리 메인화면(levy/levy01030-main)을 연다. diff --git a/src/main/webapp/WEB-INF/jsp/fims/excl/excl03010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/excl/excl03010-main.jsp index c60257e7..3cb9e274 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/excl/excl03010-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/excl/excl03010-main.jsp @@ -124,6 +124,9 @@ + @@ -439,7 +442,7 @@ }); }); - // DataTables width 변경 조정 + // DataTables width 변경 조정 업무별 그리드가 존재 한다면.. crdn06010-main.jsp 참고 $("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} ); // DataTables 스크롤 이벤트 생성 diff --git a/src/main/webapp/WEB-INF/jsp/fims/levy/levy01010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/levy/levy01010-main.jsp index f2bb9532..d5847952 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/levy/levy01010-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/levy/levy01010-main.jsp @@ -13,7 +13,7 @@
- @@ -77,7 +77,7 @@ - +
@@ -132,7 +135,7 @@ - @@ -246,10 +249,8 @@ , keymapper : info => info ? info.CRDN_ID : "" , dataGetter : obj => obj.rductLevyTrgtList , appendData : true + , untilPageNum : 0 // 현재 페이지 번호 , tableRenderComplete : false // dataTables 에 자료 추가 완료 여부 - , urls : { - getInfo : wctx.url("/sprt/sprt02/010/main.do") // 개별총정보 - } , formats : { CRDN_YMD_TM : datetimeFormat , CVLCPT_RCPT_YMD : dateFormat @@ -266,7 +267,7 @@ **************************************************************************/ // Dataset 변경 이벤트 ${pageName}Control.onDatasetChange = obj => { - renderList${pageName}(); + renderList${pageName}(obj.${infoPrefix}Total); $("#paging--${pageName}").setPagingInfo({ list : ${pageName}Control.dataset @@ -277,7 +278,7 @@ , func : "${pageName}Control.load({index})" }); - ${pageName}Control.tableRenderComplete = true; // dataTables 에 자료 추가 완료 + ${pageName}Control.tableRenderComplete = true; // dataTables 에 자료 추가 완료 }; // 현재 선택 자료 변경 이벤트 @@ -289,34 +290,40 @@ $("#tbody--${pageName}").setCurrentRow(key); }; - // 개별총정보 dialog - ${pageName}Control.getInfo = (crdnId) => { - if (!crdnId) return; + // 부과 정보 dialog + ${pageName}Control.getInfo = (params) => { + if (!params) return; - let params = { - callControlName : "${pageName}Control" - , crdnId : crdnId + let dialogTitle = ""; + + if (params.callPurpose == "create") { + dialogTitle = ${pageName}Control.prefixName + " 등록"; + } else if (params.callPurpose == "update") { + dialogTitle = ${pageName}Control.prefixName + " 수정"; + } else { + dialogTitle = ${pageName}Control.prefixName + " 정보"; } ajax.get({ - url : ${pageName}Control.urls.getInfo + url : wctx.url("/" + params.taskSeCd + ${pageName}PrefixUrl + "/020/info.do") , data : params || {} , success : resp => { dialog.open({ - id : "totalInfoMainDialog" - , title : "개별총정보" + id : ${pageName}Control.prefixed("Dialog") + , title : dialogTitle , content : resp - , size : "xxl" + , size : ${pageName}Control.infoSize + , onClose : () => { refreshList${pageName}(); } // 자료 재조회 }); } }); } /************************************************************************** - * + * DataTables 이벤트 **************************************************************************/ // DataTables에 click, dbclick 이벤트 - renderList${pageName} = () => { + renderList${pageName} = (totalSize) => { let ${infoPrefix}List = ${pageName}Control.dataset; let empty = ${infoPrefix}List.empty; @@ -326,116 +333,70 @@ document.getElementById("${infoPrefix}Row--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%> (str, dataItem) => str .replace(/{onclick}/gi, "${pageName}Control.setCurrent('" + dataItem.getValue("CRDN_ID") + "');") - .replace(/{ondblclick}/gi, "${pageName}Control.getInfo('" + dataItem.getValue("CRDN_ID") + "');") + .replace(/{ondblclick}/gi, "getTotalInfo${pageName}('" + dataItem.getValue("CRDN_ID") + "');") ); - $("#tbody--${pageName}").html(trs.join()); + 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")); } - // 부과 정보 dialog -> callback 추가 - getRductLevyInfo${pageName} = (params) => { - if (!params) return; + // DataTables에 스크롤이 맨 밑으로 이동했을 때 이벤트 + scrollDataList${pageName} = () => { + ${pageName}Control.tableRenderComplete = false; // dataTables 에 자료 추가 false + + ${pageName}Control.load(${pageName}Control.query.pageNum + 1); + } + + /************************************************************************** + * 사용자 함수(function) + **************************************************************************/ + // 개별총정보 dialog + 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 : wctx.url("/" + params.taskSeCd + ${pageName}PrefixUrl + "/020/info.do") - , data : params || {} + url : wctx.url(params.taskSeCd + "/sprt/sprt02/010/main.do") + , data : params , success : resp => { dialog.open({ - id : "rductLevyDialog" - , title : ${pageName}Control.prefixName + " 정보" + id : "totalInfoMainDialog" + , title : "개별총정보" , content : resp - , size : ${pageName}Control.infoSize + , size : "xxl" , init : () => { } - , onClose : () => { ${pageName}Control.load(${pageName}Control.query.pageNum); } // callback + , onClose : () => { } }); } }); } - /************************************************************************** - * 초기 설정 - **************************************************************************/ - // 초기화 - initForm${pageName} = () => { - // 화면 초기화 - $("#frmSearch--${pageName}")[0].reset(); - - // dataset 초기화 - ${pageName}Control.dataset.clear(); - } - - // 이벤트 - setEvent${pageName} = () => { - // form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용 - $("#frmSearch--${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); - } - }); - }); - - // 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); - } - }); - } - - // 화면 초기값 설정 - setForm${pageName} = (taskSeCd) => { - // 업무 구분 코드 - $("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true); - - // 최고 관리자 경우 업무구분을 선택할 수 있도록 하자. - $("#frmSearch--${pageName} input[name='taskSeCd']").each(function(i) { - $(this).prop("disabled", "true"); - }); - - // 달력 초기화 - initDatepicker("frmSearch--${pageName}"); - - $("#schCrdnYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-465).date); - $("#schCrdnYmdTo--${pageName}").datepicker("setDate", new Date()); + // 검색 자료 재조회 + refreshList${pageName} = () => { + ${pageName}Control.untilPageNum = ${pageName}Control.query.pageNum; + ${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize * ${pageName}Control.query.pageNum; - // DataTables width 변경 조정 - $("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} ); - } - - // 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.load(1); } /************************************************************************** @@ -443,24 +404,19 @@ **************************************************************************/ // 업무 구분 변경 fnResetAndChangeBiz${pageName} = (taskSeCd) => { - // 초기화 - initForm${pageName}(); - // 업무 구분 코드 if (typeof taskSeCd == "undefined" || taskSeCd == null || taskSeCd == "") { taskSeCd = $("#layout-navbar input[name='taskSeCd']:checked").val(); } - // 화면 초기값 설정 - setForm${pageName}(taskSeCd); + // 초기 기본 설정 + initForm${pageName}(taskSeCd); // URL 설정 setURL${pageName}(taskSeCd); - } - // 초기화 버튼 이벤트 - fnReset${pageName} = () => { - fnResetAndChangeBiz${pageName}(); + // 기본 데이터 설정 + setFormData${pageName}(); } // 검색 버튼 이벤트 @@ -468,11 +424,10 @@ // 검색조건 ${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.query.fetchSize = ${pageName}Control.defaultFetchSize; // 한번에 조회되는 자료 건수 FETCH_XS = 30 + ${pageName}Control.query.delYn = "N"; // 삭제 여부 - ${pageName}Control.load(); + ${pageName}Control.load(1); } // 엑셀 버튼 이벤트 @@ -481,38 +436,102 @@ } // 사용자 조회 버튼 이벤트 - fnUser${pageName} = () => { + fnFindUser${pageName} = () => { } // 감경부과등록 버튼 이벤트 - fnRductLevyInfo${pageName} = () => { + fnCreate${pageName} = () => { let params = ${pageName}Control.query; params.callPurpose = "create"; params.tnocs = ${pageName}Control.dataset.getValue("TNOCS"); params.gramt = ${pageName}Control.dataset.getValue("GRAMT"); - getRductLevyInfo${pageName}(params); + ${pageName}Control.getInfo(params); + } + + /************************************************************************** + * 초기 설정 + **************************************************************************/ + // 이벤트 + 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() { + 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); + } + }); + }); + + // DataTables width 변경 조정 업무별 그리드가 존재 한다면.. crdn06010-main.jsp 참고 + $("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} ); + + // DataTables 스크롤 이벤트 생성 + fnMakeScrollableTable($("#table-responsive--${pageName}")[0], scrollDataList${pageName}); + } + + // 화면 초기 설정 + 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"); + }); + + // 달력 초기화 + initDatepicker("frmSearch--${pageName}"); + $("#schCrdnYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-465).date); + $("#schCrdnYmdTo--${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"); // 조회 + } + + // 기본 데이터 설정 + 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/levy/levy01020-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/levy/levy01020-info.jsp index 868ef457..7dde9147 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/levy/levy01020-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/levy/levy01020-info.jsp @@ -20,8 +20,8 @@
- - + +
@@ -33,14 +33,14 @@ - +
- +
@@ -68,6 +68,8 @@ **************************************************************************/ // URL var ${pageName}PrefixUrl = "/levy/levy01"; + // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정) + var ${pageName}CallPurpose = "${callPurpose}"; // FormFields var ${pageName}Fields = new FimsFormFields("#frmEdit--${pageName}"); // main 의 검색 조건을 그대로 유지 @@ -77,7 +79,7 @@ * DatasetControl **************************************************************************/ var ${pageName}Control = new DatasetControl({ - prefix : "rductLevy" + prefix : "rductLevyTrgt" , prefixName : "감경부과" , keymapper : info => info ? info.CRDN_ID : "" , dataGetter : obj => obj.rductLevyInfo @@ -99,6 +101,7 @@ // 업무구분에 따른 url 변경 ${pageName}Control.urls.create = wctx.url(item.data.TASK_SE_CD + ${pageName}PrefixUrl + "/020/createRductLevyList.do"); +// ${pageName}Control.urls.update = wctx.url(item.data.TASK_SE_CD + ${pageName}PrefixUrl + "/020/updateRductLevyList.do"); } /************************************************************************** @@ -107,7 +110,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); @@ -121,14 +124,36 @@ if (!info) return; let params = $.extend({}, ${pageName}Query, info); // 객체를 합친다. + let create = (${pageName}CallPurpose == "create"); ajax.post({ - url : info.taskSeCd + ${pageName}PrefixUrl + "/020/createRductLevyList.do" + url : !create ? ${pageName}Control.urls.update : ${pageName}Control.urls.create , data : params , success : resp => ${pageName}Control.onSave(resp) }); } + /************************************************************************** + * 사용자 함수(function) + **************************************************************************/ + + + /************************************************************************** + * 버튼 clickEvent + **************************************************************************/ + // 저장 버튼 클릭 이벤트 + fnSave${pageName} = () => { + // validate 확인 + if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return; + + dialog.alert({ + content : "현재 " + ${pageName}Control.prefixName + " 정보를 저장하시겠습니까?" + , onOK : () => { + ${pageName}Control.save(${pageName}Fields.get()); + } + }); + } + /************************************************************************** * 초기 셋팅 **************************************************************************/ @@ -155,8 +180,11 @@ }); } - // 검색조건 초기값 셋팅 - setForm${pageName} = () => { + // 화면 초기 설정 + initForm${pageName} = () => { + // 화면 초기화 + $("#frmEdit--${pageName}")[0].reset(); + // 달력 초기화 initDatepicker("frmEdit--${pageName}"); @@ -164,20 +192,23 @@ $("#dudtYmd--${pageName}").datepicker("setDate", new Date()); } - /************************************************************************** - * 버튼 click Event - **************************************************************************/ - // 저장 버튼 클릭 이벤트 - fnSave${pageName} = () => { - // validate 확인 - if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return; - - dialog.alert({ - content : "현재 " + ${pageName}Control.prefixName + " 정보를 저장하시겠습니까?" - , onOK : () => { - ${pageName}Control.save(${pageName}Fields.get()); - } - }); + // 기본 데이터 설정 + setFormData${pageName} = () => { + $("#tnocs--${pageName}").prop("readonly", true); // 총건수 + $("#gramt--${pageName}").prop("readonly", true); // 총금액 + + if (${pageName}CallPurpose == "view") { + // input 요소들을 disabled + $("#frmEdit--${pageName}").find("input,textarea,select").prop("disabled", true); + // button 요소들을 disabled + $("#btnLevyYmd--${pageName}").prop("disabled", true); // 부과 일자 버튼 + $("#btnDudtYmd--${pageName}").prop("disabled", true); // 납기 일자 버튼 + $("#btnSave--${pageName}").prop("disabled", true); // 저장 버튼 + } else if (${pageName}CallPurpose == "create") { + // + } else if (${pageName}CallPurpose == "update") { + // + } } /************************************************************************** @@ -187,11 +218,14 @@ // 이벤트 설정 setEvent${pageName}(); - // 화면 초기 설정 - setForm${pageName}(); + // 초기 기본 설정 + initForm${pageName}(); - // Dataset 셋팅 + // Dataset 설정 ${pageName}Control.setData([${rductLevyYmdInfo}]); + + // 기본 데이터 설정 + setFormData${pageName}(); }); diff --git a/src/main/webapp/WEB-INF/jsp/fims/levy/levy01050-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/levy/levy01050-main.jsp index 0381eddd..f1c76325 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/levy/levy01050-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/levy/levy01050-main.jsp @@ -13,7 +13,7 @@
- @@ -143,16 +143,6 @@ @@ -371,10 +364,8 @@ , keymapper : info => info ? info.LEVY_ID : "" , dataGetter : obj => obj.levyList , appendData : true + , untilPageNum : 0 // 현재 페이지 번호 , tableRenderComplete : false // dataTables 에 자료 추가 완료 여부 - , urls : { - getInfo : wctx.url("/sprt/sprt02/010/main.do") // 개별총정보 - } , formats : { LEVY_YMD : dateFormat , FRST_DUDT_YMD : dateFormat @@ -403,7 +394,7 @@ **************************************************************************/ // Dataset 변경 ${pageName}Control.onDatasetChange = obj => { - renderList${pageName}(); + renderList${pageName}(obj.${infoPrefix}Total); $("#paging--${pageName}").setPagingInfo({ list : ${pageName}Control.dataset @@ -438,17 +429,79 @@ }); }; + // 부과 정보 dialog + ${pageName}Control.getInfo = (params) => { + if (!params) return; + + let dialogTitle = ""; + + if (params.callPurpose == "create") { + dialogTitle = ${pageName}Control.prefixName + " 등록"; + } else if (params.callPurpose == "update") { + dialogTitle = ${pageName}Control.prefixName + " 수정"; + } else { + dialogTitle = ${pageName}Control.prefixName + " 정보"; + } + } + + /************************************************************************** + * 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("LEVY_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({ @@ -456,49 +509,74 @@ , 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("LEVY_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"; // 삭제 여부 - // dataset 초기화 - ${pageName}Control.dataset.clear(); + ${pageName}Control.load(1); } + // 엑셀 버튼 이벤트 + fnExcel${pageName} = () => { + + } + + // 사용자 조회 버튼 이벤트 + 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() { @@ -512,40 +590,20 @@ }); }); - // DataTables width 변경 조정 + // 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"); - - 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"); @@ -563,67 +621,32 @@ // URL 설정 setURL${pageName} = (taskSeCd) => { - ${pageName}Control.urls.load = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/050/list.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.load(); + ${pageName}Control.urls.load = wctx.url(taskSeCd + ${pageName}PrefixUrl + "/050/list.do"); // 조회 } - // 엑셀 버튼 이벤트 - fnExcel${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/levy/levy02010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/levy/levy02010-main.jsp index 261cfc4a..89e493ea 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/levy/levy02010-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/levy/levy02010-main.jsp @@ -293,7 +293,7 @@ $(document).ready(function(){ var trs = empty ? notFound : rductList.inStrings(found,replacer); var noMore = (total == rductList.length); var initScroll = ($P.rductControl.query.pageNum < 2) && ($P.rductControl.untilPageNum == 0); - + $("#table-responsive--${pageName}")[0].changeContent(trs.join(), initScroll, noMore); //보안모드 @@ -321,7 +321,7 @@ $(document).ready(function(){ **************************************************************************/ $('#btnReset--${pageName}').on('click', () => $P.fnReset()); $('#btnSearch--${pageName}').on('click', () => $P.searchRductList()); - + fnMakeScrollableTable($("#table-responsive--${pageName}")[0], $P.scrollRductList); /**************************************************************************