From d87c8652f4d7684685b24d3fbe41f16173945600 Mon Sep 17 00:00:00 2001 From: jjh Date: Wed, 14 Feb 2024 17:08:31 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B0=9C=EB=B3=84=EC=B4=9D=EC=A0=95=EB=B3=B4?= =?UTF-8?q?=20-=20=EB=B0=9C=EC=86=A1=EB=B0=98=EC=86=A1=20=EC=A0=95?= =?UTF-8?q?=EB=B3=B4=20=EC=88=98=EC=A0=95.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fims/excl/service/bean/LevyExclBean.java | 11 +- .../fims/sndb/service/bean/SndngDtlBean.java | 12 +- .../service/bean/SndngDtlServiceBean.java | 4 - .../xit/fims/sndb/web/Sndb01Controller.java | 239 +++++++++--------- .../sql/mapper/fims/sndb/sndngDtl-mapper.xml | 2 + .../WEB-INF/jsp/fims/sndb/sndb01230-info.jsp | 11 +- .../WEB-INF/jsp/fims/sprt/sprt02020-info.jsp | 114 ++++++--- .../WEB-INF/jsp/fims/sprt/sprt02030-info.jsp | 118 +++++---- .../WEB-INF/jsp/fims/sprt/sprt02040-info.jsp | 78 +++--- 9 files changed, 341 insertions(+), 248 deletions(-) diff --git a/src/main/java/cokr/xit/fims/excl/service/bean/LevyExclBean.java b/src/main/java/cokr/xit/fims/excl/service/bean/LevyExclBean.java index 46cd230c..352f8603 100644 --- a/src/main/java/cokr/xit/fims/excl/service/bean/LevyExclBean.java +++ b/src/main/java/cokr/xit/fims/excl/service/bean/LevyExclBean.java @@ -98,17 +98,18 @@ public class LevyExclBean extends AbstractComponent { * @return 부과제외 정보 */ public DataObject getLevyExclInfo(LevyExclQuery req) { - DataObject levyExclInfo = new DataObject(); + // + DataObject info = new DataObject(); if (req.getCallPurpose().equals("create")) { - levyExclInfo = levyExclMapper.selectCrdnInfo(req.getCrdnId()); + info = levyExclMapper.selectCrdnInfo(req.getCrdnId()); - levyExclInfo.set("LEVY_EXCL_SE_CD", req.getLevyExclSeCd()); // 부과 제외 구분 코드 + info.set("LEVY_EXCL_SE_CD", req.getLevyExclSeCd()); // 부과 제외 구분 코드 } else { - levyExclInfo = levyExclMapper.selectLevyExclInfo(req); + info = levyExclMapper.selectLevyExclInfo(req); } - return levyExclInfo; + return info; } /**부과제외 대장 정보를 등록한다. diff --git a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngDtlBean.java b/src/main/java/cokr/xit/fims/sndb/service/bean/SndngDtlBean.java index 679175e5..212290ac 100644 --- a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngDtlBean.java +++ b/src/main/java/cokr/xit/fims/sndb/service/bean/SndngDtlBean.java @@ -148,7 +148,17 @@ public class SndngDtlBean extends AbstractComponent { * @return 발송상세 미배달 정보 */ public DataObject getSndbkInfo(SndbQuery req) { - return sndngDtlMapper.selectSndbkInfo(req); + // + DataObject info = new DataObject(); + + if (req.getCallPurpose().equals("create")) { + info = sndngDtlMapper.selectSndngDtlInfo(req); + + } else { + info = sndngDtlMapper.selectSndbkInfo(req); + } + + return info; } /**발송상세 목록의 반송 정보를 등록한다. diff --git a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngDtlServiceBean.java b/src/main/java/cokr/xit/fims/sndb/service/bean/SndngDtlServiceBean.java index 3e8a2d86..a9ee76ce 100644 --- a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngDtlServiceBean.java +++ b/src/main/java/cokr/xit/fims/sndb/service/bean/SndngDtlServiceBean.java @@ -82,10 +82,6 @@ public class SndngDtlServiceBean extends AbstractServiceBean implements SndngDtl @Override public DataObject getSndbkInfo(SndbQuery req) { - if (req.getCallPurpose() == null) { - req.setCallPurpose("view"); - } - return sndngDtlBean.getSndbkInfo(req); } 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 14ed71a6..fc1af01e 100644 --- a/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java +++ b/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java @@ -1036,36 +1036,145 @@ public class Sndb01Controller extends ApplicationController { .addObject("rtnMsg", rtnMsg); } - /**반송등록 (sndb/sndb01/220-info)을 연다. + /**반송 현황 메인화면(sndb/sndb01/220-main)을 연다. + * + * @return /sndb/sndb01/220-main + */ + public ModelAndView sendBackMain() { + ModelAndView mav = new ModelAndView("fims/sndb/sndb01220-main"); + + // 사용자 정보 + ManagedUser managedUser = (ManagedUser)currentUser().getUser(); + + // View(jsp)에서 사용할 공통코드를 조회 + Map> commonCodes = getCodesOf("FIM004", "FIM005", "FIM006", "FIM047", "FIM054", "FIM061", "FIM064", "FIM081"); + + addCodes(commonCodes, mav, "FIM004", "FIM005", "FIM006", "FIM061", "FIM064"); + + return mav.addObject("pageName", "sndb01220") // View(jsp)에서 사용할 id 뒤에 붙일 suffix + .addObject("infoPrefix", "sndbk") // prefix + .addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD) + .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 시군구에서 사용하는 업무 목록 + .addObject("FIM004List", commonCodes.get("FIM004")) // 주정차위반 내역 코드(VLTN_ID) + .addObject("FIM005List", commonCodes.get("FIM005")) // 전용차로위반 내역 코드(VLTN_ID) + .addObject("FIM006List", commonCodes.get("FIM006")) // 장애인주차위반 내역 코드(VLTN_ID) + .addObject("FIM047List", commonCodes.get("FIM047")) // 발송 구분 코드(SNDNG_SE_CD) + .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) + .addObject("FIM061List", commonCodes.get("FIM061")) // 전기차 충전구역 및 충전방해 위반 코드(VLTN_ID) + .addObject("FIM064List", commonCodes.get("FIM064")) // 화물자동차 밤샘주차 위반 코드(VLTN_ID) + .addObject("FIM081List", commonCodes.get("FIM081")) // 미배달 사유 코드(UNDLVR_RSN_CD) + ; + } + + /**반송 현황 목록을 조회하여 반환한다. + * {@link SndngService#getSndngList(SndngQuery)} 참고 + * @param req 발송 대장 조회 조건 + * @return jsonView + *
 {
+	 *     "sndngList": [반송 현황 목록]
+	 *     "sndngStart": 반송 현황 목록 시작 인덱스
+	 *     "sndngFetch": 한 번에 가져오는 반송 현황 목록 수
+	 *     "sndngTotal": 조회 결과 찾은 전체 반송 현황 수
+	 * }
+ */ + public ModelAndView getSendBackList(SndbQuery req) { + if (!"xls".equals(req.getDownload())) { + List result = sndngDtlService.getSndbkList(setFetchSize(req)); + return setCollectionInfo(new ModelAndView("jsonView"), result, "sndbk"); + } else { + // 현재 날짜 구하기 + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); + String dateTime = dateFormat.format(System.currentTimeMillis()); + + List cellDefs = fromJson(req.getCellDefs(), CellDef.listType()); + + XLSWriter xlsx = new XLSWriter() + .setFilename("반송현황" + "_목록_" + dateTime + ".xlsx") + .worksheet(0); + + // CellStyle 지정은 여기에서.. + CellStyle center = xlsx.cellStyle(Styler.CENTER); // 가운데 정렬 + CellStyle numeric = xlsx.n_nn0(); // 숫자 3자리 콤마(,) + CellStyle dateYMD = xlsx.yyyy_mm_dd(); // 연월일 + CellStyle dateDT = xlsx.yyyy_mm_dd_hh_mm_ss(); // 연월일+시간 + + List list = sndngDtlService.getSndbkList(req.setFetchSize(0)); + + Map valueMap = new HashMap(); + valueMap.put("업무구분", xlsx.style("TASK_SE_NM", center)); + valueMap.put("고지번호", xlsx.style("GOJI_NO", center)); + valueMap.put("등기번호", xlsx.style("RG_NO", center)); + valueMap.put("배달일자", xlsx.format(o -> xlsx.str2date(o.get("DLVR_YMD"))).style(dateYMD)); + valueMap.put("배달시간", "DLVR_TM"); + valueMap.put("미배달사유", "UNDLVR_RSN_NM"); + valueMap.put("수령인", "ACTL_RCPN_NM"); + valueMap.put("수령인관계", "RCPN_REL_NM"); + valueMap.put("발송구분", xlsx.style("SNDNG_SE_NM", center)); + valueMap.put("발송일자", xlsx.format(o -> xlsx.str2date(o.get("SNDNG_YMD"))).style(dateYMD)); + valueMap.put("과태료금액", xlsx.style("FFNLG_AMT", numeric)); + valueMap.put("성명", "RCPN_NM"); + valueMap.put("우편번호", xlsx.style("RCPN_ZIP", center)); + valueMap.put("주소", "RCPN_ADDR"); + valueMap.put("상세주소", "RCPN_DTL_ADDR"); + valueMap.put("단속일시", xlsx.format(o -> xlsx.str2datetime(o.get("CRDN_YMD_TM"))).style(dateDT)); + valueMap.put("차량번호", "VHRNO"); + valueMap.put("납부자구분", xlsx.style("RTPYR_SE_NM", center)); + valueMap.put("납부자번호", xlsx.style("RTPYR_NO", center)); + valueMap.put("납부자명", "RTPYR_NM"); + valueMap.put("단속법정동", xlsx.style("CRDN_STDG_NM", center)); + valueMap.put("단속장소", "CRDN_PLC"); + valueMap.put("처리상태", "CRDN_STTS_NM"); + valueMap.put("등록일시", xlsx.format(o -> xlsx.str2datetime(o.get("REG_DT"))).style(dateDT)); + valueMap.put("등록사용자", xlsx.style("RGTR_NM", center)); + valueMap.put("수정일시", xlsx.format(o -> xlsx.str2datetime(o.get("MDFCN_DT"))).style(dateDT)); + valueMap.put("수정사용자", xlsx.style("MDFR_NM", center)); + + CellDef.setValues(cellDefs, valueMap); + + xlsx.cell(0, 0) + .value("반송현황", center) + .merge(0, cellDefs.size() - 1) + .cell(3, 0) + .rowValues(CellDef.header(cellDefs, () -> CmmnUtil.headerStyle(xlsx))) + .cell(4, 0) + .values(list, CellDef.values(cellDefs)); + + return new ModelAndView("xlsView") + .addObject("xls", xlsx); + } + } + + /**반송등록 (sndb/sndb01/230-info)을 연다. * @param sndngId 발송 ID - * @return fims/sndb/sndb01220-info 또는 jsonView + * @return fims/sndb/sndb01230-info 또는 jsonView *
{
 	 *     "sndngDtls":
 	 * }
*/ public ModelAndView getSendBackInfo(SndbQuery req) { - DataObject sndbkInfo = sndngDtlService.getSndbkInfo(req); + // + DataObject info = sndngDtlService.getSndbkInfo(req); // 등록을 호출하였지만 등록된 미배달 사유가 있는지 확인. - if (req.getCallPurpose().equals("create") && !sndbkInfo.string("UNDLVR_RSN_NM").equals("")) { + if (req.getCallPurpose().equals("create") && !info.string("UNDLVR_RSN_NM").equals("")) { ModelAndView mav = new ModelAndView("jsonView"); - return mav.addObject("pageName", "sndb01220") + return mav.addObject("pageName", "sndb01230") .addObject("rtnMsg", "이미 등록된 미배달 사유가 있습니다.") ; } else { boolean json = jsonResponse(); - ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sndb/sndb01220-info"); + ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sndb/sndb01230-info"); // View(jsp)에서 사용할 공통코드를 조회 Map> commonCodes = getCodesOf("FIM054", "FIM081"); - return mav.addObject("pageName", "sndb01220") - .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 - .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) - .addObject("FIM081List", commonCodes.get("FIM081")) // 미배달 사유 코드(UNDLVR_RSN_CD) - .addObject("sndbkInfo", json ? sndbkInfo : toJson(sndbkInfo)) // 반송 정보 + return mav.addObject("pageName", "sndb01230") + .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 + .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) + .addObject("FIM081List", commonCodes.get("FIM081")) // 미배달 사유 코드(UNDLVR_RSN_CD) + .addObject("sndbkInfo", json ? info : toJson(info)) // 반송 정보 ; } } @@ -1158,114 +1267,6 @@ public class Sndb01Controller extends ApplicationController { .addObject("rtnMsg", rtnMsg); } - /**반송 현황 메인화면(sndb/sndb01/220-main)을 연다. - * - * @return /sndb/sndb01/220-main - */ - public ModelAndView sendBackMain() { - ModelAndView mav = new ModelAndView("fims/sndb/sndb01220-main"); - - // 사용자 정보 - ManagedUser managedUser = (ManagedUser)currentUser().getUser(); - - // View(jsp)에서 사용할 공통코드를 조회 - Map> commonCodes = getCodesOf("FIM004", "FIM005", "FIM006", "FIM047", "FIM054", "FIM061", "FIM064", "FIM081"); - - addCodes(commonCodes, mav, "FIM004", "FIM005", "FIM006", "FIM061", "FIM064"); - - return mav.addObject("pageName", "sndb01220") // View(jsp)에서 사용할 id 뒤에 붙일 suffix - .addObject("infoPrefix", "sndbk") // prefix - .addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD) - .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 시군구에서 사용하는 업무 목록 - .addObject("FIM004List", commonCodes.get("FIM004")) // 주정차위반 내역 코드(VLTN_ID) - .addObject("FIM005List", commonCodes.get("FIM005")) // 전용차로위반 내역 코드(VLTN_ID) - .addObject("FIM006List", commonCodes.get("FIM006")) // 장애인주차위반 내역 코드(VLTN_ID) - .addObject("FIM047List", commonCodes.get("FIM047")) // 발송 구분 코드(SNDNG_SE_CD) - .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) - .addObject("FIM061List", commonCodes.get("FIM061")) // 전기차 충전구역 및 충전방해 위반 코드(VLTN_ID) - .addObject("FIM064List", commonCodes.get("FIM064")) // 화물자동차 밤샘주차 위반 코드(VLTN_ID) - .addObject("FIM081List", commonCodes.get("FIM081")) // 미배달 사유 코드(UNDLVR_RSN_CD) - ; - } - - /**반송 현황 목록을 조회하여 반환한다. - * {@link SndngService#getSndngList(SndngQuery)} 참고 - * @param req 발송 대장 조회 조건 - * @return jsonView - *
 {
-	 *     "sndngList": [반송 현황 목록]
-	 *     "sndngStart": 반송 현황 목록 시작 인덱스
-	 *     "sndngFetch": 한 번에 가져오는 반송 현황 목록 수
-	 *     "sndngTotal": 조회 결과 찾은 전체 반송 현황 수
-	 * }
- */ - public ModelAndView getSendBackList(SndbQuery req) { - if (!"xls".equals(req.getDownload())) { - List result = sndngDtlService.getSndbkList(setFetchSize(req)); - return setCollectionInfo(new ModelAndView("jsonView"), result, "sndbk"); - } else { - // 현재 날짜 구하기 - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); - String dateTime = dateFormat.format(System.currentTimeMillis()); - - List cellDefs = fromJson(req.getCellDefs(), CellDef.listType()); - - XLSWriter xlsx = new XLSWriter() - .setFilename("반송현황" + "_목록_" + dateTime + ".xlsx") - .worksheet(0); - - // CellStyle 지정은 여기에서.. - CellStyle center = xlsx.cellStyle(Styler.CENTER); // 가운데 정렬 - CellStyle numeric = xlsx.n_nn0(); // 숫자 3자리 콤마(,) - CellStyle dateYMD = xlsx.yyyy_mm_dd(); // 연월일 - CellStyle dateDT = xlsx.yyyy_mm_dd_hh_mm_ss(); // 연월일+시간 - - List list = sndngDtlService.getSndbkList(req.setFetchSize(0)); - - Map valueMap = new HashMap(); - valueMap.put("업무구분", xlsx.style("TASK_SE_NM", center)); - valueMap.put("고지번호", xlsx.style("GOJI_NO", center)); - valueMap.put("등기번호", xlsx.style("RG_NO", center)); - valueMap.put("배달일자", xlsx.format(o -> xlsx.str2date(o.get("DLVR_YMD"))).style(dateYMD)); - valueMap.put("배달시간", "DLVR_TM"); - valueMap.put("미배달사유", "UNDLVR_RSN_NM"); - valueMap.put("수령인", "ACTL_RCPN_NM"); - valueMap.put("수령인관계", "RCPN_REL_NM"); - valueMap.put("발송구분", xlsx.style("SNDNG_SE_NM", center)); - valueMap.put("발송일자", xlsx.format(o -> xlsx.str2date(o.get("SNDNG_YMD"))).style(dateYMD)); - valueMap.put("과태료금액", xlsx.style("FFNLG_AMT", numeric)); - valueMap.put("성명", "RCPN_NM"); - valueMap.put("우편번호", xlsx.style("RCPN_ZIP", center)); - valueMap.put("주소", "RCPN_ADDR"); - valueMap.put("상세주소", "RCPN_DTL_ADDR"); - valueMap.put("단속일시", xlsx.format(o -> xlsx.str2datetime(o.get("CRDN_YMD_TM"))).style(dateDT)); - valueMap.put("차량번호", "VHRNO"); - valueMap.put("납부자구분", xlsx.style("RTPYR_SE_NM", center)); - valueMap.put("납부자번호", xlsx.style("RTPYR_NO", center)); - valueMap.put("납부자명", "RTPYR_NM"); - valueMap.put("단속법정동", xlsx.style("CRDN_STDG_NM", center)); - valueMap.put("단속장소", "CRDN_PLC"); - valueMap.put("처리상태", "CRDN_STTS_NM"); - valueMap.put("등록일시", xlsx.format(o -> xlsx.str2datetime(o.get("REG_DT"))).style(dateDT)); - valueMap.put("등록사용자", xlsx.style("RGTR_NM", center)); - valueMap.put("수정일시", xlsx.format(o -> xlsx.str2datetime(o.get("MDFCN_DT"))).style(dateDT)); - valueMap.put("수정사용자", xlsx.style("MDFR_NM", center)); - - CellDef.setValues(cellDefs, valueMap); - - xlsx.cell(0, 0) - .value("반송현황", center) - .merge(0, cellDefs.size() - 1) - .cell(3, 0) - .rowValues(CellDef.header(cellDefs, () -> CmmnUtil.headerStyle(xlsx))) - .cell(4, 0) - .values(list, CellDef.values(cellDefs)); - - return new ModelAndView("xlsView") - .addObject("xls", xlsx); - } - } - /**공시송달 현황 메인화면(sndb/sndb01/240-main)을 연다. * * @return /sndb/sndb01/240-main diff --git a/src/main/resources/sql/mapper/fims/sndb/sndngDtl-mapper.xml b/src/main/resources/sql/mapper/fims/sndb/sndngDtl-mapper.xml index fa566a81..fa4c9bd0 100644 --- a/src/main/resources/sql/mapper/fims/sndb/sndngDtl-mapper.xml +++ b/src/main/resources/sql/mapper/fims/sndb/sndngDtl-mapper.xml @@ -209,6 +209,7 @@ , S.DEPT_CD , S.TASK_SE_CD , S.SNDNG_REG_SE_CD + , S.SNDNG_SE_CD , S.LEVY_BGNG_YMD , S.LEVY_END_YMD , S.TTL_NM @@ -221,6 +222,7 @@ , S.SNDNG_STTS_CD , S.RESND_YN , (SELECT GET_CODE_NM('FIM047', S.SNDNG_SE_CD) FROM DUAL) AS SNDNG_SE_NM + , (SELECT GET_CODE_NM('EGP002', S.DIV_KB) FROM DUAL) AS DIV_KB_NM FROM TB_SNDNG_DTL SD LEFT OUTER JOIN TB_SNDNG S ON (SD.SNDNG_ID = S.SNDNG_ID) diff --git a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01230-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01230-info.jsp index 3feedeeb..adf55cfa 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01230-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01230-info.jsp @@ -102,7 +102,11 @@ // 호출용도가 등록 이라면.. if ($P.callPurpose == "create") { - $("#dlvrYmd--${pageName}").datepicker("setDate", new Date()); // 배달일자 + // 배달일자 + $("#dlvrYmd--${pageName}").datepicker("setDate", new Date()); + // 미배달 사유 변경 이벤트 실행 + $("#undlvrRsnCd--${pageName}").val("99").attr("selected", "selected"); + $("#undlvrRsnCd--${pageName}").trigger("change"); } } @@ -175,7 +179,7 @@ // 미배달 사유 변경 이벤트 $("#undlvrRsnCd--${pageName}").change(function() { - if ($("#undlvrRsnCd--${pageName}").val() == "00") { + if ($("#undlvrRsnCd--${pageName}").val() == "99") { $("#undlvrRsnNm--${pageName}").val(""); } else { $("#undlvrRsnNm--${pageName}").val($("#undlvrRsnCd--${pageName} option:selected").text()); @@ -200,9 +204,6 @@ // button 요소들을 disabled $("#btnSave--${pageName}").prop("disabled", true); // 저장 버튼 } - - // 미배달 사유 변경 이벤트 실행 - $("#undlvrRsnCd--${pageName}").trigger("change"); } // 업무구분에 따른 URL 설정 diff --git a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02020-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02020-info.jsp index 0cbec88f..521b81e6 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02020-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02020-info.jsp @@ -23,19 +23,22 @@ - - - - + @@ -285,6 +288,8 @@ + + @@ -443,7 +448,7 @@ , success : resp => { dialog.open({ id : "cvlcptOrgnlDialog--${pageName}" - , title : params.btnTitle + , title : params.title , content : resp , size : "xl" }); @@ -461,7 +466,7 @@ , success : resp => { dialog.open({ id : "answerPreviewDialog--${pageName}" - , title : params.btnTitle + , title : params.title , content : resp , size : "xl" }); @@ -664,8 +669,8 @@ // 단속 상태 코드 확인 if (Number(crdnSttsCd) > 51) { dialog.alert({ - content : "[" + title + "]" + " 작업은 단속상태가 부과 이전 자료만 처리 가능합니다." - + "
" + "단속상태 : " + crdnSttsNm + content : "[" + title + "]" + " 작업은 단속상태가 '부과 이전' 자료만 처리 가능합니다." + + "
" + "단속상태 : " + crdnSttsNm + "

" + "[" + title + "]" + " 실행이 취소되었습니다." , onOK : () => { } }); @@ -709,7 +714,7 @@ // 단속 상태 코드 확인 if (Number(crdnSttsCd) < 80 || Number(crdnSttsCd) > 88) { dialog.alert({ - content : "[" + title + "]" + " 작업은 단속상태가 비부과, 계고, 부과취소 자료만 처리 가능합니다." + content : "[" + title + "]" + " 작업은 단속상태가 '비부과', '계고', '부과취소' 자료만 처리 가능합니다." + "
" + "단속상태 : " + crdnSttsNm + "

" + "[" + title + "]" + " 실행이 취소되었습니다." , onOK : () => { } @@ -717,25 +722,53 @@ return; } - let params = { - callPurpose : "create" - , title : title - , bfrCrdnId : bfrCrdnId // 단속 ID - , sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드 - , taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 - }; - dialog.alert({ content : "현재 단속 정보를 재등록 하겠습니까?" , onOK : () => { + let params = { + callPurpose : "create" + , title : title + , bfrCrdnId : bfrCrdnId // 단속 ID + , sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드 + , taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 + }; + $P.createCrdnReReg(params); } }); } // 고지서출력 - $P.fnPrintNht = (title) => { - return; + $P.fnMakeFileNht = (title, fileType, paper) => { + // + if (fileType == "pdf") { + url = wctx.url("/sprt/sprt01/150/makeNhtPdf.do"); + } else if (fileType == "outsourcing") { + url = wctx.url("/sprt/sprt01/150/makeNhtOutsourcing.do"); + } + + let params = { + crdnIds : $P.control.dataset.getValue("CRDN_ID") // 단속 ID + , taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 + }; + + if (fileType == "pdf") { + params.paperSeCd = paper; + } + + ajax.post({ + url : url + , data : params + , success : (resp) => { + if (resp.filePath != null && resp.filePath != "") { + if (fileType == "pdf") { + openPDF(resp.filePath, resp.fileName, resp.fileName); + } else { + downloadFile(resp.filePath, resp.fileName, "tempArea--${pageName}"); + } + } + } + }); } // 단속 상태 변경 @@ -766,21 +799,28 @@ // 납부자 ID let rtpyrId = $P.control.dataset.getValue("RTPYR_ID"); // 납부자 ID 가 없다면.. return - if (rtpyrId == null || rtpyrId == "") return; - - let params = { - callPurpose : "remove" - , title : title - , crdnId : crdnId // 단속 ID - , rtpyrId : rtpyrId // 납부자 ID - , sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드 - , taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 - , delYN : "N" - }; + if (rtpyrId == null || rtpyrId == "") { + dialog.alert({ + content : "조회된 납부자 대장 정보가 없습니다." + + "

" + "[" + title + "]" + " 실행이 취소되었습니다." + , onOK : () => { } + }); + return; + } dialog.alert({ content : "선택한 자료의 납부자 정보를 초기화 하시겠습니까?" , onOK : () => { + let params = { + callPurpose : "remove" + , title : title + , crdnId : crdnId // 단속 ID + , rtpyrId : rtpyrId // 납부자 ID + , sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드 + , taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 + , delYN : "N" + }; + $P.deleteCrdnPayer(params); } }); @@ -840,8 +880,12 @@ $P.fnCreateCrdnReReg($(this).attr("title")); }); // 고지서 출력 - $("#btnPrintNht--${pageName}").on("click", function() { - $P.fnPrintNht($(this).attr("title")); + $("#btnPrintNhtPdf01--${pageName}").on("click", function() { + $P.fnMakeFileNht($(this).attr("title"), "pdf", "01"); + }); + // 고지서 출력 + $("#btnPrintNhtPdf02--${pageName}").on("click", function() { + $P.fnMakeFileNht($(this).attr("title"), "pdf", "02"); }); // 단속 상태 변경 $("#btnUpdateCrdnSttsCd--${pageName}").on("click", function() { diff --git a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02030-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02030-info.jsp index 4467fb0b..c4b75bf0 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02030-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02030-info.jsp @@ -242,7 +242,7 @@ } else { dialog.open({ id : $P.control.prefixed("Dialog") - , title : params.btnTitle + , title : params.title , content : resp , size : "lg" , onClose : () => { $P.refreshDataInfo(); } @@ -327,7 +327,7 @@ , success : resp => { dialog.open({ id : "opnnSbmsnDialog" - , title : params.btnTitle + , title : params.title , content : resp , size : "lg" , onClose : () => { $P.refreshDataInfo(); } @@ -376,10 +376,7 @@ * 버튼 clickEvent **************************************************************************/ // 의견제출 등록 버튼 이벤트 - $P.fnCreateOpnnSbmsn = () => { - // 버튼 title - let btnTitle = $("#btnCreateOpnnSbmsn--${pageName}").attr("title"); - + $P.fnCreateOpnnSbmsn = (title) => { // 단속 ID let crdnId = $("#crdnId--${pageNameMain}").val(); // 단속 ID 가 없다면.. return @@ -391,8 +388,9 @@ // 단속 상태 코드 확인 if (Number(crdnSttsCd) < 01 || Number(crdnSttsCd) > 45) { dialog.alert({ - content : "단속상태가 '" + crdnSttsNm + "' 입니다." - + "
" + "[" + btnTitle + "]" + " 실행이 취소되었습니다." + content : "[" + title + "]" + " 작업은 단속상태가 '부과 이전' 자료만 처리 가능합니다." + + "
" + "단속상태 : " + crdnSttsNm + + "

" + "[" + title + "]" + " 실행이 취소되었습니다." , onOK : () => { } }); return; @@ -400,7 +398,7 @@ let params = { callPurpose : "create" - , btnTitle : btnTitle + , title : title , crdnId : crdnId // 단속 ID , sggCd : $("#sggCd--${pageNameMain}").val() // 시군구 코드 , taskSeCd : $("#taskSeCd--${pageNameMain}").val() // 업무 구분 코드 @@ -410,18 +408,22 @@ } // 의견제출 수정 버튼 이벤트 - $P.fnUpdateOpnnSbmsn = () => { - // 버튼 title - let btnTitle = $("#btnUpdateOpnnSbmsn--${pageName}").attr("title"); - + $P.fnUpdateOpnnSbmsn = (title) => { // 의견제출 ID let opnnId = $P.control.dataset.getValue("OPNN_ID"); // 의견제출 ID 가 없다면.. return - if (typeof opnnId == "undefined" || opnnId == null || opnnId == "") return; + if (typeof opnnId == "undefined" || opnnId == null || opnnId == "") { + dialog.alert({ + content : "조회된 의견제출 대장 정보가 없습니다." + + "

" + "[" + title + "]" + " 실행이 취소되었습니다." + , onOK : () => { } + }); + return; + } let params = { callPurpose : "update" - , btnTitle : btnTitle + , title : title , opnnId : opnnId // 의견제출 ID , sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드 , taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 @@ -431,14 +433,18 @@ } // 의견제출 삭제 버튼 이벤트 - $P.fnRemoveOpnnSbmsn = () => { - // 버튼 title - let btnTitle = $("#btnRemoveOpnnSbmsn--${pageName}").attr("title"); - + $P.fnRemoveOpnnSbmsn = (title) => { // 의견제출 ID let opnnId = $P.control.dataset.getValue("OPNN_ID"); // 의견제출 ID 가 없다면.. return - if (typeof opnnId == "undefined" || opnnId == null || opnnId == "") return; + if (typeof opnnId == "undefined" || opnnId == null || opnnId == "") { + dialog.alert({ + content : "조회된 의견제출 대장 정보가 없습니다." + + "

" + "[" + title + "]" + " 실행이 취소되었습니다." + , onOK : () => { } + }); + return; + } // 의견제출 상태 코드 let opnnSbmsnSttsCd = $("#opnnSbmsnSttsCd--${pageName}").val(); @@ -446,9 +452,9 @@ // 의견제출 상태 코드 확인 if (opnnSbmsnSttsCd != '00' && opnnSbmsnSttsCd != '03') { dialog.alert({ - content : "의견제출 심의결과가 '접수' 또는 '자진취하' 자료만 삭제 가능합니다." -// + "
" + "의견제출 심의결과가 '" + opnnSbmsnSttsNm + "' 입니다." - + "
" + "[" + btnTitle + "]" + " 실행이 취소되었습니다." + content : "[" + title + "]" + " 작업은 심의결과가 '접수', '자진취하' 자료만 삭제 가능합니다." + + "
" + "심의결과 : " + opnnSbmsnSttsNm + + "

" + "[" + title + "]" + " 실행이 취소되었습니다." , onOK : () => { } }); return; @@ -479,18 +485,22 @@ } // 심의의결서 출력 버튼 이벤트 - $P.fnPrintDlbrDecsn = () => { - // 버튼 title - let btnTitle = $("#btnPrintDlbrDecsn--${pageName}").attr("title"); - + $P.fnPrintDlbrDecsn = (title) => { // 의견제출 ID let opnnId = $P.control.dataset.getValue("OPNN_ID"); // 의견제출 ID 가 없다면.. return - if (typeof opnnId == "undefined" || opnnId == null || opnnId == "") return; + if (typeof opnnId == "undefined" || opnnId == null || opnnId == "") { + dialog.alert({ + content : "조회된 의견제출 대장 정보가 없습니다." + + "

" + "[" + title + "]" + " 실행이 취소되었습니다." + , onOK : () => { } + }); + return; + } let params = { callPurpose : "view" - , btnTitle : btnTitle + , title : title , opnnIds : opnnId // 의견제출 ID , sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드 , taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 @@ -500,24 +510,28 @@ } // 의견제출 심의 버튼 이벤트 - $P.fnUpdateOpnnSbmsnDlbrt = () => { - // 버튼 title - let btnTitle = $("#btnUpdateOpnnSbmsnDlbrt--${pageName}").attr("title"); - + $P.fnUpdateOpnnSbmsnDlbrt = (title) => { // 의견제출 ID let opnnId = $P.control.dataset.getValue("OPNN_ID"); // 의견제출 ID 가 없다면.. return - if (typeof opnnId == "undefined" || opnnId == null || opnnId == "") return; + if (typeof opnnId == "undefined" || opnnId == null || opnnId == "") { + dialog.alert({ + content : "조회된 의견제출 대장 정보가 없습니다." + + "

" + "[" + title + "]" + " 실행이 취소되었습니다." + , onOK : () => { } + }); + return; + } // 단속 상태 코드 let crdnSttsCd = $("#crdnSttsCd--${pageNameMain}").val(); let crdnSttsNm = $("#crdnSttsNm--${pageNameMain}").val(); // 단속 상태 코드 확인 - if ( (Number(crdnSttsCd) != 82 && Number(crdnSttsCd) != 87) - && (Number(crdnSttsCd) < 21 || Number(crdnSttsCd) > 45) ) { + if ( (Number(crdnSttsCd) != 82 && Number(crdnSttsCd) != 87) && (Number(crdnSttsCd) < 21 || Number(crdnSttsCd) > 45) ) { dialog.alert({ - content : "단속상태가 '" + crdnSttsNm + "' 입니다." - + "
" + "[" + btnTitle + "]" + " 실행이 취소되었습니다." + content : "[" + title + "]" + " 작업은 단속상태가 '의견제출수용', '경찰서이첩', '부과 이전' 자료만 처리 가능합니다." + + "
" + "단속상태 : " + crdnSttsNm + + "

" + "[" + title + "]" + " 실행이 취소되었습니다." , onOK : () => { } }); return; @@ -525,7 +539,7 @@ let params = { callPurpose : "update" - , btnTitle : btnTitle + , title : title , opnnId : opnnId // 의견제출 ID , sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드 , taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 @@ -596,12 +610,26 @@ **************************************************************************/ // 이벤트 설정 $P.setEvent = () => { - // 업무 버튼 이벤트 - $("#btnCreateOpnnSbmsn--${pageName}").on("click", () => $P.fnCreateOpnnSbmsn()); // 의견제출 등록 버튼 이벤트 - $("#btnUpdateOpnnSbmsn--${pageName}").on("click", () => $P.fnUpdateOpnnSbmsn()); // 의견제출 수정 버튼 이벤트 - $("#btnRemoveOpnnSbmsn--${pageName}").on("click", () => $P.fnRemoveOpnnSbmsn()); // 의견제출 삭제 버튼 이벤트 - $("#btnPrintDlbrDecsn--${pageName}").on("click", () => $P.fnPrintDlbrDecsn()); // 심의의결서 출력 버튼 이벤트 - $("#btnUpdateOpnnSbmsnDlbrt--${pageName}").on("click", () => $P.fnUpdateOpnnSbmsnDlbrt()); // 의견제출 심의 버튼 이벤트 + // 의견제출 등록 버튼 이벤트 + $("#btnCreateOpnnSbmsn--${pageName}").on("click", function() { + $P.fnCreateOpnnSbmsn($(this).attr("title")); + }); + // 의견제출 수정 버튼 이벤트 + $("#btnUpdateOpnnSbmsn--${pageName}").on("click", function() { + $P.fnUpdateOpnnSbmsn($(this).attr("title")); + }); + // 의견제출 삭제 버튼 이벤트 + $("#btnRemoveOpnnSbmsn--${pageName}").on("click", function() { + $P.fnRemoveOpnnSbmsn($(this).attr("title")); + }); + // 심의의결서 출력 버튼 이벤트 + $("#btnPrintDlbrDecsn--${pageName}").on("click", function() { + $P.fnPrintDlbrDecsn($(this).attr("title")); + }); + // 의견제출 심의 버튼 이벤트 + $("#btnUpdateOpnnSbmsnDlbrt--${pageName}").on("click", function() { + $P.fnUpdateOpnnSbmsnDlbrt($(this).attr("title")); + }); } // 초기 화면 설정 diff --git a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02040-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02040-info.jsp index d16556cf..488ff71f 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02040-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02040-info.jsp @@ -38,6 +38,7 @@ 발송상태 수납 + 취급구분 발송구분 발송일자 납기일자 @@ -67,6 +68,7 @@ {SNDNG_DTL_STTS_NM} {SNDNG_RCVMT_NM} + {DIV_KB_NM} {SNDNG_SE_NM} {SNDNG_YMD} {DUDT_YMD} @@ -242,12 +244,12 @@ * DatasetControl 이벤트 **************************************************************************/ // 발송 상세 Dataset 변경 - $P.sndngDtlControl.onDatasetChange = obj => { + $P.sndngDtlControl.onDatasetChange = (obj) => { $P.renderSndngList(); }; // 발송 상세 선택 자료 변경 이벤트 - $P.sndngDtlControl.onCurrentChange = item => { + $P.sndngDtlControl.onCurrentChange = (item) => { if (!item) return; let key = item.data.SNDNG_DTL_ID; @@ -283,12 +285,12 @@ } // 공시송달 Dataset 변경 - $P.svbtcControl.onDatasetChange = obj => { + $P.svbtcControl.onDatasetChange = (obj) => { $P.renderSvbtcList(); } // 공시송달 선택 자료 변경 이벤트 - $P.svbtcControl.onCurrentChange = item => { + $P.svbtcControl.onCurrentChange = (item) => { if (!item) return; let key = item.data.SVBTC_ID; @@ -306,7 +308,7 @@ , success : resp => { dialog.open({ id : "sndbkDialog" - , title : params.btnTitle + , title : params.title , content : resp , size : "md" , onClose : () => { $P.refreshDataInfo(); } @@ -326,7 +328,7 @@ }); if (resp.saved) { - $P.refreshDataInfo(); // 자료 재조회 + $P.refreshDataInfo(); } } @@ -420,10 +422,7 @@ * 버튼 clickEvent **************************************************************************/ // 개별 반송 등록 - $P.fnCreateSndbk = () => { - // 버튼 title - let btnTitle = $("#btnCreateSndbk--${pageName}").attr("title"); - + $P.fnCreateSndbk = (title) => { // 발송 상세 ID let sndngDtlId = $P.sndngDtlControl.dataset.getValue("SNDNG_DTL_ID"); // 발송상세ID 가 없다면.. return @@ -435,7 +434,7 @@ if (undlvrRsnNm != "" ) { dialog.alert({ content : "미배달 사유가 " + undlvrRsnNm + " (으)로 반송 등록 되어 있습니다." - + "
" + "[" + btnTitle + "]" + " 실행이 취소되었습니다." + + "

" + "[" + title + "]" + " 실행이 취소되었습니다." , onOK : () => { } }); return; @@ -447,8 +446,9 @@ // 발송상세 상태코드 확인 (FIM050 - 03:발송 04:발송확인) if (sndngDtlSttsCd != "03" && sndngDtlSttsCd != "04") { dialog.alert({ - content : "발송상세 상태가 '발송' 또는 '발송확인' 자료만 등록 가능합니다." - + "
" + "[" + btnTitle + "]" + " 실행이 취소되었습니다." + content : "[" + title + "]" + " 작업은 발송상세 상태가 '발송' 또는 '발송확인' 자료만 처리 가능합니다." + + "
" + "발송상세상태 : " + sndngDtlSttsNm + + "

" + "[" + title + "]" + " 실행이 취소되었습니다." , onOK : () => { } }); return; @@ -456,7 +456,7 @@ let params = { callPurpose : "create" - , btnTitle : btnTitle + , title : title , sndngDtlId : sndngDtlId // 발송 상세 ID , sggCd : $P.sndngDtlControl.dataset.getValue("SGG_CD") // 시군구 코드 , taskSeCd : $P.sndngDtlControl.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 @@ -467,10 +467,7 @@ } // 개별 반송 수정 - $P.fnUpdateSndbk = () => { - // 버튼 title - let btnTitle = $("#btnUpdateSndbk--${pageName}").attr("title"); - + $P.fnUpdateSndbk = (title) => { // 발송 상세 ID let sndngDtlId = $P.sndngDtlControl.dataset.getValue("SNDNG_DTL_ID"); // 발송상세ID 가 없다면.. return @@ -482,8 +479,8 @@ // 발송상세 상태코드 확인 (FIM050 - 05:반송) if (undlvrRsnCd == "") { dialog.alert({ - content : "반송(미배달) 사유가 없습니다." - + "
" + "[" + btnTitle + "]" + " 실행이 취소되었습니다." + content : "조회된 반송(미배달) 사유가 없습니다." + + "

" + "[" + title + "]" + " 실행이 취소되었습니다." , onOK : () => { } }); return; @@ -491,7 +488,7 @@ let params = { callPurpose : "update" - , btnTitle : btnTitle + , title : title , sggCd : $P.sndngDtlControl.dataset.getValue("SGG_CD") // 시군구 코드 , taskSeCd : $P.sndngDtlControl.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 , sndngDtlId : sndngDtlId // 발송 상세 ID @@ -504,10 +501,7 @@ } // 개별 반송 삭제 - $P.fnRemoveSndbk = () => { - // 버튼 title - let btnTitle = $("#btnRemoveSndbk--${pageName}").attr("title"); - + $P.fnRemoveSndbk = (title) => { // 발송 상세 ID let sndngDtlId = $P.sndngDtlControl.dataset.getValue("SNDNG_DTL_ID"); // 발송상세ID 가 없다면.. return @@ -519,8 +513,9 @@ // 발송상세 상태코드 확인 (FIM050 - 05:반송) if (sndngDtlSttsCd != "05") { dialog.alert({ - content : "발송상세 상태가 '반송' 자료만 삭제 가능합니다." - + "
" + "[" + btnTitle + "]" + " 실행이 취소되었습니다." + content : "[" + title + "]" + " 작업은 발송상세 상태가 '반송' 자료만 처리 가능합니다." + + "
" + "발송상세상태 : " + sndngDtlSttsNm + + "

" + "[" + title + "]" + " 실행이 취소되었습니다." , onOK : () => { } }); return; @@ -528,7 +523,7 @@ let params = { callPurpose : "delete" - , btnTitle : btnTitle + , title : title , sggCd : $P.sndngDtlControl.dataset.getValue("SGG_CD") // 시군구 코드 , taskSeCd : $P.sndngDtlControl.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 , sndngDtlId : sndngDtlId // 발송 상세 ID @@ -545,9 +540,13 @@ // 우편 종적 보기 $P.fnViewPostTrace = () => { + // 취급 구분 + let divKb = $P.sndngDtlControl.dataset.getValue("DIV_KB"); + // 취급 구분이 일반이라면.. + if (typeof divKb == "undefined" || divKb == null || divKb == "" || divKb == "000") return; + // 등기번호 let rgNo = $P.sndngDtlControl.dataset.getValue("RG_NO"); - // 등기번호가 없다면.. if (typeof rgNo == "undefined" || rgNo == null || rgNo == "") return; @@ -559,11 +558,22 @@ **************************************************************************/ // 이벤트 설정 $P.setEvent = () => { - // 업무 버튼 이벤트 - $("#btnCreateSndbk--${pageName}").on("click", () => $P.fnCreateSndbk()); // 개별 반송 등록 버튼 이벤트 - $("#btnUpdateSndbk--${pageName}").on("click", () => $P.fnUpdateSndbk()); // 개별 반송 수정 버튼 이벤트 - $("#btnRemoveSndbk--${pageName}").on("click", () => $P.fnRemoveSndbk()); // 개별 반송 삭제 버튼 이벤트 - $("#btnViewPostTrace--${pageName}").on("click", () => $P.fnViewPostTrace()); // 우편 종적 보기 버튼 이벤트 + // 개별 반송 등록 버튼 이벤트 + $("#btnCreateSndbk--${pageName}").on("click", function() { + $P.fnCreateSndbk($(this).attr("title")); + }); + // 개별 반송 수정 버튼 이벤트 + $("#btnUpdateSndbk--${pageName}").on("click", function() { + $P.fnUpdateSndbk($(this).attr("title")); + }); + // 개별 반송 삭제 버튼 이벤트 + $("#btnRemoveSndbk--${pageName}").on("click", function() { + $P.fnRemoveSndbk($(this).attr("title")); + }); + // 우편 종적 보기 버튼 이벤트 + $("#btnViewPostTrace--${pageName}").on("click", function() { + $P.fnViewPostTrace($(this).attr("title")); + }); // DataTables width 변경 조정 fnMakeResizableTable($("#table-responsive-sndngDtl--${pageName}")[0]);