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