|
|
|
|
@ -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());
|
|
|
|
|
}
|
|
|
|
|
*/
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|