|
|
@@ -1,10 +1,13 @@
|
|
|
package com.sckw.transport.service;
|
|
|
|
|
|
+import cn.hutool.core.collection.CollUtil;
|
|
|
import com.alibaba.fastjson2.JSON;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.github.pagehelper.PageHelper;
|
|
|
import com.sckw.core.common.enums.enums.DictTypeEnum;
|
|
|
import com.sckw.core.exception.BusinessException;
|
|
|
+import com.sckw.core.model.base.BaseModel;
|
|
|
import com.sckw.core.model.constant.Global;
|
|
|
import com.sckw.core.model.constant.NumberConstant;
|
|
|
import com.sckw.core.model.enums.*;
|
|
|
@@ -31,6 +34,7 @@ import com.sckw.system.api.RemoteSystemService;
|
|
|
import com.sckw.system.api.model.dto.res.EntCacheResDto;
|
|
|
import com.sckw.system.api.model.dto.res.SysDictResDto;
|
|
|
import com.sckw.transport.dao.*;
|
|
|
+import com.sckw.transport.repository.KwtLogisticsOrderUnitRepository;
|
|
|
import com.sckw.transport.repository.KwtWaybillOrderRepository;
|
|
|
import com.sckw.transport.model.*;
|
|
|
import com.sckw.transport.model.dto.*;
|
|
|
@@ -39,6 +43,7 @@ import com.sckw.transport.model.dto.WaybillOrderSelectReq;
|
|
|
import jakarta.annotation.Resource;
|
|
|
import jakarta.servlet.http.HttpServletRequest;
|
|
|
import jakarta.validation.Valid;
|
|
|
+import lombok.RequiredArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.dubbo.config.annotation.DubboReference;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
@@ -61,6 +66,7 @@ import java.util.stream.Collectors;
|
|
|
*/
|
|
|
@Slf4j
|
|
|
@Service
|
|
|
+@RequiredArgsConstructor
|
|
|
@SuppressWarnings("all")
|
|
|
public class KwtWaybillOrderService {
|
|
|
|
|
|
@@ -98,6 +104,7 @@ public class KwtWaybillOrderService {
|
|
|
KwtLogisticsOrderGoodsService kwtLogisticsOrderGoodsService;
|
|
|
@Autowired
|
|
|
KwtCommonService commonService;
|
|
|
+ private final KwtLogisticsOrderUnitRepository logisticsOrderUnitRepository;
|
|
|
@Resource
|
|
|
private StreamBridge streamBridge;
|
|
|
@DubboReference(version = "1.0.0", group = "design", check = false)
|
|
|
@@ -118,7 +125,36 @@ public class KwtWaybillOrderService {
|
|
|
*/
|
|
|
public List<WaybillOrderSelectOptionVo> getWaybillOrderSelectList(WaybillOrderSelectReq req) {
|
|
|
Long entId = req.getEntId() != null ? req.getEntId() : LoginUserHolder.getEntId();
|
|
|
- List<KwtWaybillOrder> waybillOrders = waybillOrderRepository.selectWaybillOrderOptions(entId, req.getWOrderNo());
|
|
|
+
|
|
|
+ //根据企业查询物流订单
|
|
|
+ List<KwtLogisticsOrderUnit> kwtLogisticsOrderUnits = logisticsOrderUnitRepository.queryByEntId(entId);
|
|
|
+ if (CollUtil.isEmpty(kwtLogisticsOrderUnits)) {
|
|
|
+ log.info("该企业未查询到物流订单数据,企业id:{}", entId);
|
|
|
+ return List.of();
|
|
|
+ }
|
|
|
+ //获取物流订单号
|
|
|
+ Set<Long> logOrderIds = kwtLogisticsOrderUnits.stream()
|
|
|
+ .map(KwtLogisticsOrderUnit::getLOrderId)
|
|
|
+ .collect(Collectors.toSet());
|
|
|
+ if (CollUtil.isEmpty(logOrderIds)) {
|
|
|
+ log.info("该企业下物流订单数据,企业id:{}", entId);
|
|
|
+ return List.of();
|
|
|
+ }
|
|
|
+ //查询子运单
|
|
|
+ List<KwtWaybillOrderSubtask> kwtWaybillOrderSubtasks = waybillOrderSubtaskDao.selectList(Wrappers.<KwtWaybillOrderSubtask>lambdaQuery()
|
|
|
+ .in(KwtWaybillOrderSubtask::getLOrderId, logOrderIds)
|
|
|
+ .eq(BaseModel::getDelFlag, 0));
|
|
|
+ if(org.apache.commons.collections4.CollectionUtils.isEmpty(kwtWaybillOrderSubtasks)){
|
|
|
+ log.info("该企业下子运单的订单数据不存在,企业id:{}", entId);
|
|
|
+ return List.of();
|
|
|
+ }
|
|
|
+ //获取子运单ID
|
|
|
+ Set<Long> wayOrderIds = kwtWaybillOrderSubtasks
|
|
|
+ .stream()
|
|
|
+ .map(KwtWaybillOrderSubtask::getWOrderId)
|
|
|
+ .collect(Collectors.toSet());
|
|
|
+ //查询
|
|
|
+ List<KwtWaybillOrder> waybillOrders = waybillOrderRepository.selectWaybillOrderOptions(wayOrderIds, req.getKeyword());
|
|
|
if (org.apache.commons.collections4.CollectionUtils.isEmpty(waybillOrders)) {
|
|
|
return List.of();
|
|
|
}
|