diff --git a/src/main/java/cokr/xit/fims/FimsConf.java b/src/main/java/cokr/xit/fims/FimsConf.java index 4229daeb..cbf37fbf 100644 --- a/src/main/java/cokr/xit/fims/FimsConf.java +++ b/src/main/java/cokr/xit/fims/FimsConf.java @@ -12,7 +12,6 @@ import lombok.Setter; @Getter @Setter public class FimsConf extends AbstractComponent { - private static final FimsConf conf; static { @@ -27,16 +26,18 @@ public class FimsConf extends AbstractComponent { return conf; } - private String sgg; //WAS서버 시군구코드 + private String sgg; // WAS서버 시군구코드 + + private List tasks; // 업무코드 + private List taskUrlNames; // 업무URL명칭 + private List additionalTasks; // 추가업무코드 - private List tasks; //업무코드 - private List taskUrlNames; //업무URL명칭 + private List sggNet; // 시군구별 내부망 IP대역 + private List externalEntNet; // 외부 협력업체PC IP - private List sggNet; //시군구별 내부망 IP대역 - private List externalEntNet; //외부 협력업체PC IP - private String publicInfoCarYn; //차적조회연계 행공센연계여부 - private String nxrpDemonYn; //차세대연계 별도 프로세스 여부 - private String disabledParkingDemonYn; //장애인표지조회연계 별도 프로세스 여부 - private String disabledParkingDemonUrl;//장애인표지조회연계 API 아이피,포트 + private String publicInfoCarYn; // 차적조회연계 행공센연계여부 + private String nxrpDemonYn; // 차세대연계 별도 프로세스 여부 -} + private String disabledParkingDemonYn; // 장애인표지조회연계 별도 프로세스 여부 + private String disabledParkingDemonUrl;// 장애인표지조회연계 API 아이피,포트 +} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/crdn/service/bean/CrdnBean.java b/src/main/java/cokr/xit/fims/crdn/service/bean/CrdnBean.java index 4f5475a5..892fb7c4 100644 --- a/src/main/java/cokr/xit/fims/crdn/service/bean/CrdnBean.java +++ b/src/main/java/cokr/xit/fims/crdn/service/bean/CrdnBean.java @@ -42,41 +42,27 @@ import cokr.xit.foundation.data.DataObject; */ @Component("crdnBean") public class CrdnBean extends AbstractBean { - @Resource(name = "crdnSttsHstryBean") private CrdnSttsHstryBean crdnSttsHstryBean; - @Resource(name = "crdnPayerAddrHstryBean") private CrdnPayerAddrHstryBean crdnPayerAddrHstryBean; - @Resource(name = "fileBean") private FileBean fileBean; - @Resource(name = "crdnStngBean") private CrdnStngBean crdnStngBean; - @Resource(name = "crdnInfoMapper") private CrdnInfoMapper crdnInfoMapper; - @Resource(name = "crdnInstMapper") private CrdnInstMapper crdnInstMapper; - @Resource(name = "crdnUpdtMapper") private CrdnUpdtMapper crdnUpdtMapper; - @Resource(name = "crdnTeamMapper") private CrdnTeamMapper crdnTeamMapper; - @Resource(name = "levyExclBean") protected LevyExclBean levyExclBean; public boolean create(Map nonQueryRequest, Crdn crdn, List fileInfoList) { - if(fileInfoList != null && !fileInfoList.isEmpty()) { - crdn.setAtchFileCnt(fileInfoList.size()); - } else { - crdn.setAtchFileCnt(0); - } - + crdn.setAtchFileCnt(isEmpty(fileInfoList) ? 0 : fileInfoList.size()); //금액 계산 int[] basicAmt = crdnStngBean.getBasicAmt(crdn); crdn.setFfnlgCrdnAmt(basicAmt[0]); @@ -84,7 +70,7 @@ public class CrdnBean extends AbstractBean { crdn.setAdvntceAmt(basicAmt[1]); //단속팀 정보 갱신 - if(!ifEmpty(crdn.getTeamId(), () -> "").equals("")) { + if(!isEmpty(crdn.getTeamId())) { DataObject teamInfo = crdnTeamMapper.selectTeamInfo(crdn.getTeamId()); Team team = new Team(); @@ -101,47 +87,36 @@ public class CrdnBean extends AbstractBean { } //상태코드 설정 - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); - if(ifEmpty(crdn.getCrdnSttsCd(), () -> "").equals("")){ //상태코드가 없을경우 - if(ifEmpty(crdn.getCvlcptLinkYn(), () -> "").equals("Y")) { //민원연계자료일 경우 + if(isEmpty(crdn.getCrdnSttsCd())){ //상태코드가 없을경우 + if("Y".equals(crdn.getCvlcptLinkYn())) { //민원연계자료일 경우 crdn.setCrdnSttsCd("01"); //초기상태 - crdn.setCrdnSttsChgDt(dateFormat.format(System.currentTimeMillis())); } else { //민원연계자료가 아닐 경우 - if(ifEmpty(crdn.getRtpyrId(), () -> "").equals("")) { //납부자가 정보가 없을 경우 - crdn.setCrdnSttsCd("01"); //초기상태 - crdn.setCrdnSttsChgDt(dateFormat.format(System.currentTimeMillis())); - } else { - crdn.setCrdnSttsCd("21"); //납부자등록완료 - crdn.setCrdnSttsChgDt(dateFormat.format(System.currentTimeMillis())); - } + crdn.setCrdnSttsCd(isEmpty(crdn.getRtpyrId()) ? "01" : "21"); // 01: 초기상태 21: 납부자등록완료 } + crdn.setCrdnSttsChgDt(new SimpleDateFormat("yyyyMMddHHmmss").format(System.currentTimeMillis())); } //단속 대장 등록 boolean result = this.createLedger(crdn); - if (!result) { + if (!result) throw new RuntimeException("단속자료 등록 중 단속자료 등록에 실패하였습니다."); - } - - SimpleDateFormat yyyyMMdd = new SimpleDateFormat("yyyyMMdd"); - Date curTime = new Date(); - String strCurrentDate = yyyyMMdd.format(curTime); + String today = new SimpleDateFormat("yyyyMMdd").format(new Date()); String taskDtlId = crdn.getCrdnId(); if(crdn.getCrdnSttsCd().equals("83")) { // 부과제외(TB_LEVY_EXCL) 대장 등록 LevyExcl excl01 = new LevyExcl(); excl01.setCrdnId(crdn.getCrdnId()); - excl01.setLevyExclYmd(strCurrentDate); + excl01.setSggCd(crdn.getSggCd()); + excl01.setLevyExclYmd(today); excl01.setLevyExclSeCd("2"); excl01.setLevyExclRsnCd("192"); excl01.setEtcCn(""); String rtnScs = levyExclBean.createLevyExcl(excl01); - if (rtnScs.contains("[F]")) { + if (rtnScs.contains("[F]")) throw new RuntimeException("단속자료 등록 중 부과제외 자료 등록에 실패하였습니다."); - } taskDtlId = excl01.getLevyExclId(); } @@ -156,9 +131,8 @@ public class CrdnBean extends AbstractBean { crdnSttsHstry.setEtcCn(""); result = crdnSttsHstryBean.create(crdnSttsHstry); - if (!result) { + if (!result) throw new RuntimeException("단속자료 등록 중 단속상태 이력 등록에 실패하였습니다."); - } //단속납부자이력(TB_CRDN_PAYER_HSTRY) 대장 등록 if(!ifEmpty(crdn.getRtpyrId(), () -> "").equals("")) { @@ -168,19 +142,17 @@ public class CrdnBean extends AbstractBean { crdnPayerAddrHstry.setAddrSn(crdn.getAddrSn()); // 단속 대장의 납부자ID 수정 및 단속 납부자 이력(TB_CRDN_PAYER_HSTRY) 대장에 등록한다. - int effected = crdnPayerAddrHstryBean.createCrdnPayerAddrHstry(crdnPayerAddrHstry); - if(effected != 1) { + int affected = crdnPayerAddrHstryBean.createCrdnPayerAddrHstry(crdnPayerAddrHstry); + if(affected != 1) throw new RuntimeException("단속자료 등록 중 단속 납부자주소 이력 등록에 실패하였습니다."); - } } //파일 등록 - if(fileInfoList != null && !fileInfoList.isEmpty()) { + if(!isEmpty(fileInfoList)) { fileInfoList.forEach(fileInfo -> fileInfo.setInfoType(Crdn.INF_TYPE).setInfoKey(crdn.getCrdnId())); - int effected = fileBean.create(fileInfoList); - if(effected == 0) { + int affected = fileBean.create(fileInfoList); + if(affected == 0) throw new RuntimeException("단속자료 등록 중 파일 등록에 실패하였습니다."); - } } return result; @@ -194,19 +166,8 @@ public class CrdnBean extends AbstractBean { * */ public boolean createLedger(Crdn crdn) { - - int effected = crdnInstMapper.insertCrdn(crdn); - if(effected != 1) { - return false; - } - - effected = crdnInstMapper.insertCrdnAddition(crdn); - if(effected != 1) { - return false; - } - - return true; - + return crdnInstMapper.insertCrdn(crdn) == 1 + && crdnInstMapper.insertCrdnAddition(crdn) == 1; } /**단속 정보를 삭제한다. @@ -224,7 +185,7 @@ public class CrdnBean extends AbstractBean { paramMap.put("crdnIds", crdnIdList); paramMap.put("removedBy", UserInfo.current().getId()); - return crdnUpdtMapper.deleteCrdn(paramMap) >= 1 ? true : false; + return crdnUpdtMapper.deleteCrdn(paramMap) >= 1; } /**단속 자료를 수정한다. @@ -235,9 +196,6 @@ public class CrdnBean extends AbstractBean { * */ public String updateCrackdown(Crdn crdn) { - // 변수 선언 - int effected = 0; // DB 처리 결과 - //금액 계산 int[] basicAmt = crdnStngBean.getBasicAmt(crdn); crdn.setFfnlgCrdnAmt(basicAmt[0]); @@ -245,16 +203,14 @@ public class CrdnBean extends AbstractBean { crdn.setAdvntceAmt(basicAmt[1]); // 단속(TB_CRDN) 대장을 수정한다. - effected = crdnUpdtMapper.updateEditCrdn(crdn); - if (effected != 1) { + int affected = crdnUpdtMapper.updateEditCrdn(crdn); + if (affected != 1) throw new RuntimeException("단속 대장 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } // 단속 부가 정보(TB_CRDN_ADI) 대장을 수정한다. - effected = crdnUpdtMapper.updateCrdnAddition(crdn); - if (effected != 1) { + affected = crdnUpdtMapper.updateCrdnAddition(crdn); + if (affected != 1) throw new RuntimeException("단속 부가 정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } return "[S] 작업이 정상 처리 되었습니다."; } @@ -267,10 +223,6 @@ public class CrdnBean extends AbstractBean { * */ public String removeCrackdown(Crdn crdn) { - // 변수 선언 - boolean rtnScs = false; // DB 처리 결과 - int effected = 0; - // 단속 ID로 단속 정보 조회 DataObject infoCrdn = crdnInfoMapper.selectCrdnInfo(crdn.getCrdnId()); @@ -282,10 +234,9 @@ public class CrdnBean extends AbstractBean { crdnSttsHstry.setCrdnSttsCd("99"); // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록한다. - rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); - if (!rtnScs) { + boolean rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); + if (!rtnScs) throw new RuntimeException("단속 삭제 중 단속 대장의 단속상태코드 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } Map paramMap = new HashMap(); List crdnIdList = Arrays.asList(crdn.getCrdnId()); @@ -294,16 +245,14 @@ public class CrdnBean extends AbstractBean { paramMap.put("delRsn", crdn.getDelRsn()); // 단속(TB_CRDN) 대장을 삭제한다. - effected = crdnUpdtMapper.deleteCrdn(paramMap); - if (effected != 1) { + int affected = crdnUpdtMapper.deleteCrdn(paramMap); + if (affected != 1) throw new RuntimeException("단속 대장 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } // 단속(TB_CRDN) 대장을 삭제한다. - effected = crdnUpdtMapper.deleteCrdnAdi(paramMap); - if (effected != 1) { + affected = crdnUpdtMapper.deleteCrdnAdi(paramMap); + if (affected != 1) throw new RuntimeException("단속 부가 정보 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } return "[S] 작업이 정상 처리 되었습니다."; } @@ -320,22 +269,18 @@ public class CrdnBean extends AbstractBean { DataObject crdnInfo = crdnInfoMapper.selectCrdnInfo(crdn.getCrdnId()); String rtnMsg = ""; // 처리 결과 메시지 - if (crdnInfo == null) { + if (crdnInfo == null) rtnMsg = "[F] 작업중 단속 자료가 조회되지 않습니다."; - } - if (!"21,22".contains(crdnInfo.string("CRDN_STTS_CD"))) { + if (!"21,22".contains(crdnInfo.string("CRDN_STTS_CD"))) rtnMsg = "[F] 작업은 단속 처리상태가 납부자등록, 사전부과대상 자료만 가능합니다."; - } // 오류메세지가 발생하면 종료.. - if (rtnMsg.contains("[F]")) { + if (rtnMsg.contains("[F]")) return rtnMsg; - } // 단속(TB_CRDN) 대장에 납부자 ID를 삭제한다. int rtnNocs = crdnUpdtMapper.deleteCrdnPayer(crdn); - if (rtnNocs != 1) { + if (rtnNocs != 1) throw new RuntimeException("단속 대장에 납부자 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } // 단속 상태 코드 변경 CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); @@ -347,9 +292,8 @@ public class CrdnBean extends AbstractBean { // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록한다. boolean rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); - if (!rtnScs) { + if (!rtnScs) throw new RuntimeException("단속 대장의 단속상태코드 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } return "[S] 작업이 정상 처리 되었습니다."; } @@ -375,9 +319,8 @@ public class CrdnBean extends AbstractBean { // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록한다. boolean rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); - if (!rtnScs) { + if (!rtnScs) throw new RuntimeException("단속 대장의 단속상태코드 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } return "[S] 작업이 정상 처리 되었습니다."; } @@ -390,15 +333,13 @@ public class CrdnBean extends AbstractBean { boolean saved = false; try { - Stream walk = Files.walk(Paths.get(workPath)); - List deleteFilePaths = new ArrayList(); walk.filter(Files::isRegularFile) - .filter(p -> p.toFile().getName().equalsIgnoreCase(fileName)) - .collect(Collectors.toList()) - .forEach(item -> deleteFilePaths.add(item.toFile().getPath())); + .filter(p -> p.toFile().getName().equalsIgnoreCase(fileName)) + .collect(Collectors.toList()) + .forEach(item -> deleteFilePaths.add(item.toFile().getPath())); for(String deleteFilePath : deleteFilePaths) { saved = (new File(deleteFilePath)).delete(); @@ -406,13 +347,11 @@ public class CrdnBean extends AbstractBean { //빈 디렉토리 삭제 CmmnUtil.deleteEmptyDir(new File(workPath), false); - walk.close(); + + return saved; } catch (Exception e) { - throw new RuntimeException(e); + throw runtimeException(e); } - - return saved; } - -} +} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/crdn/service/bean/ImportBean.java b/src/main/java/cokr/xit/fims/crdn/service/bean/ImportBean.java index 04cb1054..81b12b50 100644 --- a/src/main/java/cokr/xit/fims/crdn/service/bean/ImportBean.java +++ b/src/main/java/cokr/xit/fims/crdn/service/bean/ImportBean.java @@ -24,8 +24,8 @@ import cokr.xit.foundation.component.AbstractBean; import cokr.xit.foundation.data.DataObject; import cokr.xit.foundation.util.DateFormats; import cokr.xit.interfaces.lvis.service.reg.BasicInfoExtRequest; -import cokr.xit.interfaces.lvis.service.reg.BasicInfoExtResponse; import cokr.xit.interfaces.lvis.service.reg.BasicInfoRequest; +import cokr.xit.interfaces.lvis.service.reg.BasicInfoResponse; import cokr.xit.interfaces.smg.Petition; import cokr.xit.interfaces.smg.dao.SmgMapper; @@ -238,32 +238,26 @@ public class ImportBean extends AbstractBean { return req; }).toList(); - for(BasicInfoRequest req : reqs) { Payer p = payerBean.getVehicleOwners(List.of(req)).get(0); crdns.forEach(crdn -> { - if(req.getLevy_stdde().equals(crdn.getCrdnYmd()) - && req.getVhrno().equals(crdn.getVhrno()) + if (req.getLevy_stdde().equals(crdn.getCrdnYmd()) + && req.getVhrno().equals(crdn.getVhrno()) ) { payerMap.put(crdn.getCrdnYmd()+","+crdn.getVhrno(), p); } }); } - } for(Crdn crdn : crdns) { Payer payer = payerMap.get(crdn.getCrdnYmd()+","+crdn.getVhrno()); if (payer == null) return; - BasicInfoExtResponse.ExtInfo vehicle = payer.getVehicleInfo(); + BasicInfoResponse.BasicInfo vehicle = payer.getVehicleInfo(); crdn.setSggCd(payer.getSggCd()); // 시군구 데이터 정리되면 지울 것 - if(ifEmpty(vehicle.getErsr_regist_de(), () -> "").equals("")) { - crdn.setRtpyrId(""); - } else { - crdn.setRtpyrId(payer.getRtpyrId()); - } + crdn.setRtpyrId(isEmpty(vehicle.getErsr_regist_de()) ? "" : payer.getRtpyrId()); crdn.setVin(vehicle.getVin()); crdn.setVhclNm(vehicle.getCnm()); crdn.setVhclColr(vehicle.getColor_nm()); @@ -292,19 +286,12 @@ public class ImportBean extends AbstractBean { if (rcptYmd != null && rcptYmd.length() >= 8) cvlcpt.setCvlcptRcptYmd(rcptYmd.substring(0, 8)); - String cvlcptAplySeCd = ""; - String petiAncCodeV = petition.getPetiAncCodeV(); - - if(petiAncCodeV.equals("1741000")) //행정안전부 - cvlcptAplySeCd = "120"; //안전신문고 - else if(petiAncCodeV.equals("1140100")) //국민권익위원회 - cvlcptAplySeCd = "183"; //국민신문고 - else if(petiAncCodeV.equals("1320000")) //경찰청 - cvlcptAplySeCd = "130"; //경찰청 - else - cvlcptAplySeCd = "181"; //기타 - - cvlcpt.setCvlcptAplySeCd(cvlcptAplySeCd); + cvlcpt.setCvlcptAplySeCd(switch (petition.getPetiAncCodeV()) { + case "1741000" -> "120"; // 행정안전부 -> 안전신문고 + case "1140100" -> "183"; // 국민권익위원회 -> 국민신문고 + case "1320000"-> "130"; // 경찰청 -> 경찰청 + default -> "181"; // 기타 + }); cvlcpt.setCvlcptAplyNo(petition.getPetiNoC()); cvlcpt.setCvlcptRcptNo(petition.getCivilNoC()); 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 f3eccc33..84edb73b 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 @@ -30,15 +30,12 @@ import cokr.xit.foundation.data.DataObject; */ @Component("levyExclBean") public class LevyExclBean extends AbstractBean { - /** 부과제외 대장 정보 DAO */ @Resource(name="levyExclMapper") private LevyExclMapper levyExclMapper; - /** 단속 상태 이력 정보 Bean */ @Resource(name="crdnSttsHstryBean") private CrdnSttsHstryBean crdnSttsHstryBean; - /** 감액 대장 정보 Bean */ @Resource(name="rdamtBean") private RdamtBean rdamtBean; @@ -89,10 +86,9 @@ public class LevyExclBean extends AbstractBean { DataObject info = levyExclMapper.selectLevyExclInfo(req); // 신규 부과제외 등록일 경우 부과제외 구분코드를 입력한다. - if (req.getCallPurpose().equals("create")) { - info.set("LEVY_EXCL_SE_CD", req.getLevyExclSeCd()); - info.set("LEVY_EXCL_SE_NM", info.string("CRT_LEVY_EXCL_SE_NM")); - } + if ("create".equals(req.getCallPurpose())) + info.set("LEVY_EXCL_SE_CD", req.getLevyExclSeCd()) + .set("LEVY_EXCL_SE_NM", info.string("CRT_LEVY_EXCL_SE_NM")); return info; } @@ -105,16 +101,13 @@ public class LevyExclBean extends AbstractBean { * */ public String createLevyExcl(LevyExcl levyExcl) { - // 변수 선언 - int rtnNocs = -1; // 처리 결과 건수 - String rtnMsg = ""; // 처리 결과 메시지 - // 단속 ID로 단속, 부과제외 정보 조회 LevyExclQuery req = new LevyExclQuery(); req.setCrdnId(levyExcl.getCrdnId()); req.setDelYn("N"); DataObject levyExclInfo = levyExclMapper.selectLevyExclInfo(req); + String rtnMsg = ""; // 처리 결과 메시지 // 등록 대상 자료 검증 if (!levyExclInfo.string("LEVY_EXCL_ID").equals("")) { // 부과제외 ID가 있다면 이미 부과제외 자료가 존재하므로 종료.. rtnMsg = "[F] 작업중 이미 등록된 부과제외 자료가 존재합니다."; @@ -122,34 +115,34 @@ public class LevyExclBean extends AbstractBean { if (!levyExclInfo.string("CVLCPT_LINK_ID").equals("")) { // 민원 ID if (levyExclInfo.string("CVLCPT_PRCS_CD").equals("00")) { // 민원 처리상태 확인 rtnMsg = "[F] 작업중 단속 민원 자료가 처리 되지 않았습니다." - + "
단속 민원 업무를 먼저 처리 하시기 바랍니다."; + + "
단속 민원 업무를 먼저 처리 하시기 바랍니다."; } } if (levyExcl.getLevyExclSeCd().contains("1,2")) { // 부과제외(서손), 계고 if (toInt(levyExclInfo.get("CRDN_STTS_CD")) >= 51) { // 단속상태코드가 부과(51) 보다 크다면, 부과제외 또는 계고 등록을 할 수 없다. rtnMsg = "[F] 작업 중 오류가 발생하였습니다." - + "
단속 자료의 처리상태가 " + levyExclInfo.string("CRDN_STTS_NM") + " 입니다"; + + "
단속 자료의 처리상태가 " + levyExclInfo.string("CRDN_STTS_NM") + " 입니다"; } } else if (levyExcl.getLevyExclSeCd().equals("3")) { // 부과취소 if (toInt(levyExclInfo.get("CRDN_STTS_CD")) < 51) { // 단속상태코드가 부과(51) 보다 작다면, 전액감액 등록 할 수 없다. rtnMsg = "[F] 작업 중 오류가 발생하였습니다." - + "
단속 자료의 처리상태가 " + levyExclInfo.string("CRDN_STTS_NM") + " 입니다"; + + "
단속 자료의 처리상태가 " + levyExclInfo.string("CRDN_STTS_NM") + " 입니다"; } if (toInt(levyExclInfo.get("CRDN_STTS_CD")) > 55) { // 단속상태코드가 압류(55) 보다 크면, 전액감액 등록 할 수 없다. rtnMsg = "[F] 작업 중 오류가 발생하였습니다." - + "
단속 자료의 처리상태가 " + levyExclInfo.string("CRDN_STTS_NM") + " 입니다"; + + "
단속 자료의 처리상태가 " + levyExclInfo.string("CRDN_STTS_NM") + " 입니다"; } if (levyExclInfo.string("LEVY_ID").equals("")) { // 부과(TB_LEVY) 정보 확인 rtnMsg = "[F] 작업 중 오류가 발생하였습니다." - + "
부과 자료가 존재하지 않습니다." - + "
부과제외로 처리하시기 바랍니다."; + + "
부과 자료가 존재하지 않습니다." + + "
부과제외로 처리하시기 바랍니다."; } } // 오류메세지가 발생하면 종료.. - if (rtnMsg.contains("[F]")) { + if (rtnMsg.contains("[F]")) return rtnMsg; - } + int rtnNocs = -1; // 처리 결과 건수 // 표지정보 확인여부가 미확인(0)이면 -> 조회미대상(9) 으로 if (levyExclInfo.string("PRK_PSBLTY_RSLT_CD").equals("0")) { // 주차 가능 결과 코드(FIM034) 0: 미확인 Crdn crdn = new Crdn(); @@ -157,9 +150,8 @@ public class LevyExclBean extends AbstractBean { crdn.setPrkPsbltyRsltCd("9"); // 주차 가능 결과 코드(FIM034) 9: 조회미대상 rtnNocs = levyExclMapper.updatePrkPsbltyRsltCd(crdn); - if (rtnNocs != 1) { + if (rtnNocs != 1) throw new RuntimeException("부과제외 등록 작업 중 단속 대장의 표지정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } } // 부과취소(전액감액)일 경우 부과(TB_LEVY)에 감액금액 입력이 필요.. @@ -172,41 +164,34 @@ public class LevyExclBean extends AbstractBean { rdamt.setRdamtRsnCd(levyExcl.getLevyExclRsnCd()); // 감액 사유 코드 rtnMsg = rdamtBean.createRdamt(rdamt); - if (!rtnMsg.contains("[S]")) { + if (!rtnMsg.contains("[S]")) throw new RuntimeException(rtnMsg.replace("[F]", "")); // 예외를 발생시켜서 DB Rollback - } levyExcl.setRdamtId(rdamt.getRdamtId()); // 감액 ID } // 부과제외(TB_LEVY_EXCL) 대장을 등록한다. rtnNocs = levyExclMapper.insertLevyExcl(levyExcl); - if (rtnNocs != 1) { + if (rtnNocs != 1) throw new RuntimeException("부과제외 정보 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다. - String newCrdnSttsCd = ""; // 신규 단속 상태 코드(CRDN_STTS_CD) - if (levyExcl.getLevyExclSeCd().equals("1")) { // 부과제외 - newCrdnSttsCd = "81"; // 부과제외(서손) - } else if (levyExcl.getLevyExclSeCd().equals("2")) { // 계고 - newCrdnSttsCd = "83"; // 계고 - } else if (levyExcl.getLevyExclSeCd().equals("3")) { // 부과취소(전액감액) - newCrdnSttsCd = "80"; // 부과취소 - } - // 단속 상태 이력(TB_CRDN_STTS_HSTRY) CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); crdnSttsHstry.setCrdnId(levyExclInfo.string("CRDN_ID")); crdnSttsHstry.setBfrSttsCd(levyExclInfo.string("CRDN_STTS_CD")); crdnSttsHstry.setBfrSttsChgDt(levyExclInfo.string("CRDN_STTS_CHG_DT")); - crdnSttsHstry.setCrdnSttsCd(newCrdnSttsCd); + crdnSttsHstry.setCrdnSttsCd(switch (levyExcl.getLevyExclSeCd()) { + case "1" -> "81"; // 부과제외 -> 부과제외(서손) + case "2" -> "83"; // 계고 -> 계고 + case "3" -> "80"; // 부과취소(전액감액) -> 부과취소 + default -> ""; + }); crdnSttsHstry.setTaskDtlId(levyExcl.getLevyExclId()); boolean rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); - if (!rtnScs) { + if (!rtnScs) throw new RuntimeException("부과제외 등록 작업 중 단속상태 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } return "[S] 작업이 정상 처리 되었습니다."; } @@ -221,9 +206,8 @@ public class LevyExclBean extends AbstractBean { public String updateLevyExcl(LevyExcl levyExcl) { // 부과제외(TB_LEVY_EXCL) 대장을 수정한다. int rtnNocs = levyExclMapper.updateLevyExcl(levyExcl); - if (rtnNocs != 1) { + if (rtnNocs != 1) throw new RuntimeException("부과제외 정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } return "[S] 작업이 정상 처리 되었습니다."; } @@ -236,55 +220,48 @@ public class LevyExclBean extends AbstractBean { * */ public String removeLevyExcl(LevyExcl levyExcl) { - // 변수 선언 - int rtnNocs = -1; // 처리 결과 건수 - String rtnMsg = ""; // 처리 결과 메시지 - // 부과제외(TB_LEVY_EXCL) 정보를 조회한다. LevyExclQuery req = new LevyExclQuery(); req.setLevyExclId(levyExcl.getLevyExclId()); req.setDelYn("N"); DataObject levyExclInfo = levyExclMapper.selectLevyExclInfo(req); + String rtnMsg = ""; // 처리 결과 메시지 // 삭제 대상 자료 검증 - if (levyExclInfo == null) { + if (levyExclInfo == null) rtnMsg = "[F] 작업 중 부과제외 자료가 조회되지 않습니다."; - } if (levyExclInfo.string("LEVY_EXCL_SE_CD").equals("1") && !levyExclInfo.string("CRDN_STTS_CD").equals("81")) { // 부과제외(서손) rtnMsg = "[F] 작업 중 오류가 발생하였습니다." - + "
단속 처리상태가 " + levyExclInfo.string("CRDN_STTS_NM") + " 입니다."; + + "
단속 처리상태가 " + levyExclInfo.string("CRDN_STTS_NM") + " 입니다."; } else if (levyExclInfo.string("LEVY_EXCL_SE_CD").equals("2") && !("83").contains(levyExclInfo.string("CRDN_STTS_CD"))) { // 계고 rtnMsg = "[F] 작업 중 오류가 발생하였습니다." - + "
단속 자료의 처리상태가 " + levyExclInfo.string("CRDN_STTS_NM") + " 입니다."; + + "
단속 자료의 처리상태가 " + levyExclInfo.string("CRDN_STTS_NM") + " 입니다."; } else if (levyExclInfo.string("LEVY_EXCL_SE_CD").equals("3") && !levyExclInfo.string("CRDN_STTS_CD").equals("80")) { // 부과취소 rtnMsg = "[F] 작업 중 오류가 발생하였습니다." - + "
단속 자료의 처리상태가 " + levyExclInfo.string("CRDN_STTS_NM") + " 입니다."; + + "
단속 자료의 처리상태가 " + levyExclInfo.string("CRDN_STTS_NM") + " 입니다."; } - // 오류메세지가 발생하면 종료.. - if (rtnMsg.contains("[F]")) { + if (rtnMsg.contains("[F]")) return rtnMsg; - } + int rtnNocs = -1; // 처리 결과 건수 // 부과제외 구분이 부과제외(서손)일 경우 - if (levyExclInfo.string("LEVY_EXCL_SE_CD").equals("1")) { + if ("1".equals(levyExclInfo.get("LEVY_EXCL_SE_CD"))) { // 표지정보 확인여부가 조회미대상이면 -> 미확인 으로 - if (levyExclInfo.string("PRK_PSBLTY_RSLT_CD").equals("9")) { // 주차 가능 결과 코드 - 9 조회 미대상 + if ("9".equals(levyExclInfo.get("PRK_PSBLTY_RSLT_CD"))) { // 주차 가능 결과 코드 - 9 조회 미대상 Crdn crdn = new Crdn(); crdn.setCrdnId(levyExclInfo.string("CRDN_ID")); // 단속 ID crdn.setPrkPsbltyRsltCd("0"); // 주차 가능 결과 코드 - 0 미확인 rtnNocs = levyExclMapper.updatePrkPsbltyRsltCd(crdn); - if (rtnNocs != 1) { + if (rtnNocs != 1) throw new RuntimeException("부과제외 삭제 작업 중 단속 대장의 표지정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } } } // 부과제외(TB_LEVY_EXCL) 대장을 삭제한다. rtnNocs = levyExclMapper.deleteLevyExcl(levyExcl); - if (rtnNocs != 1) { + if (rtnNocs != 1) throw new RuntimeException("부과제외 정보 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장의 사용 여부를 "N"으로 처리하고, 단속(TB_CRDN) 대장의 단속 상태 코드를 수정한다. CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); @@ -294,11 +271,9 @@ public class LevyExclBean extends AbstractBean { crdnSttsHstry.setUseYn("N"); // 사용 여부 boolean rtnScs = crdnSttsHstryBean.removeHstryUpdateCrdnSttsCd(crdnSttsHstry); - if (!rtnScs) { + if (!rtnScs) throw new RuntimeException("부과제외 삭제 작업중 단속 대장의 단속상태 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } return "[S] 작업이 정상 처리 되었습니다."; } - -} +} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/payer/Payer.java b/src/main/java/cokr/xit/fims/payer/Payer.java index 303f274c..29e0c682 100644 --- a/src/main/java/cokr/xit/fims/payer/Payer.java +++ b/src/main/java/cokr/xit/fims/payer/Payer.java @@ -1,7 +1,7 @@ package cokr.xit.fims.payer; import cokr.xit.foundation.AbstractEntity; -import cokr.xit.interfaces.lvis.service.reg.BasicInfoExtResponse.ExtInfo; +import cokr.xit.interfaces.lvis.service.reg.BasicInfoResponse; import lombok.Getter; import lombok.Setter; @@ -174,7 +174,7 @@ public class Payer extends AbstractEntity { private String wholAddr; /** 차량 정보 */ - private ExtInfo vehicleInfo; + private BasicInfoResponse.BasicInfo vehicleInfo; /**"차량번호-납부자번호"를 반환한다. * @return "차량번호-납부자번호" diff --git a/src/main/java/cokr/xit/fims/payer/service/bean/PayerBean.java b/src/main/java/cokr/xit/fims/payer/service/bean/PayerBean.java index 551b6fd4..9edb3543 100644 --- a/src/main/java/cokr/xit/fims/payer/service/bean/PayerBean.java +++ b/src/main/java/cokr/xit/fims/payer/service/bean/PayerBean.java @@ -22,7 +22,6 @@ import cokr.xit.interfaces.lvis.dao.VehicleInfoMapper; import cokr.xit.interfaces.lvis.service.bean.VehicleInfoBean; import cokr.xit.interfaces.lvis.service.reg.BasicInfoExtRequest; import cokr.xit.interfaces.lvis.service.reg.BasicInfoExtResponse; -import cokr.xit.interfaces.lvis.service.reg.BasicInfoExtResponse.ExtInfo; import cokr.xit.interfaces.lvis.service.reg.BasicInfoRequest; import cokr.xit.interfaces.lvis.service.reg.BasicInfoResponse; @@ -280,7 +279,7 @@ public class PayerBean extends AbstractBean { payer.setRtpyrTelno(basicInfo.getTelno()); payer.setRoadNmCd(basicInfo.getUse_strnghld_road_nm_code()); String str = basicInfo.getUsgsrhld_undgrnd_buld_se_code(); - if (str.equals("")) + if (isEmpty(str)) payer.setUdgdSeCd("0"); else payer.setUdgdSeCd(basicInfo.getUsgsrhld_undgrnd_buld_se_code()); @@ -311,7 +310,7 @@ public class PayerBean extends AbstractBean { Payer result = create(payer) ? payer : getPayerAddrInfo(payer); if (result != null) - result.setVehicleInfo((ExtInfo) basicInfo); + result.setVehicleInfo(basicInfo); return result; } diff --git a/src/main/java/cokr/xit/fims/payer/service/bean/PayerServiceBean.java b/src/main/java/cokr/xit/fims/payer/service/bean/PayerServiceBean.java index ef0aeaf8..5c5bba24 100644 --- a/src/main/java/cokr/xit/fims/payer/service/bean/PayerServiceBean.java +++ b/src/main/java/cokr/xit/fims/payer/service/bean/PayerServiceBean.java @@ -69,8 +69,7 @@ public class PayerServiceBean extends AbstractServiceBean implements PayerServic @Override public Payer getVehicleOwner(BasicInfoExtRequest req) { - Payer payer = payerBean.getVehicleOwner(req); - return payer; + return payerBean.getVehicleOwner(req); } @Override diff --git a/src/main/java/cokr/xit/fims/stat/service/bean/StatBean.java b/src/main/java/cokr/xit/fims/stat/service/bean/StatBean.java index b7ca9911..cd33c726 100644 --- a/src/main/java/cokr/xit/fims/stat/service/bean/StatBean.java +++ b/src/main/java/cokr/xit/fims/stat/service/bean/StatBean.java @@ -234,9 +234,10 @@ public class StatBean extends AbstractBean { } List fixedItemKeys = Arrays.asList(fixedItemKey); - group.keySet().stream() + List remove = group.keySet().stream() .filter(compositekey -> !fixedItemKeys.contains(compositekey)) - .forEach(deleteTarget -> group.remove(deleteTarget)); + .toList(); + remove.forEach(group::remove); } /**통계요청에 따라 수치값(합계, 건수)을 계산한다. diff --git a/src/main/java/cokr/xit/fims/task/TaskRequestMappingHandlerMapping.java b/src/main/java/cokr/xit/fims/task/TaskRequestMappingHandlerMapping.java index da7a8969..ea7b513e 100644 --- a/src/main/java/cokr/xit/fims/task/TaskRequestMappingHandlerMapping.java +++ b/src/main/java/cokr/xit/fims/task/TaskRequestMappingHandlerMapping.java @@ -1,6 +1,7 @@ package cokr.xit.fims.task; import java.lang.reflect.Method; +import java.util.ArrayList; import java.util.List; import java.util.Set; @@ -37,6 +38,15 @@ public class TaskRequestMappingHandlerMapping extends RequestMappingHandlerMappi prefix = new String[1 + tasksArray.length]; System.arraycopy(new String[] {""}, 0, prefix, 0, 1); System.arraycopy(tasksArray, 0, prefix, 1, tasksArray.length); + } else { + List newTasks = FimsConf.get().getAdditionalTasks(); + if (newTasks != null) { + ArrayList list = new ArrayList<>(); + for (String str: prefix) + list.add(str); + list.addAll(newTasks); + prefix = list.toArray(new String[list.size()]); + } } RequestMapping rm = AnnotatedElementUtils.findMergedAnnotation(method, RequestMapping.class);