getVehicleOwners(..) 수정

main
mjkhan21 5 months ago
parent 6fa7482e94
commit 3a8a2f58f0

@ -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<Crdn> createCrdns(List<Petition> petitions) {
if (isEmpty(petitions)) return Collections.emptyList();
Map<String, String>
ssgs = getSSGs(petitions),
carModels = importMapper.selectCarMdl();
Map<String, String> ssgs = getSSGs(petitions);
List<Crdn> crdns = create(petitions, ssgs);
BiFunction<String, String, String> 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<Crdn> crdns) {
Map<String, String> carModelMap = importMapper.selectCarMdl();
BiFunction<String, String, String> 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<Crdn> crdns, BiFunction<String, String, String> getCarModel) {
Map<String, Payer> payers = payerBean.getVehicleOwners(a01req);
crdns.forEach(crdn -> crdn.setInfo(payers.get(crdn.getVhrno())));
/*
Map<LvisA01.A01Request, Crdn> 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<String, Payer> payerMap = new HashMap<String, Payer>();
//행공센 연계 여부
if(ifEmpty(FimsConf.get().getPublicInfoCarYn(),() -> "Y").equals("Y")) {
List<BasicInfoExtRequest> 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<BasicInfoRequest> 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());
}
*/
}

@ -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<LvisA01.A01Request, Payer> getVehicleOwners(List<LvisA01.A01Request> reqs) {
return reqs.stream()
public Map<String, Payer> getVehicleOwners(LvisA01.A01Request req) {
//차적조회
LvisA01 bier = !FimsConf.get().isDisableLvis() ? vehicleInfoBean.getBasicInfo(req.distinct()) : null;
List<LvisA01.BasicInfo> 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<String, LvisA01.BasicInfo> 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<LvisA01.BasicInfo> records = bier != null ? bier.getRecord() : null;
LvisA01.BasicInfo basicInfo = !isEmpty(records) ? records.get(0) : null;
Map<String, Payer> 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);
}

Loading…
Cancel
Save