|
@@ -105,19 +105,6 @@ 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);
|
|
|
// 数据库层面排序
|
|
// 数据库层面排序
|
|
@@ -140,34 +127,6 @@ public class GatekeeperOrderService {
|
|
|
return PageDataResult.success(param.getPageNum(), param.getPageSize(), pageByStatus.getTotal(), gatekeeperOrderPageResult);
|
|
return PageDataResult.success(param.getPageNum(), param.getPageSize(), pageByStatus.getTotal(), gatekeeperOrderPageResult);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- /**
|
|
|
|
|
- * 内存排序 + 内存分页
|
|
|
|
|
- */
|
|
|
|
|
- private PageDataResult<GatekeeperOrderResp> pageQueryWithMemorySort(GatekeeperOrderQueryParam param) {
|
|
|
|
|
- //构建查询条件
|
|
|
|
|
- LambdaQueryWrapper<KwtGatekeeperWaybillOrder> wrapper = buildAndExecuteQuery(param);
|
|
|
|
|
-
|
|
|
|
|
- //查询门卫订单
|
|
|
|
|
- List<KwtGatekeeperWaybillOrder> records = gatekeeperWaybillOrderRepository.list(wrapper);
|
|
|
|
|
- if (CollectionUtils.isEmpty(records)) {
|
|
|
|
|
- log.info("当前无运单订单信息");
|
|
|
|
|
- return PageDataResult.empty(param.getPageNum(), param.getPageSize());
|
|
|
|
|
- }
|
|
|
|
|
- List<GatekeeperOrderResp> gatekeeperOrderPageResult = getGatekeeperOrderPageResult(records);
|
|
|
|
|
-
|
|
|
|
|
- //处理异常车辆数据
|
|
|
|
|
- gatekeeperOrderPageResult = filterGatekeeperOrderResp(param, gatekeeperOrderPageResult);
|
|
|
|
|
-
|
|
|
|
|
- //排序
|
|
|
|
|
- sort2(param, gatekeeperOrderPageResult);
|
|
|
|
|
-
|
|
|
|
|
- List<List<GatekeeperOrderResp>> pageList = Lists.partition(gatekeeperOrderPageResult, param.getPageSize());
|
|
|
|
|
- List<GatekeeperOrderResp> walletPageList = pageList.size() >= param.getPageNum() ?
|
|
|
|
|
- pageList.get(param.getPageNum() - 1) : Collections.emptyList();
|
|
|
|
|
-
|
|
|
|
|
- return PageDataResult.success(param.getPageNum(), param.getPageSize(), (long) walletPageList.size(), gatekeeperOrderPageResult);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
/**
|
|
/**
|
|
|
* 构建查询条件并执行分页查询
|
|
* 构建查询条件并执行分页查询
|
|
|
*/
|
|
*/
|
|
@@ -582,6 +541,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);
|
|
@@ -591,28 +554,6 @@ public class GatekeeperOrderService {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- /**
|
|
|
|
|
- * 内存排序
|
|
|
|
|
- * @param param
|
|
|
|
|
- * @param gatekeeperOrderPageResult
|
|
|
|
|
- */
|
|
|
|
|
- private void sort2(GatekeeperOrderQueryParam param, List<GatekeeperOrderResp> gatekeeperOrderPageResult) {
|
|
|
|
|
- log.info("门卫订单内存排序,param:{}, order:{}", JSON.toJSONString(param), JSON.toJSONString(gatekeeperOrderPageResult));
|
|
|
|
|
- if (CollectionUtils.isEmpty(gatekeeperOrderPageResult)) {
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
- // 根据状态进行排序
|
|
|
|
|
- switch (param.getStatus()) {
|
|
|
|
|
- case 4:
|
|
|
|
|
- // 异常车辆: 场内耗时倒序
|
|
|
|
|
- gatekeeperOrderPageResult.sort(Comparator.comparing(GatekeeperOrderResp::getDurationTime).reversed());
|
|
|
|
|
- break;
|
|
|
|
|
- default:
|
|
|
|
|
- break;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
/**
|
|
/**
|
|
|
* 铲车订单状态统计
|
|
* 铲车订单状态统计
|
|
|
* @param param
|
|
* @param param
|