Browse Source

物流订单详情查询

chenxiaofei 2 tháng trước cách đây
mục cha
commit
5d63b00f4f

+ 2 - 0
sckw-modules-api/sckw-transport-api/src/main/java/com/sckw/transport/api/dubbo/TransportRemoteService.java

@@ -146,4 +146,6 @@ public interface TransportRemoteService {
      * @param tradeId 贸易订单id
      */
     List<KwtLogisticsOrderVO> queryLogisticOrderByTradeId(Long tradeId);
+
+    List<KwtLogisticsOrderVO> queryTransportEntByEntId(Long entId);
 }

+ 15 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/QueryTradeOrderReq.java

@@ -19,6 +19,16 @@ import java.io.Serializable;
 public class QueryTradeOrderReq extends PageReq implements Serializable {
     @Serial
     private static final long serialVersionUID = -1255552097881890061L;
+    /**
+     * 企业id
+     */
+    @Schema(description = "企业id")
+    private String entId;
+    /**
+     * 企业类型
+     */
+    @Schema(description = "企业类型")
+    private String entType;
     /**
      * 贸易合同id
      */
@@ -71,5 +81,10 @@ public class QueryTradeOrderReq extends PageReq implements Serializable {
      */
     @Schema(description = "下单结束时间")
     private String orderEndTime;
+    /**
+     * 贸易订单状态
+     */
+    @Schema(description = "贸易订单状态")
+    private String tradeOrderStatus;
 
 }

+ 5 - 1
sckw-modules/sckw-order/src/main/java/com/sckw/order/repository/KwoTradeOrderRepository.java

@@ -12,6 +12,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
+import java.util.Set;
 
 /**
  * @author :chenXiaoFei
@@ -21,15 +22,18 @@ import java.util.List;
  */
 @Repository
 public class KwoTradeOrderRepository extends ServiceImpl<KwoTradeOrderMapper, KwoTradeOrder> {
-    public IPage<KwoTradeOrder> queryByPage(List<Long> orderIds, String orderNo, String orderStartTime,
+    public IPage<KwoTradeOrder> queryByPage(Set<Long> entIds,List<Long> orderIds, String orderNo, String status,
+                                            String orderStartTime,
                                             String orderEndTime,
                                             int pageNum,
                                             int pageSize) {
         Page<KwoTradeOrder> orderPage = new Page<>(pageNum, pageSize);
         return page(orderPage, Wrappers.<KwoTradeOrder>lambdaQuery()
                 .like(StringUtils.isNotBlank(orderNo),KwoTradeOrder::getTOrderNo, orderNo)
+                .in(CollectionUtils.isNotEmpty(entIds),KwoTradeOrder::getEntId, entIds)
                 .in(CollectionUtils.isNotEmpty(orderIds),KwoTradeOrder::getId, orderIds)
                 .eq(KwoTradeOrder::getDelFlag, 0)
+                .eq(StringUtils.isNotBlank(status),KwoTradeOrder::getStatus, status)
                 .ge(StringUtils.isNotBlank(orderStartTime),KwoTradeOrder::getCreateTime, orderStartTime)
                 .le(StringUtils.isNotBlank(orderEndTime),KwoTradeOrder::getCreateTime, orderEndTime));
     }

+ 6 - 0
sckw-modules/sckw-order/src/main/java/com/sckw/order/repository/KwoTradeOrderUnitRepository.java

@@ -29,4 +29,10 @@ public class KwoTradeOrderUnitRepository extends ServiceImpl<KwoTradeOrderUnitMa
                 .eq(BaseModel::getDelFlag,0)
                 .eq(KwoTradeOrderUnit::getTOrderId, traderOrderId));
     }
+
+    public List<KwoTradeOrderUnit> queryByEntIds(List<Object> entIds) {
+        return list(Wrappers.<KwoTradeOrderUnit>lambdaQuery()
+                .eq(BaseModel::getDelFlag,0)
+                .in(KwoTradeOrderUnit::getEntId, entIds));
+    }
 }

+ 134 - 45
sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/TradeOrderManageService.java

@@ -37,6 +37,7 @@ 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.model.dto.res.EntCacheResDto;
 import com.sckw.system.api.model.dto.res.UserCacheResDto;
 import com.sckw.transport.api.dubbo.TransportRemoteService;
 import com.sckw.transport.api.model.vo.KwtLogisticsOrderVO;
@@ -185,38 +186,19 @@ public class TradeOrderManageService {
 
     public PageDataResult<QueryTradeOrderResp> pageQueryTradeOrder(QueryTradeOrderReq req) {
         log.info("查询物流订单请求参数:{}", JSON.toJSONString( req));
+
+        Set<Long> allEnt = getEnt(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());
+        List<Long> orderIds = getOrderIds(req);
 
-        }
-        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();
-        }
-        if (StringUtils.isNotBlank(req.getTradeOrderId())){
-            orderIds.add(Long.valueOf(req.getTradeOrderId()));
-        }
 
         //分页查询订单
-        IPage<KwoTradeOrder> page = tradeOrderRepository.queryByPage(orderIds,req.getOrderNo(),req.getOrderStartTime(),
+        IPage<KwoTradeOrder> page = tradeOrderRepository.queryByPage(allEnt,orderIds,req.getOrderNo(),
+                req.getTradeOrderStatus(),
+                req.getOrderStartTime(),
                 req.getOrderEndTime(),
                 req.getPageNum(),req.getPageSize());
         List<KwoTradeOrder> records = page.getRecords();
@@ -255,12 +237,117 @@ public class TradeOrderManageService {
         }
 
         //查询商品信息
+        Map<Long, KwpGoods> goodsIdAndGoodsMap = getLongKwpGoodsMap(goodsIdList);
+
+        //查询贸易订单公司信息
+        Map<String, KwoTradeOrderUnit> orderIdUnitTypeAndUnitMap = getStringKwoTradeOrderUnitMap(tradeOrderIds);
+        //查询贸易订单地址信息
+        Map<String, KwoTradeOrderAddress> orderIdAndAddressMap = getStringKwoTradeOrderAddressMap(tradeOrderIds);
+        //查询贸易订单合同信息(一个贸易合同对应多个贸易订单)
+        Map<Long, KwoTradeOrderContract> tradeOrderIdAndContractMap = getLongKwoTradeOrderContractMap(tradeOrderIds);
+
+        //查询物流信息
+        Map<Integer, RTransportEntVo> entTypeAndTransportEntMap = getIntegerRTransportEntVoMap(tradeOrderIds);
+        //查询运单信息
+        Map<Long, RWaybillSubOrderVo> tradeIdAndSubOrderVoMap = getLongRWaybillSubOrderVoMap(tradeOrderIds);
+
+        Map<Long, KwoTradeOrderGoods> finalTradeOrderIdGoodsMap = tradeOrderIdGoodsMap;
+        Map<Long, UserCacheResDto> finalUserIdAndUserMap = userIdAndUserMap;
+        //组装返回参数
+        List<QueryTradeOrderResp> results = records.stream()
+                .map(tradeOrder -> getQueryTradeOrderResp(tradeOrder, orderIdUnitTypeAndUnitMap, entTypeAndTransportEntMap, finalTradeOrderIdGoodsMap, goodsIdAndGoodsMap, tradeIdAndSubOrderVoMap
+                        , orderIdAndAddressMap, tradeOrderIdAndContractMap, finalUserIdAndUserMap))
+                .collect(Collectors.toList());
+        return PageDataResult.of(page, results);
+    }
+
+    @NotNull
+    private Set<Long> getEnt(QueryTradeOrderReq req) {
+        Set<Long> allEnt = Sets.newHashSet();
+        //根据企业类型查询企业
+        if(StringUtils.isNotBlank(req.getEntId())){
+            allEnt.add(Long.parseLong(req.getEntId()));
+            EntCacheResDto entCacheResDto = remoteSystemService.queryEntTreeById(Long.parseLong(req.getEntId()));
+            if (Objects.nonNull(entCacheResDto)) {
+                EntCacheResDto entCacheResDto1 = remoteSystemService.queryEntTreeById(entCacheResDto.getId());
+                List<EntCacheResDto> child = entCacheResDto1.getChild();
+                if (CollectionUtils.isNotEmpty(child)) {
+                    allEnt.addAll(child.stream().filter(x->x.getEntTypes().contains(req.getEntType())).map(EntCacheResDto::getId).toList());
+                }
+            }
+        }
+        return allEnt;
+    }
+
+    @NotNull
+    private List<Long> getOrderIds(QueryTradeOrderReq 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.addAll(kwoTradeOrderGoodsList.stream()
+                    .map(KwoTradeOrderGoods::getTOrderId)
+                    .toList());
+        }
+
+
+        if (StringUtils.isNotBlank(req.getTradeOrderId())){
+            orderIds.add(Long.valueOf(req.getTradeOrderId()));
+        }
+        List<Object> entIds = Lists.newArrayList();
+        if (org.apache.commons.lang3.StringUtils.isNotBlank(req.getSupplyEntId())){
+            entIds.add(Long.valueOf(req.getSupplyEntId()));
+        }
+        if (org.apache.commons.lang3.StringUtils.isNotBlank(req.getPurchaseEntId())){
+            entIds.add(Long.valueOf(req.getPurchaseEntId()));
+        }
+
+        //查询供应企业
+        List<KwoTradeOrderUnit> kwoTradeOrderUnits = tradeOrderUnitRepository.queryByEntIds(entIds);
+        if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(kwoTradeOrderUnits)){
+            orderIds.addAll(kwoTradeOrderUnits.stream()
+                    .map(KwoTradeOrderUnit::getTOrderId)
+                    .collect(Collectors.toSet()));
+        }
+        //查询承运单位
+        if (StringUtils.isNotBlank(req.getCarriageEntId())){
+            List<KwtLogisticsOrderVO> kwtLogisticsOrderVOS = transportRemoteService.queryTransportEntByEntId(Long.parseLong(req.getCarriageEntId()));
+            if (CollectionUtils.isNotEmpty(kwtLogisticsOrderVOS)){
+                orderIds.addAll(kwtLogisticsOrderVOS.stream()
+                        .map(KwtLogisticsOrderVO::getTOrderId)
+                        .collect(Collectors.toSet()));
+            }
+        }
+        return orderIds;
+    }
+
+    private Map<Long, KwpGoods> getLongKwpGoodsMap(List<Long> goodsIdList) {
         Map<Long, KwpGoods> goodsIdAndGoodsMap = Maps.newHashMap() ;
         if (CollectionUtils.isNotEmpty(goodsIdList)){
            goodsIdAndGoodsMap = goodsInfoService.getGoodsByIds(goodsIdList);
         }
+        return goodsIdAndGoodsMap;
+    }
 
-        //查询贸易订单公司信息
+    @NotNull
+    private Map<String, KwoTradeOrderUnit> getStringKwoTradeOrderUnitMap(Set<Long> tradeOrderIds) {
         List<KwoTradeOrderUnit> tradeOrderUnits = tradeOrderUnitRepository.queryByOrderIds(tradeOrderIds);
         Map<String, KwoTradeOrderUnit> orderIdUnitTypeAndUnitMap = Maps.newHashMap();
         if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(tradeOrderUnits)){
@@ -270,7 +357,11 @@ public class TradeOrderManageService {
                     .collect(Collectors.toMap(KwoTradeOrderUnit::getTradeOrderIdAndUnitType, Function.identity(), (k,
                                                                                                                    v) -> k));
         }
-        //查询贸易订单地址信息
+        return orderIdUnitTypeAndUnitMap;
+    }
+
+    @NotNull
+    private Map<String, KwoTradeOrderAddress> getStringKwoTradeOrderAddressMap(Set<Long> tradeOrderIds) {
         List<KwoTradeOrderAddress> tradeOrderAddresses = tradeOrderAddressRepository.queryByOrderIds(tradeOrderIds);
         Map<String, KwoTradeOrderAddress> orderIdAndAddressMap = Maps.newHashMap();
         if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(tradeOrderAddresses)){
@@ -280,7 +371,11 @@ public class TradeOrderManageService {
                     .collect(Collectors.toMap(KwoTradeOrderAddress::getTradeOrderIdTypeKey,Function.identity(),
                             (k, v)->k));
          }
-        //查询贸易订单合同信息(一个贸易合同对应多个贸易订单)
+        return orderIdAndAddressMap;
+    }
+
+    @NotNull
+    private Map<Long, KwoTradeOrderContract> getLongKwoTradeOrderContractMap(Set<Long> tradeOrderIds) {
         List<KwoTradeOrderContract> tradeOrderContracts = tradeOrderContractRepository.queryByOrderIds(tradeOrderIds);
         Map<Long, KwoTradeOrderContract> tradeOrderIdAndContractMap = Maps.newHashMap();
         if (CollectionUtils.isNotEmpty(tradeOrderContracts)){
@@ -288,8 +383,11 @@ public class TradeOrderManageService {
                     .collect(Collectors.toMap(KwoTradeOrderContract::getTOrderId,
                     Function.identity(), (k1, k2) -> k1));
         }
+        return tradeOrderIdAndContractMap;
+    }
 
-        //查询物流信息
+    @NotNull
+    private Map<Integer, RTransportEntVo> getIntegerRTransportEntVoMap(Set<Long> tradeOrderIds) {
         List<RTransportEntVo> transportEnts = transportRemoteService.queryTransportEnt(tradeOrderIds);
         Map<Integer, RTransportEntVo> entTypeAndTransportEntMap = Maps.newHashMap();
         if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(transportEnts)){
@@ -297,27 +395,18 @@ public class TradeOrderManageService {
                     transportEnts.stream().collect(Collectors.toMap(RTransportEntVo::getTransportEntType, Function.identity(),
                     (k, v) -> k));
         }
-        //查询运单信息
+        return entTypeAndTransportEntMap;
+    }
+
+    @NotNull
+    private Map<Long, RWaybillSubOrderVo> getLongRWaybillSubOrderVoMap(Set<Long> tradeOrderIds) {
         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);
+        return tradeIdAndSubOrderVoMap;
     }
 
     @NotNull

+ 2 - 1
sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/req/EntInfoReq.java

@@ -5,6 +5,7 @@ import lombok.Data;
 
 import java.io.Serial;
 import java.io.Serializable;
+import java.util.List;
 
 /**
  * @author :chenXiaoFei
@@ -25,7 +26,7 @@ public class EntInfoReq implements Serializable {
      * 企业类型
      */
     @Schema(description = "企业类型")
-    private String entType;
+    private List<String> entType;
     /**
      * 登录用户的企业类型
      */

+ 4 - 4
sckw-modules/sckw-system/src/main/java/com/sckw/system/repository/KwsEntTypeRepository.java

@@ -18,16 +18,16 @@ import java.util.Set;
  */
 @Repository
 public class KwsEntTypeRepository extends ServiceImpl<KwsEntTypeDao, KwsEntType> {
-    public List<KwsEntType> queryByEntIdsAndType(Set<Long> entIds, String entType) {
+    public List<KwsEntType> queryByEntIdsAndType(Set<Long> entIds, List<String> entTypes) {
         return list(Wrappers.<KwsEntType>lambdaQuery()
                 .eq(BaseModel::getDelFlag,0)
                 .in(KwsEntType::getEntId, entIds)
-                .eq(KwsEntType::getType, entType));
+                .in(KwsEntType::getType, entTypes));
     }
 
-    public List<KwsEntType> queryByType(String entType) {
+    public List<KwsEntType> queryByType(List<String> entTypes) {
         return list(Wrappers.<KwsEntType>lambdaQuery()
                 .eq(BaseModel::getDelFlag,0)
-                .eq(KwsEntType::getType, entType));
+                .in(KwsEntType::getType, entTypes));
     }
 }

+ 1 - 1
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsEnterpriseService.java

@@ -1556,7 +1556,7 @@ public class KwsEnterpriseService {
     public EntInfoResp queryEntInfo(EntInfoReq req) {
         //如果是发起方是采购方,采购方只能是自己和下级,供应方可以选所有入住的供应企业
         // 如果发起方是供应方,则供应方是能自己和下级,采购方可以是所有入住企业
-        if (org.apache.commons.lang3.StringUtils.equals(req.getEntType(),req.getLoginEntType())){
+        if (req.getLoginEntType().contains(req.getLoginEntType())){
             //登录客户的企业类型和查询的类型是一直的说明只能查询自己和自己的下级
             //发起方的公司信息
             return getEntInfoResp(req);

+ 22 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dubbo/TransportServiceImpl.java

@@ -947,6 +947,28 @@ public class TransportServiceImpl implements TransportRemoteService {
 
     }
 
+    @Override
+    public List<KwtLogisticsOrderVO> queryTransportEntByEntId(Long entId) {
+        //通过承运单位查询物流订单
+        List<KwtLogisticsOrderUnit> unitList = logisticsOrderUnitRepository.queryByEntId(entId);
+        if (org.apache.commons.collections4.CollectionUtils.isEmpty(unitList)){
+            return Collections.emptyList();
+        }
+        // 物流订单号
+        Set<Long> logOrderIds = unitList.stream()
+                .map(KwtLogisticsOrderUnit::getLOrderId)
+                .collect(Collectors.toSet());
+        //通过物流订单号查询物流订单
+        List<KwtLogisticsOrder> logOrders = logisticsOrderRepository.queryByLogOrderIds(logOrderIds);
+        if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(logOrders)){
+            return Collections.emptyList();
+        }
+       return logOrders.stream()
+                .map(TransportServiceImpl::getLogisticsOrderVo)
+                .collect(Collectors.toList());
+
+    }
+
     private static KwtLogisticsOrderVO getLogisticsOrderVo(KwtLogisticsOrder logOrder) {
         KwtLogisticsOrderVO kwtLogisticsOrderVO = new KwtLogisticsOrderVO();
         kwtLogisticsOrderVO.setId(logOrder.getId());

+ 10 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/repository/KwtLogisticsOrderRepository.java

@@ -37,12 +37,14 @@ public class KwtLogisticsOrderRepository extends ServiceImpl<KwtLogisticsOrderMa
                 .eq(KwtLogisticsOrder::getTOrderId, tradeId));
     }
 
-        public IPage<KwtLogisticsOrder> queryByPage(Set<Long> logisticsOrderIds,String orderNo,String status,
+        public IPage<KwtLogisticsOrder> queryByPage(Set<Long> entIds,Set<Long> logisticsOrderIds,String orderNo,
+                                                    String status,
                                                  String startTime, String endTime,  int pageNum, int pageSize) {
         return page(new Page<>(pageNum, pageSize),
                 Wrappers.<KwtLogisticsOrder>lambdaQuery()
                         .eq(KwtLogisticsOrder::getDelFlag, 0)
                         .in(CollectionUtils.isNotEmpty(logisticsOrderIds), KwtLogisticsOrder::getId, logisticsOrderIds)
+                        .in(CollectionUtils.isNotEmpty(entIds), KwtLogisticsOrder::getEntId, entIds)
                         .eq(StringUtils.isNotBlank(status),KwtLogisticsOrder::getStatus, status)
                         .like(StringUtils.isNotBlank(orderNo),KwtLogisticsOrder::getLOrderNo, orderNo)
                         .ge(StringUtils.isNotBlank(startTime),KwtLogisticsOrder::getLoadTime, startTime)
@@ -70,4 +72,11 @@ public class KwtLogisticsOrderRepository extends ServiceImpl<KwtLogisticsOrderMa
                 .eq(KwtLogisticsOrder::getDelFlag,0)
                 .in(KwtLogisticsOrder::getId, logisOrderIds));
     }
+
+    public List<KwtLogisticsOrder> queryByLogOrderIds(Set<Long> logOrderIds) {
+
+        return list(Wrappers.<KwtLogisticsOrder>lambdaQuery()
+                .eq(KwtLogisticsOrder::getDelFlag,0)
+                .in(KwtLogisticsOrder::getId, logOrderIds));
+    }
 }

+ 6 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/repository/KwtLogisticsOrderUnitRepository.java

@@ -47,4 +47,10 @@ public class KwtLogisticsOrderUnitRepository extends ServiceImpl<KwtLogisticsOrd
                 .eq(KwtLogisticsOrderUnit::getDelFlag,0)
                 .eq(KwtLogisticsOrderUnit::getLOrderId,logOrderId));
     }
+
+    public List<KwtLogisticsOrderUnit> queryByEntId(Long entId) {
+        return list(Wrappers.<KwtLogisticsOrderUnit>lambdaQuery()
+                .eq(KwtLogisticsOrderUnit::getDelFlag,0)
+                .eq(KwtLogisticsOrderUnit::getEntId,entId));
+    }
 }

+ 84 - 54
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtLogisticsConsignmentService.java

@@ -2220,51 +2220,17 @@ public class KwtLogisticsConsignmentService {
 
     public PageDataResult<LogisticsOrderResp> queryLogisticsOrderByPage(QueryLogisticsOrderReq req) {
         log.info("分页查询物流订单传递参数信息:{}", JSONObject.toJSONString(req));
-        Set<Long> logOrderIds = Sets.newHashSet();
-        Set<Long> allEnt = Sets.newHashSet();
-        //根据企业类型查询企业
-        if(StringUtils.isNotBlank(req.getEntId())){
-            allEnt.add(Long.parseLong(req.getEntId()));
-            EntCacheResDto entCacheResDto = remoteSystemService.queryEntTreeById(Long.parseLong(req.getEntId()));
-            if (Objects.nonNull(entCacheResDto)) {
-                EntCacheResDto entCacheResDto1 = remoteSystemService.queryEntTreeById(entCacheResDto.getId());
-                List<EntCacheResDto> child = entCacheResDto1.getChild();
-                if (CollectionUtils.isNotEmpty(child)) {
-                    allEnt.addAll(child.stream().filter(x->x.getEntTypes().contains(req.getEntType())).map(EntCacheResDto::getId).toList());
-                }
-            }
-        }
-        //根据托运单位或者承运单位查询企业
 
-        if (StringUtils.isNotBlank(req.getConsignCompanyId())){
-            allEnt.add(Long.parseLong(req.getConsignCompanyId()));
-        }
-        if (StringUtils.isNotBlank(req.getCarriageCompanyId())){
-            allEnt.add(Long.parseLong(req.getCarriageCompanyId()));
-        }
+        Set<Long> allEnt = getAllEnt(req);
+        //根据托运单位或者承运单位查询企业
+        Set<Long> entList = getEntList(req);
 
         //根据商品名称查询物流订单
-        List<KwtLogisticsOrderGoods>  logisticsOrderGoodsList=
-                logisticsOrderGoodsRepository.queryByGoodsName(req.getGoodsName());
-        if(org.springframework.util.CollectionUtils.isEmpty(logisticsOrderGoodsList)){
-            //获取物流订单
-            Set<Long> logOrderFormGoodsIds =
-                    logisticsOrderGoodsList.stream().map(KwtLogisticsOrderGoods::getLOrderId).collect(Collectors.toSet());
-            logOrderIds.addAll(logOrderFormGoodsIds);
-        }
-
-        List<KwtLogisticsOrderUnit> logOrderUnits =logisticsOrderUnitRepository.queryByEntIds(allEnt);
-        if(org.springframework.util.CollectionUtils.isEmpty(logOrderUnits)){
-            //获取物流订单
-            Set<Long> logOrderFormUnitIds =
-                    logOrderUnits.stream().map(KwtLogisticsOrderUnit::getLOrderId).collect(Collectors.toSet());
-            logOrderIds.addAll(logOrderFormUnitIds);
-        }
-
+        Set<Long> logOrderIds = getLogOrderIds(req, entList);
 
 
         //分页查询物流订单
-       IPage<KwtLogisticsOrder> page = logisticsOrderRepository.queryByPage(logOrderIds,req.getOrderStatus(),
+       IPage<KwtLogisticsOrder> page = logisticsOrderRepository.queryByPage(allEnt,logOrderIds,req.getOrderStatus(),
                req.getOrderNo(),
                req.getStartTime(), req.getEndTime(), req.getPageNum(), req.getPageSize());
         List<KwtLogisticsOrder> records = page.getRecords();
@@ -2301,22 +2267,9 @@ public class KwtLogisticsConsignmentService {
         }
 
         //查询地址信息
-        List<KwtLogisticsOrderAddress> logOrderAddressList =logisticsOrderAddressRepository.queryByLogOrderIds(logOrderIdList);
-        Map<String, KwtLogisticsOrderAddress> logisticsOrderIdAndUnitTypeKeyAndAddressMap = Maps.newHashMap();
-        if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(logOrderAddressList)){
-           logisticsOrderIdAndUnitTypeKeyAndAddressMap =
-                    logOrderAddressList.stream().peek(x -> x.setLogisticsOrderIdAndUnitTypeKey(x.getLOrderId() + "-" + x.getAddressType()))
-                    .collect(Collectors.toMap(KwtLogisticsOrderAddress::getLogisticsOrderIdAndUnitTypeKey,
-                            Function.identity(), (x, y) -> x));
-        }
+        Map<String, KwtLogisticsOrderAddress> logisticsOrderIdAndUnitTypeKeyAndAddressMap = getStringKwtLogisticsOrderAddressMap(logOrderIdList);
         //查询物流订单合同信息
-        List<KwtLogisticsOrderContract> logOrderContractList =logisticsOrderContractRepository.queryByLogOrderIds( new HashSet<>(logOrderIdList));
-        Map<Long, KwtLogisticsOrderContract> logOrderIdAndContractMap = Maps.newHashMap();
-        if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(logOrderContractList)){
-            logOrderIdAndContractMap =
-                    logOrderContractList.stream().collect(Collectors.toMap(KwtLogisticsOrderContract::getLOrderId,
-                    Function.identity(), (x, y) -> x));
-        }
+        Map<Long, KwtLogisticsOrderContract> logOrderIdAndContractMap = getLongKwtLogisticsOrderContractMap(logOrderIdList);
 
         Map<String, KwtLogisticsOrderUnit> finalLogOrderIdAndUnitTypeKeyAndUnitMap = logOrderIdAndUnitTypeKeyAndUnitMap;
         Map<Long, KwtLogisticsOrderGoods> finalLogIdAndGoodsMap = logIdAndGoodsMap;
@@ -2332,6 +2285,83 @@ public class KwtLogisticsConsignmentService {
         return PageDataResult.of(page,resps);
     }
 
+    @NotNull
+    private static Set<Long> getEntList(QueryLogisticsOrderReq req) {
+        Set<Long> entList = Sets.newHashSet();
+        if (StringUtils.isNotBlank(req.getConsignCompanyId())){
+            entList.add(Long.parseLong(req.getConsignCompanyId()));
+        }
+        if (StringUtils.isNotBlank(req.getCarriageCompanyId())){
+            entList.add(Long.parseLong(req.getCarriageCompanyId()));
+        }
+        return entList;
+    }
+
+    @NotNull
+    private Map<Long, KwtLogisticsOrderContract> getLongKwtLogisticsOrderContractMap(List<Long> logOrderIdList) {
+        List<KwtLogisticsOrderContract> logOrderContractList =logisticsOrderContractRepository.queryByLogOrderIds( new HashSet<>(logOrderIdList));
+        Map<Long, KwtLogisticsOrderContract> logOrderIdAndContractMap = Maps.newHashMap();
+        if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(logOrderContractList)){
+            logOrderIdAndContractMap =
+                    logOrderContractList.stream().collect(Collectors.toMap(KwtLogisticsOrderContract::getLOrderId,
+                    Function.identity(), (x, y) -> x));
+        }
+        return logOrderIdAndContractMap;
+    }
+
+    @NotNull
+    private Map<String, KwtLogisticsOrderAddress> getStringKwtLogisticsOrderAddressMap(List<Long> logOrderIdList) {
+        List<KwtLogisticsOrderAddress> logOrderAddressList =logisticsOrderAddressRepository.queryByLogOrderIds(logOrderIdList);
+        Map<String, KwtLogisticsOrderAddress> logisticsOrderIdAndUnitTypeKeyAndAddressMap = Maps.newHashMap();
+        if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(logOrderAddressList)){
+           logisticsOrderIdAndUnitTypeKeyAndAddressMap =
+                    logOrderAddressList.stream().peek(x -> x.setLogisticsOrderIdAndUnitTypeKey(x.getLOrderId() + "-" + x.getAddressType()))
+                    .collect(Collectors.toMap(KwtLogisticsOrderAddress::getLogisticsOrderIdAndUnitTypeKey,
+                            Function.identity(), (x, y) -> x));
+        }
+        return logisticsOrderIdAndUnitTypeKeyAndAddressMap;
+    }
+
+    @NotNull
+    private Set<Long> getLogOrderIds(QueryLogisticsOrderReq req, Set<Long> entList) {
+        Set<Long> logOrderIds = Sets.newHashSet();
+        List<KwtLogisticsOrderGoods>  logisticsOrderGoodsList=
+                logisticsOrderGoodsRepository.queryByGoodsName(req.getGoodsName());
+        if(org.springframework.util.CollectionUtils.isEmpty(logisticsOrderGoodsList)){
+            //获取物流订单
+            Set<Long> logOrderFormGoodsIds =
+                    logisticsOrderGoodsList.stream().map(KwtLogisticsOrderGoods::getLOrderId).collect(Collectors.toSet());
+            logOrderIds.addAll(logOrderFormGoodsIds);
+        }
+
+        List<KwtLogisticsOrderUnit> logOrderUnits =logisticsOrderUnitRepository.queryByEntIds(entList);
+        if(org.springframework.util.CollectionUtils.isEmpty(logOrderUnits)){
+            //获取物流订单
+            Set<Long> logOrderFormUnitIds =
+                    logOrderUnits.stream().map(KwtLogisticsOrderUnit::getLOrderId).collect(Collectors.toSet());
+            logOrderIds.addAll(logOrderFormUnitIds);
+        }
+        return logOrderIds;
+    }
+
+    @NotNull
+    private Set<Long> getAllEnt(QueryLogisticsOrderReq req) {
+        Set<Long> allEnt = Sets.newHashSet();
+        //根据企业类型查询企业
+        if(StringUtils.isNotBlank(req.getEntId())){
+            allEnt.add(Long.parseLong(req.getEntId()));
+            EntCacheResDto entCacheResDto = remoteSystemService.queryEntTreeById(Long.parseLong(req.getEntId()));
+            if (Objects.nonNull(entCacheResDto)) {
+                EntCacheResDto entCacheResDto1 = remoteSystemService.queryEntTreeById(entCacheResDto.getId());
+                List<EntCacheResDto> child = entCacheResDto1.getChild();
+                if (CollectionUtils.isNotEmpty(child)) {
+                    allEnt.addAll(child.stream().filter(x->x.getEntTypes().contains(req.getEntType())).map(EntCacheResDto::getId).toList());
+                }
+            }
+        }
+        return allEnt;
+    }
+
     @NotNull
     private static LogisticsOrderResp getLogisticsOrderResp(KwtLogisticsOrder kwtLogisticsOrder, Map<String, KwtLogisticsOrderUnit> finalLogOrderIdAndUnitTypeKeyAndUnitMap, Map<Long, KwtLogisticsOrderGoods> finalLogIdAndGoodsMap, Map<Long, KwpGoods> finalGoodsIdAndGoodsMap, Map<String, KwtLogisticsOrderAddress> finalLogisticsOrderIdAndUnitTypeKeyAndAddressMap, Map<Long, KwtLogisticsOrderContract> finalLogOrderIdAndContractMap) {
         LogisticsOrderResp logisticsOrderResp = new LogisticsOrderResp();