|
@@ -44,63 +44,57 @@ public class WorkerServiceImpl implements WorkerService {
|
|
|
@Transactional
|
|
@Transactional
|
|
|
public Boolean startOrder(Long userId, String userName, WorkOrder workOrderParam) {
|
|
public Boolean startOrder(Long userId, String userName, WorkOrder workOrderParam) {
|
|
|
Boolean flag = true;
|
|
Boolean flag = true;
|
|
|
- try {
|
|
|
|
|
- WorkOrder workOrder = workOrderService.getById(workOrderParam.getId());
|
|
|
|
|
- Truck truck = truckService.getById(workOrder.getTruckId());
|
|
|
|
|
- WorkCycle workCycleOld = workCycleService.getOne(
|
|
|
|
|
- new QueryWrapper<WorkCycle>().eq("truck_id", workOrder.getTruckId()).eq("status", 1));
|
|
|
|
|
- if (workOrder.getType() == 1) {
|
|
|
|
|
- boolean cancelFlag = false;
|
|
|
|
|
- if (truck.getTmsStatus() == 1 || truck.getTmsStatus() == 2) {
|
|
|
|
|
- // 行车状态已开始行车周期
|
|
|
|
|
- // 查询当前是否有中止的装车运单
|
|
|
|
|
- QueryWrapper<WorkOrder> queryWrapper = new QueryWrapper<>();
|
|
|
|
|
- queryWrapper.eq("cycle_id", workCycleOld.getId());
|
|
|
|
|
- queryWrapper.eq("status", 60);
|
|
|
|
|
- queryWrapper.eq("type", 1);
|
|
|
|
|
- List<WorkOrder> calcelList = workOrderService.list(queryWrapper);
|
|
|
|
|
- if (calcelList != null && calcelList.size() > 0) {
|
|
|
|
|
- cancelFlag = true;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- if (cancelFlag) {
|
|
|
|
|
- workOrder.setCycleId(workCycleOld.getId());
|
|
|
|
|
- } else {
|
|
|
|
|
- //1.车辆进入出车前检车状态
|
|
|
|
|
- truck.setTmsStatus(TmsTruckStatus.PRE_CHECK);
|
|
|
|
|
- truckService.updateById(truck);
|
|
|
|
|
- //2.创建行程周期
|
|
|
|
|
- WorkCycle workCycle = new WorkCycle();
|
|
|
|
|
- workCycle.setStartTime(LocalDateTime.now());
|
|
|
|
|
- BeanUtils.copyProperties(truck, workCycle);
|
|
|
|
|
- BeanUtils.copyProperties(workOrder, workCycle);
|
|
|
|
|
- //行车周期执行中
|
|
|
|
|
- workCycle.setStatus(1);
|
|
|
|
|
- workCycleService.save(workCycle);
|
|
|
|
|
-
|
|
|
|
|
- workOrder.setCycleId(workCycle.getId());
|
|
|
|
|
|
|
+ WorkOrder workOrder = workOrderService.getById(workOrderParam.getId());
|
|
|
|
|
+ Truck truck = truckService.getById(workOrder.getTruckId());
|
|
|
|
|
+ WorkCycle workCycleOld = workCycleService.getOne(
|
|
|
|
|
+ new QueryWrapper<WorkCycle>().eq("truck_id", workOrder.getTruckId()).eq("status", 1));
|
|
|
|
|
+ if (workOrder.getType() == 1) {
|
|
|
|
|
+ boolean cancelFlag = false;
|
|
|
|
|
+ if (truck.getTmsStatus() == 1 || truck.getTmsStatus() == 2) {
|
|
|
|
|
+ // 行车状态已开始行车周期
|
|
|
|
|
+ // 查询当前是否有中止的装车运单
|
|
|
|
|
+ QueryWrapper<WorkOrder> queryWrapper = new QueryWrapper<>();
|
|
|
|
|
+ queryWrapper.eq("cycle_id", workCycleOld.getId());
|
|
|
|
|
+ queryWrapper.eq("status", 60);
|
|
|
|
|
+ queryWrapper.eq("type", 1);
|
|
|
|
|
+ List<WorkOrder> calcelList = workOrderService.list(queryWrapper);
|
|
|
|
|
+ if (calcelList != null && calcelList.size() > 0) {
|
|
|
|
|
+ cancelFlag = true;
|
|
|
}
|
|
}
|
|
|
- //3.订单进入前往装车点状态,
|
|
|
|
|
- workOrder.setOrderStatus(WorkOrderEnum.GOTO_ZHUANGCHE_SPOT.orderStatus());
|
|
|
|
|
- workOrder.setExecuteTime(LocalDateTime.now());
|
|
|
|
|
- workOrderService.updateById(workOrder);
|
|
|
|
|
-
|
|
|
|
|
- } else if (workOrder.getType() == 2) {
|
|
|
|
|
- workOrder.setCycleId(workCycleOld.getId());
|
|
|
|
|
- //3.订单进入前往卸车点状态,
|
|
|
|
|
- workOrder.setOrderStatus(WorkOrderEnum.GOTO_XIECHE_SPOT.orderStatus());
|
|
|
|
|
- workOrder.setExecuteTime(LocalDateTime.now());
|
|
|
|
|
- workOrderService.updateById(workOrder);
|
|
|
|
|
}
|
|
}
|
|
|
|
|
+ if (cancelFlag) {
|
|
|
|
|
+ workOrder.setCycleId(workCycleOld.getId());
|
|
|
|
|
+ } else {
|
|
|
|
|
+ //1.车辆进入出车前检车状态
|
|
|
|
|
+ truck.setTmsStatus(TmsTruckStatus.PRE_CHECK);
|
|
|
|
|
+ truckService.updateById(truck);
|
|
|
|
|
+ //2.创建行程周期
|
|
|
|
|
+ WorkCycle workCycle = new WorkCycle();
|
|
|
|
|
+ workCycle.setStartTime(LocalDateTime.now());
|
|
|
|
|
+ BeanUtils.copyProperties(truck, workCycle);
|
|
|
|
|
+ BeanUtils.copyProperties(workOrder, workCycle);
|
|
|
|
|
+ //行车周期执行中
|
|
|
|
|
+ workCycle.setStatus(1);
|
|
|
|
|
+ workCycleService.save(workCycle);
|
|
|
|
|
|
|
|
- //4 记录日志
|
|
|
|
|
- workLogService.logWorkCycleInfo(WorkLogTypeEnum.START, workOrder);
|
|
|
|
|
|
|
+ workOrder.setCycleId(workCycle.getId());
|
|
|
|
|
+ }
|
|
|
|
|
+ //3.订单进入前往装车点状态,
|
|
|
|
|
+ workOrder.setOrderStatus(WorkOrderEnum.GOTO_ZHUANGCHE_SPOT.orderStatus());
|
|
|
|
|
+ workOrder.setExecuteTime(LocalDateTime.now());
|
|
|
|
|
+ workOrderService.updateById(workOrder);
|
|
|
|
|
|
|
|
- } catch (Exception e) {
|
|
|
|
|
- log.error("startOrder:{}", e.getStackTrace());
|
|
|
|
|
- return false;
|
|
|
|
|
|
|
+ } else if (workOrder.getType() == 2) {
|
|
|
|
|
+ workOrder.setCycleId(workCycleOld.getId());
|
|
|
|
|
+ //3.订单进入前往卸车点状态,
|
|
|
|
|
+ workOrder.setOrderStatus(WorkOrderEnum.GOTO_XIECHE_SPOT.orderStatus());
|
|
|
|
|
+ workOrder.setExecuteTime(LocalDateTime.now());
|
|
|
|
|
+ workOrderService.updateById(workOrder);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ //4 记录日志
|
|
|
|
|
+ workLogService.logWorkCycleInfo(WorkLogTypeEnum.START, workOrder);
|
|
|
|
|
+
|
|
|
return flag;
|
|
return flag;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -229,6 +223,7 @@ public class WorkerServiceImpl implements WorkerService {
|
|
|
workCycleService.updateById(workCycle);
|
|
workCycleService.updateById(workCycle);
|
|
|
|
|
|
|
|
//3.并记行车日志
|
|
//3.并记行车日志
|
|
|
|
|
+ workLogService.logWorkCycleInfo(WorkLogTypeEnum.UNLOAD_END, workOrder);
|
|
|
workLogService.logWorkCycleInfo(WorkLogTypeEnum.UNLOAD_COMPLETE, workOrder);
|
|
workLogService.logWorkCycleInfo(WorkLogTypeEnum.UNLOAD_COMPLETE, workOrder);
|
|
|
}
|
|
}
|
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|