|
@@ -247,58 +247,53 @@ public class WorkerServiceImpl implements WorkerService {
|
|
|
@Transactional
|
|
@Transactional
|
|
|
public Boolean finishOrder(Long userId, String userName, WorkOrder workOrderParam) {
|
|
public Boolean finishOrder(Long userId, String userName, WorkOrder workOrderParam) {
|
|
|
Boolean flag = true;
|
|
Boolean flag = true;
|
|
|
- try {
|
|
|
|
|
- WorkOrder workOrder = workOrderService.getById(workOrderParam.getId());
|
|
|
|
|
- if (workOrder != null) {
|
|
|
|
|
- //1.车辆进入收车中状态
|
|
|
|
|
- Truck truck = truckService.getById(workOrder.getTruckId());
|
|
|
|
|
-
|
|
|
|
|
- //2.订单完成状态
|
|
|
|
|
- workOrder.setOrderStatus(WorkOrderEnum.COMPLETED.orderStatus());
|
|
|
|
|
- workOrder.setCompleteTime(LocalDateTime.now());
|
|
|
|
|
- workOrder.setWeightingListNo(workOrderParam.getWeightingListNo());
|
|
|
|
|
- workOrder.setWeightingListUrl(workOrderParam.getWeightingListUrl());
|
|
|
|
|
- workOrder.setPiWeight(workOrderParam.getPiWeight());
|
|
|
|
|
- workOrder.setMaoWeight(workOrderParam.getMaoWeight());
|
|
|
|
|
- workOrder.setJingWeight(workOrderParam.getJingWeight());
|
|
|
|
|
- workOrder.setActualWeight(workOrderParam.getJingWeight());
|
|
|
|
|
- workOrder.setActualLeaveTime(LocalDateTime.now());
|
|
|
|
|
- workOrderService.updateById(workOrder);
|
|
|
|
|
-
|
|
|
|
|
- //3.更新行车周期中的净重
|
|
|
|
|
- WorkCycle workCycle = workCycleService.getById(workOrder.getCycleId());
|
|
|
|
|
- int jingWeight = workCycle.getJingWeight();
|
|
|
|
|
- if (workOrder.getType() == 1) {
|
|
|
|
|
- jingWeight = jingWeight + Integer.valueOf(workOrderParam.getJingWeight());
|
|
|
|
|
- } else {
|
|
|
|
|
- jingWeight = jingWeight - Integer.valueOf(workOrderParam.getJingWeight());
|
|
|
|
|
- // 卸车后磅单 装车净重 与 累计 卸车净重 之差 在 ± 1000 kg 以内,则由 重车 变为 空车;
|
|
|
|
|
- if (jingWeight < 1000) {
|
|
|
|
|
- jingWeight = 0;
|
|
|
|
|
- // 卸车完成,行车状态进入收车中状态
|
|
|
|
|
- truck.setTmsStatus(TmsTruckStatus.RETURNING);
|
|
|
|
|
- truckService.updateById(truck);
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- workCycle.setJingWeight(jingWeight);
|
|
|
|
|
- workCycleService.updateById(workCycle);
|
|
|
|
|
- log.info("finishOrder workCycle:{}", JSON.toJSONString(workCycle));
|
|
|
|
|
|
|
+ WorkOrder workOrder = workOrderService.getById(workOrderParam.getId());
|
|
|
|
|
+ if (workOrder != null) {
|
|
|
|
|
+ //1.车辆进入收车中状态
|
|
|
|
|
+ Truck truck = truckService.getById(workOrder.getTruckId());
|
|
|
|
|
+
|
|
|
|
|
+ //2.订单完成状态
|
|
|
|
|
+ workOrder.setOrderStatus(WorkOrderEnum.COMPLETED.orderStatus());
|
|
|
|
|
+ workOrder.setCompleteTime(LocalDateTime.now());
|
|
|
|
|
+ workOrder.setWeightingListNo(workOrderParam.getWeightingListNo());
|
|
|
|
|
+ workOrder.setWeightingListUrl(workOrderParam.getWeightingListUrl());
|
|
|
|
|
+ workOrder.setPiWeight(workOrderParam.getPiWeight());
|
|
|
|
|
+ workOrder.setMaoWeight(workOrderParam.getMaoWeight());
|
|
|
|
|
+ workOrder.setJingWeight(workOrderParam.getJingWeight());
|
|
|
|
|
+ workOrder.setActualWeight(workOrderParam.getJingWeight());
|
|
|
|
|
+ workOrder.setActualLeaveTime(LocalDateTime.now());
|
|
|
|
|
+ workOrderService.updateById(workOrder);
|
|
|
|
|
|
|
|
- //3.并记行车日志
|
|
|
|
|
- workOrder.setCreater(userId);
|
|
|
|
|
- workOrder.setCreaterName(userName);
|
|
|
|
|
- if (workOrder.getType() == 1) {
|
|
|
|
|
- workLogService.logWorkCycleInfo(WorkLogTypeEnum.LOAD_END, workOrder);
|
|
|
|
|
- workLogService.logWorkCycleInfo(WorkLogTypeEnum.LOAD_COMPLETE, workOrder);
|
|
|
|
|
- } else {
|
|
|
|
|
- workLogService.logWorkCycleInfo(WorkLogTypeEnum.UNLOAD_END, workOrder);
|
|
|
|
|
- workLogService.logWorkCycleInfo(WorkLogTypeEnum.UNLOAD_COMPLETE, workOrder);
|
|
|
|
|
|
|
+ //3.更新行车周期中的净重
|
|
|
|
|
+ WorkCycle workCycle = workCycleService.getById(workOrder.getCycleId());
|
|
|
|
|
+ int jingWeight = workCycle.getJingWeight();
|
|
|
|
|
+ if (workOrder.getType() == 1) {
|
|
|
|
|
+ jingWeight = jingWeight + Integer.valueOf(workOrderParam.getJingWeight());
|
|
|
|
|
+ } else {
|
|
|
|
|
+ jingWeight = jingWeight - Integer.valueOf(workOrderParam.getJingWeight());
|
|
|
|
|
+ // 卸车后磅单 装车净重 与 累计 卸车净重 之差 在 ± 1000 kg 以内,则由 重车 变为 空车;
|
|
|
|
|
+ if (jingWeight < 1000) {
|
|
|
|
|
+ jingWeight = 0;
|
|
|
|
|
+ // 卸车完成,行车状态进入收车中状态
|
|
|
|
|
+ truck.setTmsStatus(TmsTruckStatus.RETURNING);
|
|
|
|
|
+ truckService.updateById(truck);
|
|
|
}
|
|
}
|
|
|
|
|
+ }
|
|
|
|
|
+ workCycle.setJingWeight(jingWeight);
|
|
|
|
|
+ workCycleService.updateById(workCycle);
|
|
|
|
|
+ log.info("finishOrder workCycle:{}", JSON.toJSONString(workCycle));
|
|
|
|
|
|
|
|
|
|
+ //3.并记行车日志
|
|
|
|
|
+ workOrder.setCreater(userId);
|
|
|
|
|
+ workOrder.setCreaterName(userName);
|
|
|
|
|
+ if (workOrder.getType() == 1) {
|
|
|
|
|
+ workLogService.logWorkCycleInfo(WorkLogTypeEnum.LOAD_END, workOrder);
|
|
|
|
|
+ workLogService.logWorkCycleInfo(WorkLogTypeEnum.LOAD_COMPLETE, workOrder);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ workLogService.logWorkCycleInfo(WorkLogTypeEnum.UNLOAD_END, workOrder);
|
|
|
|
|
+ workLogService.logWorkCycleInfo(WorkLogTypeEnum.UNLOAD_COMPLETE, workOrder);
|
|
|
}
|
|
}
|
|
|
- } catch (Exception e) {
|
|
|
|
|
- log.error("startOrder:{}", e.getStackTrace());
|
|
|
|
|
- return false;
|
|
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
return flag;
|
|
return flag;
|