Browse Source

feat:行车日志

wangweiyu 4 năm trước cách đây
mục cha
commit
4fbfe6cafc

+ 24 - 1
src/main/java/com/aoyang/tms/service/impl/WorkLogServiceImpl.java

@@ -85,7 +85,7 @@ public class WorkLogServiceImpl extends ServiceImpl<WorkLogMapper, WorkLog> impl
             workLog.setCreaterName(workLog.getCreaterName());
             workLog.setCreateDate(LocalDateTime.now());
         } else if (logType.equals(WorkLogTypeEnum.LOAD_START)) {
-            // 开始作业,成功上报
+            // 开始作业,成果上报开始
             if (workOrder == null) {
                 log.error("记录执行装车订单日志错误:运单不存在");
                 return false;
@@ -95,6 +95,29 @@ public class WorkLogServiceImpl extends ServiceImpl<WorkLogMapper, WorkLog> impl
             workLog.setCycleId(workOrder.getCycleId());
             workLog.setNote("开始装车");
             workLog.setCreateDate(LocalDateTime.now());
+        } else if (logType.equals(WorkLogTypeEnum.LOAD_END)) {
+            // 结束作业,成功上报完成
+            if (workOrder == null) {
+                log.error("记录执行装车订单日志错误:运单不存在");
+                return false;
+            }
+            BeanUtils.copyProperties(workOrder, workLog);
+            workLog.setId(null);
+            workLog.setCycleId(workOrder.getCycleId());
+            workLog.setNote("结束装车");
+            workLog.setCreateDate(LocalDateTime.now());
+        } else if (logType.equals(WorkLogTypeEnum.UNLOAD_COMPLETE)) {
+            // 报备完成,结束卸车
+            if (workOrder == null) {
+                log.error("记录执行装车订单日志错误:运单不存在");
+                return false;
+            }
+            BeanUtils.copyProperties(workOrder, workLog);
+            workLog.setId(null);
+            workLog.setCycleId(workOrder.getCycleId());
+            // 日志内容
+            workLog.setNote("结束卸车");
+            workLog.setCreateDate(LocalDateTime.now());
         } else if ( 1 == 2) {
             // TODO others
             workLog.setNote("lalallala");

+ 46 - 51
src/main/java/com/aoyang/tms/service/impl/WorkerServiceImpl.java

@@ -44,63 +44,57 @@ public class WorkerServiceImpl implements WorkerService {
     @Transactional
     public Boolean startOrder(Long userId, String userName, WorkOrder workOrderParam) {
         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;
     }
 
@@ -229,6 +223,7 @@ public class WorkerServiceImpl implements WorkerService {
                 workCycleService.updateById(workCycle);
 
                 //3.并记行车日志
+                workLogService.logWorkCycleInfo(WorkLogTypeEnum.UNLOAD_END, workOrder);
                 workLogService.logWorkCycleInfo(WorkLogTypeEnum.UNLOAD_COMPLETE, workOrder);
             }
         } catch (Exception e) {