Procházet zdrojové kódy

门卫查询排序

donglang před 4 dny
rodič
revize
8d935a6c4a

+ 9 - 23
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/app/GatekeeperOrderService.java

@@ -107,42 +107,24 @@ public class GatekeeperOrderService {
         if (param.getStatus() == null) {
             throw new BusinessPlatfromException(ErrorCodeEnum.PARAM_ERROR, "状态不能为空!");
         }
-        // 正常排序
-        if (!Objects.equals(param.getStatus(), 4)) {
-            return pageQueryDbSort(param);
 
-        }
-        // 内存排序: 特殊处理
-        return pageQueryWithMemorySort(param);
-    }
-
-    /**
-     * 数据库层面排序 + 分页
-     */
-    private PageDataResult<GatekeeperOrderResp> pageQueryDbSort(GatekeeperOrderQueryParam param) {
-        // 构建查询条件
+        //构建查询条件
         LambdaQueryWrapper<KwtGatekeeperWaybillOrder> wrapper = buildAndExecuteQuery(param);
-
-        // 数据库层面排序
         sort(param, wrapper);
 
-        // 数据库分页查询
+        //查询门卫订单
         Page<KwtGatekeeperWaybillOrder> pageByStatus = gatekeeperWaybillOrderRepository.page(new Page<>(param.getPageNum(), param.getPageSize()), wrapper);
         List<KwtGatekeeperWaybillOrder> records = pageByStatus.getRecords();
         if (CollectionUtils.isEmpty(records)) {
             log.info("当前无运单订单信息");
             return PageDataResult.empty(param.getPageNum(), param.getPageSize());
         }
-
-        // 转换为响应对象
         List<GatekeeperOrderResp> gatekeeperOrderPageResult = getGatekeeperOrderPageResult(records);
-
-        // 处理异常车辆数据(如果需要)
+        //处理异常车辆数据
         gatekeeperOrderPageResult = filterGatekeeperOrderResp(param, gatekeeperOrderPageResult);
-
-        // 过滤山上/山下门卫数据
+        //过滤山上/山下门卫数据
         List<GatekeeperOrderResp> filterResult = filter(gatekeeperOrderPageResult);
-
+        //排序
         return PageDataResult.success(param.getPageNum(), param.getPageSize(), pageByStatus.getTotal(), filterResult);
     }
 
@@ -630,6 +612,10 @@ public class GatekeeperOrderService {
                 // 场内车辆: 车辆进场时间升序
                 wrapper.orderByAsc(KwtGatekeeperWaybillOrder::getIntoTime);
                 break;
+            case 4:
+                // 异常车辆: 场内耗时倒序
+                wrapper.orderByAsc(KwtGatekeeperWaybillOrder::getIntoTime);
+                break;
             case 5:
                 // 出入记录: 离场时间倒序
                 wrapper.orderByDesc(KwtGatekeeperWaybillOrder::getLeaveTime);