From 2434c79af239c21163808d356f10a12f85ba2d75 Mon Sep 17 00:00:00 2001 From: "xitpc\\xituser" Date: Tue, 22 Oct 2024 16:01:49 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9E=84=EB=8C=80=EC=B0=A8=EA=B3=84=EC=95=BD?= =?UTF-8?q?=20=EC=A1=B0=ED=9A=8C=20=EC=88=98=EC=A0=95.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cokr/xit/fims/rent/RentQuery.java | 18 ++ .../xit/fims/rent/dao/LsctMpngMapper.java | 33 ++- .../fims/rent/service/LsctMpngService.java | 6 + .../fims/rent/service/bean/LsctMpngBean.java | 227 +++++++++++++++--- .../service/bean/LsctMpngServiceBean.java | 5 + .../sql/mapper/fims/rent/lsctMpng-mapper.xml | 194 ++++++++++++--- 6 files changed, 420 insertions(+), 63 deletions(-) diff --git a/src/main/java/cokr/xit/fims/rent/RentQuery.java b/src/main/java/cokr/xit/fims/rent/RentQuery.java index c56e7b9c..09575f8c 100644 --- a/src/main/java/cokr/xit/fims/rent/RentQuery.java +++ b/src/main/java/cokr/xit/fims/rent/RentQuery.java @@ -47,6 +47,7 @@ public class RentQuery extends CmmnQuery { private String omJno; // 소유주 번호 private String[] rtpyrNos; // 납부자 번호s private String rtpyrNo; // 납부자 번호 + private String rtpyrNm; // 납부자 명 private String trgtSttsNm; // 등록 대상 여부 private String nxrpCrdnLinkYn; // 세외수입 단속 연계 여부 @@ -55,6 +56,7 @@ public class RentQuery extends CmmnQuery { // ETC private String callPurpose; // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정, refresh 재조회). private String delRsn; // 삭제 사유 + private String ffnlgSysInqYn; // 과태료 시스템 조회 여부 private String cellDataDef; @@ -282,6 +284,14 @@ public class RentQuery extends CmmnQuery { this.rtpyrNo = rtpyrNo; } + public String getRtpyrNm() { + return ifEmpty(rtpyrNm, () -> null); + } + + public void setRtpyrNm(String rtpyrNm) { + this.rtpyrNm = rtpyrNm; + } + public String getTrgtSttsNm() { return ifEmpty(trgtSttsNm, () -> null); } @@ -322,6 +332,14 @@ public class RentQuery extends CmmnQuery { public void setDelRsn(String delRsn) { this.delRsn = delRsn; } + + public String getFfnlgSysInqYn() { + return ifEmpty(ffnlgSysInqYn, () -> null); + } + + public void setFfnlgSysInqYn(String ffnlgSysInqYn) { + this.ffnlgSysInqYn = ffnlgSysInqYn; + } // ETC ///////////////////////////////////////////////////////////////////// public String getCellDataDef() { diff --git a/src/main/java/cokr/xit/fims/rent/dao/LsctMpngMapper.java b/src/main/java/cokr/xit/fims/rent/dao/LsctMpngMapper.java index 5268f4ee..f87d18da 100644 --- a/src/main/java/cokr/xit/fims/rent/dao/LsctMpngMapper.java +++ b/src/main/java/cokr/xit/fims/rent/dao/LsctMpngMapper.java @@ -23,28 +23,45 @@ import cokr.xit.foundation.data.DataObject; @Mapper("lsctMpngMapper") public interface LsctMpngMapper extends AbstractMapper { - /** - * @param req 연계 뷰 조회 조건 + /**지정한 조건에 따라 과태료시스템 단속(CP_MAIN) 대장 목록을 조회하여 반환한다. + * @param req 임대차계약 대장 조회 조건 + * @return 연계 뷰 자료 목록 + */ + List selectFfnlgMainList(RentQuery req); + + /**지정한 조건에 따라 단속 대장 목록을 조회하여 반환한다. + * @param req 임대차계약 대장 조회 조건 * @return 연계 뷰 자료 목록 */ - List selectMainList(RentQuery req); + List selectCrdnList(RentQuery req); - /** + /**지정한 조건에 따라 단속 상세정보를 조회하여 반환한다. * @param req 단속 ID * @return 단속 대장 목록 */ DataObject selectCrdnInfo(RentQuery req); - /**원본 단속 뷰 정보를 단속 대장 정보에 복사 등록한다. + /**원본 단속 뷰 정보를 단속 대장 정보를 등록한다. * @param params 파라미터 - *
  • "lsct" - 임대차계약 대장
  • + *
    • "crdn" - 단속 대장
    • + *
    • "currentUser" - 현재 접속한 사용자
    • + *
    + * @return 저장된 정보수 + */ + int insertMainToCrdn(Crdn crdn); + + int insertMainToCrdnAdi(Crdn crdn); + + /**원본 단속 뷰 정보를 단속 대장 정보를 수정한다. + * @param params 파라미터 + *
    • "crdn" - 단속 대장
    • *
    • "currentUser" - 현재 접속한 사용자
    • *
    * @return 저장된 정보수 */ - int copyMainToCrdn(Crdn crdn); + int updateMainToCrdn(Crdn crdn); - int copyMainToCrdnAdi(Crdn crdn); + int updateMainToCrdnAdi(Crdn crdn); /**지정한 조건에 따라 단속 대장 목록을 조회하여 반환한다. * @param req 임대차계약 대장 조회 조건 diff --git a/src/main/java/cokr/xit/fims/rent/service/LsctMpngService.java b/src/main/java/cokr/xit/fims/rent/service/LsctMpngService.java index 62d598df..5570be98 100644 --- a/src/main/java/cokr/xit/fims/rent/service/LsctMpngService.java +++ b/src/main/java/cokr/xit/fims/rent/service/LsctMpngService.java @@ -20,6 +20,12 @@ import cokr.xit.fims.rent.RentQuery; */ public interface LsctMpngService { + /**지정한 조건에 따라 단속 대장 목록을 조회하여 반환한다. + * @param req 임대차계약 대장 조회 조건 + * @return 단속 대장(TB_CRDN) 목록 + */ + List getCrdnList(RentQuery req); + /**지정한 조건에 따라 단속 대장 상세정보를 조회하여 반환한다. * @param req 임대차계약 대장 조회 조건 * @return 단속 대장 객체 diff --git a/src/main/java/cokr/xit/fims/rent/service/bean/LsctMpngBean.java b/src/main/java/cokr/xit/fims/rent/service/bean/LsctMpngBean.java index c0918dc6..577e0598 100644 --- a/src/main/java/cokr/xit/fims/rent/service/bean/LsctMpngBean.java +++ b/src/main/java/cokr/xit/fims/rent/service/bean/LsctMpngBean.java @@ -80,7 +80,7 @@ public class LsctMpngBean extends AbstractBean { @Resource(name = "finSysFtpMapper") private FinSysFtpMapper finSysFtpMapper; - /**지정한 조건에 따라 단속, 임대차계약 매핑 대장 목록을 조회하여 반환한다. + /**지정한 조건에 따라 과태료시스템 단속(CP_MAIN) 대장 목록을 조회하여 단속(TB_CRDN) 대장에 등록한다. * 통합플랫폼으로 사용하지 안을 경우 렌트 소스만 사용하기 위해서 TB_CRDN, TB_PAYER에 직접 등록한다. * @param req 임대차계약 대장 조회 조건 * @return 단속, 임대차계약 매핑 대장 목록 @@ -89,7 +89,7 @@ public class LsctMpngBean extends AbstractBean { * @throws NumberFormatException * @throws SftpException */ - public List getCrdnLsctMpngList(RentQuery req) { + public String saveFfnlgMainList(RentQuery req) { // 기존 과태료 시스템에서 사용하던 암/복호화 함수 사용을 위해서.. XitAria crypto = new XitAria("xit-aria"); @@ -109,7 +109,7 @@ public class LsctMpngBean extends AbstractBean { } // 연계 View 테이블 조회 - List mainList = lsctMpngMapper.selectMainList(req); + List mainList = lsctMpngMapper.selectFfnlgMainList(req); if (mainList.size() > 0) { for (int iLoop = 0; iLoop < mainList.size(); iLoop++) { @@ -120,7 +120,7 @@ public class LsctMpngBean extends AbstractBean { DataObject crdnInfo = lsctMpngMapper.selectCrdnInfo(rentQuery); - // 단속 정보가 존재하지 않는다면.. + // 단속 정보가 존재하지 않는다면.. 해당 자료 insert if (crdnInfo == null) { // 납부자 정보 Payer payer = new Payer(); @@ -163,7 +163,7 @@ public class LsctMpngBean extends AbstractBean { // 납부자 주소 정보 등록 Payer result = payerBean.create(payer) ? payer : payerBean.getPayerAddrInfo(payer); - // 단속 정보 Insert + // 단속 정보 Crdn crdn = new Crdn(); crdn.setSggCd(mainList.get(iLoop).string("MM_SGGCODE")); // 시군구 코드 crdn.setTaskSeCd(mainList.get(iLoop).string("MM_TASKGB")); // 업무 구분 코드 @@ -190,10 +190,10 @@ public class LsctMpngBean extends AbstractBean { crdn.setVhclColr(mainList.get(iLoop).string("MM_CARCOLOR")); // 차량 색상 crdn.setFfnlgCrdnAmt(mainList.get(iLoop).number("MM_KEUM2").intValue()); // 과태료 단속 금액 crdn.setFfnlgRdcrt(null); // 과태료 감면율 - crdn.setFfnlgAmt(mainList.get(iLoop).number("MM_KEUM2").intValue()); // 과태료 금액 + crdn.setFfnlgAmt(mainList.get(iLoop).number("MM_KEUM2").intValue() - mainList.get(iLoop).number("MM_MINUS_KEUM").intValue()); // 과태료 금액 crdn.setAdvntceBgngYmd(mainList.get(iLoop).string("MM_SDATE")); // 사전통지 시작 일자 crdn.setAdvntceDudtYmd(mainList.get(iLoop).string("MM_EDATE")); // 사전통지 납기 일자 - crdn.setAdvntceAmt(mainList.get(iLoop).number("MM_KEUM1").intValue()); // 사전통지 금액 + crdn.setAdvntceAmt(mainList.get(iLoop).number("MM_KEUM1").intValue() - mainList.get(iLoop).number("MM_MINUS_KEUM").intValue()); // 사전통지 금액 if (mainList.get(iLoop).string("MM_RECALL").equals("1")) { // 의견 제출 여부 crdn.setOpnnSbmsnYn("Y"); } else { @@ -218,13 +218,7 @@ public class LsctMpngBean extends AbstractBean { crdn.setDelYn("N"); // 삭제 여부 crdn.setCreatedAt(mainList.get(iLoop).string("MM_INDT")); crdn.setCreatedBy(mainList.get(iLoop).string("MM_INUSER")); - - int rtnNocs = lsctMpngMapper.copyMainToCrdn(crdn); - if (rtnNocs == 0) { - throw new RuntimeException("[F] 단속 대장 등록 작업에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - - // 단속 부가 정보 Insert + // 단속 부가 정보 crdn.setCrdnSeCd(null); // 단속 구분 코드 crdn.setTeamId(null); // 조 ID if (mainList.get(iLoop).string("MM_PRECODE").equals("1")) { // 단속 특별구역 코드 FIM007 @@ -237,25 +231,28 @@ public class LsctMpngBean extends AbstractBean { crdn.setCrdnSn(mainList.get(iLoop).string("MM_SNO")); // 단속 일련번호 crdn.setMoscX(null); // 모자이크 X crdn.setMoscY(null); // 모자이크 Y - if (mainList.get(iLoop).string("MM_TRAC").equals("1")) { // 견인 여부 crdn.setTowngYn("Y"); } else { crdn.setTowngYn("N"); } - crdn.setUseFuelCd(mainList.get(iLoop).string("MM_CARFUEL")); // 사용 연료 코드 LVS005 - if (!mainList.get(iLoop).string("MM_CARKIND").equals("")) { crdn.setFfnlgCarmdlCd(String.format("%02d", mainList.get(iLoop).number("MM_CARKIND").intValue())); // 과태료 차종 코드 FIM009 } - crdn.setPrkPsbltyRsltCd(mainList.get(iLoop).string("MM_CARCHECK")); // 주차 가능 결과 코드 crdn.setVltnNmtm(mainList.get(iLoop).string("MM_VIORCNT")); // 위반 횟수 crdn.setOvtmYn("N"); // 시간외 여부 crdn.setOvtmPrttnYn("N"); // 시간외 분할 여부 - rtnNocs = lsctMpngMapper.copyMainToCrdnAdi(crdn); + // 단속 대장 Insert + int rtnNocs = lsctMpngMapper.insertMainToCrdn(crdn); + if (rtnNocs == 0) { + throw new RuntimeException("[F] 단속 대장 등록 작업에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback + } + + // 단속 부가 대장 Insert + rtnNocs = lsctMpngMapper.insertMainToCrdnAdi(crdn); if (rtnNocs == 0) { throw new RuntimeException("[F] 단속 부가 대장 등록 작업에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback } @@ -279,7 +276,6 @@ public class LsctMpngBean extends AbstractBean { SFTPUtil sftpUtil = new SFTPUtil(); sftpUtil.connect(rs); - boolean fileSearchEnd = false; int i = 1; while(!fileSearchEnd) { @@ -319,18 +315,162 @@ public class LsctMpngBean extends AbstractBean { ///////////////////////////// //sftp연결종료 sftpUtil.disconnect(); + } else { // 단속 정보가 존재한다면.. 해당 자료 update + // 납부자 정보 + Payer payer = new Payer(); + payer.setSggCd(mainList.get(iLoop).string("OM_SGGCODE")); // 시군구 코드 + payer.setRtpyrInptSeCd("07"); // 납부자 입력 구분 코드 FIM015 + switch (mainList.get(iLoop).string("OM_NOGB")) { // 납부자 구분 코드 FIM011 + case "11": + payer.setRtpyrSeCd("01"); break; + case "12": + payer.setRtpyrSeCd("02"); break; + case "13": + payer.setRtpyrSeCd("03"); break; + case "14": + payer.setRtpyrSeCd("04"); break; + case "15": + payer.setRtpyrSeCd("05"); break; + default: + payer.setRtpyrSeCd("05"); break; + } + payer.setRtpyrNo(crypto.decrypt(mainList.get(iLoop).string("OM_JNO"))); // 납부자 번호 + payer.setRtpyrNm(mainList.get(iLoop).string("OM_NAME")); // 납부자명 + payer.setRtpyrBrdt(mainList.get(iLoop).string("OM_NO1")); // 납부자 생년월일 + + // 납부자 주소 정보 + payer.setAddrInptSeCd("07"); // 주소 입력 구분 코드 FIM087 + if (!mainList.get(iLoop).string("OM_DORO_CODE").equals("")) { // 주소 구분 코드 + payer.setAddrSeCd("02"); + } + payer.setZip(mainList.get(iLoop).string("OM_ZIP")); // 우편번호 + payer.setAddr(mainList.get(iLoop).string("OM_JUSO")); // 주소 + payer.setDtlAddr(mainList.get(iLoop).string("OM_BUNJI")); // 상세 주소 + payer.setRoadNmCd(mainList.get(iLoop).string("OM_DORO_CODE")); // 도로명 코드 + payer.setUdgdSeCd(mainList.get(iLoop).string("OM_BLD_POSITION")); // 지하 구분 코드 + payer.setBmno(mainList.get(iLoop).number("OM_BLD_NO1").intValue()); // 건물본번 + payer.setBsno(mainList.get(iLoop).number("OM_BLD_NO2").intValue()); // 건물부번 + payer.setBldgMngNo(mainList.get(iLoop).string("OM_BLD_ADMNO")); // 건물 관리 번호 + payer.setStdgCd(mainList.get(iLoop).string("OM_BDCODE")); // 법정동 코드 + payer.setWholAddr(mainList.get(iLoop).string("OM_JUSO") + ", " + mainList.get(iLoop).string("OM_BUNJI")); // 전체 주소 - } else { + // 납부자 주소 정보 등록 + Payer result = payerBean.create(payer) ? payer : payerBean.getPayerAddrInfo(payer); - // - } - //등록 또는 수정 완료 - ////////////////////////// + // 단속 정보 + Crdn crdn = new Crdn(); + crdn.setCrdnId(crdnInfo.string("CRDN_ID")); // CRDN_ID + crdn.setMmCode(crdnInfo.string("MM_CODE")); // MM_CODE + crdn.setSggCd(crdnInfo.string("SGG_CD")); // 시군구 코드 + crdn.setTaskSeCd(crdnInfo.string("TASK_SE_CD")); // 업무 구분 코드 + crdn.setCrdnRegSeCd(String.format("%02d", mainList.get(iLoop).number("MM_DLGB").intValue())); // 단속 등록 구분 코드 + crdn.setCrdnInptSeCd(String.format("%02d", mainList.get(iLoop).number("MM_INGB").intValue())); // 단속 입력 구분 코드 + crdn.setRtpyrId(result.getRtpyrId()); // 납부자 ID + crdn.setAddrSn(result.getAddrSn()); // 주소 일련번호 + crdn.setCrdnYmd(mainList.get(iLoop).string("MM_DATE")); // 단속 일자 + crdn.setCrdnTm(mainList.get(iLoop).string("MM_TIME")); // 단속 시간 + crdn.setVhrno(mainList.get(iLoop).string("MM_CARNO")); // 자동차등록번호 + crdn.setCrdnStdgNm(mainList.get(iLoop).string("CRDN_STDG_NM")); // 단속 법정동 명 + crdn.setCrdnPlc(mainList.get(iLoop).string("MM_SGPOS")); // 단속 장소 + crdn.setVltnId(mainList.get(iLoop).string("VLTN_ID")); // 위반 ID + crdn.setGpsX(mainList.get(iLoop).string("MM_GPS_X")); // GPS_X + crdn.setGpsY(mainList.get(iLoop).string("MM_GPS_Y")); // GPS_Y + crdn.setAtchFileCnt(mainList.get(iLoop).number("MM_IMAGECNT").intValue()); // 첨부 파일 수 + crdn.setVin(mainList.get(iLoop).string("MM_VHMNO")); // 차대번호 + crdn.setVhclNm(mainList.get(iLoop).string("MM_CARNAME")); // 차량 명 + crdn.setVhclColr(mainList.get(iLoop).string("MM_CARCOLOR")); // 차량 색상 + crdn.setFfnlgCrdnAmt(mainList.get(iLoop).number("MM_KEUM2").intValue()); // 과태료 단속 금액 + crdn.setFfnlgRdcrt(null); // 과태료 감면율 + crdn.setFfnlgAmt(mainList.get(iLoop).number("MM_KEUM2").intValue() - mainList.get(iLoop).number("MM_MINUS_KEUM").intValue()); // 과태료 금액 + crdn.setAdvntceBgngYmd(mainList.get(iLoop).string("MM_SDATE")); // 사전통지 시작 일자 + crdn.setAdvntceDudtYmd(mainList.get(iLoop).string("MM_EDATE")); // 사전통지 납기 일자 + crdn.setAdvntceAmt(mainList.get(iLoop).number("MM_KEUM1").intValue() - mainList.get(iLoop).number("MM_MINUS_KEUM").intValue()); // 사전통지 금액 + if (mainList.get(iLoop).string("MM_RECALL").equals("1")) { // 의견 제출 여부 + crdn.setOpnnSbmsnYn("Y"); + } else { + crdn.setOpnnSbmsnYn("N"); + } + crdn.setEtcCn(mainList.get(iLoop).string("MM_ETC")); // 기타 내용 + crdn.setCrdnSttsCd(mainList.get(iLoop).string("MM_STATE")); // 단속 상태 코드 + crdn.setCrdnSttsChgDt(mainList.get(iLoop).string("MM_STATE_DT")); // 단속 상태 변경 일시 + crdn.setAdtnAmt(mainList.get(iLoop).number("MM_ADD_KEUM").intValue()); // 가산 금액 + crdn.setMinusAmt(mainList.get(iLoop).number("MM_MINUS_KEUM").intValue()); // 감경 금액 + crdn.setRcvmtAmt(mainList.get(iLoop).number("MM_SUKEUM").intValue()); // 수납 금액 + crdn.setBfrCrdnId(mainList.get(iLoop).string("MM_PRECODE")); // 이전 단속 ID + crdn.setNxrpCrdnLinkYn(mainList.get(iLoop).string("NIS_LINK_YN")); // 세외수입 단속 연계 여부 + if (mainList.get(iLoop).string("MC_LVY_KEY").length() == 11) { // 세외수입 대장 키 + crdn.setNxrpAcbKey(mainList.get(iLoop).string("MC_LVY_KEY")); + } else { + crdn.setNxrpAcbKey(null); + } + // 단속 부가 정보 + crdn.setCrdnSeCd(null); // 단속 구분 코드 + crdn.setTeamId(null); // 조 ID + if (mainList.get(iLoop).string("MM_PRECODE").equals("1")) { // 단속 특별구역 코드 FIM007 + crdn.setCrdnSpareaCd("01"); + } else { + crdn.setCrdnSpareaCd("00"); + } + crdn.setCrdnBgngTm(mainList.get(iLoop).string("MM_TIME")); // 단속 시작 시각 + crdn.setCrdnEndTm(mainList.get(iLoop).string("MM_TIME2")); // 단속 종료 시각 + crdn.setCrdnSn(mainList.get(iLoop).string("MM_SNO")); // 단속 일련번호 + crdn.setMoscX(null); // 모자이크 X + crdn.setMoscY(null); // 모자이크 Y + if (mainList.get(iLoop).string("MM_TRAC").equals("1")) { // 견인 여부 + crdn.setTowngYn("Y"); + } else { + crdn.setTowngYn("N"); + } + crdn.setUseFuelCd(mainList.get(iLoop).string("MM_CARFUEL")); // 사용 연료 코드 LVS005 + if (!mainList.get(iLoop).string("MM_CARKIND").equals("")) { + crdn.setFfnlgCarmdlCd(String.format("%02d", mainList.get(iLoop).number("MM_CARKIND").intValue())); // 과태료 차종 코드 FIM009 + } + crdn.setPrkPsbltyRsltCd(mainList.get(iLoop).string("MM_CARCHECK")); // 주차 가능 결과 코드 + crdn.setVltnNmtm(mainList.get(iLoop).string("MM_VIORCNT")); // 위반 횟수 + crdn.setOvtmYn("N"); // 시간외 여부 + crdn.setOvtmPrttnYn("N"); // 시간외 분할 여부 + // 단속 대장 Insert + int rtnNocs = lsctMpngMapper.updateMainToCrdn(crdn); + if (rtnNocs == 0) { + throw new RuntimeException("[F] 단속 대장 수정 작업에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback + } + + // 단속 부가 대장 Insert + rtnNocs = lsctMpngMapper.updateMainToCrdnAdi(crdn); + if (rtnNocs == 0) { + throw new RuntimeException("[F] 단속 부가 대장 수정 작업에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback + } + + ///////////////////////////////////////////////// + //FTP 서버 정보 조회 + + + } + } + } + return "[S] 등록 및 수정 작업이 정상 처리 되었습니다."; + } - //... + /**지정한 조건에 따라 단속, 임대차계약 매핑 대장 목록을 조회하여 반환한다. + * 통합플랫폼으로 사용하지 안을 경우 렌트 소스만 사용하기 위해서 TB_CRDN, TB_PAYER에 직접 등록한다. + * @param req 임대차계약 대장 조회 조건 + * @return 단속, 임대차계약 매핑 대장 목록 + * @throws IOException + * @throws JSchException + * @throws NumberFormatException + * @throws SftpException + */ + public List getCrdnList(RentQuery req) { + // 변수 선언 + String rtnMsg = ""; // 처리 결과 메시지 + // 과태료 시스템 조회하여 변경 내역 등록 및 수정. + if (req.getFfnlgSysInqYn().equals("Y")) { + rtnMsg = saveFfnlgMainList(req); + if (!rtnMsg.contains("[S]")) { + throw new RuntimeException(rtnMsg); // 예외를 발생시켜서 DB Rollback } } @@ -343,7 +483,7 @@ public class LsctMpngBean extends AbstractBean { req.setRtpyrNo(req.getSchEntRegNo()); } - return lsctMpngMapper.selectCrdnLsctMpngList(req); + return lsctMpngMapper.selectCrdnList(req); } /**지정한 조건에 따라 단속 대장 상세정보를 조회하여 반환한다. @@ -354,6 +494,39 @@ public class LsctMpngBean extends AbstractBean { return lsctMpngMapper.selectCrdnInfo(req); } + /**지정한 조건에 따라 단속, 임대차계약 매핑 대장 목록을 조회하여 반환한다. + * 통합플랫폼으로 사용하지 안을 경우 렌트 소스만 사용하기 위해서 TB_CRDN, TB_PAYER에 직접 등록한다. + * @param req 임대차계약 대장 조회 조건 + * @return 단속, 임대차계약 매핑 대장 목록 + * @throws IOException + * @throws JSchException + * @throws NumberFormatException + * @throws SftpException + */ + public List getCrdnLsctMpngList(RentQuery req) { + // 변수 선언 + String rtnMsg = ""; // 처리 결과 메시지 + + // 과태료 시스템 조회하여 변경 내역 등록 및 수정. + if (req.getFfnlgSysInqYn().equals("Y")) { + rtnMsg = saveFfnlgMainList(req); + if (!rtnMsg.contains("[S]")) { + throw new RuntimeException(rtnMsg); // 예외를 발생시켜서 DB Rollback + } + } + + // 단속(TB_CRDN) 자료 조회 + if (req.getSchEntRegNos() != null) { +// 잠시 대기.. 한실장님 확인중 +// req.setRtpyrNos(req.getSchEntRegNos()); + } + if (req.getSchEntRegNo() != null) { + req.setRtpyrNo(req.getSchEntRegNo()); + } + + return lsctMpngMapper.selectCrdnLsctMpngList(req); + } + /**지정한 조건에 따라 단속 대장, 임대차계약 대장 상세정보를 조회하여 반환한다. * @param req 임대차계약 대장 조회 조건 * @return 단속, 임대차계약 대장 객체 diff --git a/src/main/java/cokr/xit/fims/rent/service/bean/LsctMpngServiceBean.java b/src/main/java/cokr/xit/fims/rent/service/bean/LsctMpngServiceBean.java index 31791bfb..dd9f7888 100644 --- a/src/main/java/cokr/xit/fims/rent/service/bean/LsctMpngServiceBean.java +++ b/src/main/java/cokr/xit/fims/rent/service/bean/LsctMpngServiceBean.java @@ -37,6 +37,11 @@ public class LsctMpngServiceBean extends AbstractServiceBean implements LsctMpng @Resource(name="fileBean") private FileBean fileBean; + @Override + public List getCrdnList(RentQuery req) { + return lsctMpngBean.getCrdnList(req); + } + @Override public DataObject getCrdnInfo(RentQuery req) { return lsctMpngBean.getCrdnInfo(req); diff --git a/src/main/resources/sql/mapper/fims/rent/lsctMpng-mapper.xml b/src/main/resources/sql/mapper/fims/rent/lsctMpng-mapper.xml index d08c7279..aebdc8d4 100644 --- a/src/main/resources/sql/mapper/fims/rent/lsctMpng-mapper.xml +++ b/src/main/resources/sql/mapper/fims/rent/lsctMpng-mapper.xml @@ -45,7 +45,7 @@ - /* 연계뷰 단속 목록 조회(lsctMapper.selectFfnlgMainList) */ SELECT MM_CODE , MM_SGGCODE , MM_TASKGB @@ -152,33 +152,95 @@ - /* 단속 대장 목록 조회(lsctMapper.selectCrdnList) */ + + + + + AND C.CRDN_YMD =]]> #{schCrdnYmdFrom} + + + AND C.CRDN_YMD #{schCrdnYmdTo} + + + AND C.VHRNO = #{schVhrno} + + + AND P.RTPYR_NO IN ( + #{rtpyrNo} + ) + + + AND P.RTPYR_NO = #{rtpyrNo} + + + AND P.RTPYR_NM = #{rtpyrNm} + + + AND C.SGG_CD = #{sggCd} + + + AND C.TASK_SE_CD = #{taskSeCd} + + AND C.DEL_YN = 'N' + + + + + + - /* 단속 대장 등록(lsctMapper.copyMainToCrdn) */ + /* 단속 대장 등록(lsctMapper.insertMainToCrdn) */ @@ -303,7 +365,7 @@ ) - /* 단속 부가 대장 등록(lsctMapper.copyMainToCrdnAdi) */ + /* 단속 부가 대장 등록(lsctMapper.insertMainToCrdnAdi) */ INSERT INTO TB_CRDN_ADI ( CRDN_ID @@ -354,7 +416,83 @@ ) - + /* 단속 정보 수정(lsctMapper.updateMainToCrdn) */ + UPDATE TB_CRDN + SET CRDN_REG_SE_CD = #{crdnRegSeCd} + , CRDN_INPT_SE_CD = #{crdnInptSeCd} + , CRDN_YMD = #{crdnYmd} + , CRDN_TM = #{crdnTm} + , VHRNO = #{vhrno} + , CRDN_STDG_NM = #{crdnStdgNm} + , CRDN_ROAD_NM = #{crdnRoadNm} + , CRDN_PLC = #{crdnPlc} + , VLTN_ID = #{vltnId} + , GPS_X = #{gpsX} + , GPS_Y = #{gpsY} + , ATCH_FILE_CNT = #{atchFileCnt} + , VIN = #{vin} + , VHCL_NM = #{vhclNm} + , VHCL_COLR = #{vhclColr} + , FFNLG_CRDN_AMT = #{ffnlgCrdnAmt} + , FFNLG_RDCRT = #{ffnlgRdcrt} + , FFNLG_AMT = #{ffnlgAmt} + , ADVNTCE_BGNG_YMD = #{advntceBgngYmd} + , ADVNTCE_DUDT_YMD = #{advntceDudtYmd} + , ADVNTCE_AMT = #{advntceAmt} + , OPNN_SBMSN_YN = #{opnnSbmsnYn} + , ETC_CN = #{etcCn} + , CRDN_STTS_CD = #{crdnSttsCd} + , CRDN_STTS_CHG_DT = #{crdnSttsChgDt} + , ADTN_AMT = #{adtnAmt} + , MINUS_AMT = #{minusAmt} + , RCVMT_AMT = #{rcvmtAmt} + , BFR_CRDN_ID = #{bfrCrdnId} + , NXRP_CRDN_LINK_YN = #{nxrpCrdnLinkYn} + , NXRP_ACB_KEY = #{nxrpAcbKey} + , MDFCN_DT = + , MDFR = #{modifiedBy} + WHERE CRDN_ID = #{crdnId} + AND MM_CODE = #{mmCode} + AND DEL_YN = 'N' + + + /* 단속 부가정보 수정(lsctMapper.updateMainToCrdnAdi) */ + UPDATE TB_CRDN_ADI + SET MDFCN_DT = + , MDFR = #{modifiedBy} + + , OVTM_YN = #{ovtmYn} + , CRDN_SPAREA_CD = #{crdnSpareaCd} + + + , DTL_CRDN_PLC = #{dtlCrdnPlc} + , MOSC_X = #{moscX} + , MOSC_Y = #{moscY} + + + , USE_FUEL_CD = #{useFuelCd} + + + , PRK_PSBLTY_RSLT_CD = #{prkPsbltyRsltCd} + + + , VLTN_NMTM = #{vltnNmtm} + + + , CRDN_SE_CD = #{crdnSeCd} + , CRDN_BGNG_TM = #{crdnBgngTm} + , CRDN_END_TM = #{crdnEndTm} + , FFNLG_CARMDL_CD = #{ffnlgCarmdlCd} + + + , CRDN_SN = #{crdnSn} + , TOWNG_YN = #{towngYn} + + WHERE CRDN_ID = #{crdnId} + AND DEL_YN = 'N' + + + SELECT C.CRDN_ID , C.SGG_CD , C.TASK_SE_CD @@ -430,9 +568,9 @@ LEFT OUTER JOIN TB_LSCT L ON (LM.LSCT_ID = L.LSCT_ID AND L.DEL_YN = 'N') - /* 단속, 임대차계약 매핑 대장 목록 조회(lsctMapper.selectCrdnLsctMpngList) */ - + AND C.CRDN_YMD =]]> #{schCrdnYmdFrom} @@ -481,8 +619,8 @@ - /* 단속, 임대차계약 매핑 대장 객체 가져오기(lsctMapper.selectCrdnLsctMpngs) */ + AND C.CRDN_ID = #{crdnId}