|
|
@@ -55,6 +55,43 @@ public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder
|
|
|
private WorkOrderReadinfoService workOrderReadinfoService;
|
|
|
|
|
|
@Override
|
|
|
+ public List<WorkOrder> findTodoOrderList(Long truckId, int orderType) {
|
|
|
+ QueryWrapper<WorkOrder> queryWrapper = new QueryWrapper<WorkOrder>();
|
|
|
+ queryWrapper.eq("truck_id", truckId);
|
|
|
+ queryWrapper.eq("type", orderType);
|
|
|
+ queryWrapper.eq("order_status", WorkOrderEnum.TODO.orderStatus());
|
|
|
+ //计划到达时间 由先及后 排序
|
|
|
+ queryWrapper.orderByAsc("plan_reach_time");
|
|
|
+ return workOrderMapper.selectList(queryWrapper);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public WorkOrder findFirstTodoOrder(Long truckId, int orderType) {
|
|
|
+ QueryWrapper<WorkOrder> queryWrapper = new QueryWrapper<WorkOrder>();
|
|
|
+ queryWrapper.eq("truck_id", truckId);
|
|
|
+ queryWrapper.eq("type", orderType);
|
|
|
+ queryWrapper.eq("order_status", WorkOrderEnum.TODO.orderStatus());
|
|
|
+ //计划到达时间 由先及后 排序
|
|
|
+ queryWrapper.orderByAsc("plan_reach_time");
|
|
|
+ queryWrapper.last("limit 1");
|
|
|
+ return workOrderMapper.selectOne(queryWrapper);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public WorkOrder findWorkingOrder(Long truckId, int orderType) {
|
|
|
+ QueryWrapper<WorkOrder> queryWrapper = new QueryWrapper<WorkOrder>();
|
|
|
+ queryWrapper.eq("truck_id", truckId);
|
|
|
+ queryWrapper.eq("type", orderType);
|
|
|
+ List<Integer> statusList = new ArrayList<>();
|
|
|
+ statusList.add(WorkOrderEnum.GOTO_ZHUANGCHE_SPOT.orderStatus());
|
|
|
+ statusList.add(WorkOrderEnum.GOTO_XIECHE_SPOT.orderStatus());
|
|
|
+ statusList.add(WorkOrderEnum.ZHUANGCHE_RESULT_SUBMIT.orderStatus());
|
|
|
+ queryWrapper.in("order_status", statusList);
|
|
|
+ queryWrapper.last("limit 1");
|
|
|
+ return workOrderMapper.selectOne(queryWrapper);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
public WorkOrder findLastWorkOrder(Long truckId) {
|
|
|
QueryWrapper<WorkOrder> queryWrapper = new QueryWrapper<WorkOrder>();
|
|
|
queryWrapper.eq("truck_id", truckId);
|
|
|
@@ -67,26 +104,25 @@ public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder
|
|
|
@Override
|
|
|
public List<WorkOrderVO> findWorkOrderList(Long userId, WorkOrder workOrderParam) {
|
|
|
|
|
|
- //先看空车重车
|
|
|
- // 如果是空车,查找执行中的,有显示;如果没有,则查找第一个按照计划从早到晚的装车;
|
|
|
- // 如果是重车,查找所有卸车单,从早到晚
|
|
|
+ List<WorkOrder> list = new ArrayList<>();
|
|
|
+ boolean zhongFlag = commonService.checkTruckZhong(workOrderParam.getTruckId());
|
|
|
+ // 如果当前车辆是空车,查找执行中的装车运单,有显示;如果没有,则查找第一个按照计划从早到晚的待执行装车;
|
|
|
+ if (!zhongFlag) {
|
|
|
+ WorkOrder workOrder = findWorkingOrder(workOrderParam.getTruckId(), 1);
|
|
|
+ if (workOrder == null) {
|
|
|
+ workOrder = findFirstTodoOrder(workOrderParam.getTruckId(), 1);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (workOrder != null) {
|
|
|
+ list.add(workOrder);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 如果当前车辆是重车,查找所有待执行卸车单
|
|
|
+ if (zhongFlag) {
|
|
|
+ list = findTodoOrderList(workOrderParam.getTruckId(), 2);
|
|
|
+ }
|
|
|
|
|
|
- //查询执行中的装车运单
|
|
|
- //查询执行中的卸车运单
|
|
|
- QueryWrapper<WorkOrder> queryWrapper = new QueryWrapper<WorkOrder>();
|
|
|
- queryWrapper.eq("truck_id", workOrderParam.getTruckId());
|
|
|
- List<Integer> statusList = new ArrayList<>();
|
|
|
- statusList.add(WorkOrderEnum.TODO.orderStatus());
|
|
|
- statusList.add(WorkOrderEnum.GOTO_ZHUANGCHE_SPOT.orderStatus());
|
|
|
- statusList.add(WorkOrderEnum.GOTO_XIECHE_SPOT.orderStatus());
|
|
|
- statusList.add(WorkOrderEnum.ZHUANGCHE_RESULT_SUBMIT.orderStatus());
|
|
|
- statusList.add(WorkOrderEnum.XIECHE_RESULT_SUBMIT.orderStatus());
|
|
|
- statusList.add(WorkOrderEnum.ZHUANGCHE_WAIT.orderStatus());
|
|
|
- statusList.add(WorkOrderEnum.XIECHE_WAIT.orderStatus());
|
|
|
- queryWrapper.in("order_status", statusList);
|
|
|
- //计划到达时间 由先及后 排序
|
|
|
- queryWrapper.orderByAsc("plan_reach_time");
|
|
|
- List<WorkOrder> list = workOrderMapper.selectList(queryWrapper);
|
|
|
List<WorkOrderVO> vos = new ArrayList<WorkOrderVO>();
|
|
|
if (list != null && list.size() > 0) {
|
|
|
for (WorkOrder workOrder : list) {
|