xucaiqin před 1 měsícem
rodič
revize
d502fe59fc

+ 7 - 6
sckw-modules-api/sckw-order-api/src/main/java/com/sckw/order/api/feign/TradeOrderApi.java

@@ -1,20 +1,21 @@
 package com.sckw.order.api.feign;
 
 import com.sckw.order.api.model.TradeOrderPara;
-import com.sckw.order.api.model.TradeOrderVo;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.GetMapping;
 
-import java.util.List;
-
 /**
  * @author xucaiqin
  * @date 2025-12-01 15:26:28
  */
 @FeignClient(name = "sckw-order-ai", contextId = "tradeOrderApi")
 public interface TradeOrderApi {
-
-    @GetMapping(value = "/trade/order/get")
-    List<TradeOrderVo> queryTradeOrder(TradeOrderPara tradeOrderPara);
+    /**
+     * 更新装卸货量
+     * @param tradeOrderPara
+     * @return
+     */
+    @GetMapping(value = "/trade/order/update")
+    void updateLoad(TradeOrderPara tradeOrderPara);
 
 }

+ 1 - 2
sckw-modules/sckw-order/src/main/java/com/sckw/order/feign/TradeOrderApiImpl.java

@@ -20,7 +20,6 @@ public class TradeOrderApiImpl implements TradeOrderApi {
 
 
     @Override
-    public List<TradeOrderVo> queryTradeOrder(TradeOrderPara tradeOrderPara) {
-        return kwoTradeOrderService.queryOrder(tradeOrderPara);
+    public void updateLoad(TradeOrderPara tradeOrderPara) {
     }
 }

+ 3 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/res/OrderListResVO.java

@@ -72,6 +72,7 @@ public class OrderListResVO {
      */
     private String deliveryType;
 
+
     /**
      * 交付类型label
      */
@@ -127,6 +128,8 @@ public class OrderListResVO {
     private String goodsSpec;
 
     private String goodsTaxRate;
+    private String goodsTypeLabel;
+    private String goodsType;
 
     /**
      * 商品缩略图

+ 52 - 49
sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwoTradeOrderService.java

@@ -27,7 +27,6 @@ import com.sckw.core.exception.CustomPromptException;
 import com.sckw.core.model.constant.Global;
 import com.sckw.core.model.constant.NumberConstant;
 import com.sckw.core.model.enums.*;
-import com.sckw.core.model.enums.DispatchWayEnums;
 import com.sckw.core.model.page.PageHelperUtil;
 import com.sckw.core.model.page.PageResult;
 import com.sckw.core.model.vo.TableBottom;
@@ -73,8 +72,8 @@ import com.sckw.stream.model.SckwBusSum;
 import com.sckw.stream.model.SckwMessage;
 import com.sckw.stream.model.UserInfo;
 import com.sckw.system.api.RemoteSystemService;
-import com.sckw.system.api.model.dto.req.ActualDisPatchDto;
 import com.sckw.system.api.RemoteUserService;
+import com.sckw.system.api.model.dto.req.ActualDisPatchDto;
 import com.sckw.system.api.model.dto.res.*;
 import com.sckw.transport.api.dubbo.TransportRemoteService;
 import com.sckw.transport.api.model.param.AddLogisticOrderParam;
@@ -1595,20 +1594,22 @@ public class KwoTradeOrderService {
         Map<Long, UserCacheResDto> userMap = remoteSystemService.queryUserCacheMapByIds(createByIds);
         Map<Long, KwpGoods> goodsMap = goodsInfoService.getGoodsByIds(goodIdList);
         Map<Long, ContractCommonInfoResDto> contractMap = remoteContractService.queryContractBaseInfo(contracIdList);
-        Map<String, Map<String, String>> dict = remoteSystemService.queryDictByType(List.of(DictTypeEnum.TORDER_STATUS.getType(), DictTypeEnum.TRADE_TYPE.getType(), DictTypeEnum.SETTLEMENT_WAY.getType(), DictTypeEnum.CONSIGNMENT_WAY.getType(), DictTypeEnum.TORDER_SOURCE.getType()));
+        Map<String, Map<String, String>> dict = remoteSystemService.queryDictByType(List.of(DictTypeEnum.TORDER_STATUS.getType(), DictTypeEnum.PRODUCT_NAME_TYPE.getType(), DictTypeEnum.TRADE_TYPE.getType(), DictTypeEnum.SETTLEMENT_WAY.getType(), DictTypeEnum.CONSIGNMENT_WAY.getType(), DictTypeEnum.TORDER_SOURCE.getType()));
         Map<String, SysDictResDto> unitType = remoteSystemService.queryDictMapByType(DictTypeEnum.UNIT_TYPE.getType());
-        Map<String, String> tradeMap, deliveryMap, pickupMap, sourceMap;
+        Map<String, String> tradeMap, deliveryMap, pickupMap, sourceMap, nameMap;
         if (CollUtil.isNotEmpty(dict)) {
             tradeMap = CollUtil.isNotEmpty(dict.get(DictTypeEnum.TRADE_TYPE.getType())) ? dict.get(DictTypeEnum.TRADE_TYPE.getType()) : new HashMap<>(Global.NUMERICAL_SIXTEEN);
             deliveryMap = CollUtil.isNotEmpty(dict.get(DictTypeEnum.SETTLEMENT_WAY.getType())) ? dict.get(DictTypeEnum.SETTLEMENT_WAY.getType()) : new HashMap<>(Global.NUMERICAL_SIXTEEN);
             pickupMap = CollUtil.isNotEmpty(dict.get(DictTypeEnum.CONSIGNMENT_WAY.getType())) ? dict.get(DictTypeEnum.CONSIGNMENT_WAY.getType()) : new HashMap<>(Global.NUMERICAL_SIXTEEN);
             sourceMap = CollUtil.isNotEmpty(dict.get(DictTypeEnum.TORDER_SOURCE.getType())) ? dict.get(DictTypeEnum.TORDER_SOURCE.getType()) : new HashMap<>(Global.NUMERICAL_SIXTEEN);
+            nameMap = CollUtil.isNotEmpty(dict.get(DictTypeEnum.PRODUCT_NAME_TYPE.getType())) ? dict.get(DictTypeEnum.PRODUCT_NAME_TYPE.getType()) : new HashMap<>(Global.NUMERICAL_SIXTEEN);
 
         } else {
             tradeMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
             deliveryMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
             pickupMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
             sourceMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
+            nameMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
         }
         list.forEach(e -> {
             //装货地址
@@ -1626,7 +1627,14 @@ public class KwoTradeOrderService {
             UserCacheResDto userCache = userMap.get(e.getCreateBy());
 
             OrderListResVO vo = BeanUtil.copyProperties(e, OrderListResVO.class);
-            vo.setStatusLabel(TradeOrderStatusEnum.getMsg(e.getStatus())).setTradingLabel(tradeMap.get(e.getTrading())).setTrading(tradeMap.get(e.getTrading())).setDeliveryType(deliveryMap.get(e.getDeliveryType())).setPickupTypeLabel(pickupMap.get(e.getPickupType())).setSourceLabel(sourceMap.get(e.getSource())).setSource(sourceMap.get(e.getSource())).setContractName(Objects.isNull(contract) ? null : contract.getContactName()).setContractSigningWay(Objects.isNull(contract) ? null : contract.getSigningWayName()).setGoodsName(Objects.isNull(goods) ? null : goods.getName()).setGoodsSpec(Objects.isNull(goods) ? null : goods.getSpec()).setGoodsTaxRate(Objects.isNull(goods) ? null : goods.getTaxRate()).setGoodsThumb(Objects.isNull(goods) ? null : goods.getThumb()).setWaitEntrustAmount(setScale(getWaitEntrustAmount(e.getAmount(), e.getEntrustAmount()))).setActualPrice(actualAmount.multiply(unitPrice).setScale(2, RoundingMode.HALF_UP)).setUnitPrice(setScale(e.getUnitPrice())).setPrice(setScale(e.getPrice())).setUnit(e.getUnit()).setUnitLabel(unitType == null ? e.getUnit() : (unitType.get(e.getUnit()) == null ? e.getUnit() : unitType.get(e.getUnit()).getLabel())).setAmount(setScale(vo.getAmount())).setEntrustAmount(setScale(e.getEntrustAmount())).setActualAmount(setScale(e.getActualAmount())).setCreateByName(Objects.isNull(userCache) ? null : userCache.getName());
+            vo.setStatusLabel(TradeOrderStatusEnum.getMsg(e.getStatus())).setTradingLabel(tradeMap.get(e.getTrading())).setTrading(tradeMap.get(e.getTrading())).setDeliveryType(deliveryMap.get(e.getDeliveryType())).setPickupTypeLabel(pickupMap.get(e.getPickupType())).setSourceLabel(sourceMap.get(e.getSource())).setSource(sourceMap.get(e.getSource())).setContractName(Objects.isNull(contract) ? null : contract.getContactName()).setContractSigningWay(Objects.isNull(contract) ? null : contract.getSigningWayName()).setGoodsName(Objects.isNull(goods) ? null : goods.getName());
+            vo.setGoodsSpec(Objects.isNull(goods) ? null : goods.getSpec());
+            vo.setGoodsTaxRate(Objects.isNull(goods) ? null : goods.getTaxRate());
+            vo.setGoodsThumb(Objects.isNull(goods) ? null : goods.getThumb());
+            vo.setGoodsType(Objects.isNull(goods) ? null : goods.getGoodsType());
+            vo.setGoodsTypeLabel(nameMap.get(Objects.isNull(goods) ? null : goods.getGoodsType()));
+            vo.setWaitEntrustAmount(setScale(getWaitEntrustAmount(e.getAmount(), e.getEntrustAmount())));
+            vo.setActualPrice(actualAmount.multiply(unitPrice).setScale(2, RoundingMode.HALF_UP)).setUnitPrice(setScale(e.getUnitPrice())).setPrice(setScale(e.getPrice())).setUnit(e.getUnit()).setUnitLabel(unitType == null ? e.getUnit() : (unitType.get(e.getUnit()) == null ? e.getUnit() : unitType.get(e.getUnit()).getLabel())).setAmount(setScale(vo.getAmount())).setEntrustAmount(setScale(e.getEntrustAmount())).setActualAmount(setScale(e.getActualAmount())).setCreateByName(Objects.isNull(userCache) ? null : userCache.getName());
             vo.setDeliveryTypeLabel(DictEnum.getLabel(DictTypeEnum.LOAD_UNLOAD_WAY.getType(), String.valueOf(e.getChargeType())));
             loadAddress.ifPresent(d -> {
                 vo.setLoadName(d.getName());
@@ -2221,16 +2229,44 @@ public class KwoTradeOrderService {
             addLogisticOrderParam.setActualDisPatch(actualDisPatch);
 
         } else if (Objects.equals(tradeContractResDto.getConsignment(), 2)) {
-                List<LogisticInfo> collect = logisticsContractId.stream().map(d -> {
+            List<LogisticInfo> collect = logisticsContractId.stream().map(d -> {
+                LogisticInfo logisticInfo = new LogisticInfo();
+                logisticInfo.setContractId(d.getContractId());
+                logisticInfo.setContractNo(d.getContractNo());
+                logisticInfo.setContractName("");
+                logisticInfo.setAcceptCompanyId(d.getEntId());
+                logisticInfo.setAcceptContactPhone("");
+                logisticInfo.setAcceptContacts(d.getContacts());
+                logisticInfo.setAcceptContactsId(d.getContactsId());
+                logisticInfo.setAcceptCompany("");
+                logisticInfo.setPrice(d.getTransportPrice());
+                logisticInfo.setPriceType(0L);
+                logisticInfo.setAmount(new BigDecimal("0"));
+                logisticInfo.setAmountUnit("");
+                logisticInfo.setLoss(new BigDecimal("0"));
+                logisticInfo.setPayment(0L);
+                logisticInfo.setSigningWay(0);
+                logisticInfo.setLossUnit("");
+                logisticInfo.setRemark("");
+                logisticInfo.setType(0);
+
+                return logisticInfo;
+            }).collect(Collectors.toList());
+            addLogisticOrderParam.setLogisticInfo(collect);
+        } else {
+            List<KwoTradeOrderTransport> list = kwoTradeOrderTransportService.queryList(kwoTradeOrder.getId());
+            if (CollUtil.isNotEmpty(list)) {
+                //Map<Long, ContractCommonInfoResDto> contractMap = remoteContractService.queryContractBaseInfo(list.stream().map(KwoTradeOrderTransport::getContractId).collect(Collectors.toList()));
+                List<LogisticInfo> collect = list.stream().map(d -> {
                     LogisticInfo logisticInfo = new LogisticInfo();
                     logisticInfo.setContractId(d.getContractId());
                     logisticInfo.setContractNo(d.getContractNo());
                     logisticInfo.setContractName("");
                     logisticInfo.setAcceptCompanyId(d.getEntId());
-                    logisticInfo.setAcceptContactPhone("");
+                    logisticInfo.setAcceptContactPhone(d.getPhone());
                     logisticInfo.setAcceptContacts(d.getContacts());
                     logisticInfo.setAcceptContactsId(d.getContactsId());
-                    logisticInfo.setAcceptCompany("");
+                    logisticInfo.setAcceptCompany(d.getFirmName());
                     logisticInfo.setPrice(d.getTransportPrice());
                     logisticInfo.setPriceType(0L);
                     logisticInfo.setAmount(new BigDecimal("0"));
@@ -2245,37 +2281,9 @@ public class KwoTradeOrderService {
                     return logisticInfo;
                 }).collect(Collectors.toList());
                 addLogisticOrderParam.setLogisticInfo(collect);
-            } else {
-                List<KwoTradeOrderTransport> list = kwoTradeOrderTransportService.queryList(kwoTradeOrder.getId());
-                if (CollUtil.isNotEmpty(list)) {
-                    //Map<Long, ContractCommonInfoResDto> contractMap = remoteContractService.queryContractBaseInfo(list.stream().map(KwoTradeOrderTransport::getContractId).collect(Collectors.toList()));
-                    List<LogisticInfo> collect = list.stream().map(d -> {
-                        LogisticInfo logisticInfo = new LogisticInfo();
-                        logisticInfo.setContractId(d.getContractId());
-                        logisticInfo.setContractNo(d.getContractNo());
-                        logisticInfo.setContractName("");
-                        logisticInfo.setAcceptCompanyId(d.getEntId());
-                        logisticInfo.setAcceptContactPhone(d.getPhone());
-                        logisticInfo.setAcceptContacts(d.getContacts());
-                        logisticInfo.setAcceptContactsId(d.getContactsId());
-                        logisticInfo.setAcceptCompany(d.getFirmName());
-                        logisticInfo.setPrice(d.getTransportPrice());
-                        logisticInfo.setPriceType(0L);
-                        logisticInfo.setAmount(new BigDecimal("0"));
-                        logisticInfo.setAmountUnit("");
-                        logisticInfo.setLoss(new BigDecimal("0"));
-                        logisticInfo.setPayment(0L);
-                        logisticInfo.setSigningWay(0);
-                        logisticInfo.setLossUnit("");
-                        logisticInfo.setRemark("");
-                        logisticInfo.setType(0);
-
-                        return logisticInfo;
-                    }).collect(Collectors.toList());
-                    addLogisticOrderParam.setLogisticInfo(collect);
-                }
-
             }
+
+        }
         addLogisticOrderParam.setTradeOrderId(kwoTradeOrder.getId());
         addLogisticOrderParam.setTradeOrderNo(kwoTradeOrder.getTOrderNo());
         addLogisticOrderParam.setBillingMode(String.valueOf(kwoTradeOrder.getChargeType()));
@@ -2359,6 +2367,7 @@ public class KwoTradeOrderService {
 
     /**
      * 实际派车数
+     *
      * @param tradeOrder
      * @param addressList
      * @return
@@ -2383,8 +2392,7 @@ public class KwoTradeOrderService {
         dto.setVehicleAvgSpeed(truckDispatchVO.getVehicleAvgSpeed());
 
         //查询贸易订单装卸货地址
-        Map<Integer, KwoTradeOrderAddress> addressMap = addressList.stream().collect(Collectors.toMap(
-                address -> StringUtils.isBlank(address.getAddressType()) ? 0 : Integer.valueOf(address.getAddressType()), Function.identity(), (x, y) -> x));
+        Map<Integer, KwoTradeOrderAddress> addressMap = addressList.stream().collect(Collectors.toMap(address -> StringUtils.isBlank(address.getAddressType()) ? 0 : Integer.valueOf(address.getAddressType()), Function.identity(), (x, y) -> x));
         KwoTradeOrderAddress shipmentAddress = addressMap.getOrDefault(AddressTypeEnum.SHIPMENT.getCode(), new KwoTradeOrderAddress());
         KwoTradeOrderAddress takeAddress = addressMap.getOrDefault(AddressTypeEnum.TAKE.getCode(), new KwoTradeOrderAddress());
         dto.setLon1(shipmentAddress.getLng());
@@ -2404,6 +2412,7 @@ public class KwoTradeOrderService {
 
     /**
      * 物流企业可派车
+     *
      * @param byOrderId
      * @param contractLogisticsList
      * @return
@@ -2411,16 +2420,13 @@ public class KwoTradeOrderService {
     public Integer getEntAvailableVehicle(KwoTradeOrderGoods byOrderId, List<LogisticsEntDtoVO> contractLogisticsList) {
         List<Long> contractIds = contractLogisticsList.stream().map(LogisticsEntDtoVO::getContractId).collect(Collectors.toList());
         //物流企业总运力
-        int sumAvailableVehicle = contractIds.stream()
-                .filter(Objects::nonNull)
-                .map(contractId -> getSignEntAvailableVehicle(byOrderId.getGoodsId(), contractId))
-                .mapToInt(num -> num == null ? 0 : num)
-                .sum();
+        int sumAvailableVehicle = contractIds.stream().filter(Objects::nonNull).map(contractId -> getSignEntAvailableVehicle(byOrderId.getGoodsId(), contractId)).mapToInt(num -> num == null ? 0 : num).sum();
         return sumAvailableVehicle;
     }
 
     /**
      * 单个物流企业满足轴数可派车
+     *
      * @param goodId
      * @param contractId
      * @return
@@ -2438,10 +2444,7 @@ public class KwoTradeOrderService {
 
         //当前物流企业总运力
         List<RTruckVo> truckVoList = remoteFleetService.findTruckByEntIds(unitDto.getEntId());
-        return Math.toIntExact(truckVoList.stream()
-                .filter(Objects::nonNull)
-                .filter(truck -> Objects.equals(truck.getCarAxis(), String.valueOf(carAxisInfo.getId())))
-                .count());
+        return Math.toIntExact(truckVoList.stream().filter(Objects::nonNull).filter(truck -> Objects.equals(truck.getCarAxis(), String.valueOf(carAxisInfo.getId()))).count());
     }