From 21651e5754f4b255a477ce11763045d5d5286078 Mon Sep 17 00:00:00 2001 From: jjh Date: Tue, 25 Jun 2024 14:13:23 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B3=A0=EC=A7=80=EC=84=9C=20=EB=B0=9C?= =?UTF-8?q?=EC=86=A1=20=ED=98=84=ED=99=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/sndb/web/Sndb01Controller.java | 255 ++++++++-- .../WEB-INF/jsp/fims/sndb/sndb01010-main.jsp | 1 - .../WEB-INF/jsp/fims/sndb/sndb01030-main.jsp | 6 +- .../WEB-INF/jsp/fims/sndb/sndb01050-main.jsp | 14 +- .../WEB-INF/jsp/fims/sndb/sndb01070-main.jsp | 14 +- .../WEB-INF/jsp/fims/sndb/sndb01080-info.jsp | 16 +- .../WEB-INF/jsp/fims/sndb/sndb01110-main.jsp | 300 ++++++----- .../WEB-INF/jsp/fims/sndb/sndb01120-info.jsp | 469 +++++++++--------- .../WEB-INF/jsp/fims/sndb/sndb01220-main.jsp | 31 -- .../WEB-INF/jsp/fims/sndb/sndb01240-main.jsp | 1 + 10 files changed, 617 insertions(+), 490 deletions(-) diff --git a/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java b/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java index eb1e3743..acc3003c 100644 --- a/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java +++ b/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java @@ -32,6 +32,7 @@ import cokr.xit.fims.cmmn.OutsourcingStngQuery; import cokr.xit.fims.cmmn.dao.OtptStngMapper; import cokr.xit.fims.cmmn.hwp.format.SvbtcList; import cokr.xit.fims.cmmn.pdf.print.format.Advntce; +import cokr.xit.fims.cmmn.pdf.print.format.Nht; import cokr.xit.fims.cmmn.service.bean.OutsourcingStngBean; import cokr.xit.fims.cmmn.service.bean.StngBean; import cokr.xit.fims.cmmn.xls.FormatMaker; @@ -90,9 +91,8 @@ public class Sndb01Controller extends ApplicationController { , getAdvanceNoticeSendingDetailInfo = "/080/info.do" // 사전통지 발송 현황 상세 화면 , getAdvanceNoticeSendingDetailList = "/080/list.do" // 사전통지 발송 현황 상세 목록 조회 , createSendingLink = "/080/createSndngLink.do" // 사전통지 발송 현황 상세 목록의 우편통합 발송 연계 등록 - , makeAdvanceNoticePdf = "/080/makePdf.do" // 사전통지 발송 현황 사전통지서 출력(PDF) - , makeAdvanceNoticeOutsourcing = "/080/makeOutsourcing.do" // 사전통지 발송 현황 사전통지서 출력(외주파일) - , createAdvanceNoticeSendBackList = "/080/createSndbkList.do" // 사전통지 발송 상세 목록의 반송 확인(등록) + , makeAdvanceNoticePdf = "/080/makeAdvntcePdf.do" // 사전통지 발송 현황 사전통지서 출력(PDF) + , makeAdvanceNoticeOutsourcing = "/080/makeAdvntceOutsourcing.do" // 사전통지 발송 현황 사전통지서 출력(외주파일) , noticeSheetTargetMain = "/090/main.do" // 고지서 발송 대상 메인 화면 , getNoticeSheetTargetList = "/090/list.do" // 고지서 발송 대상 목록 조회 , getNoticeSheetTargetInfo = "/100/info.do" // 고지서 발송 대상 조회 @@ -102,6 +102,9 @@ public class Sndb01Controller extends ApplicationController { , removeNoticeSheetSending = "/110/remove.do" // 고지서 발송 현황 삭제 , getNoticeSheetSendingDetailInfo = "/120/info.do" // 고지서 발송 현황 화면 , getNoticeSheetSendingDetailList = "/120/list.do" // 고지서 발송 현황 상세 목록 조회 + , makeNoticeSheetPdf = "/120/makeNhtPdf.do" // 고지서 발송 현황 사전통지서 출력(PDF) + , makeNoticeSheetOutsourcing = "/120/makeNhtOutsourcing.do" // 고지서 발송 현황 사전통지서 출력(외주파일) + , sendingDetailInfo = "/210/info.do" // 수기 반송 등록 상세 , getSendingDetailList = "/210/list.do" // 수기 반송 등록 조회 @@ -109,6 +112,7 @@ public class Sndb01Controller extends ApplicationController { , getSendBackList = "/220/list.do" // 반송 현황 목록 조회 , removeSendBack = "/220/remove.do" // 반송 삭제 , getSendBackInfo = "/230/info.do" // 반송 정보 조회 + , createSendBackList = "/230/createSndbkList.do" // 사전통지 발송 상세 목록의 반송 확인(등록) , createSendBack = "/230/create.do" // 반송 등록 , updateSendBack = "/230/update.do" // 반송 수정 , serviceByPublicNoticeMain = "/240/main.do" // 공시송달 현황 메인 화면 @@ -842,23 +846,6 @@ public class Sndb01Controller extends ApplicationController { } } - - - - - - - - - - - - - - - - - /**고지서 발송 대상 자료 메인화면(sndb/sndb01/090-main)을 연다. * @return /sndb/sndb01/090-main */ @@ -971,10 +958,6 @@ public class Sndb01Controller extends ApplicationController { @Task @RequestMapping(name="고지서 발송 대상 상세 화면", value=METHOD_URL.getNoticeSheetTargetInfo) public ModelAndView getNoticeSheetTargetInfo(HttpServletRequest hReq, SndbQuery req) { -// ModelAndView mav = getWarningTargetList(req); - -// mav.setViewName("fims/sndb/sndb01100-info"); - ModelAndView mav = new ModelAndView("fims/sndb/sndb01100-info"); return mav @@ -996,7 +979,7 @@ public class Sndb01Controller extends ApplicationController { * } */ @Task - @RequestMapping(name="고지서 발송 등록", value=METHOD_URL.createNoticeSheetSendingList) + @RequestMapping(name="고지서 발송 대장 등록", value=METHOD_URL.createNoticeSheetSendingList) public ModelAndView createNoticeSheetSendingList(SndbQuery req, Sndng sndng) { boolean saved = false; String rtnMsg = sndngService.createNhtSndngList(req, sndng); @@ -1021,7 +1004,7 @@ public class Sndb01Controller extends ApplicationController { * } */ @Task - @RequestMapping(name="발송 대장 삭제", value=METHOD_URL.removeNoticeSheetSending) + @RequestMapping(name="고지서 발송 대장 삭제", value=METHOD_URL.removeNoticeSheetSending) public ModelAndView removeNoticeSheetSending(Sndng sndng) { boolean saved = false; String rtnMsg = ""; @@ -1064,13 +1047,16 @@ public class Sndb01Controller extends ApplicationController { ManagedUser managedUser = (ManagedUser)currentUser().getUser(); // View(jsp)에서 사용할 공통코드를 조회 - Map> commonCodes = getCodesOf("FIM054"); + Map> commonCodes = getCodesOf("FIM047", "FIM054", "FIM067"); - return mav.addObject("pageName", "sndb01110") // View(jsp)에서 사용할 id 뒤에 붙일 suffix + return mav + .addObject("pageName", "sndb01110") // View(jsp)에서 사용할 id 뒤에 붙일 suffix .addObject("infoPrefix", "nhtSndng") // prefix .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl .addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD) .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 시군구에서 사용하는 업무 목록 + .addObject("FIM047List", commonCodes.get("FIM047")) // 발송 구분 코드(SNDNG_SE_CD) + .addObject("FIM067List", commonCodes.get("FIM067")) // 발송 등록 구분 코드(SNDNG_REG_SE_CD) ; } @@ -1357,6 +1343,30 @@ public class Sndb01Controller extends ApplicationController { } } + /**발송상세 목록의 반송 정보를 등록한다. + * @param sndngDtl 발송상세 정보 + * @return jsonView + *
 {
+	 *     "saved": 수정되었으면 true, 그렇지 않으면 false
+	 * }
+ */ + @Task + @RequestMapping(name="발송상세 목록의 반송 정보 등록", value=METHOD_URL.createSendBackList) + public ModelAndView createSendBackList(SndbQuery req) { + boolean saved = false; + String rtnMsg = sndngDtlService.createSndbkList(req); + + if (rtnMsg.contains("[S]")) { + saved = true; + } else { + saved = false; + } + + return new ModelAndView("jsonView") + .addObject("saved", saved) + .addObject("rtnMsg", rtnMsg); + } + /**발송상세 정보의 반송 정보를 등록한다. * @param sndngDtl 발송상세 정보 * @return jsonView @@ -1937,8 +1947,8 @@ public class Sndb01Controller extends ApplicationController { * @return 사전통지서 PDF파일 */ @Task - @RequestMapping(name="사전통지발송 현황 사전통지서 pdf 파일 생성", value=METHOD_URL.makeAdvanceNoticePdf) - public ModelAndView makeAdvanceNoticePdf(FimsPrintOption printOption, SndbQuery req) { + @RequestMapping(name="사전통지서 pdf 파일 생성", value=METHOD_URL.makeAdvanceNoticePdf) + public ModelAndView makeAdvanceNoticePdf(SndbQuery req, FimsPrintOption printOption) { ModelAndView mav = new ModelAndView("downloadView"); List list = sndngDtlService.getSndngTrgtDtlIds(req); @@ -2034,8 +2044,8 @@ public class Sndb01Controller extends ApplicationController { * @return 사전통지서 압축파일 */ @Task - @RequestMapping(name="사전통지발송 현황 사전통지서 외주 파일 생성", value=METHOD_URL.makeAdvanceNoticeOutsourcing) - public ModelAndView makeAdvanceNoticeOutsourcing(FimsPrintOption printOption, SndbQuery req) { + @RequestMapping(name="사전통지서 외주 파일 생성", value=METHOD_URL.makeAdvanceNoticeOutsourcing) + public ModelAndView makeAdvanceNoticeOutsourcing(SndbQuery req, FimsPrintOption printOption) { ModelAndView mav = new ModelAndView("downloadView"); String taskSeCd = ""; @@ -2110,28 +2120,175 @@ public class Sndb01Controller extends ApplicationController { return mav; } - /**발송상세 목록의 반송 정보를 등록한다. - * @param sndngDtl 발송상세 정보 - * @return jsonView - *
 {
-	 *     "saved": 수정되었으면 true, 그렇지 않으면 false
-	 * }
+ /** 고지서를 PDF 파일로 작성한다. + * @return 고지서 PDF파일 */ @Task - @RequestMapping(name="발송상세 목록의 반송 정보 등록", value=METHOD_URL.createAdvanceNoticeSendBackList) - public ModelAndView createAdvanceNoticeSendBackList(SndbQuery req) { - boolean saved = false; - String rtnMsg = sndngDtlService.createSndbkList(req); + @RequestMapping(name="고지서 pdf 파일 생성", value=METHOD_URL.makeNoticeSheetPdf) + public ModelAndView makeNoticeSheetPdf(SndbQuery req, FimsPrintOption printOption) { + // 고지서 출력 대상 자료 조회 + List list = sndngDtlService.getSndngTrgtDtlIds(req); - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; + String[] crdnIds = new String[list.size()]; + for (int iLoop = 0; iLoop < list.size(); iLoop++) { + crdnIds[iLoop] = list.get(iLoop).string("CRDN_ID"); } - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); + UserInfo userInfo = currentUser(); + fimsOgdpBean.initUserInfo(userInfo); + + ModelAndView mav = new ModelAndView("downloadView"); + + // 단속 대장 조회 + SprtQuery sprtQuery = new SprtQuery(); + sprtQuery.setCrdnIds(crdnIds); + + ListdataObjectList = integrationSearchMapper.selectIntegrationDataList(sprtQuery); + + for (int i=0; i < dataObjectList.size(); i++) { + DataObject dataObject = dataObjectList.get(i); + String crdnId = dataObject.string("CRDN_ID"); + + FileQuery fileQuery = new FileQuery(); + fileQuery.setInfoType(Crdn.INF_TYPE); + fileQuery.setInfoKeys(crdnId); + + List fileInfoList = fileBean.getFileList(fileQuery); + if (fileInfoList != null && fileInfoList.size() > 0) { + for (int j=0; j mosSet = mediaBean.getMosaicList(fileInfoList.get(j).string("FILE_ID")); + if (mosSet != null && !mosSet.isEmpty()) { + dataObject.set("MOS"+fileInfoList.get(j).string("FILE_ID"), mosSet); + } + } + } + } + + Print print = new Print(); + print.setPrintRequestUserInfo(userInfo); + + //출력물 기본 설정 + OtptStngQuery otptStngQuery = new OtptStngQuery(); + String paperSeCd = printOption.getPaperSeCd(); + String taskSeCd = printOption.getTaskSeCd(); + otptStngQuery.setSggCd((String)userInfo.getInfo().get("sggCd")); + otptStngQuery.setTaskSeCd(taskSeCd); + otptStngQuery.setSndngSeCd("03"); + otptStngQuery.setPaperSeCd(paperSeCd); + DataObject otptBscStng = otptStngMapper.selectOtptBscStng(otptStngQuery); + if(otptBscStng == null) { + otptBscStng = new DataObject(); + } + //출력 요소별 설정 + List otptArtclStngList = otptStngMapper.selectOtptArtclStngList(otptStngQuery); + + DataObject sggStngInfo = stngBean.getStng("sgg"); + DataObject deptStngInfo = stngBean.getStng("dept"); + // + Map globalVariable = printOption.getGlobalVariable(); + if(globalVariable == null) { + globalVariable = new HashMap(); + } + globalVariable.put("offcsFilePath", sggStngInfo.string("OFFCS_FILE_PATH")); + globalVariable.put("logoFilePath", sggStngInfo.string("LOGO_FILE_PATH")); + globalVariable.put("instAddr", sggStngInfo.string("INST_ADDR")); + globalVariable.put("instDaddr", sggStngInfo.string("INST_DADDR")); + globalVariable.put("instZip", sggStngInfo.string("INST_ZIP")); + globalVariable.put("deptTelno", deptStngInfo.string("DEPT_TELNO")); + globalVariable.put("deptFxno", deptStngInfo.string("DEPT_FXNO")); + if(!otptBscStng.string("BCRN_IMG_PATH").equals("")) { + globalVariable.put("bcrnImgPath", otptBscStng.string("BCRN_IMG_PATH")); + } + printOption.setGlobalVariable(globalVariable); + + Nht pdfFormat = new Nht(print,printOption,otptBscStng,otptArtclStngList,paperSeCd,dataObjectList); + + Map result = pdfFormat.makeFile(); + + mav.addAllObjects(result); + + return mav; + } + + /** 고지서 정보로 txt파일,이미지파일을 생성하고 압축파일로 반환한다. + * @return 고지서 압축파일 + */ + @Task + @RequestMapping(name="고지서 외주 파일 생성", value=METHOD_URL.makeNoticeSheetOutsourcing) + public ModelAndView makeNoticeSheetOutsourcing(SndbQuery req, FimsPrintOption printOption) { + // 고지서 출력 대상 자료 조회 + List list = sndngDtlService.getSndngTrgtDtlIds(req); + + String[] crdnIds = new String[list.size()]; + for (int iLoop = 0; iLoop < list.size(); iLoop++) { + crdnIds[iLoop] = list.get(iLoop).string("CRDN_ID"); + } + + UserInfo userInfo = currentUser(); + fimsOgdpBean.initUserInfo(userInfo); + + ModelAndView mav = new ModelAndView("downloadView"); + + String taskSeCd = req.getTaskSeCd(); + + // 단속 대장 조회 + SprtQuery sprtQuery = new SprtQuery(); + sprtQuery.setCrdnIds(crdnIds); + + List dataObjectList = integrationSearchMapper.selectIntegrationDataList(sprtQuery); + + for (int i=0; i < dataObjectList.size(); i++) { + DataObject dataObject = dataObjectList.get(i); + + if (taskSeCd.equals("")) { + taskSeCd = dataObject.string("TASK_SE_CD"); + } + + FileQuery fileQuery = new FileQuery(); + fileQuery.setInfoType(Crdn.INF_TYPE); + fileQuery.setInfoKeys(dataObject.string("CRDN_ID")); + List fileInfoList = fileBean.getFileList(fileQuery); + + if (fileInfoList != null) { + int crdnPhotoCnt = fileInfoList.size(); + for (int j=0; j < fileInfoList.size(); j++) { + DataObject fileInfo = fileInfoList.get(j); + dataObject.set("CRDN_PHOTO"+(j+1), fileInfo.string("FILE_PATH")); + dataObject.set("CRDN_PHOTO"+(j+1)+"KEY", fileInfo.string("FILE_ID")); + + List mosSet = mediaBean.getMosaicList(fileInfo.string("FILE_ID")); + if (mosSet != null) { + for (int k=0; k < mosSet.size(); k++) { + dataObject.set("MOS"+fileInfo.string("FILE_ID"), mosSet); + } + } + } + dataObject.set("CRDN_PHOTO_CNT", crdnPhotoCnt); + } else { + dataObject.set("CRDN_PHOTO_CNT", 0); + } + } + + ManagedUser currentUser = (ManagedUser) currentUser().getUser(); + String sggCd = currentUser.getOrgID(); + + OutsourcingStngQuery stngQuery = new OutsourcingStngQuery(); + stngQuery.setSggCd(sggCd); + stngQuery.setTaskSeCd(taskSeCd); + stngQuery.setSndngSeCd("03"); + + List printStngItems = outsourcingStngBean.getArtclStngList(stngQuery); + + OutsourcingFileMaker osMaker = new OutsourcingFileMaker("고지서", printOption, printStngItems, dataObjectList); + + Map result = osMaker.makeFile(); + + mav.addAllObjects(result); + + return mav; } /**과태료 대장 단속 정보 등록를 등록한다. diff --git a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01010-main.jsp index 843982d8..a23c36b1 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01010-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01010-main.jsp @@ -291,7 +291,6 @@ - diff --git a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01030-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01030-main.jsp index cc30e377..eb6ee29e 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01030-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01030-main.jsp @@ -47,7 +47,7 @@ - +
@@ -72,7 +72,7 @@
- +
@@ -217,7 +217,6 @@
- @@ -324,6 +323,7 @@ let params = { title: $P.control.prefixName + " 상세 정보" // 타이틀 , callPurpose: "view" // 호출 용도 + , fetchSize: $P.control.defaultFetchSize // 한번에 조회되는 자료 건수 , pageNum: 1 // 페이지 번호 , sggCd: $("#sggCd--${pageName}").val() // 시군구 코드 , taskSeCd: $("#frmSearch--${pageName} input[name='taskSeCd']:checked").val() // 업무 구분 코드 diff --git a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01050-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01050-main.jsp index 81801a63..f43bd172 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01050-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01050-main.jsp @@ -24,18 +24,17 @@ 엑셀 - - +
- + diff --git a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01070-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01070-main.jsp index 3300fb62..5dd3d361 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01070-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01070-main.jsp @@ -29,7 +29,7 @@ - + -
- + +
@@ -133,7 +133,7 @@
- + - - +
@@ -36,7 +36,7 @@
- 업무구분 + 업무구분
- 발송일자 + @@ -60,13 +60,33 @@
+ +
+ + +
+ +
+ + +
- + - +
- + -
- + + +
@@ -123,18 +141,17 @@
+ - - - - - +
@@ -154,6 +171,7 @@ 업무구분 등록구분 + 발송구분 위반항목 발송일자 납기일자 @@ -173,6 +191,7 @@ {TASK_SE_NM} {SNDNG_REG_SE_NM} + {SNDNG_SE_NM} {VLTN_ARTCL} {SNDNG_YMD} {SNDNG_END_YMD} @@ -189,30 +208,30 @@
- - + + - +
@@ -229,10 +248,8 @@ **************************************************************************/ $(document).ready(function() { // pageObject - var $P = pageObject["${pageName}"]; + let $P = pageObject["${pageName}"]; - // URL - $P.PrefixUrl = "/sndb/sndb01"; // FormFields $P.formFields = new FimsFormFields("#frmSearch--${pageName}"); @@ -242,10 +259,10 @@ $P.control = new DatasetControl({ prefix: "nhtSndng" , prefixName: "고지서 발송 현황" - , infoSize: "xxl" , keymapper: info => info ? info.SNDNG_ID : "" , dataGetter: obj => obj.${infoPrefix}List , appendData: true + , infoSize: "xxl" , formats: { SNDNG_YMD: dateFormat , SNDNG_END_YMD: dateFormat @@ -256,10 +273,10 @@ } }); // $P.control 설정 - $P.control.defaultFetchSize = FETCH_XS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30 - $P.control.untilPageNum = 0; // 현재 페이지 번호 - $P.control.tableRenderComplete = false; // dataTables 에 자료 추가 완료 여부 + $P.control.defaultFetchSize = FETCH_XS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30 + $P.control.untilPageNum = 0; // 현재 페이지 번호 $P.control.beforeCurrent = null; + $P.control.tableRenderComplete = false; // dataTables 에 자료 추가 완료 여부 /************************************************************************** * DatasetControl 이벤트 @@ -277,7 +294,7 @@ , func: "pageObject['${pageName}'].control.load({index})" }); - $P.control.tableRenderComplete = true; // dataTables 에 자료 추가 완료 + $P.control.tableRenderComplete = true; // dataTables 에 자료 추가 완료 }; // 현재 선택 자료 변경 이벤트 @@ -296,12 +313,11 @@ $("#tbody--${pageName} input[type='checkbox']").each(function() { let checkbox = $(this); - checkbox.prop("checked", keys.includes(checkbox.val())); }); // 삭제 버튼 - $("#btnRemoveNhtSndng--${pageName}").prop("disabled", keys.length < 1); + $("#btnRemove--${pageName}").prop("disabled", keys.length < 1); // DataTables(그리드) 전체 선택(checkbox) if (keys.length < 1) { @@ -313,24 +329,30 @@ } }; - // 발송 상세 + // 상세정보 dialog $P.control.getInfo = (sndngId) => { if (typeof sndngId == "undefined" || sndngId == null || sndngId == "") return; - let params = $P.control.query; - params.callPurpose = "view"; // 호출 용도 - params.pageNum = 1; // 페이지 번호 - params.sndngId = sndngId; // 발송 ID + let params = { + title: $P.control.prefixName + " 상세 정보" // 타이틀 + , callPurpose: "view" // 호출 용도 + , fetchSize: $P.control.defaultFetchSize // 한번에 조회되는 자료 건수 + , pageNum: 1 // 페이지 번호 + , sggCd: $("#sggCd--${pageName}").val() // 시군구 코드 + , taskSeCd: $("#frmSearch--${pageName} input[name='taskSeCd']:checked").val() // 업무 구분 코드 + , sndngId: sndngId // 발송 ID + } ajax.get({ - url: $P.control.urls.getInfo - , data: params + url: wctx.url("/" + params.taskSeCd + "${infoPrefixUrl}" + "/120/info.do") + "?openerPageName=${pageName}" + , data: params || {} , success: resp => { dialog.open({ - id: $P.control.prefixed("DtlDialog") - , title: "고지서 발송 상세 내용" + id: $P.control.prefixed("DtlDialog--${pageName}") + , title: params.title , content: resp , size: $P.control.infoSize + , init: () => { setDialogZindex(); } }); } }); @@ -338,18 +360,17 @@ // 삭제 callback $P.control.onRemove = (resp) => { - let btnTitle = $("#btnRemoveNhtSndng--${pageName}").attr("title"); + let btnTitle = $("#btnRemove--${pageName}").attr("title"); let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle); // 메시지 출력 dialog.alert({ content: showMessage + , init: () => { setDialogZindex(); } , onOK: () => { } }); - if (resp.saved) { - $P.refreshList(); - } + if (resp.saved) { $P.fnRefreshList(); } // 자료 재조회 } // 삭제 @@ -357,7 +378,7 @@ if (!params) return; ajax.post({ - url: $P.control.urls.remove + url: wctx.url("/" + params.taskSeCd + "${infoPrefixUrl}" + "/110/remove.do") , data: params , success: resp => $P.control.onRemove(resp) }); @@ -409,7 +430,7 @@ // DataTables에 스크롤이 맨 밑으로 이동했을 때 이벤트 $P.scrollDataList = () => { - $P.control.tableRenderComplete = false; // dataTables 에 자료 추가 false + $P.control.tableRenderComplete = false; // dataTables 에 자료 추가 false $P.control.load($P.control.query.pageNum + 1); } @@ -417,76 +438,53 @@ /************************************************************************** * 사용자 함수(function) **************************************************************************/ - // callback 사용자 검색 - $P.callbackFindUser = (userId, userNm) => { - $("#schRgtrCd--${pageName}").val(userId); // 사용자 ID - $("#schRgtrNm--${pageName}").val(userNm); // 사용자 명 - } + // 검색 자료 재조회 + $P.fnRefreshList = () => { + $P.control.untilPageNum = $P.control.query.pageNum; + $P.control.query.fetchSize = $P.control.defaultFetchSize * $P.control.query.pageNum; - // 사용자 검색 - $P.getFindUser = () => { - let params = { - openerPageName : "${pageName}" - , callbackFuncName : "pageObject['${pageName}']['callbackFindUser']" - } + $P.control.load(1); + } - ajax.get({ - url: wctx.url("/user/user02/010/main.do") - , data: params || {} - , success: resp => { - dialog.open({ - id: "userDialog" - , title: "사용자 검색" - , content: resp - , size: "lg" - }); - } - }); + // 사용자검색 callback + $P.callbackFindUser = (userId, userNm) => { + $("#schRgtrCd--${pageName}").val(userId); // 사용자 ID + $("#schRgtrNm--${pageName}").val(userNm); // 사용자 명 } - // 신규 등록 dialog -> callback 추가 + // 발송 등록 dialog -> callback 추가 $P.getNhtSndngInfo = (params) => { if (!params) return; ajax.get({ - url: wctx.url("/" + params.taskSeCd + $P.PrefixUrl + "/100/info.do") + url: wctx.url("/" + params.taskSeCd + "${infoPrefixUrl}" + "/100/info.do") + "?openerPageName=${pageName}" , data: params || {} , success: resp => { dialog.open({ - id: "nhtTrgtDialog" + id: "nhtTrgtDialog--${pageName}" , title: "고지서 발송 대상" , content: resp , size: "lg" - , onClose: () => { } + , init: () => { setDialogZindex(); } }); } }); } - // 삭제 사유 callback + // 삭제사유 callback $P.callbackRsn = (obj) => { - // 선택 자료 - let selected = $P.control.dataset.getKeys("selected"); - - if (selected.length < 1) return; - // 서버에 전송할 data(파라미터) 생성 let params = {}; + let selected = $P.control.dataset.getKeys("selected"); - params.sndngIds = selected.join(","); // Ids - params.delRsn = obj.reason; // 삭제 사유 + params[$P.control.prefixed("Ids")] = selected.join(","); // IDs + params.sggCd = $("#sggCd--${pageName}").val(); // 시군구 코드 + params.taskSeCd = $("#frmSearch--${pageName} input[name='taskSeCd']:checked").val(); // 업무 구분 코드 + params.delRsn = obj.reason; // 삭제 사유 $P.control.remove(params); } - // 검색 자료 재조회 - $P.refreshList = () => { - $P.control.untilPageNum = $P.control.query.pageNum; - $P.control.query.fetchSize = $P.control.defaultFetchSize * $P.control.query.pageNum; - - $P.control.load(1); - } - /************************************************************************** * 버튼 clickEvent **************************************************************************/ @@ -498,9 +496,7 @@ } // 초기 기본 설정 - $P.initForm(); - // 기본 데이터 설정 - $P.initData(taskSeCd); + $P.initForm(taskSeCd); // 업무 구분별 설정 $P.setTask(taskSeCd); @@ -508,14 +504,36 @@ $P.control.dataset.clear(); } + // 사용자검색 버튼 클릭 이벤트 + $P.fnGetFindUser = () => { + let params = { + openerPageName: "${pageName}" + , callbackFuncName: "pageObject['${pageName}']['callbackFindUser']" + } + + ajax.get({ + url: wctx.url("/user/user02/010/main.do") + , data: params || {} + , success: resp => { + dialog.open({ + id: "userDialog" + , title: "사용자 검색" + , content: resp + , size: "lg" + , init: () => { setDialogZindex(); } + }); + } + }); + } + // 검색 버튼 이벤트 $P.fnSearchList = () => { // 검색조건 $P.control.query = $P.formFields.get(); - $P.control.query.fetchSize = $P.control.defaultFetchSize; // 한번에 조회되는 자료 건수 - $P.control.query.sndngSeCdFrom = "03"; // 발송 구분 코드 - 03 부과고지서 - $P.control.query.sndngSeCdTo = "08"; // 발송 구분 코드 - 08 체납고지서 - $P.control.query.delYn = "N"; // 삭제 여부 + $P.control.query.fetchSize = $P.control.defaultFetchSize; // 한번에 조회되는 자료 건수 + $P.control.query.sndngSeCdFrom = "03"; // 발송 구분 코드 - 03 부과고지서 + $P.control.query.sndngSeCdTo = "08"; // 발송 구분 코드 - 08 체납고지서 + $P.control.query.delYn = "N"; // 삭제 여부 $P.control.load(1); } @@ -525,6 +543,7 @@ if ($P.control.dataset.empty) { dialog.alert({ content: "검색된 자료가 없습니다." + , init: () => { setDialogZindex(); } , onOK: () => { } }); return; @@ -538,11 +557,6 @@ $P.control.download(); } - // 사용자 조회 버튼 이벤트 - $P.fnFindUser = () => { - $P.getFindUser(); - } - // 등록 버튼 이벤트 $P.fnCreate = (title) => { let params = { @@ -560,7 +574,14 @@ // 선택 자료 let selected = $P.control.dataset.getKeys("selected"); - if (selected.length < 1) return; + if (selected.length < 1) { + dialog.alert({ + content: "선택하신 " + $P.control.prefixName + " 정보가 없습니다." + , init: () => { setDialogZindex(); } + , onOK: () => { } + }); + return; + } // 삭제 메세지 확인 dialog.alert({ @@ -571,8 +592,8 @@ let template = await resp.text(); dialog.open({ - id : "inputDelRsnDialog" - , title: "삭제" + id: "inputDelRsnDialog" + , title: title , size: "lg" , content: template , init: () => { setDialogZindex(); } @@ -615,13 +636,12 @@ }); }); - // 고지서 발송 등록 버튼 이벤트 - $("#btnCreateNhtSndng--${pageName}").on("click", function() { - $P.fnCreate($(this).attr("title")); + // 업무 버튼 이벤트 + $("#btnCreate--${pageName}").on("click", function() { + $P.fnCreate($(this).attr("title")); // 고지서 발송 등록 }); - // 고지서 발송 삭제 버튼 이벤트 - $("#btnRemoveNhtSndng--${pageName}").on("click", function() { - $P.fnRemove($(this).attr("title")); + $("#btnRemove--${pageName}").on("click", function() { + $P.fnRemove($(this).attr("title")); // 고지서 발송 삭제 }); // DataTables width 변경 조정 @@ -632,7 +652,7 @@ } // 초기 화면 설정 - $P.initForm = () => { + $P.initForm = (taskSeCd) => { // 화면 초기화 $("#frmSearch--${pageName}")[0].reset(); @@ -649,55 +669,33 @@ $(this).prop("disabled", "true"); }); - // 달력 초기화 - initDatepicker("frmSearch--${pageName}"); - $("#schSndngYmdFrom--${pageName}").datepicker("setDate", new Date()); - $("#schSndngYmdTo--${pageName}").datepicker("setDate", new Date()); - - // 동적 검색 - $("#byOutput--${pageName}").val("동적 검색"); - // 사용자 이름 - $("#schRgtrNm--${pageName}").prop("readonly", true); - } - - // 기본 데이터 설정 - $P.initData = (taskSeCd) => { - // 시군구 코드 - $("#sggCd--${pageName}").val("${sggCd}"); - // 업무 구분 코드 - $("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true); - - // 일자 + // 기본 데이터 설정 + $("#sggCd--${pageName}").val("${sggCd}"); // 시군구 코드 + $("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true); // 업무 구분 코드 + initDatepicker("frmSearch--${pageName}"); // 달력 초기화 $("#schSndngYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-7).date); $("#schSndngYmdTo--${pageName}").datepicker("setDate", new Date()); + $("#byOutput--${pageName}").val("동적 검색"); // 동적 검색 + $("#schRgtrNm--${pageName}").prop("readonly", true); // 사용자 이름 } // 업무 구분별 설정 $P.setTask = (taskSeCd) => { - let clsForTask = taskSeCd.toLowerCase(); + // 업무구분에 따른 URL 설정 + $P.control.urls.load = wctx.url("/" + taskSeCd + "${infoPrefixUrl}" + "/110/list.do"); // 검색 // 업무별 조회조건 - renderForTask("frmSearch--${pageName}", clsForTask); + renderForTask("frmSearch--${pageName}", taskSeCd.toLowerCase()); // 업무별 그리드 th let colContent = document.getElementById("${infoPrefix}Col--${pageName}").content; - let cols = $(colContent).find("." + clsForTask + ",.cmn"); + let cols = $(colContent).find("." + taskSeCd.toLowerCase() + ",.cmn"); let colsOuterHTML = ""; cols.each(function() { colsOuterHTML += this.outerHTML; }); $("#table-responsive--${pageName}")[0].changeColumn(colsOuterHTML); - - // URL 설정 - $P.setURL(taskSeCd); - } - - // 업무구분에 따른 URL 설정 - $P.setURL = (taskSeCd) => { - $P.control.urls.load = wctx.url("/" + taskSeCd + $P.PrefixUrl + "/110/list.do"); // 검색 - $P.control.urls.remove = wctx.url("/" + taskSeCd + $P.PrefixUrl + "/110/remove.do"); // 삭제 - $P.control.urls.getInfo = wctx.url("/" + taskSeCd + $P.PrefixUrl + "/120/info.do"); // 고지서 세부 내용 } /************************************************************************** diff --git a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01120-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01120-info.jsp index 9f42b48a..13f6fd58 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01120-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01120-info.jsp @@ -4,141 +4,144 @@ 고지서 발송 현황 상세 정보 -
+
+
-
- -
- -
- - -
- - -
- -
    -
-
- - - - - - - - - -
-
- - -
-
-
+ + + +
+
@@ -153,10 +156,8 @@ **************************************************************************/ $(document).ready(function() { // pageObject - var $P = pageObject["${pageName}"]; + let $P = pageObject["${pageName}"]; - // URL - $P.PrefixUrl = "/sndb/sndb01"; // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정) $P.callPurpose = "${callPurpose}"; // FormFields @@ -168,28 +169,30 @@ * DatasetControl **************************************************************************/ $P.control = new DatasetControl({ - prefix : "nhtSndngDtl" - , prefixName : "발송 상세" - , keymapper : info => info ? info.SNDNG_DTL_ID : "" - , dataGetter : obj => obj.${infoPrefix}List - , appendData : true - , formats : { - SNDNG_YMD : dateFormat - , SNDNG_END_YMD : dateFormat - , DLVR_YMD : dateFormat - , LEVY_YMD : dateFormat - , DUDT_YMD : dateFormat - , FFNLG_AMT : numberFormat - , SUM_AMT : numberFormat - , REG_DT : datetimeFormat - , MDFCN_DT : datetimeFormat + prefix: "nhtSndngDtl" + , prefixName: "고지서 발송 상세" + , keymapper: info => info ? info.SNDNG_DTL_ID : "" + , dataGetter: obj => obj.${infoPrefix}List + , appendData: true + , formats: { + SNDNG_YMD: dateFormat + , SNDNG_END_YMD: dateFormat + , DLVR_YMD: dateFormat + , LEVY_YMD: dateFormat + , DUDT_YMD: dateFormat + , FFNLG_AMT: numberFormat + , PCPTAX: numberFormat + , ADAMT: numberFormat + , SUM_AMT: numberFormat + , REG_DT: datetimeFormat + , MDFCN_DT: datetimeFormat } }); // $P.control 설정 - $P.control.defaultFetchSize = FETCH_XS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30 - $P.control.untilPageNum = 0; // 현재 페이지 번호 - $P.control.tableRenderComplete = false; // dataTables 에 자료 추가 완료 여부 + $P.control.defaultFetchSize = FETCH_XS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30 + $P.control.untilPageNum = 0; // 현재 페이지 번호 $P.control.beforeCurrent = null; + $P.control.tableRenderComplete = false; // dataTables 에 자료 추가 완료 여부 /************************************************************************** * DatasetControl 이벤트 @@ -199,15 +202,15 @@ $P.renderList(obj.${infoPrefix}Total); $("#paging--${pageName}").setPagingInfo({ - list : $P.control.dataset - , prefix : "paging--${pageName}" - , start : obj.${infoPrefix}Start - , totalSize : obj.${infoPrefix}Total - , fetchSize : obj.${infoPrefix}Fetch - , func : "pageObject['${pageName}'].control.load({index})" + list: $P.control.dataset + , prefix: "paging--${pageName}" + , start: obj.${infoPrefix}Start + , totalSize: obj.${infoPrefix}Total + , fetchSize: obj.${infoPrefix}Fetch + , func: "pageObject['${pageName}'].control.load({index})" }); - $P.control.tableRenderComplete = true; // dataTables 에 자료 추가 완료 + $P.control.tableRenderComplete = true; // dataTables 에 자료 추가 완료 }; // 현재 선택 자료 변경 이벤트 @@ -253,43 +256,45 @@ // DataTables에 스크롤이 맨 밑으로 이동했을 때 이벤트 $P.scrollDataList = () => { - $P.control.tableRenderComplete = false; // dataTables 에 자료 추가 false + $P.control.tableRenderComplete = false; // dataTables 에 자료 추가 false $P.control.load($P.control.query.pageNum + 1); } - /************************************************************************** - * 사용자 함수(function) - **************************************************************************/ - // 개별총정보 dialog + // DataTables에 더블 클릭시 개별총정보 dialog $P.getTotalInfo = (crdnId) => { if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; let params = { - callControlName : "pageObject['${pageName}'].control" - , callPurpose : "view" - , crdnId : crdnId - , sggCd : $P.control.dataset.getValue("SGG_CD") - , taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") + callControlName: "pageObject['${pageName}'].control" + , sggCd: $P.control.dataset.getValue("SGG_CD") + , taskSeCd: $P.control.dataset.getValue("TASK_SE_CD") + , crdnId: crdnId } ajax.get({ - url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/010/main.do") - , data : params - , success : resp => { + url: wctx.url("/" + params.taskSeCd + "/sprt/sprt02/010/main.do") + , data: params + , success: resp => { dialog.open({ - id : "totalInfoMainDialog" - , title : "개별총정보" - , content : resp - , size : "xxl" + id: "totalInfoMainDialog" + , title: "개별총정보" + , content: resp + , size: "xxl" }); } }); } - // 고지서 출력 - $P.print = (params) => { - if (!params) return; + /************************************************************************** + * 사용자 함수(function) + **************************************************************************/ + // 검색 자료 재조회 + $P.fnRefreshList = () => { + $P.control.untilPageNum = $P.control.query.pageNum; + $P.control.query.fetchSize = $P.control.defaultFetchSize * $P.control.query.pageNum; + + $P.control.load(1); } // 반송 확인(종적결과 등록) @@ -297,15 +302,15 @@ if (!params) return; ajax.post({ - url: wctx.url("/" + params.taskSeCd + "${infoPrefixUrl}" + "/210/createList.do") + url: wctx.url("/" + params.taskSeCd + "${infoPrefixUrl}" + "/230/createSndbkList.do") , data: params || {} , success: resp => { - // S 또는 F 를 버튼 title 로 변경하여 메시지 출력 - let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, $("#btnCreateSndbk--${pageName}").attr("title")); + let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, params.title); dialog.alert({ content: showMessage - , onOK: () => { } + , init: () => { setDialogZindex(); } + , onOK: () => { $P.fnRefreshList(); } // 자료 재조회 }); } }); @@ -318,51 +323,56 @@ $P.fnExcel = () => { if ($P.control.dataset.empty) { dialog.alert({ - content : "검색된 자료가 없습니다." - , onOK : () => { } + content: "검색된 자료가 없습니다." + , init: () => { setDialogZindex(); } + , onOK: () => { } }); - return; } // DataTables(그리드) - let cellDefs = getCellDefs($("#theadTr--${pageName} th").not(".dummy-th") - , $($("#${infoPrefix}Row--${pageName}")[0].content).find("td").not(".dummy-td")); + let cellDefs = getCellDefs($("#theadTr--${pageName} th").not(".dummy-th").not(":eq(0)") + , $($("#${infoPrefix}Row--${pageName}")[0].content).find("td").not(".dummy-td").not(":eq(0)")); $P.control.query.cellDefs = cellDefs; $P.control.download(); } - // 파일 출력 및 고지서출력 + // 고지서 출력 버튼 이벤트 $P.fnMakeFileNht = (title, fileType, paper) => { - // + // validate 확인 + if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return; + + let submitParam = { + sggCd: $P.control.dataset.getValue("SGG_CD") // 시군구 코드 + , taskSeCd: $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 + , sndngId: $P.control.dataset.getValue("SNDNG_ID") // 발송 ID + }; + + let url = ""; + let fileTypeName = ""; + if (fileType == "pdf") { - url = wctx.url("/sprt/sprt01/150/makeNhtPdf.do"); + url = wctx.url("/" + submitParam.taskSeCd + "${infoPrefixUrl}" + "/120/makeNhtPdf.do"); fileTypeName = "PDF 파일"; } else if (fileType == "outsourcing") { - url = wctx.url("/sprt/sprt01/150/makeNhtOutsourcing.do"); + url = wctx.url("/" + submitParam.taskSeCd + "${infoPrefixUrl}" + "/120/makeNhtOutsourcing.do"); fileTypeName = "외주 요청 파일"; } - let params = { - crdnIds : $P.control.dataset.getValue("CRDN_ID") // 단속 ID - , taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 - }; - - let inBrowser = false; - + let inBrowser = false; if (fileType == "pdf") { - params.paperSeCd = paper; + submitParam.paperSeCd = paper; inBrowser = true; } - if (inBrowser) { - let parameter = toQuery(params); - let filenameInHeader = ""; + if (inBrowser) { + var parameter = toQuery(submitParam); + var filenameInHeader = ""; fetch(url + "?" + parameter) .then((response) => { - let header = response.headers.get('Content-Disposition'); + var header = response.headers.get('Content-Disposition'); if(!header){ response.json().then((responseJson)=>{ dialog.alert({ @@ -374,9 +384,8 @@ }); new Error(""); } - let parts = header.split(';'); - filenameInHeader = decodeURIComponent(parts[1].split('=')[1]); - + var parts = header.split(';'); + filenameInHeader = decodeURIComponent(parts[1].split('=')[1]); return response.blob(); }) .then((blob) => { @@ -384,7 +393,7 @@ }) .catch(()=>{}); } else { - let parameter = toQuery(params); + var parameter = toQuery(submitParam); document.location.href = url + "?" + parameter; } } @@ -400,9 +409,13 @@ if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return; dialog.alert({ - content : "종적 결과를 확인하시겠습니까?" - , onOK : () => { - $P.createSndbk($P.mainQuery); + content: "종적결과를 확인하시겠습니까?" + , onOK: () => { + // 파리미터 설정 + let params = $P.mainQuery; // mainQuery + params.title = title; // 타이틀 + + $P.createSndbk(params); } }); } @@ -415,25 +428,21 @@ // 기본 버튼 이벤트 $("#btnExcel--${pageName}").on("click", () => $P.fnExcel()); // 엑셀 - // 파일 출력 버튼 이벤트 - $("#btnPrintNhtOutsourcing--${pageName}").on("click", function() { - $P.fnMakeFileNht($(this).attr("title"), "outsourcing") - }); - // 고지서 출력 버튼 이벤트 + // 업무 버튼 이벤트 $("#btnPrintNhtPdf01--${pageName}").on("click", function() { - $P.fnMakeFileNht($(this).attr("title"), "pdf", "01"); + $P.fnMakeFileNht($(this).attr("title"), "pdf", "01"); // 고지서 출력(PDF-A4) }); - // 고지서 출력 버튼 이벤트 $("#btnPrintNhtPdf02--${pageName}").on("click", function() { - $P.fnMakeFileNht($(this).attr("title"), "pdf", "01"); + $P.fnMakeFileNht($(this).attr("title"), "pdf", "01"); // 고지서 출력(PDF-Letter) + }); + $("#btnPrintNhtOutsourcing--${pageName}").on("click", function() { + $P.fnMakeFileNht($(this).attr("title"), "outsourcing") // 고지서 출력(외주파일) }); - // 중복자료 삭제 버튼 이벤트 $("#btnRemoveDpcnData--${pageName}").on("click", function() { - $P.fnRemoveDpcnData(); + $P.fnRemoveDpcnData($(this).attr("title")); // 중복자료 삭제 }); - // 반송 등록 버튼 이벤트 $("#btnCreateSndbk--${pageName}").on("click", function() { - $P.fnCreateSndbk(); + $P.fnCreateSndbk($(this).attr("title")); // 반송 등록 }); // DataTables width 변경 조정 @@ -443,12 +452,12 @@ fnMakeScrollableTable($("#table-responsive--${pageName}")[0], $P.scrollDataList); // DataTables 스크롤을 위해서 다이얼로그 화면이 생성된 후 Dataset을 설정한다. - $("#${infoPrefix}Dialog").on("shown.bs.modal", function (e) { + $("#${infoPrefix}Dialog--${openerPageName}").on("shown.bs.modal", function (e) { $P.control.setData({ - ${infoPrefix}List : ${nhtSndngDtlList} - , ${infoPrefix}Start : ${nhtSndngDtlStart} - , ${infoPrefix}Fetch : ${nhtSndngDtlFetch} - , ${infoPrefix}Total : ${nhtSndngDtlTotal} + ${infoPrefix}List: ${nhtSndngDtlList} + , ${infoPrefix}Start: ${nhtSndngDtlStart} + , ${infoPrefix}Fetch: ${nhtSndngDtlFetch} + , ${infoPrefix}Total: ${nhtSndngDtlTotal} }); // 초기 데이터 설정 @@ -468,15 +477,11 @@ $("#sndngId--${pageName}").val($P.control.dataset.getValue("SNDNG_ID")); // 검색 조건 설정 + $P.control.defaultFetchSize = $P.mainQuery.fetchSize; $P.control.query = $P.mainQuery; - // URL 설정 - $P.setURL($P.mainQuery.taskSeCd); - } - - // 업무구분에 따른 URL 설정 - $P.setURL = (taskSeCd) => { - $P.control.urls.load = wctx.url("/" + taskSeCd + $P.PrefixUrl + "/100/list.do"); // 검색 + // 업무구분에 따른 URL 설정 + $P.control.urls.load = wctx.url("/" + $P.mainQuery.taskSeCd + "${infoPrefixUrl}" + "/120/list.do"); // 검색 } /************************************************************************** diff --git a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01220-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01220-main.jsp index de0f6982..83abcda3 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01220-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01220-main.jsp @@ -313,7 +313,6 @@
- @@ -327,13 +326,6 @@ **************************************************************************/ pageObject["${pageName}"] = {}; - // 공통 코드 - var FIM004 = new CommonCodes(${FIM004}, true); // 주정차위반 내역 코드 - var FIM005 = new CommonCodes(${FIM005}, true); // 전용차로위반 내역 코드 - var FIM006 = new CommonCodes(${FIM006}, true); // 장애인주차위반 내역 코드 - var FIM061 = new CommonCodes(${FIM061}, true); // 전기차 충전구역 및 충전방해 위반 코드 - var FIM064 = new CommonCodes(${FIM064}, true); // 화물자동차 밤샘주차 위반 코드 - /************************************************************************** * script 진입 **************************************************************************/ @@ -794,29 +786,6 @@ // 업무별 조회조건 renderForTask("frmSearch--${pageName}", taskSeCd.toLowerCase()); - // 업무에 따른 위반 내용 - let vltnCode = []; - if (taskSeCd == "PVS") { // 주정차 위반 - vltnCode = FIM004.list(); - } else if (taskSeCd == "BPV") { // 전용차로 위반 - vltnCode = FIM005.list(); - } else if (taskSeCd == "DPV") { // 장애인 전용 - vltnCode = FIM006.list(); - } else if (taskSeCd == "ECA") { // 전기차 주차 위반 - vltnCode = FIM061.list(); - } else if (taskSeCd == "PES") { // 밤샘 주차 위반 - vltnCode = FIM064.list(); - } else { - return; - } - - // 위반 항목 - $("#schVltnCd--${pageName}").empty(); - $("#schVltnCd--${pageName}").append(""); - $(vltnCode).each(function(index, item) { - $("#schVltnCd--${pageName}").append(""); - }) - // 업무별 그리드 th let colContent = document.getElementById("${infoPrefix}Col--${pageName}").content; let cols = $(colContent).find("." + taskSeCd.toLowerCase() + ",.cmn"); diff --git a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01240-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01240-main.jsp index e530141b..12497f45 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01240-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01240-main.jsp @@ -315,6 +315,7 @@ let params = { title: $P.control.prefixName + " 상세 정보" // 타이틀 , callPurpose: "view" // 호출 용도 + , fetchSize: $P.control.defaultFetchSize // 한번에 조회되는 자료 건수 , pageNum: 1 // 페이지 번호 , sggCd: $("#sggCd--${pageName}").val() // 시군구 코드 , taskSeCd: $("#frmSearch--${pageName} input[name='taskSeCd']:checked").val() // 업무 구분 코드