Просмотр исходного кода

1:提供dubbo接口
2:修复承运托运bug
3:完善数据校验

lengfaqiang 2 лет назад
Родитель
Сommit
a7f934d11f

+ 8 - 0
sckw-modules-api/sckw-transport-api/src/main/java/com/sckw/transport/api/dubbo/TransportDubboService.java

@@ -82,4 +82,12 @@ public interface TransportDubboService {
      * @return
      */
     HttpResult logisticsOrderAccountCheckingBind(AccountCheckingBindDTO accountCheckingBindDTO);
+
+    /**
+     * 根据企业id 判断是否存在未完成完结的物流订单
+     *
+     * @param entId 企业id
+     * @return  ture 代表还有未完结的  false代表没有未完结的
+     */
+    boolean checkLogisticsOrderFinishByEntId(Long entId);
 }

+ 28 - 30
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwAcceptCarriageService.java

@@ -17,7 +17,6 @@ import com.sckw.report.service.param.AcceptCarriageOrderQuery;
 import com.sckw.report.service.vo.AcceptCarriageOrderExcelVo;
 import com.sckw.report.service.vo.AcceptCarriageOrderVo;
 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 lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.config.annotation.DubboReference;
@@ -69,11 +68,6 @@ public class KwAcceptCarriageService {
         Criteria criteria = new Criteria();
         // 1. 全等于
         //判断承运还是托运企业
-//        if (unitType.equals(NumberConstant.ONE)) {
-//            criteria.and("checkEntId").is(LoginUserHolder.getEntId());
-//        } else {
-//            criteria.and("carrierEntId").is(LoginUserHolder.getEntId());
-//        }
         List<Long> entIds = new ArrayList<>();
         entIds.add(LoginUserHolder.getEntId());
         Long entId = LoginUserHolder.getEntId();
@@ -81,17 +75,17 @@ public class KwAcceptCarriageService {
         if (unitType.equals(String.valueOf(NumberConstant.ONE))) {
             //托运
 //            criteria.and("checkTopEntId").is(entMap.get(LoginUserHolder.getEntId()).getId());
-            criteria.and("checkTopEntId").is(entId);
-//            criteria.orOperator(
-//                    Criteria.where("checkTopEntId").is(entId),
-//                    Criteria.where("checkEntId").is(entId));
+//            criteria.and("checkTopEntId").is(entId);
+            criteria.orOperator(
+                    Criteria.where("checkTopEntId").is(entId),
+                    Criteria.where("checkEntId").is(entId));
         } else {
             //承运企业主键ID
 //            criteria.and("carrierTopEntId").is(entMap.get(LoginUserHolder.getEntId()).getId());
-            criteria.and("carrierTopEntId").is(entId);
-//            criteria.orOperator(
-//                    Criteria.where("carrierTopEntId").is(entId),
-//                    Criteria.where("carrierEntId").is(entId));
+//            criteria.and("carrierTopEntId").is(entId);
+            criteria.orOperator(
+                    Criteria.where("carrierTopEntId").is(entId),
+                    Criteria.where("carrierEntId").is(entId));
         }
         //装卸货地址
         String loadCode = query.getLoadAddressCode();
@@ -199,22 +193,24 @@ public class KwAcceptCarriageService {
         Criteria criteria = new Criteria();
         // 1. 全等于
         //判断承运还是托运企业
-//        if (unitType.equals(NumberConstant.ONE)) {
-//            criteria.and("checkEntId").is(LoginUserHolder.getEntId());
-//        } else {
-//            criteria.and("carrierEntId").is(LoginUserHolder.getEntId());
-//        }
         List<Long> entIds = new ArrayList<>();
         entIds.add(LoginUserHolder.getEntId());
-        Map<Long, EntCacheResDto> entMap = remoteSystemService.queryEntTreeByIds(entIds);
+        Long entId = LoginUserHolder.getEntId();
+//        Map<Long, EntCacheResDto> entMap = remoteSystemService.queryEntTreeByIds(entIds);
         if (unitType.equals(String.valueOf(NumberConstant.ONE))) {
             //托运
 //            criteria.and("checkTopEntId").is(entMap.get(LoginUserHolder.getEntId()).getId());
-            criteria.and("checkTopEntId").is(LoginUserHolder.getEntId());
+//            criteria.and("checkTopEntId").is(LoginUserHolder.getEntId());
+            criteria.orOperator(
+                    Criteria.where("checkTopEntId").is(entId),
+                    Criteria.where("checkEntId").is(entId));
         } else {
             //承运企业主键ID
 //            criteria.and("carrierTopEntId").is(entMap.get(LoginUserHolder.getEntId()).getId());
-            criteria.and("carrierTopEntId").is(LoginUserHolder.getEntId());
+//            criteria.and("carrierTopEntId").is(LoginUserHolder.getEntId());
+            criteria.orOperator(
+                    Criteria.where("carrierTopEntId").is(entId),
+                    Criteria.where("carrierEntId").is(entId));
         }
         //装卸货地址
         String loadCode = param.getLoadAddressCode();
@@ -487,20 +483,22 @@ public class KwAcceptCarriageService {
         // 1. 全等于
         Query query1 = new Query();
         //判断承运还是托运企业
-//        if (unitType.equals(NumberConstant.ONE)) {
-//            criteria.and("checkEntId").is(LoginUserHolder.getEntId());
-//        } else {
-//            criteria.and("carrierEntId").is(LoginUserHolder.getEntId());
-//        }
         List<Long> entIds = new ArrayList<>();
         entIds.add(LoginUserHolder.getEntId());
-        Map<Long, EntCacheResDto> entMap = remoteSystemService.queryEntTreeByIds(entIds);
+        Long entId = LoginUserHolder.getEntId();
+//        Map<Long, EntCacheResDto> entMap = remoteSystemService.queryEntTreeByIds(entIds);
         if (unitType.equals(String.valueOf(NumberConstant.ONE))) {
             //托运
-            criteria.and("checkTopEntId").is(entMap.get(LoginUserHolder.getEntId()).getId());
+//            criteria.and("checkTopEntId").is(entMap.get(LoginUserHolder.getEntId()).getId());
+            criteria.orOperator(
+                    Criteria.where("checkTopEntId").is(entId),
+                    Criteria.where("checkEntId").is(entId));
         } else {
             //承运企业主键ID
-            criteria.and("carrierTopEntId").is(entMap.get(LoginUserHolder.getEntId()).getId());
+//            criteria.and("carrierTopEntId").is(entMap.get(LoginUserHolder.getEntId()).getId());
+            criteria.orOperator(
+                    Criteria.where("carrierTopEntId").is(entId),
+                    Criteria.where("carrierEntId").is(entId));
         }
         criteria.and("delFlag").is(String.valueOf(NumberConstant.ZERO));
         List<String> stringList = StringUtils.splitStrToList(query.getIds(), StringConstant.COMMA, String.class);

+ 0 - 7
sckw-modules/sckw-report/src/main/java/com/sckw/report/service/KwConsignService.java

@@ -70,18 +70,11 @@ public class KwConsignService {
         Criteria criteria = new Criteria();
         // 1. 全等于
         //判断承运还是托运企业
-//        if (unitType.equals(NumberConstant.ONE)) {
-//            criteria.and("checkEntId").is(LoginUserHolder.getEntId());
-//        } else {
-//            criteria.and("carrierEntId").is(LoginUserHolder.getEntId());
-//        }
         List<Long> entIds = new ArrayList<>();
         entIds.add(LoginUserHolder.getEntId());
         Long entId = LoginUserHolder.getEntId();
-//        Map<Long, EntCacheResDto> entMap = remoteSystemService.queryEntTreeByIds(entIds);
         if (unitType.equals(String.valueOf(NumberConstant.ONE))) {
             //托运
-//            criteria.and("checkTopEntId").is(entMap.get(LoginUserHolder.getEntId()).getId());
             criteria.orOperator(
                     Criteria.where("checkTopEntId").is(entId),
                     Criteria.where("checkEntId").is(entId));

+ 32 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/dubbo/TransportDubboServiceImpl.java

@@ -328,4 +328,36 @@ public class TransportDubboServiceImpl implements TransportDubboService {
         });
         return HttpResult.ok();
     }
+
+    /**
+     * 根据企业id查询是否存在有未完结的物流订单
+     *
+     * @param entId 企业id
+     * @return ture 代表还有未完结的  false代表没有未完结的
+     */
+    @Override
+    public boolean checkLogisticsOrderFinishByEntId(Long entId) {
+        List<KwtLogisticsOrderUnit> logisticsOrderUnits = logisticsOrderUnitMapper.selectList(new LambdaQueryWrapper<KwtLogisticsOrderUnit>()
+                .eq(KwtLogisticsOrderUnit::getEntId, entId)
+        );
+        if (CollectionUtils.isEmpty(logisticsOrderUnits)) {
+            return false;
+        }
+        List<Integer> orderStatus = new ArrayList<>();
+        orderStatus.add(LogisticsOrderEnum.TO_BE_PLANNED.getCode());
+        orderStatus.add(LogisticsOrderEnum.PENDING_ORDER.getCode());
+        orderStatus.add(LogisticsOrderEnum.WAIT_DELIVERY.getCode());
+        orderStatus.add(LogisticsOrderEnum.IN_TRANSIT.getCode());
+        orderStatus.add(LogisticsOrderEnum.HAVE_FINISHED.getCode());
+        orderStatus.add(LogisticsOrderEnum.HAVE_RECONCILED.getCode());
+        List<Long> collect = logisticsOrderUnits.stream().map(KwtLogisticsOrderUnit::getLOrderId).distinct().collect(Collectors.toList());
+        Long count = logisticsOrderMapper.selectCount(new LambdaQueryWrapper<KwtLogisticsOrder>()
+                .in(KwtLogisticsOrder::getId, collect)
+                .in(KwtLogisticsOrder::getStatus, orderStatus)
+        );
+        if (count > 0) {
+            return true;
+        }
+        return false;
+    }
 }