|
@@ -3,9 +3,14 @@ package com.sckw.transport.service;
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
import com.alibaba.fastjson2.JSON;
|
|
import com.alibaba.fastjson2.JSON;
|
|
|
import com.alibaba.fastjson2.JSONObject;
|
|
import com.alibaba.fastjson2.JSONObject;
|
|
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.github.pagehelper.PageHelper;
|
|
import com.github.pagehelper.PageHelper;
|
|
|
import com.github.pagehelper.PageInfo;
|
|
import com.github.pagehelper.PageInfo;
|
|
|
|
|
+import com.google.common.collect.Lists;
|
|
|
|
|
+import com.google.common.collect.Maps;
|
|
|
|
|
+import com.google.common.collect.Sets;
|
|
|
import com.sckw.core.common.enums.enums.DictTypeEnum;
|
|
import com.sckw.core.common.enums.enums.DictTypeEnum;
|
|
|
|
|
+import com.sckw.core.model.base.BaseModel;
|
|
|
import com.sckw.core.model.constant.Global;
|
|
import com.sckw.core.model.constant.Global;
|
|
|
import com.sckw.core.model.constant.NumberConstant;
|
|
import com.sckw.core.model.constant.NumberConstant;
|
|
|
import com.sckw.core.model.constant.UrlConstants;
|
|
import com.sckw.core.model.constant.UrlConstants;
|
|
@@ -25,6 +30,8 @@ import com.sckw.fleet.api.RemoteFleetService;
|
|
|
import com.sckw.fleet.api.model.vo.*;
|
|
import com.sckw.fleet.api.model.vo.*;
|
|
|
import com.sckw.mongo.model.SckwWaybillOrder;
|
|
import com.sckw.mongo.model.SckwWaybillOrder;
|
|
|
import com.sckw.order.api.dubbo.TradeOrderInfoService;
|
|
import com.sckw.order.api.dubbo.TradeOrderInfoService;
|
|
|
|
|
+import com.sckw.product.api.dubbo.GoodsInfoService;
|
|
|
|
|
+import com.sckw.product.api.model.KwpGoods;
|
|
|
import com.sckw.stream.enums.MessageEnum;
|
|
import com.sckw.stream.enums.MessageEnum;
|
|
|
import com.sckw.stream.model.SckwMessage;
|
|
import com.sckw.stream.model.SckwMessage;
|
|
|
import com.sckw.stream.model.UserInfo;
|
|
import com.sckw.stream.model.UserInfo;
|
|
@@ -42,14 +49,14 @@ import com.sckw.transport.model.enuma.CarWaybillTableTopEnum;
|
|
|
import com.sckw.transport.model.param.WaybillOrderReq;
|
|
import com.sckw.transport.model.param.WaybillOrderReq;
|
|
|
import com.sckw.transport.model.param.WaybillOrderResp;
|
|
import com.sckw.transport.model.param.WaybillOrderResp;
|
|
|
import com.sckw.transport.model.vo.*;
|
|
import com.sckw.transport.model.vo.*;
|
|
|
-import com.sckw.transport.repository.KwtWaybillOrderAddressRepository;
|
|
|
|
|
-import com.sckw.transport.repository.KwtWaybillOrderTrackRepository;
|
|
|
|
|
|
|
+import com.sckw.transport.repository.*;
|
|
|
import jakarta.annotation.Resource;
|
|
import jakarta.annotation.Resource;
|
|
|
import jakarta.servlet.http.HttpServletRequest;
|
|
import jakarta.servlet.http.HttpServletRequest;
|
|
|
import jakarta.validation.Valid;
|
|
import jakarta.validation.Valid;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.dubbo.config.annotation.DubboReference;
|
|
import org.apache.dubbo.config.annotation.DubboReference;
|
|
|
|
|
+import org.jetbrains.annotations.NotNull;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.cloud.stream.function.StreamBridge;
|
|
import org.springframework.cloud.stream.function.StreamBridge;
|
|
@@ -111,6 +118,11 @@ public class KwtWaybillOrderV1Service {
|
|
|
private UrlConfigProperties urlConfigProperties;
|
|
private UrlConfigProperties urlConfigProperties;
|
|
|
private final KwtWaybillOrderAddressRepository waybillOrderAddressRepository;
|
|
private final KwtWaybillOrderAddressRepository waybillOrderAddressRepository;
|
|
|
private final KwtWaybillOrderTrackRepository kwtWaybillOrderTrackRepository;
|
|
private final KwtWaybillOrderTrackRepository kwtWaybillOrderTrackRepository;
|
|
|
|
|
+ private final KwtWaybillOrderSubtaskRepository waybillOrderSubtaskRepository;
|
|
|
|
|
+ private final KwtLogisticsOrderRepository logisticsOrderRepository;
|
|
|
|
|
+ private final KwtWaybillOrderRepository kwtWaybillOrderRepository;
|
|
|
|
|
+ private final KwtLogisticsOrderUnitRepository kwtLogisticsOrderUnitRepository;
|
|
|
|
|
+ private final KwtLogisticsOrderGoodsRepository kwtLogisticsOrderGoodsRepository;
|
|
|
@Resource
|
|
@Resource
|
|
|
private StreamBridge streamBridge;
|
|
private StreamBridge streamBridge;
|
|
|
@DubboReference(version = "1.0.0", group = "design", check = false)
|
|
@DubboReference(version = "1.0.0", group = "design", check = false)
|
|
@@ -126,6 +138,10 @@ public class KwtWaybillOrderV1Service {
|
|
|
@Value("${message.waybill.refuseSendCar.pc}")
|
|
@Value("${message.waybill.refuseSendCar.pc}")
|
|
|
private String refuseSendCarPcUrl;
|
|
private String refuseSendCarPcUrl;
|
|
|
|
|
|
|
|
|
|
+ @DubboReference(version = "1.0.0", group = "design", check = false)
|
|
|
|
|
+ private GoodsInfoService goodsInfoService;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* @param params 请求参数
|
|
* @param params 请求参数
|
|
|
* @desc 统计
|
|
* @desc 统计
|
|
@@ -2915,8 +2931,231 @@ public class KwtWaybillOrderV1Service {
|
|
|
return orderDetailVo;
|
|
return orderDetailVo;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- public BaseResult<PageDataResult<WaybillOrderResp>> findBillOrderListPage(WaybillOrderReq req) {
|
|
|
|
|
- //
|
|
|
|
|
- return null;
|
|
|
|
|
|
|
+ public PageDataResult<WaybillOrderResp> findBillOrderListPage(WaybillOrderReq req) {
|
|
|
|
|
+ log.info("查询订单列表请求阐述:{}",JSON.toJSONString( req));
|
|
|
|
|
+
|
|
|
|
|
+ //物流订单号集合
|
|
|
|
|
+ Set<Long> logOrderIds = getLogOrderIds(req);
|
|
|
|
|
+
|
|
|
|
|
+ //查询运单信息
|
|
|
|
|
+ //运单id集合
|
|
|
|
|
+ Set<Long> billOrderIds = getBillOrderIds(req);
|
|
|
|
|
+
|
|
|
|
|
+ Long entId = StringUtils.isNotBlank(req.getEntId()) ? Long.parseLong(req.getEntId()) : null;
|
|
|
|
|
+ IPage<KwtWaybillOrderSubtask> page = waybillOrderSubtaskRepository.queryByPage(entId ,logOrderIds,
|
|
|
|
|
+ billOrderIds, req.getPageNum(), req.getPageSize());
|
|
|
|
|
+ List<KwtWaybillOrderSubtask> records = page.getRecords();
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isEmpty(records)){
|
|
|
|
|
+ return PageDataResult.empty(req.getPageNum(), req.getPageSize());
|
|
|
|
|
+ }
|
|
|
|
|
+ //运单id集合
|
|
|
|
|
+ Set<Long> wayBillOrderIds = records.stream()
|
|
|
|
|
+ .map(KwtWaybillOrderSubtask::getWOrderId)
|
|
|
|
|
+ .collect(Collectors.toSet());
|
|
|
|
|
+ //物流订单id集合
|
|
|
|
|
+ List<Long> logicsOrderIds = records.stream()
|
|
|
|
|
+ .map(KwtWaybillOrderSubtask::getLOrderId)
|
|
|
|
|
+ .distinct()
|
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
|
|
+
|
|
|
|
|
+ //子运单id集合
|
|
|
|
|
+ Set<Long> subWayBillOrderIds = records.stream()
|
|
|
|
|
+ .map(BaseModel::getId)
|
|
|
|
|
+ .collect(Collectors.toSet());
|
|
|
|
|
+ //查询主运单信息
|
|
|
|
|
+ Map<Long, KwtWaybillOrder> waybillOrderIdAndBillOrderMap = getLongKwtWaybillOrderMap(wayBillOrderIds);
|
|
|
|
|
+ //查询承运托运单位信息
|
|
|
|
|
+ Map<String, KwtLogisticsOrderUnit> logOrderIdUnitTypeKeyAndUnitMap = getStringKwtLogisticsOrderUnitMap(logicsOrderIds);
|
|
|
|
|
+
|
|
|
|
|
+ //查询装卸货地址
|
|
|
|
|
+ List<KwtWaybillOrderAddress> orderAddresses = waybillOrderAddressRepository.queryBySubBillOrderId(subWayBillOrderIds);
|
|
|
|
|
+ Map<String, KwtWaybillOrderAddress> subOrderIdAddressTypeKeyAndAddressMap = Maps.newHashMap();
|
|
|
|
|
+ Set<Long> addressIds = Sets.newHashSet() ;
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(orderAddresses)){
|
|
|
|
|
+ subOrderIdAddressTypeKeyAndAddressMap =
|
|
|
|
|
+ orderAddresses.stream().peek(x -> x.setSubOrderIdAddressTypeKey(x.getWSubtaskId() + "-" + x.getAddressType()))
|
|
|
|
|
+ .collect(Collectors.toMap(KwtWaybillOrderAddress::getSubOrderIdAddressTypeKey, Function.identity()
|
|
|
|
|
+ , (k1, k2) -> k1));
|
|
|
|
|
+ addressIds =
|
|
|
|
|
+ orderAddresses.stream().map(KwtWaybillOrderAddress::getId).collect(Collectors.toSet());
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 查询运单相关的装卸货时间信息
|
|
|
|
|
+ Map<String, KwtWaybillOrderTrack> subBillIdAddressIdKeyAndOrderTrackMap = getStringKwtWaybillOrderTrackMap(addressIds);
|
|
|
|
|
+
|
|
|
|
|
+ //更具物流订单查询商品
|
|
|
|
|
+ List<KwtLogisticsOrderGoods> logisticsOrderGoods = kwtLogisticsOrderGoodsRepository.queryByLogOrderIds(logicsOrderIds);
|
|
|
|
|
+ Map<Long, KwtLogisticsOrderGoods> logOrderIdAndGoodsIdMap = Maps.newHashMap();
|
|
|
|
|
+ List<Long> goodsIds = Lists.newArrayList() ;
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(logisticsOrderGoods)){
|
|
|
|
|
+ goodsIds = logisticsOrderGoods.stream()
|
|
|
|
|
+ .map(KwtLogisticsOrderGoods::getGoodsId).distinct().collect(Collectors.toList());
|
|
|
|
|
+ logOrderIdAndGoodsIdMap =
|
|
|
|
|
+ logisticsOrderGoods.stream().collect(Collectors.toMap(KwtLogisticsOrderGoods::getId, Function.identity(),
|
|
|
|
|
+ (k1, k2) -> k1));
|
|
|
|
|
+ }
|
|
|
|
|
+ //查询商品信息
|
|
|
|
|
+ Map<Long, KwpGoods> kwpGoodsMap = goodsInfoService.getGoodsByIds(goodsIds);
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ Map<String, KwtWaybillOrderAddress> finalSubOrderIdAddressTypeKeyAndAddressMap = subOrderIdAddressTypeKeyAndAddressMap;
|
|
|
|
|
+ Map<Long, KwtLogisticsOrderGoods> finalLogOrderIdAndGoodsIdMap = logOrderIdAndGoodsIdMap;
|
|
|
|
|
+ List<WaybillOrderResp> resps = records.stream()
|
|
|
|
|
+ .map(record -> getWaybillOrderResp(record, waybillOrderIdAndBillOrderMap, logOrderIdUnitTypeKeyAndUnitMap, finalLogOrderIdAndGoodsIdMap, kwpGoodsMap, finalSubOrderIdAddressTypeKeyAndAddressMap, subBillIdAddressIdKeyAndOrderTrackMap))
|
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
|
|
+ return PageDataResult.of(page,resps);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @NotNull
|
|
|
|
|
+ private Map<Long, KwtWaybillOrder> getLongKwtWaybillOrderMap(Set<Long> wayBillOrderIds) {
|
|
|
|
|
+ List<KwtWaybillOrder> waybillOrders = kwtWaybillOrderRepository.queryByBillOrderIds(wayBillOrderIds);
|
|
|
|
|
+ Map<Long, KwtWaybillOrder> waybillOrderIdAndBillOrderMap = Maps.newHashMap();
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(waybillOrders)){
|
|
|
|
|
+ waybillOrderIdAndBillOrderMap = waybillOrders.stream()
|
|
|
|
|
+ .collect(Collectors.toMap(KwtWaybillOrder::getId, Function.identity(), (k1, k2) -> k1));
|
|
|
|
|
+ }
|
|
|
|
|
+ return waybillOrderIdAndBillOrderMap;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @NotNull
|
|
|
|
|
+ private Map<String, KwtLogisticsOrderUnit> getStringKwtLogisticsOrderUnitMap(List<Long> logicsOrderIds) {
|
|
|
|
|
+ List<KwtLogisticsOrderUnit> logisticsOrderUnits = kwtLogisticsOrderUnitRepository.queryByLogOrderIds(logicsOrderIds);
|
|
|
|
|
+ Map<String, KwtLogisticsOrderUnit> logOrderIdUnitTypeKeyAndUnitMap = Maps.newHashMap();
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(logisticsOrderUnits)){
|
|
|
|
|
+ logOrderIdUnitTypeKeyAndUnitMap =
|
|
|
|
|
+ logisticsOrderUnits.stream().peek(x -> x.setLogisticsOrderIdAndUnitTypeKey(x.getLOrderId() + "-" + x.getUnitType()))
|
|
|
|
|
+ .collect(Collectors.toMap(KwtLogisticsOrderUnit::getLogisticsOrderIdAndUnitTypeKey,
|
|
|
|
|
+ Function.identity(), (k1, k2) -> k1));
|
|
|
|
|
+ }
|
|
|
|
|
+ return logOrderIdUnitTypeKeyAndUnitMap;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @NotNull
|
|
|
|
|
+ private Map<String, KwtWaybillOrderTrack> getStringKwtWaybillOrderTrackMap(Set<Long> addressIds) {
|
|
|
|
|
+ List<KwtWaybillOrderTrack> kwtWaybillOrderTracks = Lists.newArrayList();
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(addressIds)){
|
|
|
|
|
+ kwtWaybillOrderTracks = kwtWaybillOrderTrackRepository.queryByAddressIds(addressIds);
|
|
|
|
|
+ }
|
|
|
|
|
+ Map<String, KwtWaybillOrderTrack> subBillIdAddressIdKeyAndOrderTrackMap = Maps.newHashMap();
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(kwtWaybillOrderTracks)){
|
|
|
|
|
+ subBillIdAddressIdKeyAndOrderTrackMap =
|
|
|
|
|
+ kwtWaybillOrderTracks.stream().peek(x->x.setSubBillIdAddressIdKey(x.getWSubtaskId()+"-"+x.getWAddressId()))
|
|
|
|
|
+ .collect(Collectors.toMap(KwtWaybillOrderTrack::getSubBillIdAddressIdKey,
|
|
|
|
|
+ Function.identity(), (k1, k2) -> k1));
|
|
|
|
|
+ }
|
|
|
|
|
+ return subBillIdAddressIdKeyAndOrderTrackMap;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @NotNull
|
|
|
|
|
+ private Set<Long> getLogOrderIds(WaybillOrderReq req) {
|
|
|
|
|
+ Set<Long> logOrderIds = Sets.newHashSet();
|
|
|
|
|
+ if (StringUtils.isNotBlank(req.getLogisticsOrderId())){
|
|
|
|
|
+ logOrderIds.add(Long.parseLong(req.getLogisticsOrderId()));
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if (StringUtils.isNotBlank(req.getLogisticsOrderNo()) && StringUtils.isBlank(req.getLogisticsOrderId())){
|
|
|
|
|
+ KwtLogisticsOrder kwtLogisticsOrder = logisticsOrderRepository.queryByLogisticsOrderNo(req.getLogisticsOrderNo());
|
|
|
|
|
+ if (Objects.nonNull(kwtLogisticsOrder)){
|
|
|
|
|
+ logOrderIds.add(kwtLogisticsOrder.getId());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ Set<Long> entIds = Sets.newHashSet();
|
|
|
|
|
+ if (StringUtils.isNotBlank(req.getConsignorId())){
|
|
|
|
|
+ entIds.add(Long.parseLong(req.getConsignorId()));
|
|
|
|
|
+ }
|
|
|
|
|
+ if (StringUtils.isNotBlank(req.getCarrierId())){
|
|
|
|
|
+ entIds.add(Long.parseLong(req.getCarrierId()));
|
|
|
|
|
+ }
|
|
|
|
|
+ //根据单位查询订单id
|
|
|
|
|
+ List<KwtLogisticsOrderUnit> unitList = kwtLogisticsOrderUnitRepository.queryByEntIds(entIds);
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(unitList)){
|
|
|
|
|
+ logOrderIds.addAll(unitList.stream()
|
|
|
|
|
+ .map(KwtLogisticsOrderUnit::getLOrderId)
|
|
|
|
|
+ .collect(Collectors.toSet())) ;
|
|
|
|
|
+ }
|
|
|
|
|
+ return logOrderIds;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @NotNull
|
|
|
|
|
+ private Set<Long> getBillOrderIds(WaybillOrderReq req) {
|
|
|
|
|
+ Set<Long> billOrderIds = Sets.newHashSet();
|
|
|
|
|
+ KwtWaybillOrder order = getKwtWaybillOrder(req);
|
|
|
|
|
+ boolean b = Stream.of(req.getWaybillNo(), req.getTruckNo(), req.getDriverName(), req.getPhone()).anyMatch(StringUtils::isNotBlank);
|
|
|
|
|
+ if (b){
|
|
|
|
|
+ List<KwtWaybillOrder> waybillOrders = kwtWaybillOrderRepository.queryByCondition(order);
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(waybillOrders)){
|
|
|
|
|
+ billOrderIds.addAll(waybillOrders.stream()
|
|
|
|
|
+ .map(KwtWaybillOrder::getId)
|
|
|
|
|
+ .collect(Collectors.toSet()));
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ return billOrderIds;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @NotNull
|
|
|
|
|
+ private static WaybillOrderResp getWaybillOrderResp(KwtWaybillOrderSubtask record, Map<Long, KwtWaybillOrder> finalWaybillOrderIdAndBillOrderMap,
|
|
|
|
|
+ Map<String, KwtLogisticsOrderUnit> finalLogOrderIdUnitTypeKeyAndUnitMap, Map<Long, KwtLogisticsOrderGoods> finalLogOrderIdAndGoodsIdMap, Map<Long, KwpGoods> kwpGoodsMap
|
|
|
|
|
+ , Map<String, KwtWaybillOrderAddress> finalSubOrderIdAddressTypeKeyAndAddressMap, Map<String, KwtWaybillOrderTrack> finalSubBillIdAddressIdKeyAndOrderTrackMap) {
|
|
|
|
|
+ WaybillOrderResp waybillOrderResp = new WaybillOrderResp();
|
|
|
|
|
+ KwtWaybillOrder billOrder = finalWaybillOrderIdAndBillOrderMap.getOrDefault(record.getWOrderId(),
|
|
|
|
|
+ new KwtWaybillOrder());
|
|
|
|
|
+ waybillOrderResp.setWaybillOrderId(String.valueOf(billOrder.getId()));
|
|
|
|
|
+ waybillOrderResp.setWaybillOrderNo(billOrder.getWOrderNo());
|
|
|
|
|
+ KwtLogisticsOrderUnit consignUnit = finalLogOrderIdUnitTypeKeyAndUnitMap.getOrDefault(record.getLOrderId() + "-" + NumberConstant.ONE,
|
|
|
|
|
+ new KwtLogisticsOrderUnit());
|
|
|
|
|
+ waybillOrderResp.setConsignUnitId(String.valueOf(consignUnit.getEntId()));
|
|
|
|
|
+ waybillOrderResp.setConsignUnitName(consignUnit.getFirmName());
|
|
|
|
|
+ KwtLogisticsOrderUnit carriageUnit =
|
|
|
|
|
+ finalLogOrderIdUnitTypeKeyAndUnitMap.getOrDefault(record.getLOrderId() + "-" + NumberConstant.TWO,
|
|
|
|
|
+ new KwtLogisticsOrderUnit());
|
|
|
|
|
+ waybillOrderResp.setCarriageUnitId(String.valueOf(carriageUnit.getEntId()));
|
|
|
|
|
+ waybillOrderResp.setCarriageUnitName(carriageUnit.getFirmName());
|
|
|
|
|
+ waybillOrderResp.setTruckNo(billOrder.getTruckNo());
|
|
|
|
|
+ waybillOrderResp.setDriverName(billOrder.getDriverName());
|
|
|
|
|
+ waybillOrderResp.setDriverPhone(billOrder.getDriverPhone());
|
|
|
|
|
+ Long lOrderId = record.getLOrderId();
|
|
|
|
|
+
|
|
|
|
|
+ KwtLogisticsOrderGoods goods = finalLogOrderIdAndGoodsIdMap.getOrDefault(lOrderId,
|
|
|
|
|
+ new KwtLogisticsOrderGoods());
|
|
|
|
|
+ KwpGoods kwpGoods = kwpGoodsMap.getOrDefault(goods.getGoodsId(), new KwpGoods());
|
|
|
|
|
+ waybillOrderResp.setGoodsName(kwpGoods.getName()+"/"+kwpGoods.getGoodsType()+"/"+kwpGoods.getSpec());
|
|
|
|
|
+ waybillOrderResp.setTaskNum(Objects.nonNull(billOrder.getEntrustAmount()) ?
|
|
|
|
|
+ billOrder.getEntrustAmount().setScale(2, RoundingMode.HALF_UP).toPlainString() : "0.00");
|
|
|
|
|
+ waybillOrderResp.setLoadingNetWeight(Objects.nonNull(billOrder.getLoadAmount()) ?
|
|
|
|
|
+ billOrder.getLoadAmount().setScale(2, RoundingMode.HALF_UP).toPlainString() : "0.00");
|
|
|
|
|
+ KwtWaybillOrderAddress loadingAdd = finalSubOrderIdAddressTypeKeyAndAddressMap.getOrDefault(record.getId() + "-" + AddressTypeEnum.SHIPMENT.getCode(),
|
|
|
|
|
+ new KwtWaybillOrderAddress());
|
|
|
|
|
+ waybillOrderResp.setLoadingAddress(loadingAdd.getDetailAddress());
|
|
|
|
|
+ waybillOrderResp.setUnloadingNetWeight(Objects.nonNull(billOrder.getUnloadAmount()) ?
|
|
|
|
|
+ billOrder.getUnloadAmount().setScale(2, RoundingMode.HALF_UP).toPlainString() : "0.00");
|
|
|
|
|
+ KwtWaybillOrderAddress unloadingAdd =
|
|
|
|
|
+ finalSubOrderIdAddressTypeKeyAndAddressMap.getOrDefault(record.getId() + "-" + AddressTypeEnum.SHIPMENT.getCode(),
|
|
|
|
|
+ new KwtWaybillOrderAddress());
|
|
|
|
|
+ waybillOrderResp.setUnloadingAddress(unloadingAdd.getDetailAddress());
|
|
|
|
|
+
|
|
|
|
|
+ KwtWaybillOrderTrack loadTrack =
|
|
|
|
|
+ finalSubBillIdAddressIdKeyAndOrderTrackMap.getOrDefault(record.getId() + "-" + loadingAdd.getId(),
|
|
|
|
|
+ new KwtWaybillOrderTrack());
|
|
|
|
|
+
|
|
|
|
|
+ waybillOrderResp.setAcceptTime(DateUtils.format(record.getCreateTime(),DateUtils.DATE_TIME_PATTERN));
|
|
|
|
|
+ KwtWaybillOrderTrack unloadTrack =
|
|
|
|
|
+ finalSubBillIdAddressIdKeyAndOrderTrackMap.getOrDefault(record.getId() + "-" + loadingAdd.getId(),
|
|
|
|
|
+ new KwtWaybillOrderTrack());
|
|
|
|
|
+ waybillOrderResp.setLoadingTime(DateUtils.format(loadTrack.getOperateTime(),DateUtils.DATE_TIME_PATTERN));
|
|
|
|
|
+ waybillOrderResp.setOffsiteTime(DateUtils.format(unloadTrack.getOperateTime(),DateUtils.DATE_TIME_PATTERN));
|
|
|
|
|
+ waybillOrderResp.setStatus(String.valueOf(record.getStatus()));
|
|
|
|
|
+ waybillOrderResp.setStatusDesc(CarWaybillEnum.getName(record.getStatus()));
|
|
|
|
|
+ return waybillOrderResp;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ @NotNull
|
|
|
|
|
+ private static KwtWaybillOrder getKwtWaybillOrder(WaybillOrderReq req) {
|
|
|
|
|
+ KwtWaybillOrder order = new KwtWaybillOrder();
|
|
|
|
|
+ order.setWOrderNo(req.getWaybillNo());
|
|
|
|
|
+ order.setTruckNo(req.getTruckNo());
|
|
|
|
|
+ order.setDriverName(req.getDriverName());
|
|
|
|
|
+ order.setDriverPhone(req.getPhone());
|
|
|
|
|
+ return order;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
}
|
|
}
|