|
@@ -1,31 +1,54 @@
|
|
|
package com.sckw.order.serivce;
|
|
package com.sckw.order.serivce;
|
|
|
|
|
|
|
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.github.pagehelper.PageHelper;
|
|
import com.github.pagehelper.PageHelper;
|
|
|
|
|
+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.DictEnum;
|
|
|
|
|
+import com.sckw.core.common.enums.enums.DictTypeEnum;
|
|
|
|
|
+import com.sckw.core.model.base.BaseModel;
|
|
|
|
|
+import com.sckw.core.model.enums.AddressTypeEnum;
|
|
|
import com.sckw.core.model.page.PageResult;
|
|
import com.sckw.core.model.page.PageResult;
|
|
|
import com.sckw.core.model.vo.TableBottom;
|
|
import com.sckw.core.model.vo.TableBottom;
|
|
|
import com.sckw.core.model.vo.TableStatisticRes;
|
|
import com.sckw.core.model.vo.TableStatisticRes;
|
|
|
import com.sckw.core.model.vo.TableTop;
|
|
import com.sckw.core.model.vo.TableTop;
|
|
|
import com.sckw.core.utils.BeanUtils;
|
|
import com.sckw.core.utils.BeanUtils;
|
|
|
import com.sckw.core.utils.CollectionUtils;
|
|
import com.sckw.core.utils.CollectionUtils;
|
|
|
|
|
+import com.sckw.core.utils.DateUtils;
|
|
|
import com.sckw.core.utils.StringUtils;
|
|
import com.sckw.core.utils.StringUtils;
|
|
|
import com.sckw.core.web.context.LoginUserHolder;
|
|
import com.sckw.core.web.context.LoginUserHolder;
|
|
|
|
|
+import com.sckw.core.web.response.result.PageDataResult;
|
|
|
import com.sckw.order.dao.KwoTradeOrderMapper;
|
|
import com.sckw.order.dao.KwoTradeOrderMapper;
|
|
|
import com.sckw.order.enums.OrderStatusEnum;
|
|
import com.sckw.order.enums.OrderStatusEnum;
|
|
|
-import com.sckw.order.model.dto.OperatorTOrderListStsConditionDTO;
|
|
|
|
|
|
|
+import com.sckw.order.enums.OrderUnitTypeEnum;
|
|
|
|
|
+import com.sckw.order.model.*;
|
|
|
import com.sckw.order.model.dto.OrderListResDTO;
|
|
import com.sckw.order.model.dto.OrderListResDTO;
|
|
|
import com.sckw.order.model.dto.TradeOrderListSelectDTO;
|
|
import com.sckw.order.model.dto.TradeOrderListSelectDTO;
|
|
|
import com.sckw.order.model.vo.req.*;
|
|
import com.sckw.order.model.vo.req.*;
|
|
|
|
|
+import com.sckw.order.model.vo.res.QueryTradeOrderResp;
|
|
|
|
|
+import com.sckw.order.repository.*;
|
|
|
|
|
+import com.sckw.product.api.dubbo.GoodsInfoService;
|
|
|
|
|
+import com.sckw.product.api.model.KwpGoods;
|
|
|
|
|
+import com.sckw.system.api.RemoteSystemService;
|
|
|
import com.sckw.system.api.RemoteUserService;
|
|
import com.sckw.system.api.RemoteUserService;
|
|
|
|
|
+import com.sckw.system.api.model.dto.res.UserCacheResDto;
|
|
|
|
|
+import com.sckw.transport.api.dubbo.TransportRemoteService;
|
|
|
|
|
+import com.sckw.transport.api.model.vo.RTransportEntVo;
|
|
|
|
|
+import com.sckw.transport.api.model.vo.RWaybillSubOrderVo;
|
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.AllArgsConstructor;
|
|
|
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.data.domain.Sort;
|
|
import org.springframework.data.domain.Sort;
|
|
|
import org.springframework.data.mongodb.core.query.Criteria;
|
|
import org.springframework.data.mongodb.core.query.Criteria;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
|
|
-import java.util.Collections;
|
|
|
|
|
-import java.util.List;
|
|
|
|
|
|
|
+import java.math.RoundingMode;
|
|
|
|
|
+import java.util.*;
|
|
|
|
|
+import java.util.function.Function;
|
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* @desc: 运营端贸易订单管理相关service
|
|
* @desc: 运营端贸易订单管理相关service
|
|
@@ -39,10 +62,21 @@ public class TradeOrderManageService {
|
|
|
|
|
|
|
|
@DubboReference(version = "1.0.0", group = "design", check = false)
|
|
@DubboReference(version = "1.0.0", group = "design", check = false)
|
|
|
private RemoteUserService remoteUserService;
|
|
private RemoteUserService remoteUserService;
|
|
|
|
|
+ @DubboReference(version = "1.0.0", group = "design", check = false)
|
|
|
|
|
+ private RemoteSystemService remoteSystemService;
|
|
|
|
|
+ @DubboReference(version = "1.0.0", group = "design", check = false)
|
|
|
|
|
+ private GoodsInfoService goodsInfoService;
|
|
|
|
|
+
|
|
|
|
|
+ @DubboReference(version = "1.0.0", group = "design", check = false)
|
|
|
|
|
+ private TransportRemoteService transportRemoteService;
|
|
|
|
|
|
|
|
private final KwoTradeOrderService tradeOrderService;
|
|
private final KwoTradeOrderService tradeOrderService;
|
|
|
private final KwoTradeOrderMapper tradeOrderMapper;
|
|
private final KwoTradeOrderMapper tradeOrderMapper;
|
|
|
-
|
|
|
|
|
|
|
+ private final KwoTradeOrderGoodsRepository tradeOrderGoodsRepository;
|
|
|
|
|
+ private final KwoTradeOrderRepository tradeOrderRepository;
|
|
|
|
|
+ private final KwoTradeOrderAddressRepository tradeOrderAddressRepository;
|
|
|
|
|
+ private final KwoTradeOrderUnitRepository tradeOrderUnitRepository;
|
|
|
|
|
+ private final KwoTradeOrderContractRepository tradeOrderContractRepository;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* @desc: 贸易订单列表分页查询
|
|
* @desc: 贸易订单列表分页查询
|
|
@@ -140,4 +174,204 @@ public class TradeOrderManageService {
|
|
|
Sort sort = Sort.by(Sort.Direction.DESC, "contractId", "createTime");
|
|
Sort sort = Sort.by(Sort.Direction.DESC, "contractId", "createTime");
|
|
|
return null;
|
|
return null;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ public PageDataResult<QueryTradeOrderResp> pageQueryTradeOrder(QueryTradeOrderReq req) {
|
|
|
|
|
+ log.info("查询物流订单请求参数:{}", JSON.toJSONString( req));
|
|
|
|
|
+ //查询商品信息
|
|
|
|
|
+ List<KwpGoods> kwpGoodsList = Lists.newArrayList();
|
|
|
|
|
+ if (!org.apache.commons.lang3.StringUtils.isAllBlank(req.getGoodsName(), req.getGoodsType(),
|
|
|
|
|
+ req.getGoodsSpec())){
|
|
|
|
|
+ kwpGoodsList = goodsInfoService.getGoodsByNameTypeDesc(req.getGoodsName(), req.getGoodsType(),
|
|
|
|
|
+ req.getGoodsSpec());
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ Set<Long> goodsIds = Sets.newHashSet();
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(kwpGoodsList)){
|
|
|
|
|
+ goodsIds = kwpGoodsList.stream().map(KwpGoods::getId).collect(Collectors.toSet());
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ //根据商品信息查询物流订单商品
|
|
|
|
|
+ List<KwoTradeOrderGoods> kwoTradeOrderGoodsList = Lists.newArrayList();
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(goodsIds)){
|
|
|
|
|
+ kwoTradeOrderGoodsList =
|
|
|
|
|
+ tradeOrderGoodsRepository.queryByGoodsIds(goodsIds);
|
|
|
|
|
+ }
|
|
|
|
|
+ List<Long> orderIds = Lists.newArrayList();
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(kwoTradeOrderGoodsList)){
|
|
|
|
|
+ orderIds = kwoTradeOrderGoodsList.stream()
|
|
|
|
|
+ .map(KwoTradeOrderGoods::getTOrderId)
|
|
|
|
|
+ .toList();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //分页查询订单
|
|
|
|
|
+ IPage<KwoTradeOrder> page = tradeOrderRepository.queryByPage(orderIds,req.getOrderNo(),req.getOrderStartTime(),
|
|
|
|
|
+ req.getOrderEndTime(),
|
|
|
|
|
+ req.getPageNum(),req.getPageSize());
|
|
|
|
|
+ List<KwoTradeOrder> records = page.getRecords();
|
|
|
|
|
+ if (CollectionUtils.isEmpty(records)) {
|
|
|
|
|
+ return PageDataResult.empty(req.getPageNum(), req.getPageSize());
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ //贸易订单号
|
|
|
|
|
+ Set<Long> tradeOrderIds = records.stream()
|
|
|
|
|
+ .map(BaseModel::getId)
|
|
|
|
|
+ .collect(Collectors.toSet());
|
|
|
|
|
+ //获取创建人id
|
|
|
|
|
+ List<Long> createByIds = records.stream()
|
|
|
|
|
+ .map(BaseModel::getCreateBy).distinct()
|
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
|
|
+
|
|
|
|
|
+ //查询用户信息
|
|
|
|
|
+ Map<Long, UserCacheResDto> userIdAndUserMap = Maps.newHashMap() ;
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(createByIds)){
|
|
|
|
|
+ userIdAndUserMap = remoteSystemService.queryUserCacheMapByIds(createByIds);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //查询贸易合同商品信息
|
|
|
|
|
+ Map<Long, KwoTradeOrderGoods> tradeOrderIdGoodsMap = Maps.newHashMap() ;
|
|
|
|
|
+ List<KwoTradeOrderGoods> tradeOrderGoods = tradeOrderGoodsRepository.queryByOrderIds(tradeOrderIds);
|
|
|
|
|
+ List<Long> goodsList = Lists.newArrayList();
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(tradeOrderGoods)){
|
|
|
|
|
+ tradeOrderIdGoodsMap = tradeOrderGoods.stream()
|
|
|
|
|
+ .collect(Collectors.toMap(KwoTradeOrderGoods::getTOrderId, Function.identity(), (k, v) -> k));
|
|
|
|
|
+ //获取商品id
|
|
|
|
|
+ goodsList = tradeOrderGoods.stream()
|
|
|
|
|
+ .map(KwoTradeOrderGoods::getGoodsId)
|
|
|
|
|
+ .distinct()
|
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //查询商品信息
|
|
|
|
|
+ Map<Long, KwpGoods> goodsIdAndGoodsMap = Maps.newHashMap() ;
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(goodsList)){
|
|
|
|
|
+ goodsIdAndGoodsMap = goodsInfoService.getGoodsByIds(goodsList);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //查询贸易订单公司信息
|
|
|
|
|
+ List<KwoTradeOrderUnit> tradeOrderUnits = tradeOrderUnitRepository.queryByOrderIds(tradeOrderIds);
|
|
|
|
|
+ Map<String, KwoTradeOrderUnit> orderIdUnitTypeAndUnitMap = Maps.newHashMap();
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(tradeOrderUnits)){
|
|
|
|
|
+ //按照订单号类型进行映射
|
|
|
|
|
+ orderIdUnitTypeAndUnitMap = tradeOrderUnits.stream()
|
|
|
|
|
+ .peek(x -> x.setTradeOrderIdAndUnitType(x.getTOrderNo() + "-" + x.getUnitType()))
|
|
|
|
|
+ .collect(Collectors.toMap(KwoTradeOrderUnit::getTradeOrderIdAndUnitType, Function.identity(), (k,
|
|
|
|
|
+ v) -> k));
|
|
|
|
|
+ }
|
|
|
|
|
+ //查询贸易订单地址信息
|
|
|
|
|
+ List<KwoTradeOrderAddress> tradeOrderAddresses = tradeOrderAddressRepository.queryByOrderIds(tradeOrderIds);
|
|
|
|
|
+ Map<String, KwoTradeOrderAddress> orderIdAndAddressMap = Maps.newHashMap();
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(tradeOrderAddresses)){
|
|
|
|
|
+ //将贸易订单id和地址类型组成key映射地址信息
|
|
|
|
|
+ orderIdAndAddressMap = tradeOrderAddresses.stream()
|
|
|
|
|
+ .peek(x -> x.setTradeOrderIdTypeKey(x.getTOrderId() + "-" + x.getAddressType()))
|
|
|
|
|
+ .collect(Collectors.toMap(KwoTradeOrderAddress::getTradeOrderIdTypeKey,Function.identity(),
|
|
|
|
|
+ (k, v)->k));
|
|
|
|
|
+ }
|
|
|
|
|
+ //查询贸易订单合同信息(一个贸易合同对应多个贸易订单)
|
|
|
|
|
+ List<KwoTradeOrderContract> tradeOrderContracts = tradeOrderContractRepository.queryByOrderIds(tradeOrderIds);
|
|
|
|
|
+ Map<Long, KwoTradeOrderContract> tradeOrderIdAndContractMap = Maps.newHashMap();
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(tradeOrderContracts)){
|
|
|
|
|
+ tradeOrderIdAndContractMap = tradeOrderContracts.stream()
|
|
|
|
|
+ .collect(Collectors.toMap(KwoTradeOrderContract::getTOrderId,
|
|
|
|
|
+ Function.identity(), (k1, k2) -> k1));
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //查询物流信息
|
|
|
|
|
+ List<RTransportEntVo> transportEnts = transportRemoteService.queryTransportEnt(tradeOrderIds);
|
|
|
|
|
+ Map<Integer, RTransportEntVo> entTypeAndTransportEntMap = Maps.newHashMap();
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(transportEnts)){
|
|
|
|
|
+ entTypeAndTransportEntMap =
|
|
|
|
|
+ transportEnts.stream().collect(Collectors.toMap(RTransportEntVo::getTransportEntType, Function.identity(),
|
|
|
|
|
+ (k, v) -> k));
|
|
|
|
|
+ }
|
|
|
|
|
+ //查询运单信息
|
|
|
|
|
+ List<RWaybillSubOrderVo> subOrderVoList = transportRemoteService.queryWaybillOrderByTradeOrderIds(tradeOrderIds);
|
|
|
|
|
+ Map<Long, RWaybillSubOrderVo> tradeIdAndSubOrderVoMap = Maps.newHashMap();
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(subOrderVoList)){
|
|
|
|
|
+ tradeIdAndSubOrderVoMap = subOrderVoList.stream()
|
|
|
|
|
+ .collect(Collectors.toMap(RWaybillSubOrderVo::getTradeId, Function.identity(), (k, v) -> k));
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ Map<Long, KwoTradeOrderGoods> finalTradeOrderIdGoodsMap = tradeOrderIdGoodsMap;
|
|
|
|
|
+ Map<Long, KwpGoods> finalGoodsIdAndGoodsMap = goodsIdAndGoodsMap;
|
|
|
|
|
+ Map<String, KwoTradeOrderAddress> finalOrderIdAndAddressMap = orderIdAndAddressMap;
|
|
|
|
|
+ Map<Long, KwoTradeOrderContract> finalTradeOrderIdAndContractMap = tradeOrderIdAndContractMap;
|
|
|
|
|
+ Map<Long, UserCacheResDto> finalUserIdAndUserMap = userIdAndUserMap;
|
|
|
|
|
+ Map<String, KwoTradeOrderUnit> finalOrderIdUnitTypeAndUnitMap = orderIdUnitTypeAndUnitMap;
|
|
|
|
|
+ Map<Integer, RTransportEntVo> finalEntTypeAndTransportEntMap = entTypeAndTransportEntMap;
|
|
|
|
|
+ Map<Long, RWaybillSubOrderVo> finalTradeIdAndSubOrderVoMap = tradeIdAndSubOrderVoMap;
|
|
|
|
|
+ //组装返回参数
|
|
|
|
|
+ List<QueryTradeOrderResp> results = records.stream()
|
|
|
|
|
+ .map(tradeOrder -> getQueryTradeOrderResp(tradeOrder, finalOrderIdUnitTypeAndUnitMap, finalEntTypeAndTransportEntMap, finalTradeOrderIdGoodsMap, finalGoodsIdAndGoodsMap, finalTradeIdAndSubOrderVoMap, finalOrderIdAndAddressMap, finalTradeOrderIdAndContractMap, finalUserIdAndUserMap))
|
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
|
|
+ return PageDataResult.of(page, results);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @NotNull
|
|
|
|
|
+ private static QueryTradeOrderResp getQueryTradeOrderResp(KwoTradeOrder tradeOrder, Map<String, KwoTradeOrderUnit> finalOrderIdUnitTypeAndUnitMap, Map<Integer, RTransportEntVo> finalEntTypeAndTransportEntMap, Map<Long, KwoTradeOrderGoods> finalTradeOrderIdGoodsMap, Map<Long, KwpGoods> finalGoodsIdAndGoodsMap, Map<Long, RWaybillSubOrderVo> finalTradeIdAndSubOrderVoMap, Map<String, KwoTradeOrderAddress> finalOrderIdAndAddressMap, Map<Long, KwoTradeOrderContract> finalTradeOrderIdAndContractMap, Map<Long, UserCacheResDto> finalUserIdAndUserMap) {
|
|
|
|
|
+ QueryTradeOrderResp queryTradeOrderResp = new QueryTradeOrderResp();
|
|
|
|
|
+ queryTradeOrderResp.setOrderId(String.valueOf(tradeOrder.getId()));
|
|
|
|
|
+ queryTradeOrderResp.setOrderNo(tradeOrder.getTOrderNo());
|
|
|
|
|
+ KwoTradeOrderUnit purchaseEnt = finalOrderIdUnitTypeAndUnitMap.getOrDefault(tradeOrder.getId() + "-" + OrderUnitTypeEnum.PURCHASE.getType(),
|
|
|
|
|
+ new KwoTradeOrderUnit());
|
|
|
|
|
+
|
|
|
|
|
+ queryTradeOrderResp.setPurchaseEntId(String.valueOf(purchaseEnt.getEntId()));
|
|
|
|
|
+ queryTradeOrderResp.setPurchaseFirmName(purchaseEnt.getFirmName());
|
|
|
|
|
+ KwoTradeOrderUnit supplyEnt =
|
|
|
|
|
+ finalOrderIdUnitTypeAndUnitMap.getOrDefault(tradeOrder.getId() + "-" + OrderUnitTypeEnum.SALE.getType(),
|
|
|
|
|
+ new KwoTradeOrderUnit());
|
|
|
|
|
+ queryTradeOrderResp.setSupplyEntId(String.valueOf(supplyEnt.getEntId()));
|
|
|
|
|
+ queryTradeOrderResp.setSupplyFirmName(supplyEnt.getFirmName());
|
|
|
|
|
+ //1.承运 2.拖运
|
|
|
|
|
+ RTransportEntVo transportEntVo = finalEntTypeAndTransportEntMap.getOrDefault(2, new RTransportEntVo());
|
|
|
|
|
+ queryTradeOrderResp.setTransportEntId(String.valueOf(transportEntVo.getTransportEntId()));
|
|
|
|
|
+ queryTradeOrderResp.setTransportFirmName(transportEntVo.getTransportEntName());
|
|
|
|
|
+
|
|
|
|
|
+ KwoTradeOrderGoods tradeOrderGood = finalTradeOrderIdGoodsMap.getOrDefault(tradeOrder.getId(), new KwoTradeOrderGoods());
|
|
|
|
|
+ KwpGoods kwpGoods = finalGoodsIdAndGoodsMap.getOrDefault(tradeOrderGood.getGoodsId(), new KwpGoods());
|
|
|
|
|
+ queryTradeOrderResp.setGoodsName(kwpGoods.getName() + "/" + kwpGoods.getGoodsType() + "/" + kwpGoods.getSpec());
|
|
|
|
|
+ queryTradeOrderResp.setGoodsPrice(Objects.nonNull(tradeOrderGood.getUnitPrice()) ?
|
|
|
|
|
+ tradeOrderGood.getUnitPrice().setScale(2, RoundingMode.HALF_UP).toPlainString() : "");
|
|
|
|
|
+ queryTradeOrderResp.setChargeType(String.valueOf(tradeOrder.getChargeType()));
|
|
|
|
|
+ queryTradeOrderResp.setChargeType(DictEnum.getLabel(DictTypeEnum.CHARGING_TYPE.getType(),
|
|
|
|
|
+ String.valueOf(tradeOrder.getChargeType())));
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ RWaybillSubOrderVo subOrderVo = finalTradeIdAndSubOrderVoMap.getOrDefault(tradeOrder.getId(),
|
|
|
|
|
+ new RWaybillSubOrderVo());
|
|
|
|
|
+ List<RWaybillSubOrderVo.BillSubOrder> subOrders = subOrderVo.getSubOrders();
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(subOrders)) {
|
|
|
|
|
+ double sum = subOrders.stream()
|
|
|
|
|
+ .filter(s -> Objects.nonNull(s.getLoadAmount()))
|
|
|
|
|
+ .mapToDouble(s -> s.getLoadAmount().doubleValue()).sum();
|
|
|
|
|
+ double unloadQty = subOrders.stream()
|
|
|
|
|
+ .filter(s -> Objects.nonNull(s.getUnloadAmount()))
|
|
|
|
|
+ .mapToDouble(s -> s.getUnloadAmount().doubleValue()).sum();
|
|
|
|
|
+ queryTradeOrderResp.setLoadQty(String.valueOf(sum));
|
|
|
|
|
+ queryTradeOrderResp.setUnloadQty(String.valueOf(unloadQty));
|
|
|
|
|
+ }
|
|
|
|
|
+ queryTradeOrderResp.setOrderQty(Objects.nonNull(tradeOrder.getAmount()) ?
|
|
|
|
|
+ tradeOrder.getAmount().setScale(2, RoundingMode.HALF_UP).toPlainString() : "");
|
|
|
|
|
+ KwoTradeOrderAddress loadAdd = finalOrderIdAndAddressMap.getOrDefault(tradeOrder.getId() + "-" + AddressTypeEnum.SHIPMENT.getCode(),
|
|
|
|
|
+ new KwoTradeOrderAddress());
|
|
|
|
|
+ queryTradeOrderResp.setLoadAddress(loadAdd.getDetailAddress());
|
|
|
|
|
+
|
|
|
|
|
+ KwoTradeOrderAddress unLoadAdd =
|
|
|
|
|
+ finalOrderIdAndAddressMap.getOrDefault(tradeOrder.getId() + "-" + AddressTypeEnum.TAKE.getCode(),
|
|
|
|
|
+ new KwoTradeOrderAddress());
|
|
|
|
|
+ queryTradeOrderResp.setUnloadAddress(unLoadAdd.getDetailAddress());
|
|
|
|
|
+ queryTradeOrderResp.setUnloadContacts(unLoadAdd.getContacts());
|
|
|
|
|
+ queryTradeOrderResp.setUnloadPhone(unLoadAdd.getPhone());
|
|
|
|
|
+ queryTradeOrderResp.setStartTime(DateUtils.format(tradeOrder.getStartTime(), DateUtils.DATE_PATTERN));
|
|
|
|
|
+ queryTradeOrderResp.setEndTime(DateUtils.format(tradeOrder.getEndTime(), DateUtils.DATE_PATTERN));
|
|
|
|
|
+ KwoTradeOrderContract orderContract = finalTradeOrderIdAndContractMap.getOrDefault(tradeOrder.getId(),
|
|
|
|
|
+ new KwoTradeOrderContract());
|
|
|
|
|
+ queryTradeOrderResp.setContractNo(orderContract.getContractNo());
|
|
|
|
|
+ UserCacheResDto userCacheResDto = finalUserIdAndUserMap.getOrDefault(tradeOrder.getCreateBy(), new UserCacheResDto());
|
|
|
|
|
+ queryTradeOrderResp.setCreateUser(userCacheResDto.getName());
|
|
|
|
|
+ queryTradeOrderResp.setCreateTime(DateUtils.format(tradeOrder.getCreateTime(), DateUtils.DATE_TIME_PATTERN));
|
|
|
|
|
+ return queryTradeOrderResp;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|