diff --git a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngBean.java b/src/main/java/cokr/xit/fims/sndb/service/bean/SndngBean.java index c5951907..b6ed969f 100644 --- a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngBean.java +++ b/src/main/java/cokr/xit/fims/sndb/service/bean/SndngBean.java @@ -216,6 +216,9 @@ public class SndngBean extends AbstractBean { int rtnNocs = -1; // 처리 결과 건수 String rtnMsg = ""; // 처리 결과 메시지 + // 사용자 정보를 조회한다. + DataObject userInfo = userBean.getUserInfo(currentUser().getId()); + // 단속 IDs로 계도장 발송 대상 정보 조회 List trgtList = sndngMapper.selectWrngTrgtCrdnIds(req); @@ -229,12 +232,22 @@ public class SndngBean extends AbstractBean { return rtnMsg; } - // 사용자 정보를 조회한다. - DataObject userInfo = userBean.getUserInfo(currentUser().getId()); + // 위반 ID 조회 + String vltnId = ""; + if (req.getVltnCd() != null) { + VltnQuery vltnReq = new VltnQuery(); + vltnReq.setSggCd(sndng.getSggCd()); + vltnReq.setTaskSeCd(sndng.getTaskSeCd()); + vltnReq.setVltnCd(req.getVltnCd()); + + DataObject vltnInfo = vltnMapper.selectVltnInfo(vltnReq); + + vltnId = vltnInfo.string("VLTN_ID"); + } // 발송(TB_SNDNG) 대장에 등록한다. sndng.setDeptCd(userInfo.string("DEPT_CD")); // 부서 코드 - sndng.setVltnId(trgtList.get(0).string("VLTN_ID")); // 위반 ID + sndng.setVltnId(vltnId); // 위반 ID sndng.setSndngEndYmd(null); // 발송 종료 일자 if (sndng.getSndngRegSeCd() == null) { @@ -1098,7 +1111,6 @@ public class SndngBean extends AbstractBean { // 4. 위반 정보를 조회한다. VltnQuery vltnQuery = new VltnQuery(); - if (sndngInfo.string("VLTN_ID").equals("")) { // 위반 ID가 없다면.. vltnQuery.setSggCd(sndngInfo.string("SGG_CD")); vltnQuery.setTaskSeCd(sndngInfo.string("TASK_SE_CD")); 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 3eadf18b..cd873026 100644 --- a/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java +++ b/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java @@ -302,6 +302,7 @@ public class Sndb01Controller extends ApplicationController { .addObject("prefixUrl", CLASS_URL) // prefixUrl .addObject("sggCd", req.getSggCd()) // 시군구 코드(SGG_CD) .addObject("taskSeCd", req.getTaskSeCd()) // 업무 구분 코드(TASK_SE_CD) + .addObject("vltnCd", req.getSchVltnCd()) // 위반 코드(VLTN_CD) .addObject("mainQuery", toJson(req)) // 검색 조건 .addObject("List", toJson(mav.getModel().get("List"))) // 데이터 .addObject("Paging", toJson(mav.getModel().get("Paging"))) // 페이징 @@ -559,21 +560,20 @@ public class Sndb01Controller extends ApplicationController { FimsUser fimsUser = (FimsUser)currentUser().getUser(); // View(jsp)에서 사용할 공통코드를 조회 - Map> commonCodes = getCodesOf("FIM004", "FIM005", "FIM006", "FIM054", "FIM061", "FIM064"); - - addCodes(commonCodes, mav, "FIM004", "FIM005", "FIM006", "FIM061", "FIM064"); + Map> commonCodes = getCodesOf("FIM004", "FIM005", "FIM006", "FIM054", "FIM061", "FIM064", "FIM066"); + addCodes(commonCodes, mav, "FIM004", "FIM005", "FIM006", "FIM061", "FIM064", "FIM066"); return mav - .addObject("pageName", "sndb01050") // View(jsp)에서 사용할 id 뒤에 붙일 suffix - .addObject("infoPrefix", "advntceTrgt") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl + .addObject("pageName", "sndb01050") // View(jsp)에서 사용할 id 뒤에 붙일 suffix + .addObject("prefixUrl", CLASS_URL) // prefixUrl .addObject("sggCd", fimsUser.getOrgID()) // 시군구 코드(SGG_CD) .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 시군구에서 사용하는 업무 목록 - .addObject("FIM004List", commonCodes.get("FIM004")) // 주정차위반 내역 코드(VLTN_CD) - .addObject("FIM005List", commonCodes.get("FIM005")) // 전용차로위반 내역 코드(VLTN_CD) - .addObject("FIM006List", commonCodes.get("FIM006")) // 장애인주차위반 내역 코드(VLTN_CD) - .addObject("FIM061List", commonCodes.get("FIM061")) // 전기차 충전구역 및 충전방해 위반 코드(VLTN_CD) - .addObject("FIM064List", commonCodes.get("FIM064")) // 화물자동차 밤샘주차 위반 코드(VLTN_CD) + .addObject("FIM004List", commonCodes.get("FIM004")) // 주정차위반 내역 코드(VLTN_CD) + .addObject("FIM005List", commonCodes.get("FIM005")) // 전용차로위반 내역 코드(VLTN_CD) + .addObject("FIM006List", commonCodes.get("FIM006")) // 장애인주차위반 내역 코드(VLTN_CD) + .addObject("FIM061List", commonCodes.get("FIM061")) // 전기차 충전구역 및 충전방해 위반 코드(VLTN_CD) + .addObject("FIM064List", commonCodes.get("FIM064")) // 화물자동차 밤샘주차 위반 코드(VLTN_CD) + .addObject("FIM066List", commonCodes.get("FIM066")) // 미세먼지 위반 코드(VLTN_ID) ; } @@ -593,7 +593,7 @@ public class Sndb01Controller extends ApplicationController { public ModelAndView getAdvanceNoticeTargetList(SndbQuery req) { if (!"xls".equals(req.getDownload())) { List result = sndngService.getAdvntceTrgtList(setFetchSize(req)); - return setCollectionInfo(new ModelAndView("jsonView"), result, "advntceTrgt"); + return setPagingInfo(new ModelAndView("jsonView"), result, ""); } else { // 현재 날짜 구하기 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); @@ -664,19 +664,24 @@ public class Sndb01Controller extends ApplicationController { mav.setViewName("fims/sndb/sndb01060-info"); - // 사전통지 납기일자 - DataObject advntceYmdInfo = taskBean.getAdvntceYmdInfo(new CmmnQuery().setSggCd(req.getSggCd()) - .setTaskSeCd(req.getTaskSeCd())); + // 사전통지 납기일자 조회 + CmmnQuery cmmnReq = new CmmnQuery(); + cmmnReq.setSggCd(req.getSggCd()); + cmmnReq.setTaskSeCd(req.getTaskSeCd()); + + DataObject advntceYmdInfo = taskBean.getAdvntceYmdInfo(cmmnReq); return mav - .addObject("openerPageName", hReq.getParameter("openerPageName")) // 호출한 Jsp PageName - .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 - .addObject("pageName", "sndb01060") // View(jsp)에서 사용할 id 뒤에 붙일 suffix - .addObject("infoPrefix", "advntceTrgt") // prefix - .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl - .addObject("mainQuery", toJson(req)) // 검색 조건 - .addObject("advntceTrgtList", toJson(mav.getModel().get("advntceTrgtList"))) // 자료 - .addObject("advntceYmdInfo", toJson(advntceYmdInfo)) // 사전통지 기간 정보 + .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 + .addObject("pageName", "sndb01060") // View(jsp)에서 사용할 id 뒤에 붙일 suffix + .addObject("prefixUrl", CLASS_URL) // prefixUrl + .addObject("sggCd", req.getSggCd()) // 시군구 코드(SGG_CD) + .addObject("taskSeCd", req.getTaskSeCd()) // 업무 구분 코드(TASK_SE_CD) + .addObject("vltnCd", req.getSchVltnCd()) // 위반 코드(VLTN_CD) + .addObject("mainQuery", toJson(req)) // 검색 조건 + .addObject("advntceYmdInfo", toJson(advntceYmdInfo)) // 사전통지 기간 정보 + .addObject("List", toJson(mav.getModel().get("List"))) // 데이터 + .addObject("Paging", toJson(mav.getModel().get("Paging"))) // 페이징 ; } diff --git a/src/main/resources/sql/mapper/fims/sndb/sndng-mapper.xml b/src/main/resources/sql/mapper/fims/sndb/sndng-mapper.xml index ff055d7e..e6e5a5de 100644 --- a/src/main/resources/sql/mapper/fims/sndb/sndng-mapper.xml +++ b/src/main/resources/sql/mapper/fims/sndb/sndng-mapper.xml @@ -279,12 +279,12 @@ LEFT OUTER JOIN TB_LEVY_EXCL LE ON (C.CRDN_ID = LE.CRDN_ID AND LE.DEL_YN = 'N') - AND C.CRDN_ID IN ( - #{crdnId} + AND C.CRDN_ID IN ( + #{crdnId} ) - AND C.CRDN_ID = #{crdnId} + AND C.CRDN_ID = #{crdnId} AND C.CRDN_STTS_CD = #{crdnSttsCd} @@ -297,6 +297,12 @@ AND LE.LEVY_EXCL_RSN_CD = #{schLevyExclRsnCd} + + + AND V.SGG_CD = #{sggCd} + AND V.TASK_SE_CD = #{taskSeCd} + AND V.VLTN_CD = #{schVltnCd} + AND V.USE_YN = 'Y' AND C.CRDN_YMD =]]> #{schCrdnYmdFrom} @@ -305,21 +311,21 @@ AND C.CRDN_YMD #{schCrdnYmdTo} - AND C.VHRNO = #{schVhrno} + AND C.VHRNO = #{schVhrno} - AND P.RTPYR_NO = #{schRtpyrNo} + AND P.RTPYR_NO = #{schRtpyrNo} - AND P.RTPYR_NM = #{schRtpyrNm} + AND P.RTPYR_NM = #{schRtpyrNm} - AND C.SGG_CD = #{sggCd} + AND C.SGG_CD = #{sggCd} - AND C.TASK_SE_CD = #{taskSeCd} + AND C.TASK_SE_CD = #{taskSeCd} - AND C.DEL_YN = 'N' + AND C.DEL_YN = 'N'