donglang пре 1 недеља
родитељ
комит
16d2d64780

+ 6 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/param/forklift/reponse/GatekeeperOrderResp.java

@@ -245,4 +245,10 @@ public class GatekeeperOrderResp implements Serializable {
     @Schema(description = "卸货净重")
     private BigDecimal unloadAmount;
 
+    /**
+     * 地磅id
+     */
+    private Long weighbridgeId;
+
+
 }

+ 44 - 28
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/app/GatekeeperOrderService.java

@@ -108,16 +108,8 @@ public class GatekeeperOrderService {
             throw new BusinessPlatfromException(ErrorCodeEnum.PARAM_ERROR, "状态不能为空!");
         }
 
-        Long userId = LoginUserHolder.getUserId();
-        log.info("门卫用户id:{}", userId);
-        KwsUserResDto kwsUserResDto = remoteSystemService.queryByUserId(userId);
-        log.info("门卫用户信息:{}", JSON.toJSONString(kwsUserResDto));
-        if (kwsUserResDto == null) {
-            throw new BusinessPlatfromException(ErrorCodeEnum.PARAM_ERROR, "用户数据不能为空!");
-        }
-
         //构建查询条件
-        LambdaQueryWrapper<KwtGatekeeperWaybillOrder> wrapper = buildAndExecuteQuery(param, kwsUserResDto);
+        LambdaQueryWrapper<KwtGatekeeperWaybillOrder> wrapper = buildAndExecuteQuery(param);
 
         //查询门卫订单
         Page<KwtGatekeeperWaybillOrder> pageByStatus = gatekeeperWaybillOrderRepository.page(new Page<>(param.getPageNum(), param.getPageSize()), wrapper);
@@ -129,18 +121,19 @@ public class GatekeeperOrderService {
         List<GatekeeperOrderResp> gatekeeperOrderPageResult = getGatekeeperOrderPageResult(records);
         //处理异常车辆数据
         gatekeeperOrderPageResult = filterGatekeeperOrderResp(param, gatekeeperOrderPageResult);
-
+        //过滤山上/山下门卫数据
+        List<GatekeeperOrderResp> filterResult = filter(gatekeeperOrderPageResult);
         //排序
-        sort(param, gatekeeperOrderPageResult);
-        return PageDataResult.success(param.getPageNum(), param.getPageSize(), pageByStatus.getTotal(), gatekeeperOrderPageResult);
+        sort(param, filterResult);
+        return PageDataResult.success(param.getPageNum(), param.getPageSize(), pageByStatus.getTotal(), filterResult);
     }
 
     /**
      * 构建查询条件并执行分页查询
      */
-    private LambdaQueryWrapper<KwtGatekeeperWaybillOrder> buildAndExecuteQuery(GatekeeperOrderQueryParam param, KwsUserResDto kwsUserResDto) {
+    private LambdaQueryWrapper<KwtGatekeeperWaybillOrder> buildAndExecuteQuery(GatekeeperOrderQueryParam param) {
         //基础查询条件
-        LambdaQueryWrapper<KwtGatekeeperWaybillOrder> queryWrapper = buildBaseQueryWrapper(param, kwsUserResDto);
+        LambdaQueryWrapper<KwtGatekeeperWaybillOrder> queryWrapper = buildBaseQueryWrapper(param);
 
         //模糊查询条件
         handleSearchKeyword(param, queryWrapper);
@@ -153,24 +146,11 @@ public class GatekeeperOrderService {
      * @param param
      * @return
      */
-    private  LambdaQueryWrapper<KwtGatekeeperWaybillOrder> buildBaseQueryWrapper(GatekeeperOrderQueryParam param, KwsUserResDto kwsUserResDto) {
+    private  LambdaQueryWrapper<KwtGatekeeperWaybillOrder> buildBaseQueryWrapper(GatekeeperOrderQueryParam param) {
         LambdaQueryWrapper<KwtGatekeeperWaybillOrder> wrapper = Wrappers.<KwtGatekeeperWaybillOrder>lambdaQuery()
                 .eq(KwtGatekeeperWaybillOrder::getEntId, param.getEntId())
                 .orderByDesc(KwtGatekeeperWaybillOrder::getCreateTime)
                 .orderByDesc(KwtGatekeeperWaybillOrder::getId);
-        //山下(邓总)
-        if (Objects.equals(kwsUserResDto.getType(), 1)) {
-            wrapper.and(w -> w
-                    .eq(KwtGatekeeperWaybillOrder::getWeighbridgeId, "10100111")
-                    .or()
-                    .isNull(KwtGatekeeperWaybillOrder::getWeighbridgeId));
-        }else {
-            //山上
-            wrapper.and(w -> w
-                    .in(KwtGatekeeperWaybillOrder::getWeighbridgeId, List.of("10100112", "10100113"))
-                    .or()
-                    .isNull(KwtGatekeeperWaybillOrder::getWeighbridgeId));
-        }
 
         //待进场
         if (param.getStatus() == 1) {
@@ -431,6 +411,7 @@ public class GatekeeperOrderService {
         gatekeeper.setGoodsId(gatekeeperWaybillOrder.getGoodsId());
         gatekeeper.setGoodsName(gatekeeperWaybillOrder.getGoodsName());
         gatekeeper.setRemark(gatekeeperWaybillOrder.getRemark());
+        gatekeeper.setWeighbridgeId(gatekeeperWaybillOrder.getWeighbridgeId());
 
         //运单数据
         KwtWaybillOrder waybillOrder = waybillOrderMap.getOrDefault(gatekeeperWaybillOrder.getWOrderId(), new KwtWaybillOrder());
@@ -544,6 +525,41 @@ public class GatekeeperOrderService {
         }).collect(Collectors.toList());
     }
 
+    /**
+     * 过滤山上/山下门卫数据:待放行时候区分
+     * @param gatekeeperOrderPageResult
+     */
+    private List<GatekeeperOrderResp> filter(List<GatekeeperOrderResp> gatekeeperOrderPageResult) {
+        Long userId = LoginUserHolder.getUserId();
+        log.info("门卫用户id:{}", userId);
+        KwsUserResDto kwsUserResDto = remoteSystemService.queryByUserId(userId);
+        log.info("门卫用户信息:{}", JSON.toJSONString(kwsUserResDto));
+        if (kwsUserResDto == null) {
+            throw new BusinessPlatfromException(ErrorCodeEnum.PARAM_ERROR, "用户数据不能为空!");
+        }
+
+        return gatekeeperOrderPageResult.stream()
+                .filter(order -> {
+                    // status不等于10的订单,不做地磅过滤
+                    if (!Objects.equals(order.getStatus(), 10)) {
+                        return true;
+                    }
+                    // 地磅为空的数据,山上山下都保留
+                    Long weighbridgeId = order.getWeighbridgeId();
+                    if (weighbridgeId == null) {
+                        return true;
+                    }
+                    // 山下(邓总):只保留 10100111L
+                    if (Objects.equals(kwsUserResDto.getType(), 1)) {
+                        return weighbridgeId == 10100111L;
+                    }
+                    // 山上:只保留 10100112L 或 10100113L
+                    return weighbridgeId == 10100112L || weighbridgeId == 10100113L;
+                })
+                .collect(Collectors.toList());
+    }
+
+
     /**
      * 排序
      * @param param