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 df18693d..16e4e4d8 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 @@ -10,7 +10,6 @@ import org.springframework.stereotype.Component; import com.jcraft.jsch.JSchException; import com.jcraft.jsch.SftpException; -import cokr.xit.base.crypto.bean.XitAria; import cokr.xit.base.file.FileInfo; import cokr.xit.base.file.FileInfo.DataHolder; import cokr.xit.base.file.FileInfo.Relation; @@ -99,34 +98,21 @@ public class LsctMpngBean extends AbstractBean { // 변수 선언 int rtnNocs = -1; // 처리 결과 건수 - // 기존 과태료 시스템에서 사용하던 암/복호화 함수 사용을 위해서.. - XitAria crypto = new XitAria("xit-aria"); - - // 연계 view 테이블 검색 조건에 사용할 소유주 암호화 하기 - if (req.getSchEntRegNos() != null && req.getSchEntRegNos().length > 0 ) { - int tnocs = req.getSchEntRegNos().length; - - String[] strArray = req.getSchEntRegNos(); - String[] encArray = new String[tnocs]; - - for (int iLoop = 0; iLoop < tnocs; iLoop++) { - encArray[iLoop] = crypto.encrypt(strArray[iLoop]); // 기업 등록 번호s 암호화 - } - req.setOmJnos(encArray); - } else { - req.setOmJno(crypto.encrypt(req.getSchEntRegNo())); // 기업 등록 번호 암호화 - } - // 연계 View 테이블 조회 + req.setOmJnos(req.getSchEntRegNos()); // 주민등록번호s + req.setOmJno(req.getSchEntRegNo()); // 주민등록번호 req.setOrderBy("MM_DATE, MM_TIME"); // 정렬 List mainList = lsctMpngMapper.selectFfnlgMainList(req); - if (mainList.size() > 0) { - for (int iLoop = 0; iLoop < mainList.size(); iLoop++) { + int mainListSize = mainList.size(); + if (mainListSize > 0) { + for (int iLoop = 0; iLoop < mainListSize; iLoop++) { + DataObject row = mainList.get(iLoop); + // 단속 ID로 단속(TB_CRDN) 정보 조회 RentQuery rentQuery = new RentQuery(); - rentQuery.setMmCode(mainList.get(iLoop).string("MM_CODE")); - rentQuery.setTaskSeCd(mainList.get(iLoop).string("MM_TASKGB")); + rentQuery.setMmCode(row.string("MM_CODE")); + rentQuery.setTaskSeCd(row.string("MM_TASKGB")); DataObject isCrdnInfo = lsctMpngMapper.selectIsCrdnInfo(rentQuery); @@ -136,9 +122,9 @@ public class LsctMpngBean extends AbstractBean { // 단속 정보가 존재하지 않는다면.. 해당 자료 insert if (isCrdnInfo == null) { // 납부자 정보 - payer.setSggCd(mainList.get(iLoop).string("OM_SGGCODE")); // 시군구 코드 - payer.setRtpyrInptSeCd("07"); // 납부자 입력 구분 코드 FIM015 - switch (mainList.get(iLoop).string("OM_NOGB")) { // 납부자 구분 코드 FIM011 + payer.setSggCd(row.string("OM_SGGCODE")); // 시군구 코드 + payer.setRtpyrInptSeCd("07"); // 납부자 입력 구분 코드 FIM015 + switch (row.string("OM_NOGB")) { // 납부자 구분 코드 FIM011 case "11": payer.setRtpyrSeCd("01"); break; case "12": @@ -152,109 +138,109 @@ public class LsctMpngBean extends AbstractBean { 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.setRtpyrNo(row.string("OM_JNO")); // 납부자 번호 + payer.setRtpyrNm(row.string("OM_NAME")); // 납부자명 + payer.setRtpyrBrdt(row.string("OM_NO1")); // 납부자 생년월일 // 납부자 주소 정보 - payer.setAddrInptSeCd("07"); // 주소 입력 구분 코드 FIM087 - if (!mainList.get(iLoop).string("OM_DORO_CODE").equals("")) { // 주소 구분 코드 + payer.setAddrInptSeCd("07"); // 주소 입력 구분 코드 FIM087 + if (!row.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")); // 전체 주소 + payer.setZip(row.string("OM_ZIP")); // 우편번호 + payer.setAddr(row.string("OM_JUSO")); // 주소 + payer.setDtlAddr(row.string("OM_BUNJI")); // 상세 주소 + payer.setRoadNmCd(row.string("OM_DORO_CODE")); // 도로명 코드 + payer.setUdgdSeCd(row.string("OM_BLD_POSITION")); // 지하 구분 코드 + payer.setBmno(row.number("OM_BLD_NO1").intValue()); // 건물본번 + payer.setBsno(row.number("OM_BLD_NO2").intValue()); // 건물부번 + payer.setBldgMngNo(row.string("OM_BLD_ADMNO")); // 건물 관리 번호 + payer.setStdgCd(row.string("OM_BDCODE")); // 법정동 코드 + payer.setWholAddr(row.string("OM_JUSO") + ", " + row.string("OM_BUNJI")); // 전체 주소 // 납부자 주소 정보 등록 Payer result = payerBean.create(payer) ? payer : payerBean.getPayerAddrInfo(payer); // 단속 정보 - crdn.setSggCd(mainList.get(iLoop).string("MM_SGGCODE")); // 시군구 코드 - crdn.setTaskSeCd(mainList.get(iLoop).string("MM_TASKGB")); // 업무 구분 코드 - 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.setSggCd(row.string("MM_SGGCODE")); // 시군구 코드 + crdn.setTaskSeCd(row.string("MM_TASKGB")); // 업무 구분 코드 + crdn.setCrdnRegSeCd(String.format("%02d", row.number("MM_DLGB").intValue())); // 단속 등록 구분 코드 + crdn.setCrdnInptSeCd(String.format("%02d", row.number("MM_INGB").intValue())); // 단속 입력 구분 코드 // 민원 정보는 원본 시스템에서 확인하게끔 null로 입력한다. - crdn.setCvlcptLinkYn("N"); // 민원 연계 여부 - crdn.setCvlcptLinkTblNm(null); // 민원 연계 테이블 명 - crdn.setCvlcptLinkId(null); // 민원 연계 ID - 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.setCrdnRoadNm(null); // 단속 도로 명 - 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.setCvlcptLinkYn("N"); // 민원 연계 여부 + crdn.setCvlcptLinkTblNm(null); // 민원 연계 테이블 명 + crdn.setCvlcptLinkId(null); // 민원 연계 ID + crdn.setRtpyrId(result.getRtpyrId()); // 납부자 ID + crdn.setAddrSn(result.getAddrSn()); // 주소 일련번호 + crdn.setCrdnYmd(row.string("MM_DATE")); // 단속 일자 + crdn.setCrdnTm(row.string("MM_TIME")); // 단속 시간 + crdn.setVhrno(row.string("MM_CARNO")); // 자동차등록번호 + crdn.setCrdnStdgNm(row.string("CRDN_STDG_NM")); // 단속 법정동 명 + crdn.setCrdnRoadNm(null); // 단속 도로 명 + crdn.setCrdnPlc(row.string("MM_SGPOS")); // 단속 장소 + crdn.setVltnId(row.string("VLTN_ID")); // 위반 ID + crdn.setGpsX(row.string("MM_GPS_X")); // GPS_X + crdn.setGpsY(row.string("MM_GPS_Y")); // GPS_Y + crdn.setAtchFileCnt(row.number("MM_IMAGECNT").intValue()); // 첨부 파일 수 + crdn.setVin(row.string("MM_VHMNO")); // 차대번호 + crdn.setVhclNm(row.string("MM_CARNAME")); // 차량 명 + crdn.setVhclColr(row.string("MM_CARCOLOR")); // 차량 색상 + crdn.setFfnlgCrdnAmt(row.number("MM_KEUM2").intValue()); // 과태료 단속 금액 + crdn.setFfnlgRdcrt(null); // 과태료 감면율 + crdn.setFfnlgAmt(row.number("MM_KEUM2").intValue() - row.number("MM_MINUS_KEUM").intValue()); // 과태료 금액 + crdn.setAdvntceBgngYmd(row.string("MM_SDATE")); // 사전통지 시작 일자 + crdn.setAdvntceDudtYmd(row.string("MM_EDATE")); // 사전통지 납기 일자 + crdn.setAdvntceAmt(row.number("MM_KEUM1").intValue() - row.number("MM_MINUS_KEUM").intValue()); // 사전통지 금액 + if (row.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")); // 세외수입 단속 연계 여부 - crdn.setNxrpCrdnLinkUserId(null); // 세외수입 단속 연계 사용자 ID - crdn.setNxrpCrdnLinkDt(null); // 세외수입 단속 연계 일시 - if (mainList.get(iLoop).string("MC_LVY_KEY").length() == 11) { // 세외수입 대장 키 - crdn.setNxrpAcbKey(mainList.get(iLoop).string("MC_LVY_KEY")); + crdn.setEtcCn(row.string("MM_ETC")); // 기타 내용 + crdn.setCrdnSttsCd(row.string("MM_STATE")); // 단속 상태 코드 + crdn.setCrdnSttsChgDt(row.string("MM_STATE_DT")); // 단속 상태 변경 일시 + crdn.setAdtnAmt(row.number("MM_ADD_KEUM").intValue()); // 가산 금액 + crdn.setMinusAmt(row.number("MM_MINUS_KEUM").intValue()); // 감경 금액 + crdn.setRcvmtAmt(row.number("MM_SUKEUM").intValue()); // 수납 금액 + crdn.setBfrCrdnId(row.string("MM_PRECODE")); // 이전 단속 ID + crdn.setNxrpCrdnLinkYn(row.string("NIS_LINK_YN")); // 세외수입 단속 연계 여부 + crdn.setNxrpCrdnLinkUserId(null); // 세외수입 단속 연계 사용자 ID + crdn.setNxrpCrdnLinkDt(null); // 세외수입 단속 연계 일시 + if (row.string("MC_LVY_KEY").length() == 11) { // 세외수입 대장 키 + crdn.setNxrpAcbKey(row.string("MC_LVY_KEY")); } else { crdn.setNxrpAcbKey(null); } - crdn.setMmCode(mainList.get(iLoop).string("MM_CODE")); // 메인코드 MM_CODE - crdn.setDelYn("N"); // 삭제 여부 - crdn.setCreatedAt(mainList.get(iLoop).string("MM_INDT")); - crdn.setCreatedBy(mainList.get(iLoop).string("MM_INUSER")); + crdn.setMmCode(row.string("MM_CODE")); // 메인코드 MM_CODE + crdn.setDelYn("N"); // 삭제 여부 + crdn.setCreatedAt(row.string("MM_INDT")); + crdn.setCreatedBy(row.string("MM_INUSER")); // 단속 부가 정보 - crdn.setCrdnSeCd(null); // 단속 구분 코드 - crdn.setTeamId(null); // 조 ID - if (mainList.get(iLoop).string("MM_PRECODE").equals("1")) { // 단속 특별구역 코드 FIM007 + crdn.setCrdnSeCd(null); // 단속 구분 코드 + crdn.setTeamId(null); // 조 ID + if (row.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.setCrdnBgngTm(row.string("MM_TIME")); // 단속 시작 시각 + crdn.setCrdnEndTm(row.string("MM_TIME2")); // 단속 종료 시각 + crdn.setCrdnSn(row.string("MM_SNO")); // 단속 일련번호 + crdn.setMoscX(null); // 모자이크 X + crdn.setMoscY(null); // 모자이크 Y + if (row.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.setUseFuelCd(row.string("MM_CARFUEL")); // 사용 연료 코드 LVS005 + if (!row.string("MM_CARKIND").equals("")) { + crdn.setFfnlgCarmdlCd(String.format("%02d", row.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"); // 시간외 분할 여부 + crdn.setPrkPsbltyRsltCd(row.string("MM_CARCHECK")); // 주차 가능 결과 코드 + crdn.setVltnNmtm(row.string("MM_VIORCNT")); // 위반 횟수 + crdn.setOvtmYn("N"); // 시간외 여부 + crdn.setOvtmPrttnYn("N"); // 시간외 분할 여부 // 단속 대장 Insert rtnNocs = lsctMpngMapper.insertMainToCrdn(crdn); @@ -270,7 +256,7 @@ public class LsctMpngBean extends AbstractBean { ///////////////////////////////////////////////// //FTP 서버 정보 조회 - DataObject main = mainList.get(iLoop); + DataObject main = row; DataObject ftpQuery = new DataObject() .set("sggCd", main.string("MM_SGGCODE")) .set("taskSeCd", main.string("MM_TASKGB")); @@ -328,9 +314,9 @@ public class LsctMpngBean extends AbstractBean { sftpUtil.disconnect(); } else { // 단속 정보가 존재한다면.. 해당 자료 update // 납부자 정보 - payer.setSggCd(mainList.get(iLoop).string("OM_SGGCODE")); // 시군구 코드 + payer.setSggCd(row.string("OM_SGGCODE")); // 시군구 코드 payer.setRtpyrInptSeCd("07"); // 납부자 입력 구분 코드 FIM015 - switch (mainList.get(iLoop).string("OM_NOGB")) { // 납부자 구분 코드 FIM011 + switch (row.string("OM_NOGB")) { // 납부자 구분 코드 FIM011 case "11": payer.setRtpyrSeCd("01"); break; case "12": @@ -344,25 +330,25 @@ public class LsctMpngBean extends AbstractBean { 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.setRtpyrNo(row.string("OM_JNO")); // 납부자 번호 + payer.setRtpyrNm(row.string("OM_NAME")); // 납부자명 + payer.setRtpyrBrdt(row.string("OM_NO1")); // 납부자 생년월일 // 납부자 주소 정보 payer.setAddrInptSeCd("07"); // 주소 입력 구분 코드 FIM087 - if (!mainList.get(iLoop).string("OM_DORO_CODE").equals("")) { // 주소 구분 코드 + if (!row.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")); // 전체 주소 + payer.setZip(row.string("OM_ZIP")); // 우편번호 + payer.setAddr(row.string("OM_JUSO")); // 주소 + payer.setDtlAddr(row.string("OM_BUNJI")); // 상세 주소 + payer.setRoadNmCd(row.string("OM_DORO_CODE")); // 도로명 코드 + payer.setUdgdSeCd(row.string("OM_BLD_POSITION")); // 지하 구분 코드 + payer.setBmno(row.number("OM_BLD_NO1").intValue()); // 건물본번 + payer.setBsno(row.number("OM_BLD_NO2").intValue()); // 건물부번 + payer.setBldgMngNo(row.string("OM_BLD_ADMNO")); // 건물 관리 번호 + payer.setStdgCd(row.string("OM_BDCODE")); // 법정동 코드 + payer.setWholAddr(row.string("OM_JUSO") + ", " + row.string("OM_BUNJI")); // 전체 주소 // 납부자 주소 정보 등록 Payer result = payerBean.create(payer) ? payer : payerBean.getPayerAddrInfo(payer); @@ -372,70 +358,70 @@ public class LsctMpngBean extends AbstractBean { crdn.setSggCd(isCrdnInfo.string("SGG_CD")); // 시군구 코드 crdn.setTaskSeCd(isCrdnInfo.string("TASK_SE_CD")); // 업무 구분 코드 crdn.setMmCode(isCrdnInfo.string("MM_CODE")); // MM_CODE - 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.setCrdnRegSeCd(String.format("%02d", row.number("MM_DLGB").intValue())); // 단속 등록 구분 코드 + crdn.setCrdnInptSeCd(String.format("%02d", row.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.setCrdnYmd(row.string("MM_DATE")); // 단속 일자 + crdn.setCrdnTm(row.string("MM_TIME")); // 단속 시간 + crdn.setVhrno(row.string("MM_CARNO")); // 자동차등록번호 + crdn.setCrdnStdgNm(row.string("CRDN_STDG_NM")); // 단속 법정동 명 + crdn.setCrdnPlc(row.string("MM_SGPOS")); // 단속 장소 + crdn.setVltnId(row.string("VLTN_ID")); // 위반 ID + crdn.setGpsX(row.string("MM_GPS_X")); // GPS_X + crdn.setGpsY(row.string("MM_GPS_Y")); // GPS_Y + crdn.setAtchFileCnt(row.number("MM_IMAGECNT").intValue()); // 첨부 파일 수 + crdn.setVin(row.string("MM_VHMNO")); // 차대번호 + crdn.setVhclNm(row.string("MM_CARNAME")); // 차량 명 + crdn.setVhclColr(row.string("MM_CARCOLOR")); // 차량 색상 + crdn.setFfnlgCrdnAmt(row.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.setFfnlgAmt(row.number("MM_KEUM2").intValue() - row.number("MM_MINUS_KEUM").intValue()); // 과태료 금액 + crdn.setAdvntceBgngYmd(row.string("MM_SDATE")); // 사전통지 시작 일자 + crdn.setAdvntceDudtYmd(row.string("MM_EDATE")); // 사전통지 납기 일자 + crdn.setAdvntceAmt(row.number("MM_KEUM1").intValue() - row.number("MM_MINUS_KEUM").intValue()); // 사전통지 금액 + if (row.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")); + crdn.setEtcCn(row.string("MM_ETC")); // 기타 내용 + crdn.setCrdnSttsCd(row.string("MM_STATE")); // 단속 상태 코드 + crdn.setCrdnSttsChgDt(row.string("MM_STATE_DT")); // 단속 상태 변경 일시 + crdn.setAdtnAmt(row.number("MM_ADD_KEUM").intValue()); // 가산 금액 + crdn.setMinusAmt(row.number("MM_MINUS_KEUM").intValue()); // 감경 금액 + crdn.setRcvmtAmt(row.number("MM_SUKEUM").intValue()); // 수납 금액 + crdn.setBfrCrdnId(row.string("MM_PRECODE")); // 이전 단속 ID + crdn.setNxrpCrdnLinkYn(row.string("NIS_LINK_YN")); // 세외수입 단속 연계 여부 + if (row.string("MC_LVY_KEY").length() == 11) { // 세외수입 대장 키 + crdn.setNxrpAcbKey(row.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 + if (row.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.setCrdnBgngTm(row.string("MM_TIME")); // 단속 시작 시각 + crdn.setCrdnEndTm(row.string("MM_TIME2")); // 단속 종료 시각 + crdn.setCrdnSn(row.string("MM_SNO")); // 단속 일련번호 crdn.setMoscX(null); // 모자이크 X crdn.setMoscY(null); // 모자이크 Y - if (mainList.get(iLoop).string("MM_TRAC").equals("1")) { // 견인 여부 + if (row.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.setUseFuelCd(row.string("MM_CARFUEL")); // 사용 연료 코드 LVS005 + if (!row.string("MM_CARKIND").equals("")) { + crdn.setFfnlgCarmdlCd(String.format("%02d", row.number("MM_CARKIND").intValue())); // 과태료 차종 코드 FIM009 } - crdn.setPrkPsbltyRsltCd(mainList.get(iLoop).string("MM_CARCHECK")); // 주차 가능 결과 코드 - crdn.setVltnNmtm(mainList.get(iLoop).string("MM_VIORCNT")); // 위반 횟수 + crdn.setPrkPsbltyRsltCd(row.string("MM_CARCHECK")); // 주차 가능 결과 코드 + crdn.setVltnNmtm(row.string("MM_VIORCNT")); // 위반 횟수 crdn.setOvtmYn("N"); // 시간외 여부 crdn.setOvtmPrttnYn("N"); // 시간외 분할 여부 @@ -459,38 +445,38 @@ public class LsctMpngBean extends AbstractBean { } // 부과 정보 insert - if (mainList.get(iLoop).string("NIS_LINK_YN").equals("Y")) { + if (row.string("NIS_LINK_YN").equals("Y")) { Levy levy = new Levy(); // 부과 TB_LEVY levy.setSggCd(crdn.getSggCd()); // 시군구 코드 levy.setTaskSeCd(crdn.getTaskSeCd()); // 업무 구분 코드 levy.setCrdnId(crdn.getCrdnId()); // CRDN_ID - levy.setFyr(mainList.get(iLoop).string("MC_ACC_YEAR")); // 회계연도 - levy.setLevyNo(mainList.get(iLoop).string("MC_LVY_NO")); // 부과 번호 - levy.setEpayno(mainList.get(iLoop).string("MC_ERC_NO")); // 전자납부번호 - levy.setBankNm(mainList.get(iLoop).string("MC_BANK_NM")); // 은행 명 - levy.setVrActno(mainList.get(iLoop).string("MC_ACCOUNT_NO")); // 가상 계좌번호 - levy.setBankNm2(mainList.get(iLoop).string("MC_BANK_NM2")); // 은행 명2 - levy.setVrActno2(mainList.get(iLoop).string("MC_ACCOUNT_NO2")); // 가상 계좌번호2 - levy.setBankNm3(mainList.get(iLoop).string("MC_BANK_NM3")); // 은행 명3 - levy.setVrActno3(mainList.get(iLoop).string("MC_ACCOUNT_NO3")); // 가상 계좌번호3 - levy.setBankNm4(mainList.get(iLoop).string("MC_BANK_NM4")); // 은행 명4 - levy.setVrActno4(mainList.get(iLoop).string("MC_ACCOUNT_NO4")); // 가상 계좌번호4 - levy.setBankNm5(mainList.get(iLoop).string("MC_BANK_NM5")); // 은행 명5 - levy.setVrActno5(mainList.get(iLoop).string("MC_ACCOUNT_NO5")); // 가상 계좌번호5 - levy.setBankNm6(mainList.get(iLoop).string("MC_BANK_NM6")); // 은행 명6 - levy.setVrActno6(mainList.get(iLoop).string("MC_ACCOUNT_NO6")); // 가상 계좌번호6 - levy.setBankNm7(mainList.get(iLoop).string("MC_BANK_NM7")); // 은행 명7 - levy.setVrActno7(mainList.get(iLoop).string("MC_ACCOUNT_NO7")); // 가상 계좌번호7 - levy.setBankNm8(mainList.get(iLoop).string("MC_BANK_NM8")); // 은행 명8 - levy.setVrActno8(mainList.get(iLoop).string("MC_ACCOUNT_NO8")); // 가상 계좌번호8 - levy.setBankNm9(mainList.get(iLoop).string("MC_BANK_NM9")); // 은행 명9 - levy.setVrActno9(mainList.get(iLoop).string("MC_ACCOUNT_NO9")); // 가상 계좌번호9 - levy.setBankNm10(mainList.get(iLoop).string("MC_BANK_NM10")); // 은행 명10 - levy.setVrActno10(mainList.get(iLoop).string("MC_ACCOUNT_NO10")); // 가상 계좌번호10 - levy.setBankNm11(mainList.get(iLoop).string("MC_BANK_NM11")); // 은행 명11 - levy.setVrActno11(mainList.get(iLoop).string("MC_ACCOUNT_NO11")); // 가상 계좌번호11 - if (mainList.get(iLoop).string("MC_LVY_KEY").length() == 20) { - levy.setNxrpLevyKey(mainList.get(iLoop).string("MC_LVY_KEY")); // 세외수입 부과 키 + levy.setFyr(row.string("MC_ACC_YEAR")); // 회계연도 + levy.setLevyNo(row.string("MC_LVY_NO")); // 부과 번호 + levy.setEpayno(row.string("MC_ERC_NO")); // 전자납부번호 + levy.setBankNm(row.string("MC_BANK_NM")); // 은행 명 + levy.setVrActno(row.string("MC_ACCOUNT_NO")); // 가상 계좌번호 + levy.setBankNm2(row.string("MC_BANK_NM2")); // 은행 명2 + levy.setVrActno2(row.string("MC_ACCOUNT_NO2")); // 가상 계좌번호2 + levy.setBankNm3(row.string("MC_BANK_NM3")); // 은행 명3 + levy.setVrActno3(row.string("MC_ACCOUNT_NO3")); // 가상 계좌번호3 + levy.setBankNm4(row.string("MC_BANK_NM4")); // 은행 명4 + levy.setVrActno4(row.string("MC_ACCOUNT_NO4")); // 가상 계좌번호4 + levy.setBankNm5(row.string("MC_BANK_NM5")); // 은행 명5 + levy.setVrActno5(row.string("MC_ACCOUNT_NO5")); // 가상 계좌번호5 + levy.setBankNm6(row.string("MC_BANK_NM6")); // 은행 명6 + levy.setVrActno6(row.string("MC_ACCOUNT_NO6")); // 가상 계좌번호6 + levy.setBankNm7(row.string("MC_BANK_NM7")); // 은행 명7 + levy.setVrActno7(row.string("MC_ACCOUNT_NO7")); // 가상 계좌번호7 + levy.setBankNm8(row.string("MC_BANK_NM8")); // 은행 명8 + levy.setVrActno8(row.string("MC_ACCOUNT_NO8")); // 가상 계좌번호8 + levy.setBankNm9(row.string("MC_BANK_NM9")); // 은행 명9 + levy.setVrActno9(row.string("MC_ACCOUNT_NO9")); // 가상 계좌번호9 + levy.setBankNm10(row.string("MC_BANK_NM10")); // 은행 명10 + levy.setVrActno10(row.string("MC_ACCOUNT_NO10")); // 가상 계좌번호10 + levy.setBankNm11(row.string("MC_BANK_NM11")); // 은행 명11 + levy.setVrActno11(row.string("MC_ACCOUNT_NO11")); // 가상 계좌번호11 + if (row.string("MC_LVY_KEY").length() == 20) { + levy.setNxrpLevyKey(row.string("MC_LVY_KEY")); // 세외수입 부과 키 } else { levy.setNxrpLevyKey(null); } 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 04f2001e..922750d1 100644 --- a/src/main/resources/sql/mapper/fims/rent/lsctMpng-mapper.xml +++ b/src/main/resources/sql/mapper/fims/rent/lsctMpng-mapper.xml @@ -669,8 +669,8 @@ WHEN LM.DMND_YN = 'Y' AND LM.CHG_APRV_STTS_CD = 'RT' THEN '기타(요청취소)' WHEN LM.DMND_YN = 'Y' AND LM.CHG_APRV_STTS_CD = 'AP' THEN '기타(승인)' WHEN LM.DMND_YN = 'Y' AND LM.CHG_APRV_STTS_CD = 'UA' THEN '기타(미승인)' - WHEN LM.DMND_YN = 'N' AND C.NXRP_CRDN_LINK_YN = 'N' THEN '계약서등록' - WHEN LM.DMND_YN = 'N' AND C.NXRP_CRDN_LINK_YN = 'Y' THEN '기타(세외수입)' + WHEN LM.DMND_YN = 'N' AND C.NXRP_CRDN_LINK_YN = 'N' THEN '계약서등록' + WHEN LM.DMND_YN = 'N' AND C.NXRP_CRDN_LINK_YN = 'Y' THEN '기타(세외수입)' ELSE '대상' END) AS TRGT_STTS_NM , LM.LSCT_ID @@ -699,7 +699,7 @@ , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = LM.MDFR) AS MDFR_NM , (CONCAT(L.CTRT_BGNG_YMD, L.CTRT_BGNG_TM)) AS CTRT_BGNG_DT , (CONCAT(L.CTRT_END_YMD, L.CTRT_END_TM)) AS CTRT_END_DT - , (SELECT GET_CODE_NM('FIM089', L.HIRER_SE_CD) FROM DUAL) AS HIRER_SE_NM + , (GET_CODE_NM('FIM089', L.HIRER_SE_CD)) AS HIRER_SE_NM , L.HIRER_REG_NO , L.HIRER_NM , L.HIRER_TELNO