|
|
@@ -2453,19 +2453,20 @@ public class KwtLogisticsConsignmentService {
|
|
|
|
|
|
KwtLogisticsOrderGoods goods = finalLogIdAndGoodsMap.getOrDefault(kwtLogisticsOrder.getId(), new KwtLogisticsOrderGoods());
|
|
|
KwpGoods kwpGoods = finalGoodsIdAndGoodsMap.get(goods.getGoodsId());
|
|
|
+ String priceUnit = kwpGoods.getPriceUnit();
|
|
|
if (Objects.nonNull(kwpGoods)){
|
|
|
logisticsOrderResp.setGoodsId(String.valueOf(goods.getGoodsId()));
|
|
|
SysDictResDto dictResDto = dictValueAndDictResDtoMap.getOrDefault(kwpGoods.getGoodsType(), new SysDictResDto());
|
|
|
logisticsOrderResp.setGoodsName(kwpGoods.getName()+"/"+dictResDto.getLabel()+"/"+kwpGoods.getSpec());
|
|
|
}
|
|
|
logisticsOrderResp.setTransportPrice(Objects.nonNull(kwtLogisticsOrder.getPrice()) ? kwtLogisticsOrder.getPrice().setScale(2,
|
|
|
- RoundingMode.HALF_UP).toPlainString() : "0.00");
|
|
|
+ RoundingMode.HALF_UP).toPlainString() : "0.00" + priceUnit);
|
|
|
logisticsOrderResp.setChargeType(kwtLogisticsOrder.getBillingMode());
|
|
|
logisticsOrderResp.setChargeTypeDesc(DictEnum.getLabel(DictTypeEnum.CHARGING_TYPE.getType(),
|
|
|
String.valueOf(kwtLogisticsOrder.getBillingMode())));
|
|
|
OrderDetailVo orderDetailVo = tradeIdAndOrderDetailVoMap.getOrDefault(kwtLogisticsOrder.getTOrderId(), new OrderDetailVo());
|
|
|
logisticsOrderResp.setAmount(Objects.nonNull(orderDetailVo.getAmount()) ?
|
|
|
- orderDetailVo.getAmount().setScale(2, RoundingMode.HALF_UP).toPlainString() : "0.00");
|
|
|
+ orderDetailVo.getAmount().setScale(2, RoundingMode.HALF_UP).toPlainString() : "0.00"+kwtLogisticsOrder.getUnit());
|
|
|
|
|
|
BigDecimal expectedTransportPrice =
|
|
|
Objects.nonNull(kwtLogisticsOrder.getPrice()) && Objects.nonNull(orderDetailVo.getAmount()) ?
|
|
|
@@ -2473,12 +2474,12 @@ public class KwtLogisticsConsignmentService {
|
|
|
BigDecimal actualTransportPrice = Objects.nonNull(kwtLogisticsOrder.getPrice()) && Objects.nonNull(kwtLogisticsOrder.getUnloadAmount()) ?
|
|
|
kwtLogisticsOrder.getPrice().multiply(kwtLogisticsOrder.getUnloadAmount()) : BigDecimal.ZERO;
|
|
|
|
|
|
- logisticsOrderResp.setExpectedTransportPrice(expectedTransportPrice.setScale(2,RoundingMode.HALF_UP).toPlainString());
|
|
|
- logisticsOrderResp.setActualTransportPrice(actualTransportPrice.setScale(2,RoundingMode.HALF_UP).toPlainString());
|
|
|
+ logisticsOrderResp.setExpectedTransportPrice(expectedTransportPrice.setScale(2,RoundingMode.HALF_UP).toPlainString()+priceUnit);
|
|
|
+ logisticsOrderResp.setActualTransportPrice(actualTransportPrice.setScale(2,RoundingMode.HALF_UP).toPlainString()+priceUnit);
|
|
|
logisticsOrderResp.setLoadAmount(Objects.nonNull(kwtLogisticsOrder.getLoadAmount()) ?
|
|
|
- kwtLogisticsOrder.getLoadAmount().setScale(2,RoundingMode.HALF_UP).toPlainString() : "0.00");
|
|
|
+ kwtLogisticsOrder.getLoadAmount().setScale(2,RoundingMode.HALF_UP).toPlainString() : "0.00"+kwtLogisticsOrder.getUnit());
|
|
|
logisticsOrderResp.setUnloadAmount(Objects.nonNull(kwtLogisticsOrder.getUnloadAmount()) ?
|
|
|
- kwtLogisticsOrder.getUnloadAmount().setScale(2,RoundingMode.HALF_UP).toPlainString() : "0.00");
|
|
|
+ kwtLogisticsOrder.getUnloadAmount().setScale(2,RoundingMode.HALF_UP).toPlainString() : "0.00"+kwtLogisticsOrder.getUnit());
|
|
|
|
|
|
KwtLogisticsOrderAddress loadAdd = finalLogisticsOrderIdAndUnitTypeKeyAndAddressMap.getOrDefault(kwtLogisticsOrder.getId() + "-" + AddressTypeEnum.SHIPMENT.getCode(), new KwtLogisticsOrderAddress());
|
|
|
logisticsOrderResp.setLoadAddress(loadAdd.getCityName()+loadAdd.getDetailAddress());
|
|
|
@@ -2574,7 +2575,7 @@ public class KwtLogisticsConsignmentService {
|
|
|
setAddressInfo(logOrderIdAndUnitTypeKeyAndAddressMap, logisticsOrder, logisticsOrderDetailResp);
|
|
|
|
|
|
//设置履约信息
|
|
|
- setPerformInfo(logisticsOrder, waybillOrderSubtasks, logisticsOrderDetailResp,logOrderList, orderDetailVo);
|
|
|
+ setPerformInfo(logisticsOrder, waybillOrderSubtasks, logisticsOrderDetailResp,logOrderList, orderDetailVo,kwpGoods);
|
|
|
|
|
|
//设置物流信息
|
|
|
setLogisticInfo(logisticsOrder,logisticsOrderDetailResp);
|
|
|
@@ -2595,7 +2596,7 @@ public class KwtLogisticsConsignmentService {
|
|
|
List<KwtWaybillOrderSubtask> waybillOrderSubtasks,
|
|
|
LogisticsOrderDetailResp logisticsOrderDetailResp,
|
|
|
List<KwtLogisticsOrder> logOrderList,
|
|
|
- OrderDetailVo orderDetailVo) {
|
|
|
+ OrderDetailVo orderDetailVo,KwpGoods kwpGoods) {
|
|
|
LogisticsOrderDetailResp.PerformanceInfoVO performanceInfoVO = new LogisticsOrderDetailResp.PerformanceInfoVO();
|
|
|
performanceInfoVO.setBillingMode(logisticsOrder.getBillingMode());
|
|
|
performanceInfoVO.setBillingModeDesc(DictEnum.getLabel(DictTypeEnum.CHARGING_TYPE.getType(),
|
|
|
@@ -2608,7 +2609,7 @@ public class KwtLogisticsConsignmentService {
|
|
|
.map(KwtWaybillOrderSubtask::getEntrustAmount)
|
|
|
.filter(x -> Objects.nonNull(x))
|
|
|
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
- performanceInfoVO.setOrderAmount(orderAmount.setScale(2,RoundingMode.HALF_UP).toPlainString());
|
|
|
+ performanceInfoVO.setOrderAmount(orderAmount.setScale(2,RoundingMode.HALF_UP).toPlainString()+logisticsOrder.getUnit());
|
|
|
BigDecimal loadAmount = BigDecimal.ZERO;
|
|
|
BigDecimal unloadAmount = BigDecimal.ZERO;
|
|
|
if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(waybillOrderSubtasks)){
|
|
|
@@ -2629,20 +2630,21 @@ public class KwtLogisticsConsignmentService {
|
|
|
DictEnum.CHARGING_TYPE_1.getValue())){
|
|
|
totalCarriageCost = Objects.nonNull(logisticsOrder.getPrice()) ? loadAmount.multiply(logisticsOrder.getPrice()) :
|
|
|
BigDecimal.ZERO;
|
|
|
- performanceInfoVO.setLoadAmount(loadAmount.setScale(2,RoundingMode.HALF_UP).toPlainString());
|
|
|
+ performanceInfoVO.setLoadAmount(loadAmount.setScale(2,RoundingMode.HALF_UP).toPlainString()+logisticsOrder.getUnit());
|
|
|
performanceInfoVO.setUnloadAmount("-");
|
|
|
}else if (org.apache.commons.lang3.StringUtils.equals(logisticsOrder.getBillingMode(),
|
|
|
DictEnum.CHARGING_TYPE_2.getValue())){
|
|
|
totalCarriageCost = Objects.nonNull(logisticsOrder.getPrice()) ? unloadAmount.multiply(logisticsOrder.getPrice()) :
|
|
|
BigDecimal.ZERO;
|
|
|
- performanceInfoVO.setLoadAmount(loadAmount.setScale(2,RoundingMode.HALF_UP).toPlainString());
|
|
|
- performanceInfoVO.setUnloadAmount(unloadAmount.setScale(2,RoundingMode.HALF_UP).toPlainString());
|
|
|
+ performanceInfoVO.setLoadAmount(loadAmount.setScale(2,RoundingMode.HALF_UP).toPlainString()+logisticsOrder.getUnit());
|
|
|
+ performanceInfoVO.setUnloadAmount(unloadAmount.setScale(2,RoundingMode.HALF_UP).toPlainString()+logisticsOrder.getUnit());
|
|
|
}
|
|
|
- performanceInfoVO.setTotalCarriageCost(totalCarriageCost.setScale(2,RoundingMode.HALF_UP).toPlainString());
|
|
|
+ String priceUnit = Optional.ofNullable(kwpGoods).map(KwpGoods::getPriceUnit).orElse("");
|
|
|
+ performanceInfoVO.setTotalCarriageCost(totalCarriageCost.setScale(2,RoundingMode.HALF_UP).toPlainString()+priceUnit);
|
|
|
BigDecimal tradeAmount = Optional.ofNullable(orderDetailVo).map(OrderDetailVo::getAmount).orElse(BigDecimal.ZERO);
|
|
|
// BigDecimal totalAmount = getTotalAmount(logOrderList);
|
|
|
BigDecimal surplusAmount = tradeAmount.subtract(orderAmount.add(unloadAmount));
|
|
|
- performanceInfoVO.setSurplusAmount(surplusAmount.setScale(2,RoundingMode.HALF_UP).toPlainString());
|
|
|
+ performanceInfoVO.setSurplusAmount(surplusAmount.setScale(2,RoundingMode.HALF_UP).toPlainString()+logisticsOrder.getUnit());
|
|
|
|
|
|
logisticsOrderDetailResp.setPerformanceInfoVO(performanceInfoVO);
|
|
|
}
|
|
|
@@ -2711,15 +2713,16 @@ public class KwtLogisticsConsignmentService {
|
|
|
LogisticsOrderDetailResp logisticsOrderDetailResp,
|
|
|
OrderDetailVo orderDetailVo) {
|
|
|
LogisticsOrderDetailResp.GoodsInfoVO goodsInfoVO = new LogisticsOrderDetailResp.GoodsInfoVO();
|
|
|
+ String priceUnit = "";
|
|
|
if (Objects.nonNull(kwpGoods)){
|
|
|
goodsInfoVO.setGoodsName(kwpGoods.getName());
|
|
|
-
|
|
|
+ priceUnit = kwpGoods.getPriceUnit();
|
|
|
}
|
|
|
- goodsInfoVO.setUnitPrice(Objects.nonNull(logisticsOrder.getPrice())? logisticsOrder.getPrice().setScale(2,RoundingMode.HALF_UP).toPlainString() : "0.00");
|
|
|
- goodsInfoVO.setOrderAmount(Objects.nonNull(orderDetailVo.getAmount()) ? orderDetailVo.getAmount().setScale(2,RoundingMode.HALF_UP).toPlainString() : "0.00");
|
|
|
+ goodsInfoVO.setUnitPrice(Objects.nonNull(logisticsOrder.getPrice())? logisticsOrder.getPrice().setScale(2,RoundingMode.HALF_UP).toPlainString() : "0.00"+logisticsOrder.getUnit());
|
|
|
+ goodsInfoVO.setOrderAmount(Objects.nonNull(orderDetailVo.getAmount()) ? orderDetailVo.getAmount().setScale(2,RoundingMode.HALF_UP).toPlainString() : "0.00"+orderDetailVo.getUnit());
|
|
|
BigDecimal carriageCost = Objects.nonNull(orderDetailVo.getAmount()) && Objects.nonNull(logisticsOrder.getPrice()) ?
|
|
|
orderDetailVo.getAmount().multiply(logisticsOrder.getPrice()) : BigDecimal.ZERO;
|
|
|
- goodsInfoVO.setCarriageCost(carriageCost.setScale(2,RoundingMode.HALF_UP).toPlainString());
|
|
|
+ goodsInfoVO.setCarriageCost(carriageCost.setScale(2,RoundingMode.HALF_UP).toPlainString()+priceUnit);
|
|
|
logisticsOrderDetailResp.setGoodsInfoVO(goodsInfoVO);
|
|
|
}
|
|
|
|
|
|
@@ -2832,6 +2835,14 @@ public class KwtLogisticsConsignmentService {
|
|
|
.map(KwtLogisticsOrderCirculate::getTruckId)
|
|
|
.distinct()
|
|
|
.collect(Collectors.toList());
|
|
|
+ List<Long> logisticsOrderIds = records.stream()
|
|
|
+ .map(KwtLogisticsOrderCirculate::getLOrderId)
|
|
|
+ .distinct()
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ List<KwtLogisticsOrder> logisticsOrders = Lists.newArrayList();
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(logisticsOrderIds)){
|
|
|
+ logisticsOrders = logisticsOrderRepository.queryByLogisticsOrderIds(logisticsOrderIds);
|
|
|
+ }
|
|
|
List<RTruckVo> truckByTruckIds = remoteFleetService.findTruckByTruckIds(truckIds);
|
|
|
Map<Long, RTruckVo> truckIdAndTruckMap = Maps.newHashMap();
|
|
|
if (CollectionUtils.isNotEmpty(truckByTruckIds)){
|
|
|
@@ -2860,8 +2871,9 @@ public class KwtLogisticsConsignmentService {
|
|
|
|
|
|
Map<Long, RTruckVo> finalTruckIdAndTruckMap = truckIdAndTruckMap;
|
|
|
Map<Long, List<KwtWaybillOrder>> finalBillOrderIdAndWaybillOrderMap = billOrderIdAndWaybillOrderMap;
|
|
|
+ List<KwtLogisticsOrder> finalLogisticsOrders = logisticsOrders;
|
|
|
List<CapacityVo> capacityVos = records.stream()
|
|
|
- .map(t -> getCapacityVo(t, finalTruckIdAndTruckMap, finalBillOrderIdAndWaybillOrderMap,waybillOrderSubtasks))
|
|
|
+ .map(t -> getCapacityVo(t, finalTruckIdAndTruckMap, finalBillOrderIdAndWaybillOrderMap,waybillOrderSubtasks, finalLogisticsOrders))
|
|
|
.collect(Collectors.toList());
|
|
|
return PageDataResult.of(page, capacityVos);
|
|
|
|
|
|
@@ -2870,7 +2882,8 @@ public class KwtLogisticsConsignmentService {
|
|
|
@NotNull
|
|
|
private static CapacityVo getCapacityVo(KwtLogisticsOrderCirculate t, Map<Long, RTruckVo> finalTruckIdAndTruckMap,
|
|
|
Map<Long, List<KwtWaybillOrder>> finalBillOrderIdAndWaybillOrderMap,
|
|
|
- List<KwtWaybillOrderSubtask> waybillOrderSubtasks) {
|
|
|
+ List<KwtWaybillOrderSubtask> waybillOrderSubtasks,
|
|
|
+ List<KwtLogisticsOrder> logisticsOrders) {
|
|
|
CapacityVo capacityVo = new CapacityVo();
|
|
|
capacityVo.setTruckId(String.valueOf(t.getTruckId()));
|
|
|
capacityVo.setTruckNo(t.getTruckNo());
|
|
|
@@ -2878,6 +2891,10 @@ public class KwtLogisticsConsignmentService {
|
|
|
capacityVo.setCarAxis(truckVo.getCarAxis());
|
|
|
List<KwtWaybillOrder> waybillOrders = finalBillOrderIdAndWaybillOrderMap.get(t.getTruckId());
|
|
|
capacityVo.setFinishWaybillCount("0");
|
|
|
+ BigDecimal loadAmount = BigDecimal.ZERO;
|
|
|
+ BigDecimal unloadAmount = BigDecimal.ZERO;
|
|
|
+ String unit = Optional.ofNullable(logisticsOrders).map(x -> x.get(0))
|
|
|
+ .map(KwtLogisticsOrder::getUnit).orElse("");
|
|
|
if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(waybillOrders)){
|
|
|
List<KwtWaybillOrder> waybillOrderList = Optional.ofNullable(waybillOrders).orElse(List.of())
|
|
|
.stream()
|
|
|
@@ -2895,18 +2912,17 @@ public class KwtLogisticsConsignmentService {
|
|
|
.stream()
|
|
|
.filter(x -> waybillOrderIds.contains(x.getWOrderId()))
|
|
|
.collect(Collectors.toList());
|
|
|
- BigDecimal loadAmount = subtasks.stream()
|
|
|
+ loadAmount = subtasks.stream()
|
|
|
.filter(x -> Objects.nonNull(x.getLoadAmount()))
|
|
|
.map(KwtWaybillOrderSubtask::getLoadAmount)
|
|
|
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
- BigDecimal unloadAmount = subtasks.stream()
|
|
|
+ unloadAmount = subtasks.stream()
|
|
|
.filter(x -> Objects.nonNull(x.getUnloadAmount()))
|
|
|
.map(KwtWaybillOrderSubtask::getUnloadAmount)
|
|
|
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
- capacityVo.setLoadAmount(loadAmount.setScale(2,RoundingMode.HALF_UP).toPlainString());
|
|
|
- capacityVo.setUnloadAmount(unloadAmount.setScale(2,RoundingMode.HALF_UP).toPlainString());
|
|
|
}
|
|
|
-
|
|
|
+ capacityVo.setLoadAmount(loadAmount.setScale(2,RoundingMode.HALF_UP).toPlainString()+unit);
|
|
|
+ capacityVo.setUnloadAmount(unloadAmount.setScale(2,RoundingMode.HALF_UP).toPlainString()+unit);
|
|
|
capacityVo.setDispatchStatus(String.valueOf(t.getStatus()));
|
|
|
capacityVo.setDispatchStatusDesc(Objects.equals(t.getStatus(),0) ? "启用" : "关闭");
|
|
|
return capacityVo;
|