From 8838f17904d868348d5c7329e134ca231ad7c81a Mon Sep 17 00:00:00 2001 From: jjh Date: Tue, 2 Jan 2024 16:21:05 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B3=84=EA=B3=A0=EC=9E=A5=20=EB=B0=9C?= =?UTF-8?q?=EC=86=A1=20=EB=8C=80=EC=83=81=20=EC=88=98=EC=A0=95.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cokr/xit/fims/sndb/dao/SndngMapper.java | 31 +- .../xit/fims/sndb/service/bean/SndngBean.java | 354 ++++-------------- .../sql/mapper/fims/sndb/sndng-mapper.xml | 276 +++++++------- .../sql/mapper/fims/sndb/svbtc-mapper.xml | 10 +- .../WEB-INF/jsp/fims/sndb/sndb01010-main.jsp | 7 +- .../WEB-INF/jsp/fims/sndb/sndb01020-info.jsp | 3 +- 6 files changed, 242 insertions(+), 439 deletions(-) diff --git a/src/main/java/cokr/xit/fims/sndb/dao/SndngMapper.java b/src/main/java/cokr/xit/fims/sndb/dao/SndngMapper.java index 0ae45331..7f92b4e9 100644 --- a/src/main/java/cokr/xit/fims/sndb/dao/SndngMapper.java +++ b/src/main/java/cokr/xit/fims/sndb/dao/SndngMapper.java @@ -7,7 +7,6 @@ import org.egovframe.rte.psl.dataaccess.mapper.Mapper; import cokr.xit.foundation.component.AbstractMapper; import cokr.xit.foundation.data.DataObject; - import cokr.xit.fims.sndb.Sndng; import cokr.xit.fims.sndb.SndngDtl; import cokr.xit.fims.sndb.SndbQuery; @@ -43,6 +42,12 @@ public interface SndngMapper extends AbstractMapper { return !wrngTrgtInfo.isEmpty() ? wrngTrgtInfo.get(0) : null; } + /**지정한 조건에 따라 계도장 발송 대상의 단속 ID들을 반환한다. + * @param req 발송 대장 조회 조건 + * @return 계도장 발송 대상 객체 목록 + */ + List selectWrngTrgtCrdnIDs(SndbQuery req); + /**지정한 조건에 따라 사전통지 발송 대상 목록을 조회하여 반환한다.
* @param req 발송 대장 조회 조건 * @return 발송 대장 목록 @@ -158,6 +163,19 @@ public interface SndngMapper extends AbstractMapper { + /**지정한 조건에 따라 단속, 납부자, 부과 객체들을 반환한다. + * @param req 발송 대장 조회 조건 + * @return 계도장 발송 대상 객체 목록 + */ + List selectCrdnPayerTrgts(SndbQuery req); + + default DataObject selectCrdnPayerInfo(String crdnId) { + List crdnPayerInfo = selectCrdnPayerTrgts(new SndbQuery().setCrdnId(crdnId)); + + return !crdnPayerInfo.isEmpty() ? crdnPayerInfo.get(0) : null; + } + + @@ -170,17 +188,6 @@ public interface SndngMapper extends AbstractMapper { */ List selectSndngTrgts(String sndngId); - /**지정한 조건에 따라 단속, 납부자, 부과 객체들을 반환한다. - * @param req 발송 대장 조회 조건 - * @return 계도장 발송 대상 객체 목록 - */ - List selectCrdnPayerTrgts(SndbQuery req); - - default DataObject selectCrdnPayerTrgtInfo(String crdnId) { - List InfoCrdnPayerTrgt = selectCrdnPayerTrgts(new SndbQuery().setCrdnId(crdnId)); - - return !InfoCrdnPayerTrgt.isEmpty() ? InfoCrdnPayerTrgt.get(0) : null; - } 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 6e6b9415..8263908d 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 @@ -138,112 +138,52 @@ public class SndngBean extends AbstractComponent { boolean rtnScs = false; // DB 처리 결과 String rtnMsg = "[F] "; // 처리 결과 메시지 - // 첫번째 페이지 확인 - req.setPageNum(1); - - List wrngTrgtList = sndngMapper.selectWrngTrgtList(req); + List wrngTrgtList = sndngMapper.selectWrngTrgtCrdnIDs(req);; // 조회 건수 확인 if (wrngTrgtList == null || wrngTrgtList.size() < 1) { rtnMsg = "[F] 작업 중 대상 자료가 존재하지 않습니다."; return rtnMsg; } - if (sndng.getTnocs() != wrngTrgtList.get(0).number("TOT_CNT").intValue()) { + if (sndng.getTnocs() != wrngTrgtList.size()) { rtnMsg = "[F] 조회된 총 건수와 대상 건수가 다릅니다."; return rtnMsg; } - // 총 페이지 건수 확인 - int totalPageCnt = wrngTrgtList.get(0).number("TOT_CNT").intValue() / req.getFetchSize() + ((wrngTrgtList.get(0).number("TOT_CNT").intValue() % req.getFetchSize() == 0) ? 0 : 1); - - // 페이지 건수 + 1 만큼 반복문 실행.. - for (int iLoop = 1; iLoop <= totalPageCnt; iLoop++) { - if (iLoop == 1) { - // 발송(TB_SNDNG) 대장에 등록한다. - sndng.setLevyBgngYmd(null); // 부과 시작 일자 - sndng.setLevyEndYmd(null); // 부과 종료 일자 - sndng.setSndngEndYmd(null); // 발송 종료 일자 - if (sndng.getTnocs() == 1) { - sndng.setSndngRegSeCd("02"); // 발송 등록 구분 코드 - 개별 - } else { - sndng.setSndngRegSeCd("01"); // 발송 등록 구분 코드 - 일괄 - } - if (sndng.getResndYN() == null) { - sndng.setResndYN("N"); // 재발송 여부 - } - if (sndng.getDelYN() == null) { - sndng.setDelYN("N"); // 삭제 여부 - } - sndng.setSndngSttsCd("00"); // 발송 상태 코드(FIM049) - 00 발송 준비 - - // 발송 등록 - rtnScs = sndngMapper.insert(sndng); - if (!rtnScs) { - throw new RuntimeException("계도장 발송 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - } else { - req.setPageNum(iLoop); - - wrngTrgtList = sndngMapper.selectWrngTrgtList(req); - // 조회 건수 확인 - if (wrngTrgtList == null || wrngTrgtList.size() < 1) { - throw new RuntimeException("계도장 발송 등록 작업 중 대상 자료가 존재하지 않습니다."); // 예외를 발생시켜서 DB Rollback - } - } - - // 발송 상세(TB_SNDNG_DTL) 대장에 등록한다. - for (int jLoop = 0; jLoop < wrngTrgtList.size(); jLoop++) { - String newCrdnSttsCd = "84"; // 단속 상태 코드 - 84 계고장 출력 완료 - Integer ffnlgAmt = wrngTrgtList.get(jLoop).number("FFNLG_CRDN_AMT").intValue(); // 과태료 최초 단속 금액 - Integer pcptax = wrngTrgtList.get(jLoop).number("FFNLG_CRDN_AMT").intValue(); // 과태료 최초 단속 금액 - Integer adamt = 0; - Integer sumAmt = 0; - - SndngDtl sndngDtl = new SndngDtl(); - - sndngDtl.setSndngId(sndng.getSndngId()); // 발송 ID - sndngDtl.setCrdnId(wrngTrgtList.get(jLoop).string("CRDN_ID")); // 단속 ID - sndngDtl.setSndngSeCd(sndng.getSndngSeCd()); // 발송 구분 코드 - sndngDtl.setSndngYmd(sndng.getSndngYmd()); // 발송 일자 - sndngDtl.setSndngEndYmd(sndng.getSndngEndYmd()); // 발송 종료 일자 - sndngDtl.setRtpyrNm(wrngTrgtList.get(jLoop).string("RTPYR_NM")); // 납부자 명 - sndngDtl.setRtpyrBrdt(wrngTrgtList.get(jLoop).string("RTPYR_BRDT")); // 납부자 생년월일 - sndngDtl.setRtpyrAddr(wrngTrgtList.get(jLoop).string("ADDR")); // 납부자 주소 - sndngDtl.setRtpyrDtlAddr(wrngTrgtList.get(jLoop).string("DTL_ADDR")); // 납부자 상세 주소 - sndngDtl.setRtpyrZip(wrngTrgtList.get(jLoop).string("ZIP")); // 납부자 우편번호 - sndngDtl.setSndngDtlSttsCd("00"); // 발송 상세 상태 코드 - 00 처리전 - sndngDtl.setVhrno(wrngTrgtList.get(jLoop).string("VHRNO")); // 차량번호 - sndngDtl.setCrdnDt(wrngTrgtList.get(jLoop).string("CRDN_YMD_TM_MASK")); // 단속 일시 - sndngDtl.setCrdnStdgNm(wrngTrgtList.get(jLoop).string("CRDN_STDG_NM")); // 단속 법정동 명 - sndngDtl.setCrdnPlc(wrngTrgtList.get(jLoop).string("CRDN_PLC")); // 단속 장소 - sndngDtl.setFfnlgAmt(ffnlgAmt); // 과태료 금액 - sndngDtl.setPcptax(pcptax); // 본세 - sndngDtl.setAdamt(adamt); // 가산금 - sndngDtl.setSumAmt(sumAmt); // 합계 금액 - sndngDtl.setDudtAftrAmt(0); // 납기 후 금액 - sndngDtl.setDelYN("N"); // 삭제 여부 - - rtnScs = sndngDtlMapper.insert(sndngDtl); // 발송 상세 등록 - if (!rtnScs) { - throw new RuntimeException("발송 상세 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } + // 사용자 정보를 조회한다. + DataObject userInfo = userBean.getUserInfo(currentUser().getId()); - // 단속 상태 코드를 수정한다. - if (!newCrdnSttsCd.equals("")) { - CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); + // 발송(TB_SNDNG) 대장에 등록한다. + sndng.setDeptCd(userInfo.string("DEPT_CD")); // 부서 코드 + sndng.setVltnId(wrngTrgtList.get(0).string("VLTN_ID")); // 위반 ID + sndng.setLevyBgngYmd(null); // 부과 시작 일자 + sndng.setLevyEndYmd(null); // 부과 종료 일자 + sndng.setSndngEndYmd(null); // 발송 종료 일자 + if (sndng.getTnocs() == 1) { + sndng.setSndngRegSeCd("02"); // 발송 등록 구분 코드 - 개별 + } else { + sndng.setSndngRegSeCd("01"); // 발송 등록 구분 코드 - 일괄 + } + if (sndng.getResndYN() == null) { + sndng.setResndYN("N"); // 재발송 여부 + } + if (sndng.getDelYN() == null) { + sndng.setDelYN("N"); // 삭제 여부 + } + sndng.setSndngSttsCd("00"); // 발송 상태 코드(FIM049) - 00 발송 준비 - crdnSttsHstry.setCrdnId(wrngTrgtList.get(jLoop).string("CRDN_ID")); - crdnSttsHstry.setBfrSttsCd(wrngTrgtList.get(jLoop).string("CRDN_STTS_CD")); - crdnSttsHstry.setBfrSttsChgDt(wrngTrgtList.get(jLoop).string("CRDN_STTS_CHG_DT")); - crdnSttsHstry.setCrdnSttsCd(newCrdnSttsCd); - crdnSttsHstry.setTaskDtlId(sndngDtl.getSndngDtlId()); + // 발송 등록 + rtnScs = sndngMapper.insert(sndng); + if (!rtnScs) { + throw new RuntimeException("계도장 발송 등록 작업에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback + } - // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다. - rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); - if (!rtnScs) { - throw new RuntimeException("발송 상세 등록 중 단속 대장의 단속상태 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - } + // 발송 상세(TB_SNDNG_DTL) 대장에 등록한다. + for (int iLoop = 0; iLoop < wrngTrgtList.size(); iLoop++) { + rtnMsg = createWrngSndngDtl(sndng, wrngTrgtList.get(iLoop).string("CRDN_ID")); + // 메시지 확인 + if (!rtnMsg.contains("[S]")) { + throw new RuntimeException("계도장 발송 등록 작업중 발송상세 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback } } @@ -253,201 +193,62 @@ public class SndngBean extends AbstractComponent { } /**계도장 발송 상세 정보를 등록한다. - * @param sndng 발송 대장 + * @param sndngDtl 발송 상세 * @return 저장 여부 *
  • 저장됐으면 true
  • *
  • 그렇지 않으면 false
  • *
*/ - public String createWrngSndngDtl(Sndng sndng) { + public String createWrngSndngDtl(Sndng sndng, String crdnId) { // 변수 선언 boolean rtnScs = false; // DB 처리 결과 String rtnMsg = "[F] "; // 처리 결과 메시지 - String newCrdnSttsCd = ""; // 단속 상태 코드 - int ffnlgAmt = 0; // 과태료 금액 - int pcptax = 0; // 본세 - int adamt = 0; // 가산금 - int sumAmt = 0; // 합계 금액 - - // 사용자 정보 - DataObject userInfo = userBean.getUserInfo(currentUser().getId()); + DataObject crdnPayerInfo = sndngMapper.selectCrdnPayerInfo(crdnId); - sndng.setDeptCd(userInfo.string("DEPT_CD")); // 부서 코드 - sndng.setVltnId(sndng.getVltnId()); // 위반 ID - - if (sndng.getSndngSeCd().equals("11") || sndng.getSndngSeCd().equals("12")) { // 계고장 - sndng.setLevyBgngYmd(null); // 부과 시작 일자 - sndng.setLevyEndYmd(null); // 부과 종료 일자 - sndng.setSndngEndYmd(null); // 발송 종료 일자 - newCrdnSttsCd = "84"; // 단속 상태 코드 - 84 계고장 출력 완료 - } else if (sndng.getSndngSeCd().equals("01") || sndng.getSndngSeCd().equals("02")) { // 사전통지 - sndng.setLevyBgngYmd(null); // 부과 시작 일자 - sndng.setLevyEndYmd(null); // 부과 종료 일자 - newCrdnSttsCd = "42"; // 단속 상태 코드 - 42 사전통지 발송 - } else { - newCrdnSttsCd = ""; - } - - if (sndng.getTnocs() == 1) { - sndng.setSndngRegSeCd("02"); // 발송 등록 구분 코드 - 개별 - } else { - sndng.setSndngRegSeCd("01"); // 발송 등록 구분 코드 - 일괄 - } - - if (sndng.getResndYN() == null) { - sndng.setResndYN("N"); // 재발송 여부 - } - - if (sndng.getDelYN() == null) { - sndng.setDelYN("N"); // 삭제 여부 - } - - sndng.setSndngSttsCd("00"); // 발송 상태 코드(FIM049) - 00 발송 준비 + SndngDtl sndngDtl = new SndngDtl(); - // 발송 등록 - rtnScs = sndngMapper.insert(sndng); + sndngDtl.setSndngId(sndng.getSndngId()); // 발송 ID + sndngDtl.setCrdnId(crdnPayerInfo.string("CRDN_ID")); // 단속 ID + sndngDtl.setSndngSeCd(sndng.getSndngSeCd()); // 발송 구분 코드 + sndngDtl.setSndngYmd(sndng.getSndngYmd()); // 발송 일자 + sndngDtl.setSndngEndYmd(sndng.getSndngEndYmd()); // 발송 종료 일자 + sndngDtl.setRtpyrNm(crdnPayerInfo.string("RTPYR_NM")); // 납부자 명 + sndngDtl.setRtpyrBrdt(crdnPayerInfo.string("RTPYR_BRDT")); // 납부자 생년월일 + sndngDtl.setRtpyrAddr(crdnPayerInfo.string("ADDR")); // 납부자 주소 + sndngDtl.setRtpyrDtlAddr(crdnPayerInfo.string("DTL_ADDR")); // 납부자 상세 주소 + sndngDtl.setRtpyrZip(crdnPayerInfo.string("ZIP")); // 납부자 우편번호 + sndngDtl.setSndngDtlSttsCd("00"); // 발송 상세 상태 코드 - 00 처리전 + sndngDtl.setCrdnDt(crdnPayerInfo.string("CRDN_YMD_TM_MASK")); // 단속 일시 + sndngDtl.setVhrno(crdnPayerInfo.string("VHRNO")); // 차량번호 + sndngDtl.setCrdnStdgNm(crdnPayerInfo.string("CRDN_STDG_NM")); // 단속 법정동 명 + sndngDtl.setCrdnPlc(crdnPayerInfo.string("CRDN_PLC")); // 단속 장소 + sndngDtl.setFfnlgAmt(crdnPayerInfo.number("FFNLG_CRDN_AMT").intValue());// 과태료 금액 + sndngDtl.setPcptax(crdnPayerInfo.number("FFNLG_CRDN_AMT").intValue()); // 본세 + sndngDtl.setAdamt(0); // 가산금 + sndngDtl.setSumAmt(0); // 합계 금액 + sndngDtl.setDudtAftrAmt(0); // 납기 후 금액 + sndngDtl.setDelYN("N"); // 삭제 여부 + + rtnScs = sndngDtlMapper.insert(sndngDtl); // 발송 상세 등록 if (!rtnScs) { - throw new RuntimeException("발송 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback + throw new RuntimeException("발송 상세 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback } - for (int iLoop = 0; iLoop < sndng.getCrdnIDs().length; iLoop++) { - // 단속, 납부자 정보 조회 - DataObject crdnPayerInfo = sndngMapper.selectCrdnPayerTrgtInfo(sndng.getCrdnIDs()[iLoop]); - - if (crdnPayerInfo == null) { - throw new RuntimeException("발송상세 등록 작업중 단속 정보가 확인되지 않았습니다." + "

단속ID : " + sndng.getCrdnIDs()[iLoop]); // 예외를 발생시켜서 DB Rollback - } - if (crdnPayerInfo.string("RTPYR_ID").equals("")) { - throw new RuntimeException("발송상세 등록 작업중 납부자 정보가 확인되지 않았습니다." + "

차량번호 : " + crdnPayerInfo.string("VHRNO")); // 예외를 발생시켜서 DB Rollback - } - - if (sndng.getSndngSeCd().equals("11") || sndng.getSndngSeCd().equals("12")) { // 계고장 - ffnlgAmt = crdnPayerInfo.number("FFNLG_CRDN_AMT").intValue(); // 과태료 최초 단속 금액 - pcptax = crdnPayerInfo.number("FFNLG_CRDN_AMT").intValue(); // 과태료 최초 단속 금액 - adamt = 0; - sumAmt = 0; - } else if (sndng.getSndngSeCd().equals("01") || sndng.getSndngSeCd().equals("02")) { // 사전통지 - // 부과 ID가 없다면 부과대장 등록 - if (crdnPayerInfo.string("LEVY_ID").equals("")) { - Levy levy = new Levy(); - - levy.setCrdnId(crdnPayerInfo.string("CRDN_ID")); // 단속 ID - levy.setLevyYmd(sndng.getSndngYmd()); // 부과 일자 - levy.setFrstDudtYmd(sndng.getSndngEndYmd()); // 최초 납기 일자 - levy.setDudtYmd(sndng.getSndngEndYmd()); // 납기 일자 - - rtnMsg = levyBean.createRductLevy(levy); - if (rtnMsg.contains("[F]")) { - throw new RuntimeException("발송 상세 등록 작업중 부과대장 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - // 단속, 납부자 정보 재조회 ///////////////////////////////////////// - crdnPayerInfo = sndngMapper.selectCrdnPayerTrgtInfo(sndng.getCrdnIDs()[iLoop]); - } else { - if ("BPV,PVS".contains(crdnPayerInfo.string("TASK_SE_CD"))) { - // 부과일자, 최초납기일자, 납기일자를 변경한다. - Levy levy = new Levy(); - - levy.setLevyId(crdnPayerInfo.string("LEVY_ID")); // 부과 ID - levy.setLevyYmd(sndng.getSndngYmd()); // 부과 일자 - levy.setFrstDudtYmd(sndng.getSndngEndYmd()); // 최초 납기 일자 - levy.setDudtYmd(sndng.getSndngEndYmd()); // 납기 일자 - levy.setFfnlgAmt(crdnPayerInfo.number("FFNLG_AMT").intValue()); // 과태료 금액 - levy.setLevyPcptax(crdnPayerInfo.number("ADVNTCE_AMT").intValue()); // 본세 금액 - levy.setSumAmt(crdnPayerInfo.number("ADVNTCE_AMT").intValue()); // 합계 금액 - - rtnMsg = levyBean.updateRductLevyYmd(levy); - if (rtnMsg.contains("[F]")) { - throw new RuntimeException("발송 상세 등록 작업중 부과대장 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - } - } - - ffnlgAmt = crdnPayerInfo.number("FFNLG_AMT").intValue(); // 과태료 금액 - pcptax = crdnPayerInfo.number("PCPTAX").intValue(); // 부과 본세 - adamt = 0; // 부과 가산금 - sumAmt = crdnPayerInfo.number("SUM_AMT").intValue(); // 부과 합계 금액 - } else { - ffnlgAmt = crdnPayerInfo.number("FFNLG_AMT").intValue(); // 과태료 금액 - pcptax = crdnPayerInfo.number("PCPTAX").intValue(); // 부과본세 - 수납본세 - 감액본세 - adamt = crdnPayerInfo.number("ADAMT").intValue(); // 부과가산금 - 수납가산금 - 감액가산금 - sumAmt = crdnPayerInfo.number("SUM_AMT").intValue(); // 합계 금액 - } + // 단속 상태 코드를 수정한다. + if (crdnPayerInfo.string("CRDN_STTS_CD").equals("83")) { + CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); - // 발송 상세(TB_SNDNG_DTL) 대장에 등록한다. - SndngDtl sndngDtl = new SndngDtl(); + crdnSttsHstry.setCrdnId(crdnPayerInfo.string("CRDN_ID")); + crdnSttsHstry.setBfrSttsCd(crdnPayerInfo.string("CRDN_STTS_CD")); + crdnSttsHstry.setBfrSttsChgDt(crdnPayerInfo.string("CRDN_STTS_CHG_DT")); + crdnSttsHstry.setCrdnSttsCd("84"); + crdnSttsHstry.setTaskDtlId(sndngDtl.getSndngDtlId()); - sndngDtl.setSndngId(sndng.getSndngId()); // 발송 ID - sndngDtl.setCrdnId(crdnPayerInfo.string("CRDN_ID")); // 단속 ID - sndngDtl.setSndngSeCd(sndng.getSndngSeCd()); // 발송 구분 코드 - sndngDtl.setSndngYmd(sndng.getSndngYmd()); // 발송 일자 - sndngDtl.setSndngEndYmd(sndng.getSndngEndYmd()); // 발송 종료 일자 - sndngDtl.setRtpyrNm(crdnPayerInfo.string("RTPYR_NM")); // 납부자 명 - sndngDtl.setRtpyrBrdt(crdnPayerInfo.string("RTPYR_BRDT")); // 납부자 생년월일 - sndngDtl.setRtpyrAddr(crdnPayerInfo.string("ADDR")); // 납부자 주소 - sndngDtl.setRtpyrDtlAddr(crdnPayerInfo.string("DTL_ADDR")); // 납부자 상세 주소 - sndngDtl.setRtpyrZip(crdnPayerInfo.string("ZIP")); // 납부자 우편번호 - sndngDtl.setSndngDtlSttsCd("00"); // 발송 상세 상태 코드 - 00 처리전 - sndngDtl.setVhrno(crdnPayerInfo.string("VHRNO")); // 차량번호 - sndngDtl.setCrdnDt(crdnPayerInfo.string("CRDN_YMD_TM_MASK")); // 단속 일시 - sndngDtl.setCrdnStdgNm(crdnPayerInfo.string("CRDN_STDG_NM")); // 단속 법정동 명 - sndngDtl.setCrdnPlc(crdnPayerInfo.string("CRDN_PLC")); // 단속 장소 - sndngDtl.setFyr(crdnPayerInfo.string("FYR")); // 회계연도 - sndngDtl.setLevyNo(crdnPayerInfo.string("LEVY_NO")); // 부과 번호 - sndngDtl.setLevyYmd(crdnPayerInfo.string("LEVY_YMD")); // 부과 일자 - sndngDtl.setDudtYmd(crdnPayerInfo.string("DUDT_YMD")); // 납기 일자 - sndngDtl.setFfnlgAmt(ffnlgAmt); // 과태료 금액 - sndngDtl.setPcptax(pcptax); // 본세 - sndngDtl.setAdamt(adamt); // 가산금 - sndngDtl.setSumAmt(sumAmt); // 합계 금액 - sndngDtl.setDudtAftrAmt(crdnPayerInfo.number("DUDT_AFTR_AMT").intValue()); // 납기 후 금액 - sndngDtl.setEpayno(crdnPayerInfo.string("TAX_NO")); // 납세 번호 - sndngDtl.setEpayno(crdnPayerInfo.string("EPAYNO")); // 전자납부번호 - sndngDtl.setBankNm(crdnPayerInfo.string("BANK_NM")); // 은행 명 - sndngDtl.setVrActno(crdnPayerInfo.string("VR_ACTNO")); // 가상 계좌번호 - sndngDtl.setBankNm2(crdnPayerInfo.string("BANK_NM2")); // 은행 명2 - sndngDtl.setVrActno2(crdnPayerInfo.string("VR_ACTNO2")); // 가상 계좌번호2 - sndngDtl.setBankNm3(crdnPayerInfo.string("BANK_NM3")); // 은행 명3 - sndngDtl.setVrActno3(crdnPayerInfo.string("VR_ACTNO3")); // 가상 계좌번호3 - sndngDtl.setBankNm4(crdnPayerInfo.string("BANK_NM4")); // 은행 명4 - sndngDtl.setVrActno4(crdnPayerInfo.string("VR_ACTNO4")); // 가상 계좌번호4 - sndngDtl.setBankNm5(crdnPayerInfo.string("BANK_NM5")); // 은행 명5 - sndngDtl.setVrActno5(crdnPayerInfo.string("VR_ACTNO5")); // 가상 계좌번호5 - sndngDtl.setBankNm6(crdnPayerInfo.string("BANK_NM6")); // 은행 명6 - sndngDtl.setVrActno6(crdnPayerInfo.string("VR_ACTNO6")); // 가상 계좌번호6 - sndngDtl.setBankNm7(crdnPayerInfo.string("BANK_NM7")); // 은행 명7 - sndngDtl.setVrActno7(crdnPayerInfo.string("VR_ACTNO7")); // 가상 계좌번호7 - sndngDtl.setBankNm8(crdnPayerInfo.string("BANK_NM8")); // 은행 명8 - sndngDtl.setVrActno8(crdnPayerInfo.string("VR_ACTNO8")); // 가상 계좌번호8 - sndngDtl.setBankNm9(crdnPayerInfo.string("BANK_NM9")); // 은행 명9 - sndngDtl.setVrActno9(crdnPayerInfo.string("VR_ACTNO9")); // 가상 계좌번호9 - sndngDtl.setBankNm10(crdnPayerInfo.string("BANK_NM10")); // 은행 명10 - sndngDtl.setVrActno10(crdnPayerInfo.string("VR_ACTNO10")); // 가상 계좌번호10 - sndngDtl.setBankNm11(crdnPayerInfo.string("BANK_NM11")); // 은행 명11 - sndngDtl.setVrActno11(crdnPayerInfo.string("VR_ACTNO11")); // 가상 계좌번호11 - sndngDtl.setDelYN("N"); // 삭제 여부 - - rtnScs = sndngDtlMapper.insert(sndngDtl); // 발송 상세 등록 + // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다. + rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); if (!rtnScs) { - throw new RuntimeException("발송 상세 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - // 단속 상태 코드를 수정한다. - if (!newCrdnSttsCd.equals("")) { - CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); - - crdnSttsHstry.setCrdnId(crdnPayerInfo.string("CRDN_ID")); - crdnSttsHstry.setBfrSttsCd(crdnPayerInfo.string("CRDN_STTS_CD")); - crdnSttsHstry.setBfrSttsChgDt(crdnPayerInfo.string("CRDN_STTS_CHG_DT")); - crdnSttsHstry.setCrdnSttsCd(newCrdnSttsCd); - crdnSttsHstry.setTaskDtlId(sndngDtl.getSndngDtlId()); - - // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다. - rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); - if (!rtnScs) { - throw new RuntimeException("발송 상세 등록 중 단속 대장의 단속상태 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } + throw new RuntimeException("발송 상세 등록 중 단속 대장의 단속상태 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback } } @@ -456,13 +257,6 @@ public class SndngBean extends AbstractComponent { return rtnMsg; } - - - - - - - /**지정한 조건에 따라 사전 통보 발송 대상 목록을 조회하여 반환한다. * @param req 발송 대장 조회 조건 * @return 계도장 발송 대상 목록 @@ -597,7 +391,7 @@ public class SndngBean extends AbstractComponent { for (int iLoop = 0; iLoop < sndng.getCrdnIDs().length; iLoop++) { // 단속, 납부자 정보 조회 - DataObject crdnPayerInfo = sndngMapper.selectCrdnPayerTrgtInfo(sndng.getCrdnIDs()[iLoop]); + DataObject crdnPayerInfo = sndngMapper.selectCrdnPayerInfo(sndng.getCrdnIDs()[iLoop]); if (crdnPayerInfo == null) { throw new RuntimeException("발송상세 등록 작업중 단속 정보가 확인되지 않았습니다." + "

단속ID : " + sndng.getCrdnIDs()[iLoop]); // 예외를 발생시켜서 DB Rollback @@ -627,7 +421,7 @@ public class SndngBean extends AbstractComponent { } // 단속, 납부자 정보 재조회 ///////////////////////////////////////// - crdnPayerInfo = sndngMapper.selectCrdnPayerTrgtInfo(sndng.getCrdnIDs()[iLoop]); + crdnPayerInfo = sndngMapper.selectCrdnPayerInfo(sndng.getCrdnIDs()[iLoop]); } else { if ("BPV,PVS".contains(crdnPayerInfo.string("TASK_SE_CD"))) { // 부과일자, 최초납기일자, 납기일자를 변경한다. 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 4de4c571..4373675e 100644 --- a/src/main/resources/sql/mapper/fims/sndb/sndng-mapper.xml +++ b/src/main/resources/sql/mapper/fims/sndb/sndng-mapper.xml @@ -109,6 +109,9 @@ , (SELECT GET_CODE_NM('FIM022', LE.LEVY_EXCL_RSN_CD) FROM DUAL) AS LEVY_EXCL_RSN_NM /* 부과 제외 사유 명 */ , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = LE.RGTR) AS RGTR_NM /* 등록자 명 */ , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = LE.MDFR) AS MDFR_NM /* 수정자 명 */ + + + FROM TB_CRDN C INNER JOIN TB_CRDN_ADI CA ON (C.CRDN_ID = CA.CRDN_ID) INNER JOIN TB_VLTN V ON (C.VLTN_ID = V.VLTN_ID) @@ -117,7 +120,6 @@ LEFT OUTER JOIN TB_LEVY_EXCL LE ON (C.CRDN_ID = LE.CRDN_ID AND LE.DEL_YN = 'N') WHERE C.SGG_CD = #{sggCd} /* 시군구 코드 */ AND C.TASK_SE_CD = #{taskSeCd} /* 업무 구분 코드 */ - AND C.CRDN_STTS_CD = '83' /* 단속 상태 코드 */ AND C.CRDN_ID IN ( #{crdnId} /* 단속 IDs */ @@ -126,6 +128,9 @@ AND C.CRDN_ID = #{crdnId} /* 단속 ID */ + + AND C.CRDN_STTS_CD = #{crdnSttsCd} /* 단속 상태 코드 */ + AND LE.LEVY_EXCL_YMD =]]> #{schLevyExclYmdFrom} /* 부과제외 일자 시작 */ @@ -227,6 +232,7 @@ SELECT C.CRDN_ID /* 단속 ID */ + @@ -236,12 +242,143 @@ , SUM(C.FFNLG_AMT) OVER() AS GRAMT /* 총금액 */ , C.CRDN_ID /* 단속 ID */ + + + + SELECT C.CRDN_ID /* 단속 ID */ + , C.SGG_CD /* 시군구 코드 */ + , C.TASK_SE_CD /* 업무 구분 코드 */ + , C.CRDN_INPT_SE_CD /* 단속 입력 구분 코드 */ + , C.CRDN_YMD /* 단속 일자 */ + , C.CRDN_TM /* 단속 시각 */ + , C.VHRNO /* 차량번호 */ + , C.CRDN_STDG_NM /* 단속 법정동 명 */ + , C.CRDN_ROAD_NM /* 단속 도로 명 */ + , C.CRDN_PLC /* 단속 장소 */ + , C.FFNLG_CRDN_AMT /* 과태료 단속 금액 */ + , C.ADVNTCE_AMT /* 사전통지 금액 */ + , C.CRDN_STTS_CD /* 단속 상태 코드 */ + , C.CRDN_STTS_CHG_DT /* 단속 상태 변경 일시 */ + , (SELECT GET_MASK_DATETIME(C.CRDN_YMD, '-', C.CRDN_TM, ':') FROM DUAL) AS CRDN_YMD_TM_MASK /* 단속 일시 마스크 */ + , (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */ + , CA.CRDN_SE_CD /* 단속 구분 코드 */ + , CA.CRDN_SPAREA_CD /* 단속 특별구역 코드 */ + , CA.PARKNG_PSBLTY_RSLT_CD /* 주차 가능 결과 코드 */ + , (SELECT GET_CODE_NM('FIM002', CA.CRDN_SE_CD) FROM DUAL) AS CRDN_SE_NM /* 단속 구분 명 */ + , (SELECT GET_CODE_NM('FIM007', CA.CRDN_SPAREA_CD) FROM DUAL) AS CRDN_SPAREA_NM /* 단속 특별구역 명 */ + , (SELECT GET_CODE_NM('FIM034', CA.PARKNG_PSBLTY_RSLT_CD) FROM DUAL) AS PARKNG_PSBLTY_RSLT_NM /* 주차 가능 결과 명 */ + , V.VLTN_ID /* 위반 ID */ + , V.VLTN_CD /* 위반 코드 */ + , V.VLTN_ARTCL /* 위반 항목 */ + , V.ACNTG_SE_NM /* 회계 구분 명 */ + , V.TXITM_NM /* 세목 명 */ + , V.OPER_ITEM_NM /* 운영 항목 명 */ + , CC.CVLCPT_LINK_ID /* 민원 연계 ID */ + , CC.CVLCPT_RCPT_YMD /* 민원 접수 일자 */ + , CC.CVLCPT_APLY_NO /* 민원 신청 번호 */ + , CC.CVLCPT_RCPT_NO /* 민원 접수 번호 */ + , CC.CVLCPT_PRCS_SUMRY /* 민원 처리 요약 */ + , CC.CVLCPT_PRCS_CD /* 민원 처리 코드 */ + , CC.CVLCPT_PRCS_CMPTN_DT /* 민원 처리 완료 일시 */ + , CC.CVLCPT_TRSM_CD /* 민원 전송 코드 */ + , CC.CVLCPT_TRSM_DT /* 민원 전송 일시 */ + , P.RTPYR_ID /* 납부자 ID */ + , P.RTPYR_NO /* 납부자 번호 */ + , P.RTPYR_NM /* 납부자 명 */ + , P.RTPYR_BRDT /* 납부자 생년월일 */ + , P.ZIP /* 우편번호 */ + , P.ADDR /* 주소 */ + , P.DTL_ADDR /* 상세 주소 */ + , L.LEVY_ID /* 부과 ID */ + , L.INST_CD /* 기관 코드 */ + , L.DEPT_CD /* 부서 코드 */ + , L.FYR /* 회계연도 */ + , L.ACNTG_SE_CD /* 회계 구분 코드*/ + , L.TXITM_CD /* 세목 코드 */ + , L.OPER_ITEM_CD /* 운영 항목 코드 */ + , L.SPCL_BIZ_CD /* 특별회계 사업 코드 */ + , L.LEVY_NO /* 부과 번호 */ + , L.INSPY_SN /* 분납 순번 */ + , L.LEVY_SE_CD /* 부과 구분 코드 */ + , L.LEVY_YMD /* 부과 일자 */ + , L.FRST_DUDT_YMD /* 최초 납기 일자 */ + , L.DUDT_YMD /* 납기 일자 */ + , L.DUDT_AFTR_YMD /* 납기 후 일자 */ + , L.LEVY_PCPTAX /* 부과 본세 */ + , L.LEVY_ADAMT /* 부과 가산금 */ + , L.INSPY_INT /* 분납 이자 */ + , L.RCVMT_PCPTAX /* 수납 본세 */ + , L.RCVMT_ADAMT /* 수납 가산금 */ + , L.RDCAMT_PCPTAX /* 감액 본세 */ + , L.RDCAMT_ADAMT /* 감액 가산금 */ + , L.SUM_AMT /* 합계 금액 */ + , L.DUDT_AFTR_AMT /* 납기 후 금액 */ + , L.TXTN_THING /* 과세 물건 */ + , L.MNG_ITEM1 /* 관리 아이템1 */ + , L.MNG_ITEM2 /* 관리 아이템2 */ + , L.MNG_ITEM3 /* 관리 아이템3 */ + , L.MNG_ITEM4 /* 관리 아이템4 */ + , L.MNG_ITEM5 /* 관리 아이템5 */ + , L.MNG_ITEM6 /* 관리 아이템6 */ + , L.EPAYNO /* 전자납부번호 */ + , L.BANK_NM /* 은행 명 */ + , L.VR_ACTNO /* 가상 계좌번호 */ + , L.BANK_NM2 /* 은행 명2 */ + , L.VR_ACTNO2 /* 가상 계좌번호2 */ + , L.BANK_NM3 /* 은행 명3 */ + , L.VR_ACTNO3 /* 가상 계좌번호3 */ + , L.BANK_NM4 /* 은행 명4 */ + , L.VR_ACTNO4 /* 가상 계좌번호4 */ + , L.BANK_NM5 /* 은행 명5 */ + , L.VR_ACTNO5 /* 가상 계좌번호5 */ + , L.BANK_NM6 /* 은행 명6 */ + , L.VR_ACTNO6 /* 가상 계좌번호6 */ + , L.BANK_NM7 /* 은행 명7 */ + , L.VR_ACTNO7 /* 가상 계좌번호7 */ + , L.BANK_NM8 /* 은행 명8 */ + , L.VR_ACTNO8 /* 가상 계좌번호8 */ + , L.BANK_NM9 /* 은행 명9 */ + , L.VR_ACTNO9 /* 가상 계좌번호9 */ + , L.BANK_NM10 /* 은행 명10 */ + , L.VR_ACTNO10 /* 가상 계좌번호10 */ + , L.BANK_NM11 /* 은행 명11 */ + , L.VR_ACTNO11 /* 가상 계좌번호11 */ + , (CASE WHEN L.FFNLG_AMT IS NOT NULL THEN L.FFNLG_AMT + ELSE C.FFNLG_AMT + END) AS FFNLG_AMT /* 과태료 금액 */ + , L.LEVY_PCPTAX - L.RCVMT_PCPTAX - L.RDCAMT_PCPTAX AS PCPTAX /* 본세 */ + , L.LEVY_ADAMT - L.RCVMT_ADAMT - L.RDCAMT_ADAMT AS ADAMT /* 가산금 */ + FROM TB_CRDN C + INNER JOIN TB_CRDN_ADI CA ON (C.CRDN_ID = CA.CRDN_ID) + INNER JOIN TB_VLTN V ON (C.VLTN_ID = V.VLTN_ID) + LEFT OUTER JOIN TB_CRDN_CVLCPT CC ON (C.LINK_ID = CC.CVLCPT_LINK_ID AND C.CVLCPT_LINK_YN = 'Y' AND CC.DEL_YN = 'N') + LEFT OUTER JOIN TB_PAYER P ON (C.RTPYR_ID = P.RTPYR_ID) + LEFT OUTER JOIN TB_LEVY L ON (C.CRDN_ID = L.CRDN_ID AND L.DEL_YN = 'N') + - + , C.SGG_CD /* 시군구 코드 */ @@ -592,141 +729,6 @@ - - SELECT C.CRDN_ID /* 단속 ID */ - , C.SGG_CD /* 시군구 코드 */ - , C.TASK_SE_CD /* 업무 구분 코드 */ - , C.CRDN_INPT_SE_CD /* 단속 입력 구분 코드 */ - , C.CRDN_YMD /* 단속 일자 */ - , C.CRDN_TM /* 단속 시각 */ - , C.VHRNO /* 차량번호 */ - , C.CRDN_STDG_NM /* 단속 법정동 명 */ - , C.CRDN_ROAD_NM /* 단속 도로 명 */ - , C.CRDN_PLC /* 단속 장소 */ - , C.FFNLG_CRDN_AMT /* 과태료 단속 금액 */ - , C.ADVNTCE_AMT /* 사전통지 금액 */ - , C.CRDN_STTS_CD /* 단속 상태 코드 */ - , C.CRDN_STTS_CHG_DT /* 단속 상태 변경 일시 */ - , C.REG_DT /* 등록 일시 */ - , C.RGTR /* 등록자 */ - , C.MDFCN_DT /* 수정 일시 */ - , C.MDFR /* 수정자 */ - , CA.CRDN_SE_CD /* 단속 구분 코드 */ - , CA.CRDN_SPAREA_CD /* 단속 특별구역 코드 */ - , CA.PARKNG_PSBLTY_RSLT_CD /* 주차 가능 결과 코드 */ - , V.VLTN_ID /* 위반 ID */ - , V.VLTN_CD /* 위반 코드 */ - , V.VLTN_ARTCL /* 위반 항목 */ - , V.ACNTG_SE_NM /* 회계 구분 명 */ - , V.TXITM_NM /* 세목 명 */ - , V.OPER_ITEM_NM /* 운영 항목 명 */ - , CC.CVLCPT_LINK_ID /* 민원 연계 ID */ - , CC.CVLCPT_RCPT_YMD /* 민원 접수 일자 */ - , CC.CVLCPT_APLY_NO /* 민원 신청 번호 */ - , CC.CVLCPT_RCPT_NO /* 민원 접수 번호 */ - , CC.CVLCPT_PRCS_SUMRY /* 민원 처리 요약 */ - , CC.CVLCPT_PRCS_CD /* 민원 처리 코드 */ - , CC.CVLCPT_PRCS_CMPTN_DT /* 민원 처리 완료 일시 */ - , CC.CVLCPT_TRSM_CD /* 민원 전송 코드 */ - , CC.CVLCPT_TRSM_DT /* 민원 전송 일시 */ - , P.RTPYR_ID /* 납부자 ID */ - , P.RTPYR_NO /* 납부자 번호 */ - , P.RTPYR_NM /* 납부자 명 */ - , P.RTPYR_BRDT /* 납부자 생년월일 */ - , P.ZIP /* 우편번호 */ - , P.ADDR /* 주소 */ - , P.DTL_ADDR /* 상세 주소 */ - , L.LEVY_ID /* 부과 ID */ - , L.INST_CD /* 기관 코드 */ - , L.DEPT_CD /* 부서 코드 */ - , L.FYR /* 회계연도 */ - , L.ACNTG_SE_CD /* 회계 구분 코드*/ - , L.TXITM_CD /* 세목 코드 */ - , L.OPER_ITEM_CD /* 운영 항목 코드 */ - , L.SPCL_BIZ_CD /* 특별회계 사업 코드 */ - , L.LEVY_NO /* 부과 번호 */ - , L.INSPY_SN /* 분납 순번 */ - , L.LEVY_SE_CD /* 부과 구분 코드 */ - , L.LEVY_YMD /* 부과 일자 */ - , L.FRST_DUDT_YMD /* 최초 납기 일자 */ - , L.DUDT_YMD /* 납기 일자 */ - , L.DUDT_AFTR_YMD /* 납기 후 일자 */ - , L.LEVY_PCPTAX /* 부과 본세 */ - , L.LEVY_ADAMT /* 부과 가산금 */ - , L.INSPY_INT /* 분납 이자 */ - , L.RCVMT_PCPTAX /* 수납 본세 */ - , L.RCVMT_ADAMT /* 수납 가산금 */ - , L.RDCAMT_PCPTAX /* 감액 본세 */ - , L.RDCAMT_ADAMT /* 감액 가산금 */ - , L.SUM_AMT /* 합계 금액 */ - , L.DUDT_AFTR_AMT /* 납기 후 금액 */ - , L.TXTN_THING /* 과세 물건 */ - , L.MNG_ITEM1 /* 관리 아이템1 */ - , L.MNG_ITEM2 /* 관리 아이템2 */ - , L.MNG_ITEM3 /* 관리 아이템3 */ - , L.MNG_ITEM4 /* 관리 아이템4 */ - , L.MNG_ITEM5 /* 관리 아이템5 */ - , L.MNG_ITEM6 /* 관리 아이템6 */ - , L.EPAYNO /* 전자납부번호 */ - , L.BANK_NM /* 은행 명 */ - , L.VR_ACTNO /* 가상 계좌번호 */ - , L.BANK_NM2 /* 은행 명2 */ - , L.VR_ACTNO2 /* 가상 계좌번호2 */ - , L.BANK_NM3 /* 은행 명3 */ - , L.VR_ACTNO3 /* 가상 계좌번호3 */ - , L.BANK_NM4 /* 은행 명4 */ - , L.VR_ACTNO4 /* 가상 계좌번호4 */ - , L.BANK_NM5 /* 은행 명5 */ - , L.VR_ACTNO5 /* 가상 계좌번호5 */ - , L.BANK_NM6 /* 은행 명6 */ - , L.VR_ACTNO6 /* 가상 계좌번호6 */ - , L.BANK_NM7 /* 은행 명7 */ - , L.VR_ACTNO7 /* 가상 계좌번호7 */ - , L.BANK_NM8 /* 은행 명8 */ - , L.VR_ACTNO8 /* 가상 계좌번호8 */ - , L.BANK_NM9 /* 은행 명9 */ - , L.VR_ACTNO9 /* 가상 계좌번호9 */ - , L.BANK_NM10 /* 은행 명10 */ - , L.VR_ACTNO10 /* 가상 계좌번호10 */ - , L.BANK_NM11 /* 은행 명11 */ - , L.VR_ACTNO11 /* 가상 계좌번호11 */ - , (CASE WHEN L.FFNLG_AMT IS NOT NULL THEN L.FFNLG_AMT - ELSE C.FFNLG_AMT - END) AS FFNLG_AMT /* 과태료 금액 */ - , L.LEVY_PCPTAX - L.RCVMT_PCPTAX - L.RDCAMT_PCPTAX AS PCPTAX /* 본세 */ - , L.LEVY_ADAMT - L.RCVMT_ADAMT - L.RDCAMT_ADAMT AS ADAMT /* 가산금 */ - , (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM /* 단속 일시 */ - , (SELECT GET_CODE_NM('FIM003', C.CRDN_INPT_SE_CD) FROM DUAL) AS CRDN_INPT_SE_NM /* 단속 입력 구분 명 */ - , (SELECT GET_MASK_DATETIME(C.CRDN_YMD, '-', C.CRDN_TM, ':') FROM DUAL) AS CRDN_YMD_TM_MASK /* 단속 일시 마스크 */ - , (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */ - , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = C.RGTR) AS RGTR_NM /* 등록자 */ - , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = C.MDFR) AS MDFR_NM /* 수정자 */ - , (SELECT GET_CODE_NM('FIM002', CA.CRDN_SE_CD) FROM DUAL) AS CRDN_SE_NM /* 단속 구분 명 */ - , (SELECT GET_CODE_NM('FIM007', CA.CRDN_SPAREA_CD) FROM DUAL) AS CRDN_SPAREA_NM /* 단속 특별구역 명 */ - , (SELECT GET_CODE_NM('FIM034', CA.PARKNG_PSBLTY_RSLT_CD) FROM DUAL) AS PARKNG_PSBLTY_RSLT_NM /* 주차 가능 결과 명 */ - FROM TB_CRDN C - INNER JOIN TB_CRDN_ADI CA ON (C.CRDN_ID = CA.CRDN_ID) - INNER JOIN TB_VLTN V ON (C.VLTN_ID = V.VLTN_ID) - LEFT OUTER JOIN TB_PAYER P ON (C.RTPYR_ID = P.RTPYR_ID) - LEFT OUTER JOIN TB_LEVY L ON (C.CRDN_ID = L.CRDN_ID AND L.DEL_YN = 'N') - LEFT OUTER JOIN TB_CRDN_CVLCPT CC ON (C.LINK_ID = CC.CVLCPT_LINK_ID AND C.CVLCPT_LINK_YN = 'Y' AND CC.DEL_YN = 'N') - - - /* 발송 대장 등록(sndngMapper.insertSndng) */ diff --git a/src/main/resources/sql/mapper/fims/sndb/svbtc-mapper.xml b/src/main/resources/sql/mapper/fims/sndb/svbtc-mapper.xml index 0db2c4d5..ea282d27 100644 --- a/src/main/resources/sql/mapper/fims/sndb/svbtc-mapper.xml +++ b/src/main/resources/sql/mapper/fims/sndb/svbtc-mapper.xml @@ -17,7 +17,7 @@ - + @@ -87,8 +87,8 @@ AND SD.SNDNG_ID = #{sndngId} - - AND SV.DEL_YN = #{delYn} + + AND SV.DEL_YN = #{delYN} @@ -173,8 +173,8 @@ AND SD.CRDN_ID = #{crdnId} - - AND SV.DEL_YN = #{delYn} + + AND SV.DEL_YN = #{delYN} 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 59e0718b..d141b829 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 @@ -365,7 +365,7 @@ , data : params || {} , success : resp => { dialog.open({ - id : "wrngTrgtDtlDialog" + id : "wrngTrgtDialog" , title : dialogTitle , content : resp , size : "xl" @@ -540,6 +540,7 @@ ${pageName}Control.query = ${pageName}Fields.get(); ${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize; // 한번에 조회되는 자료 건수 + ${pageName}Control.query.crdnSttsCd = "83"; // 계고 상태 ${pageName}Control.query.delYN = "N"; // 삭제 여부 ${pageName}Control.load(1); @@ -665,9 +666,7 @@ // 기본 데이터 설정 setFormData${pageName} = (taskSeCd) => { // ${pageName}Control 설정 -// ${pageName}Control.defaultFetchSize = FETCH_XS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30 - - ${pageName}Control.defaultFetchSize = 1; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30 + ${pageName}Control.defaultFetchSize = FETCH_XS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30 // 화면 데이터 설정 $("#sggCd--${pageName}").val("${sggCd}"); // 시군구 코드 diff --git a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01020-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01020-info.jsp index a12f0086..25b633b1 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01020-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01020-info.jsp @@ -279,8 +279,9 @@ let params = { callControlName : "${pageName}Control" + , callPurpose : "view" , sggCd : $("#sggCd--${pageName}").val() - , taskSeCd : $("input[name=taskSeCd]:checked").val() + , taskSeCd : $("#taskSeCd--${pageName}").val() , crdnId : crdnId }