donglang 1 месяц назад
Родитель
Сommit
35051fbd54

+ 3 - 2
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsMenuService.java

@@ -643,7 +643,7 @@ public class KwsMenuService {
 //            if (Boolean.TRUE.equals(reqVo.getIncludeButton())) {
 //
 //            }
-            finalList = supplementButtons(finalList, findMenuTreePojo.getEntTypeList());
+            finalList = supplementButtons(finalList, findMenuTreePojo.getEntTypeList(),Integer.valueOf(reqVo.getClientType()));
         }
 
 
@@ -723,7 +723,7 @@ public class KwsMenuService {
      * 查询所有菜单类型节点(type=1)的子按钮(type=2),
      * 合并到列表中以便递归构建包含按钮的完整树。
      */
-    private List<KwsMenuResVo> supplementButtons(List<KwsMenuResVo> menuList, List<String> entTypeList) {
+    private List<KwsMenuResVo> supplementButtons(List<KwsMenuResVo> menuList, List<String> entTypeList, Integer clientType) {
         List<Long> menuTypeIds = menuList.stream()
                 .filter(m -> Objects.equals(m.getType(), MenuTypeEnum.DIRECTORY.getCode()))
                 .map(KwsMenuResVo::getId)
@@ -736,6 +736,7 @@ public class KwsMenuService {
                 .eq(KwsMenu::getDelFlag, Global.NO)
                 .eq(KwsMenu::getType, MenuTypeEnum.BUTTON.getCode())
                 .in(KwsMenu::getParentId, menuTypeIds)
+                .eq(KwsMenu::getClientType, clientType) // 确保按钮与菜单属于同一客户端
                 .orderByAsc(KwsMenu::getSort);
         appendUsingRolesFilter(buttonWrapper, entTypeList);
 

+ 2 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/handler/ComeIntoHandler.java

@@ -19,6 +19,7 @@ import com.sckw.fleet.api.model.vo.TruckDispatchCoefficientVO;
 import com.sckw.product.api.model.KwpGoods;
 import com.sckw.system.api.model.dto.res.SysDictResDto;
 import com.sckw.transport.model.*;
+import com.sckw.transport.model.enuma.WeighbridgeTypeEnum;
 import com.sckw.transport.model.param.WaybillOrderCmeIntoWeighParam;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
@@ -208,6 +209,7 @@ public class ComeIntoHandler extends AbstractWaybillOrderHandler<WaybillOrderCme
                 weighbridge.setLOrderId(waybillOrder.getLOrderId());
                 weighbridge.setTruckId(waybillOrder.getTruckId());
                 weighbridge.setTruckNo(waybillOrder.getTruckNo());
+                weighbridge.setType(WeighbridgeTypeEnum.LOADING.getCode());
                 weighbridge.setWeighbridgeId(10001l);
                 weighbridge.setWeight(BigDecimal.ZERO);
                 weighbridge.setWeighUrl(null);

+ 5 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/KwtWaybillOrderWeighbridge.java

@@ -46,6 +46,11 @@ public class KwtWaybillOrderWeighbridge implements Serializable {
      */
     private String truckNo;
 
+    /**
+     * 过磅类型
+     */
+    private Integer type;
+
     /**
      * 地磅id
      */

+ 40 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/enuma/WeighbridgeTypeEnum.java

@@ -0,0 +1,40 @@
+package com.sckw.transport.model.enuma;
+
+import lombok.Getter;
+
+/**
+ * @author zk
+ * @desc 装卸货类型
+ * @date 2024/3/8 0008
+ */
+@Getter
+public enum WeighbridgeTypeEnum {
+
+    /**
+     * 装货
+     */
+    LOADING(1, "装货"),
+
+    /**
+     * 卸货
+     */
+    UNLOADING(2, "卸货");
+
+
+    private final Integer code;
+    private final String name;
+
+    WeighbridgeTypeEnum(Integer code, String name) {
+        this.code = code;
+        this.name = name;
+    }
+
+    public static String getName(Integer code) {
+        for (WeighbridgeTypeEnum entity : WeighbridgeTypeEnum.values()) {
+            if (entity.getCode().equals(code)) {
+                return entity.getName();
+            }
+        }
+        return null;
+    }
+}

+ 6 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/param/WaybillOrderQueryParam.java

@@ -33,6 +33,12 @@ public class WaybillOrderQueryParam extends PageReq implements Serializable {
     @Schema(description = "车牌号")
     private String truckNo;
 
+    /**
+     * 司机id
+     */
+    @Schema(description = "司机id")
+    private Long driverId;
+
     /**
      * 状态 (1-进行中、2-单证审核、3-已完成)
      */

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

@@ -73,7 +73,7 @@ public class KwtWaybillOrderSubtaskRepository extends ServiceImpl<KwtWaybillOrde
                 Wrappers.<KwtWaybillOrderSubtask>lambdaQuery()
                         .eq(BaseModel::getDelFlag,0)
                         .eq(Objects.nonNull( status),KwtWaybillOrderSubtask::getStatus, status)
-                        .in(CollectionUtils.isNotEmpty( waybillOrderStatus),KwtWaybillOrderSubtask::getStatus, waybillOrderStatus)
+                        .notIn(CollectionUtils.isNotEmpty( waybillOrderStatus),KwtWaybillOrderSubtask::getStatus, waybillOrderStatus)
                         .in(CollectionUtils.isNotEmpty(logOrderIds),KwtWaybillOrderSubtask::getLOrderId, logOrderIds)
                         .in(CollectionUtils.isNotEmpty(billOrderIds),KwtWaybillOrderSubtask::getWOrderId, billOrderIds)
                         .orderByDesc(BaseModel::getUpdateTime)

+ 1 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/repository/KwtWaybillOrderWeighbridgeRepository.java

@@ -22,6 +22,7 @@ public class KwtWaybillOrderWeighbridgeRepository extends ServiceImpl<KwtWaybill
         return list(
                 Wrappers.<KwtWaybillOrderWeighbridge>lambdaQuery()
                         .eq(KwtWaybillOrderWeighbridge::getWOrderId, wOrderId)
+                        .eq(KwtWaybillOrderWeighbridge::getType, 1)
                         .orderByDesc(KwtWaybillOrderWeighbridge::getId));
     }
 

+ 56 - 14
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/app/WaybillOrderService.java

@@ -508,19 +508,21 @@ public class WaybillOrderService {
     private static LambdaQueryWrapper<KwtWaybillOrder> buildBaseQueryWrapper(WaybillOrderQueryParam param) {
         LambdaQueryWrapper<KwtWaybillOrder> queryWrapper = Wrappers.<KwtWaybillOrder>lambdaQuery()
                 .eq(KwtWaybillOrder::getEntId, param.getEntId())
-                .eq(KwtWaybillOrder::getTruckNo, param.getTruckNo())
                 .eq(KwtWaybillOrder::getDelFlag, 0)
                 .orderByDesc(KwtWaybillOrder::getCreateTime)
                 .orderByDesc(KwtWaybillOrder::getId);
         //进行中
         if (Objects.equals(param.getStatus(), Global.NUMERICAL_ONE)) {
             queryWrapper.in(KwtWaybillOrder::getStatus, UNDER_WAY);
+            queryWrapper.eq(KwtWaybillOrder::getTruckNo, param.getTruckNo());
         } else if (Objects.equals(param.getStatus(), Global.NUMERICAL_TWO)) {
             //单证审核
             queryWrapper.in(KwtWaybillOrder::getStatus, REVIEW);
+            queryWrapper.eq(KwtWaybillOrder::getDriverId, param.getDriverId());
         } else if (Objects.equals(param.getStatus(), Global.NUMERICAL_THREE)) {
             //已完成
             queryWrapper.in(KwtWaybillOrder::getStatus, COMPLETED);
+            queryWrapper.eq(KwtWaybillOrder::getDriverId, param.getDriverId());
         }
         return queryWrapper;
     }
@@ -574,13 +576,20 @@ public class WaybillOrderService {
      */
     private void addMatchedIdsFromWaybillNo(String keyword, WaybillOrderQueryParam param, Set<Long> waybillOrderIds) {
         // 1. 运单编号查询(主表字段,直接匹配)
-        List<KwtWaybillOrder> waybillOrders = waybillOrderRepository.list(
-                Wrappers.<KwtWaybillOrder>lambdaQuery()
-                        .like(KwtWaybillOrder::getWOrderNo, keyword)
-                        .eq(KwtWaybillOrder::getEntId, param.getEntId())
-                        .eq(KwtWaybillOrder::getTruckNo, param.getTruckNo())
-                        .eq(KwtWaybillOrder::getDelFlag, 0)
-        );
+        LambdaQueryWrapper<KwtWaybillOrder> wrapper = Wrappers.<KwtWaybillOrder>lambdaQuery()
+                .like(KwtWaybillOrder::getWOrderNo, keyword)
+                .eq(KwtWaybillOrder::getEntId, param.getEntId())
+                .eq(KwtWaybillOrder::getDelFlag, 0);
+
+        if (Objects.equals(param.getStatus(), Global.NUMERICAL_ONE)) {
+            //进行中
+            wrapper.eq(KwtWaybillOrder::getTruckNo, param.getTruckNo());
+        } else if (Objects.equals(param.getStatus(), Global.NUMERICAL_TWO) || Objects.equals(param.getStatus(), Global.NUMERICAL_THREE)) {
+            //单证审核、已完成
+            wrapper.eq(KwtWaybillOrder::getDriverId, param.getDriverId());
+        }
+
+        List<KwtWaybillOrder> waybillOrders = waybillOrderRepository.list(wrapper);
         waybillOrderIds.addAll(waybillOrders.stream()
                 .map(KwtWaybillOrder::getId)
                 .collect(Collectors.toList()));
@@ -601,9 +610,20 @@ public class WaybillOrderService {
                     .map(KwtLogisticsOrder::getId)
                     .collect(Collectors.toList());
 
+            LambdaQueryWrapper<KwtWaybillOrder> wrapper = Wrappers.<KwtWaybillOrder>lambdaQuery()
+                    .in(KwtWaybillOrder::getLOrderId, matchedLogOrderIds)
+                    .eq(KwtWaybillOrder::getEntId, param.getEntId())
+                    .eq(KwtWaybillOrder::getDelFlag, 0);
+            if (Objects.equals(param.getStatus(), Global.NUMERICAL_ONE)) {
+                //进行中
+                wrapper.eq(KwtWaybillOrder::getTruckNo, param.getTruckNo());
+            } else if (Objects.equals(param.getStatus(), Global.NUMERICAL_TWO) || Objects.equals(param.getStatus(), Global.NUMERICAL_THREE)) {
+                //单证审核、已完成
+                wrapper.eq(KwtWaybillOrder::getDriverId, param.getDriverId());
+            }
+
             // 查询这些物流订单对应的运单
-            List<KwtWaybillOrder> waybillsByLogOrder = waybillOrderRepository
-                    .queryWaybillOrderByLogOrderIds(matchedLogOrderIds, param.getEntId(), param.getTruckNo());
+            List<KwtWaybillOrder> waybillsByLogOrder = waybillOrderRepository.list(wrapper);
 
             waybillOrderIds.addAll(waybillsByLogOrder.stream()
                     .map(KwtWaybillOrder::getId)
@@ -626,9 +646,20 @@ public class WaybillOrderService {
                     .map(KwtLogisticsOrderUnit::getLOrderId)
                     .collect(Collectors.toList());
 
+            LambdaQueryWrapper<KwtWaybillOrder> wrapper = Wrappers.<KwtWaybillOrder>lambdaQuery()
+                    .in(KwtWaybillOrder::getLOrderId, matchedLogOrderIds)
+                    .eq(KwtWaybillOrder::getEntId, param.getEntId())
+                    .eq(KwtWaybillOrder::getDelFlag, 0);
+            if (Objects.equals(param.getStatus(), Global.NUMERICAL_ONE)) {
+                //进行中
+                wrapper.eq(KwtWaybillOrder::getTruckNo, param.getTruckNo());
+            } else if (Objects.equals(param.getStatus(), Global.NUMERICAL_TWO) || Objects.equals(param.getStatus(), Global.NUMERICAL_THREE)) {
+                //单证审核、已完成
+                wrapper.eq(KwtWaybillOrder::getDriverId, param.getDriverId());
+            }
+
             // 查询这些物流订单对应的运单
-            List<KwtWaybillOrder> waybillsByUnits =  waybillOrderRepository
-                    .queryWaybillOrderByLogOrderIds(matchedLogOrderIds, param.getEntId(), param.getTruckNo());
+            List<KwtWaybillOrder> waybillsByUnits =  waybillOrderRepository.list(wrapper);
 
             waybillOrderIds.addAll(waybillsByUnits.stream()
                     .map(KwtWaybillOrder::getId)
@@ -650,9 +681,20 @@ public class WaybillOrderService {
                     .map(KwtLogisticsOrderGoods::getLOrderId)
                     .collect(Collectors.toList());
 
+            LambdaQueryWrapper<KwtWaybillOrder> wrapper = Wrappers.<KwtWaybillOrder>lambdaQuery()
+                    .in(KwtWaybillOrder::getLOrderId, matchedLogOrderIds)
+                    .eq(KwtWaybillOrder::getEntId, param.getEntId())
+                    .eq(KwtWaybillOrder::getDelFlag, 0);
+            if (Objects.equals(param.getStatus(), Global.NUMERICAL_ONE)) {
+                //进行中
+                wrapper.eq(KwtWaybillOrder::getTruckNo, param.getTruckNo());
+            } else if (Objects.equals(param.getStatus(), Global.NUMERICAL_TWO) || Objects.equals(param.getStatus(), Global.NUMERICAL_THREE)) {
+                //单证审核、已完成
+                wrapper.eq(KwtWaybillOrder::getDriverId, param.getDriverId());
+            }
+
             // 查询这些物流订单对应的运单
-            List<KwtWaybillOrder> waybillsByGoods = waybillOrderRepository
-                    .queryWaybillOrderByLogOrderIds(matchedLogOrderIds, param.getEntId(), param.getTruckNo());
+            List<KwtWaybillOrder> waybillsByGoods = waybillOrderRepository.list(wrapper);
 
             waybillOrderIds.addAll(waybillsByGoods.stream()
                     .map(KwtWaybillOrder::getId)