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 bb130312..3b296191 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 @@ -2,10 +2,8 @@ package cokr.xit.fims.crdn.service.bean; import java.util.Collections; import java.util.Date; -import java.util.LinkedHashMap; import java.util.List; import java.util.Map; -import java.util.function.BiFunction; import java.util.function.UnaryOperator; import java.util.stream.Collectors; @@ -47,23 +45,10 @@ public class ImportBean extends AbstractBean { public List createCrdns(List petitions) { if (isEmpty(petitions)) return Collections.emptyList(); - Map - ssgs = getSSGs(petitions), - carModels = importMapper.selectCarMdl(); + Map ssgs = getSSGs(petitions); List crdns = create(petitions, ssgs); - BiFunction getCarModel = (vhctyAsortCd, mxmmLdg) -> { - if (isEmpty(vhctyAsortCd)) return null; - - if ("3".equals(vhctyAsortCd)) { - int weight = toInt(mxmmLdg); - if (weight < 1) return null; - - vhctyAsortCd = weight <= 4000 ? "3-1" : "3-2"; - } - return carModels.get(vhctyAsortCd); - }; - setVehicleInfo(crdns, getCarModel); + setVehicleInfo(crdns); return crdns; } @@ -174,27 +159,12 @@ public class ImportBean extends AbstractBean { * @param basicInfoMap */ public void setVehicleInfo(List crdns) { - Map carModelMap = importMapper.selectCarMdl(); - BiFunction getCarModel = (vhctyAsortCd, mxmmLdg) -> { - if (isEmpty(vhctyAsortCd)) return null; - - if ("3".equals(vhctyAsortCd)) { - int weight = toInt(mxmmLdg); - if (weight < 1) return null; - - vhctyAsortCd = weight <= 4000 ? "3-1" : "3-2"; - } - return carModelMap.get(vhctyAsortCd); - }; - - setVehicleInfo(crdns, getCarModel); - } + LvisA01.A01Request a01req = new LvisA01.A01Request(); + crdns.forEach(crdn -> a01req.add(crdn.getCrdnYmd(), crdn.getVhrno(), null)); - /**단속 정보에 차량 정보를 설정한다. - * @param crdns - * @param basicInfoMap - */ - private void setVehicleInfo(List crdns, BiFunction getCarModel) { + Map payers = payerBean.getVehicleOwners(a01req); + crdns.forEach(crdn -> crdn.setInfo(payers.get(crdn.getVhrno()))); +/* Map reqCrdns = crdns.stream().collect(Collectors.toMap( crdn -> new LvisA01.A01Request().init(null, crdn.getCrdnYmd(), crdn.getVhrno(), null), crdn -> crdn, @@ -209,75 +179,6 @@ public class ImportBean extends AbstractBean { crdn.setInfo(payer); }); -/* - Map payerMap = new HashMap(); - - //행공센 연계 여부 - if(ifEmpty(FimsConf.get().getPublicInfoCarYn(),() -> "Y").equals("Y")) { - List reqs = crdns.stream() - .filter(crdn -> !isEmpty(crdn.getVhrno())) - .map(crdn -> { - BasicInfoExtRequest req = new BasicInfoExtRequest(); - req.setLevy_stdde(crdn.getCrdnYmd()); - req.setVhrno(crdn.getVhrno()); - return req; - }).toList(); - - for(BasicInfoExtRequest req : reqs) { - Payer p = payerBean.getVehicleOwner(new BasicInfoExtRequest()); - crdns.forEach(crdn -> { - if (req.getLevy_stdde().equals(crdn.getCrdnYmd()) - && req.getVhrno().equals(crdn.getVhrno()) - ) { - payerMap.put(crdn.getCrdnYmd()+","+crdn.getVhrno(), p); - } - }); - } - } else { - List reqs = crdns.stream() - .filter(crdn -> !isEmpty(crdn.getVhrno())) - .map(crdn -> { - BasicInfoRequest req = new BasicInfoRequest(); - req.setLevy_stdde(crdn.getCrdnYmd()); - req.setVhrno(crdn.getVhrno()); - req.setSggCd(crdn.getSggCd()); - 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()) - ) { - payerMap.put(crdn.getCrdnYmd()+","+crdn.getVhrno(), p); - } - }); - } - } - - for (Crdn crdn : crdns) { - Payer payer = payerMap.get(crdn.getCrdnYmd()+","+crdn.getVhrno()); - if (payer == null) return; - - BasicInfoResponse.BasicInfo vehicle = payer.getVehicleInfo(); - crdn.setSggCd(payer.getSggCd()); // 시군구 데이터 정리되면 지울 것 - crdn.setRtpyrId(!isEmpty(vehicle.getErsr_regist_de()) ? "" : payer.getRtpyrId()); - crdn.setRtpyrNm(payer.getRtpyrNm()); - crdn.setRtpyrSeCd(payer.getRtpyrSeCd()); - crdn.setRtpyrNo(payer.getRtpyrNo()); - crdn.setZip(payer.getZip()); - crdn.setAddr(payer.getAddr()); - crdn.setDtlAddr(payer.getDtlAddr()); - crdn.setAddrSn(blankIfEmpty(payer.getAddrSn())); - - crdn.setVin(vehicle.getVin()); - crdn.setVhclNm(vehicle.getCnm()); - crdn.setVhclColr(vehicle.getColor_nm()); - crdn.setUseFuelCd(vehicle.getUse_fuel_code()); - crdn.setFfnlgCarmdlCd(getCarModel.apply(vehicle.getVhcty_asort_code(), vehicle.getMxmm_ldg())); - crdn.setErsrRegYmd(vehicle.getErsr_regist_de()); - } */ } 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 5ff4087a..22a19469 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 @@ -1,6 +1,7 @@ package cokr.xit.fims.payer.service.bean; import java.io.InputStream; +import java.util.Collections; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -194,36 +195,28 @@ public class PayerBean extends AbstractBean { return payerAddrMapper.updatePayerAddr(payer) == 1; } - public Map getVehicleOwners(List reqs) { - return reqs.stream() + public Map getVehicleOwners(LvisA01.A01Request req) { + //차적조회 + LvisA01 bier = !FimsConf.get().isDisableLvis() ? vehicleInfoBean.getBasicInfo(req.distinct()) : null; + List records = bier != null ? bier.getRecord() : Collections.emptyList(); + + return records.stream() + .filter(rec -> "00".equals(rec.getProcess_imprty_resn_code())) + .map(rec -> getPayer(rec, req.getSigungu_code(), null)) .collect(Collectors.toMap( - req -> req, - req -> getVehicleOwner(req), - (v1, v2) -> v1, + payer -> payer.getVhrno(), + payer -> payer, + (arg0, arg1) -> arg0, LinkedHashMap::new )); -/* - Map vehicleMap = reqs.stream() - .map(req -> getVehicleOwner(req)) - .collect(Collectors.toMap( - resp -> String.format("%s-%s", resp.getMber_se_no(), resp.getVhrno()) , - resp -> resp - )); - return vehicleMap.values().stream() - .map(resp -> getPayer(resp.getBasicInfo())) - .toList(); -*/ } public Payer getVehicleOwner(LvisA01.A01Request req) { - boolean disable = FimsConf.get().isDisableLvis(); - //차적조회 - LvisA01 bier = disable ? null : vehicleInfoBean.getBasicInfo(req); - List records = bier != null ? bier.getRecord() : null; - LvisA01.BasicInfo basicInfo = !isEmpty(records) ? records.get(0) : null; + Map payers = getVehicleOwners(req); + if (payers.isEmpty()) + return getPayer(null, req); - //납부자조회 - return getPayer(basicInfo, req); + return payers.values().stream().toList().get(0); } /**시군구 코드와 차량 기본정보에서 납부자 정보를 생성하거나, 등록정보에서 조회하여 반환한다.(차량번호 / 납부자 번호 / 시군구 기준) @@ -234,6 +227,8 @@ public class PayerBean extends AbstractBean { if (basicInfo == null) { basicInfo = new LvisA01.BasicInfo(); basicInfo.setVhrno(req.getRecord().get(0).getVhrno()); + basicInfo.setProcess_imprty_resn_code("01"); + basicInfo.setProcess_imprty_resn_dtls("조회결과없음"); } return getPayer(basicInfo, req.getSigungu_code(), null); }