wangweiyu 4 лет назад
Родитель
Сommit
f74a94a2c2

+ 4 - 0
src/main/java/com/aoyang/tms/common/WorkLogTypeEnum.java

@@ -65,6 +65,10 @@ public enum WorkLogTypeEnum {
 
     REST_END(94, "结束\"途中休息\""),
 
+    CHECK_START(95, "开始\"途中维修\""),
+
+    CHECK_END(96, "结束\"途中维修\""),
+
     ;
 
 

+ 18 - 5
src/main/java/com/aoyang/tms/controller/WorkerController.java

@@ -30,6 +30,9 @@ import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
 import java.time.LocalDateTime;
 import java.util.List;
+import java.util.Objects;
+
+import static com.aoyang.tms.util.DateUtils.getLocalDateTimeStr;
 
 /**
  * @Description: 作业人员相关接口
@@ -191,9 +194,10 @@ public class WorkerController {
         restInfo.setCreaterName(utf8Name);
         restInfo.setCreateDate(LocalDateTime.now());
         Boolean flag = restInfoService.save(restInfo);
-        workLogService.logWorkCycleInfo(WorkLogTypeEnum.REST_START, null, workCycle.getId() + "", workCycle.getTruckId() + "");
-        workLogService.logWorkCycleInfo(WorkLogTypeEnum.REST_END, null, workCycle.getId() + "", workCycle.getTruckId() + "",
-                DateUtils.betweenTime(restInfo.getStartTime(), restInfo.getEndTime()));
+        workLogService.logWorkCycleInfo(WorkLogTypeEnum.REST_START, null, userId + "", userName,
+                workCycle.getId() + "", workCycle.getTruckId() + "", getLocalDateTimeStr(restInfo.getEndTime()));
+        workLogService.logWorkCycleInfo(WorkLogTypeEnum.REST_END, null, userId + "", userName, workCycle.getId() + "",
+                workCycle.getTruckId() + "", getLocalDateTimeStr(restInfo.getEndTime()), DateUtils.betweenTime(restInfo.getStartTime(), restInfo.getEndTime()));
         return new Result<>(flag);
     }
 
@@ -222,8 +226,10 @@ public class WorkerController {
         truckRepairInfo.setCreaterName(utf8Name);
         truckRepairInfo.setCreateDate(LocalDateTime.now());
         Boolean flag = truckRepairInfoService.save(truckRepairInfo);
-        workLogService.logWorkCycleInfo(WorkLogTypeEnum.REPAIR_START, null, workCycle.getId() + "", workCycle.getTruckId() + "");
-        workLogService.logWorkCycleInfo(WorkLogTypeEnum.REPAIR_END, null, workCycle.getId() + "", workCycle.getTruckId() + "",
+        workLogService.logWorkCycleInfo(WorkLogTypeEnum.REPAIR_START, null, userId + "", userName,
+                workCycle.getId() + "", workCycle.getTruckId() + "", getLocalDateTimeStr(truckRepairInfo.getStartTime()));
+        workLogService.logWorkCycleInfo(WorkLogTypeEnum.REPAIR_END, null, userId + "", userName,
+                workCycle.getId() + "", workCycle.getTruckId() + "", getLocalDateTimeStr(truckRepairInfo.getEndTime()),
                 DateUtils.betweenTime(truckRepairInfo.getStartTime(), truckRepairInfo.getEndTime()));
         return new Result<>(flag);
     }
@@ -261,6 +267,13 @@ public class WorkerController {
         truckCheckInfo.setCreaterName(utf8Name);
         truckCheckInfo.setCreateDate(LocalDateTime.now());
         Boolean flag = truckCheckInfoService.saveOrUpdate(truckCheckInfo);
+        if (Objects.equals(truckCheckInfo.getType(),3)) {
+            workLogService.logWorkCycleInfo(WorkLogTypeEnum.CHECK_START, null, userId + "", userName,
+                    workCycle.getId() + "", workCycle.getTruckId() + "", getLocalDateTimeStr(truckCheckInfo.getEndTime()));
+            workLogService.logWorkCycleInfo(WorkLogTypeEnum.CHECK_END, null, userId + "", userName,
+                    workCycle.getId() + "", workCycle.getTruckId() + "", getLocalDateTimeStr(truckCheckInfo.getEndTime()),
+                    DateUtils.betweenTime(truckCheckInfo.getStartTime(), truckCheckInfo.getEndTime()));
+        }
         return new Result<>(flag);
     }
 

+ 2 - 2
src/main/java/com/aoyang/tms/job/SpotCheckJob.java

@@ -120,7 +120,7 @@ public class SpotCheckJob {
                                 workOrderService.updateById(workOrder);
                                 // 记录行车日志
                                 workLogService.logWorkCycleInfo(workOrder.getType() == 1?
-                                        WorkLogTypeEnum.ENTER_LOAD_SPOT : WorkLogTypeEnum.ENTER_UNLOAD_SPOT, workOrder);
+                                        WorkLogTypeEnum.ENTER_LOAD_SPOT : WorkLogTypeEnum.ENTER_UNLOAD_SPOT, workOrder, "0", "admin");
                                 break;
                             }
                         }
@@ -143,7 +143,7 @@ public class SpotCheckJob {
                                 workOrderService.updateById(workOrder);
                                 // 记录行车日志
                                 workLogService.logWorkCycleInfo(workOrder.getType() == 1?
-                                        WorkLogTypeEnum.ENTER_LOAD_SPOT : WorkLogTypeEnum.ENTER_UNLOAD_SPOT, workOrder);
+                                        WorkLogTypeEnum.ENTER_LOAD_SPOT : WorkLogTypeEnum.ENTER_UNLOAD_SPOT, workOrder,"0", "admin");
                                 break;
                             }
                         }

+ 16 - 10
src/main/java/com/aoyang/tms/service/impl/WorkLogServiceImpl.java

@@ -13,6 +13,8 @@ import org.springframework.stereotype.Service;
 
 import java.time.LocalDateTime;
 
+import static com.aoyang.tms.util.DateUtils.getLocalDateTime;
+
 /**
  * <p>
  * 车辆行车日志表 服务实现类
@@ -80,7 +82,7 @@ public class WorkLogServiceImpl extends ServiceImpl<WorkLogMapper, WorkLog> impl
             workLog.setId(null);
             // 日志内容
             String content = "";
-            workLog.setUrl(args[0]);
+            workLog.setUrl(args[2]);
             workLog.setNote("(用时" + DateUtils.betweenTime(workOrder.getExecuteTime(), LocalDateTime.now()) + ")");
             workLog.setOrderId(workOrder.getId()+"");
             workLog.setCreaterName(workLog.getCreaterName());
@@ -240,19 +242,21 @@ public class WorkLogServiceImpl extends ServiceImpl<WorkLogMapper, WorkLog> impl
             workLog.setNote(content);
             workLog.setOrderId(workOrder.getId()+"");
             workLog.setCreateDate(LocalDateTime.now());
-        } else if (logType.equals(WorkLogTypeEnum.REPAIR_START) || logType.equals(WorkLogTypeEnum.REST_START)) {
+        } else if (logType.equals(WorkLogTypeEnum.REPAIR_START) || logType.equals(WorkLogTypeEnum.REST_START) ||
+                logType.equals(WorkLogTypeEnum.CHECK_START)) {
             // 开始"途中维修"
-            workLog.setCycleId(Long.parseLong(args[0]));
-            workLog.setTruckId(Long.parseLong(args[1]));
-            workLog.setCreateDate(LocalDateTime.now());
-        } else if (logType.equals(WorkLogTypeEnum.REPAIR_END) || logType.equals(WorkLogTypeEnum.REST_END)) {
+            workLog.setCycleId(Long.parseLong(args[2]));
+            workLog.setTruckId(Long.parseLong(args[3]));
+            workLog.setCreateDate(getLocalDateTime(args[4]));
+        } else if (logType.equals(WorkLogTypeEnum.REPAIR_END) || logType.equals(WorkLogTypeEnum.REST_END) ||
+                logType.equals(WorkLogTypeEnum.CHECK_END)) {
             // 结束"途中维修"
-            workLog.setCycleId(Long.parseLong(args[0]));
-            workLog.setTruckId(Long.parseLong(args[1]));
+            workLog.setCycleId(Long.parseLong(args[2]));
+            workLog.setTruckId(Long.parseLong(args[3]));
             // 日志内容
-            String content = "(用时" + args[2] + ")";
+            String content = "(用时" + args[5] + ")";
             workLog.setNote(content);
-            workLog.setCreateDate(LocalDateTime.now());
+            workLog.setCreateDate(getLocalDateTime(args[4]));
         } else {
             // 通用处理
             if (workOrder == null) {
@@ -270,6 +274,8 @@ public class WorkLogServiceImpl extends ServiceImpl<WorkLogMapper, WorkLog> impl
 
         workLog.setTitle(logType.workLogTitle);
         workLog.setType(logType.type);
+        workLog.setCreater(Long.parseLong(args[0]));
+        workLog.setCreaterName(args[1]);
 
         return save(workLog);
     }

+ 15 - 14
src/main/java/com/aoyang/tms/service/impl/WorkerServiceImpl.java

@@ -82,7 +82,7 @@ public class WorkerServiceImpl implements WorkerService {
                     BeanUtils.copyProperties(workOrder, logOrder);
                     logOrder.setCreater(userId);
                     logOrder.setCreaterName(userName);
-                    workLogService.logWorkCycleInfo(WorkLogTypeEnum.LOAD_ORDER_NEW_START, logOrder);
+                    workLogService.logWorkCycleInfo(WorkLogTypeEnum.LOAD_ORDER_NEW_START, logOrder, userId + "", userName);
                 }
                 //1.车辆进入出车前检车状态
                 truck.setTmsStatus(TmsTruckStatus.PRE_CHECK);
@@ -113,7 +113,7 @@ public class WorkerServiceImpl implements WorkerService {
             //插入日志
             workOrder.setCreater(userId);
             workOrder.setCreaterName(userName);
-            workLogService.logWorkCycleInfo(WorkLogTypeEnum.LOAD_ORDER_START, workOrder);
+            workLogService.logWorkCycleInfo(WorkLogTypeEnum.LOAD_ORDER_START, workOrder, userId + "", userName);
 
         } else if (workOrder.getType() == 2) {
             if (!zhongFlag) {
@@ -131,7 +131,7 @@ public class WorkerServiceImpl implements WorkerService {
             //插入日志
             workOrder.setCreater(userId);
             workOrder.setCreaterName(userName);
-            workLogService.logWorkCycleInfo(WorkLogTypeEnum.UNLOAD_ORDER_START, workOrder);
+            workLogService.logWorkCycleInfo(WorkLogTypeEnum.UNLOAD_ORDER_START, workOrder, userId + "", userName);
         }
 
 
@@ -152,7 +152,8 @@ public class WorkerServiceImpl implements WorkerService {
                 //4 记录日志
                 workOrder.setCreater(userId);
                 workOrder.setCreaterName(userName);
-                workLogService.logWorkCycleInfo(WorkLogTypeEnum.FINISH_PRE_CHECK, workOrder, truckCheckInfo.getCheckUrl());
+                workLogService.logWorkCycleInfo(WorkLogTypeEnum.FINISH_PRE_CHECK, workOrder, userId + "", userName,
+                        truckCheckInfo.getCheckUrl());
             }
         } catch (Exception e) {
             log.error("startOrder:{}", e);
@@ -182,9 +183,9 @@ public class WorkerServiceImpl implements WorkerService {
                 workOrder.setCreater(userId);
                 workOrder.setCreaterName(userName);
                 if (workOrder.getType() == 1) {
-                    workLogService.logWorkCycleInfo(WorkLogTypeEnum.LOAD_POINT_ARRIVED, workOrder);
+                    workLogService.logWorkCycleInfo(WorkLogTypeEnum.LOAD_POINT_ARRIVED, workOrder, userId + "", userName);
                 } else {
-                    workLogService.logWorkCycleInfo(WorkLogTypeEnum.UNLOAD_POINT_ARRIVED, workOrder);
+                    workLogService.logWorkCycleInfo(WorkLogTypeEnum.UNLOAD_POINT_ARRIVED, workOrder, userId + "", userName);
                 }
             }
         } catch (Exception e) {
@@ -230,9 +231,9 @@ public class WorkerServiceImpl implements WorkerService {
                 workOrder.setCreater(userId);
                 workOrder.setCreaterName(userName);
                 if (workOrder.getType() == 1) {
-                    workLogService.logWorkCycleInfo(WorkLogTypeEnum.LOAD_START, workOrder);
+                    workLogService.logWorkCycleInfo(WorkLogTypeEnum.LOAD_START, workOrder, userId + "", userName);
                 } else {
-                    workLogService.logWorkCycleInfo(WorkLogTypeEnum.UNLOAD_START, workOrder);
+                    workLogService.logWorkCycleInfo(WorkLogTypeEnum.UNLOAD_START, workOrder, userId + "", userName);
                 }
             }
         } catch (Exception e) {
@@ -287,11 +288,11 @@ public class WorkerServiceImpl implements WorkerService {
             workOrder.setCreater(userId);
             workOrder.setCreaterName(userName);
             if (workOrder.getType() == 1) {
-                workLogService.logWorkCycleInfo(WorkLogTypeEnum.LOAD_END, workOrder);
-                workLogService.logWorkCycleInfo(WorkLogTypeEnum.LOAD_COMPLETE, workOrder);
+                workLogService.logWorkCycleInfo(WorkLogTypeEnum.LOAD_END, workOrder, userId + "", userName);
+                workLogService.logWorkCycleInfo(WorkLogTypeEnum.LOAD_COMPLETE, workOrder, userId + "", userName);
             } else {
-                workLogService.logWorkCycleInfo(WorkLogTypeEnum.UNLOAD_END, workOrder);
-                workLogService.logWorkCycleInfo(WorkLogTypeEnum.UNLOAD_COMPLETE, workOrder);
+                workLogService.logWorkCycleInfo(WorkLogTypeEnum.UNLOAD_END, workOrder, userId + "", userName);
+                workLogService.logWorkCycleInfo(WorkLogTypeEnum.UNLOAD_COMPLETE, workOrder, userId + "", userName);
             }
 
         }
@@ -313,7 +314,7 @@ public class WorkerServiceImpl implements WorkerService {
                 //2 记录日志
                 workOrder.setCreater(userId);
                 workOrder.setCreaterName(userName);
-                workLogService.logWorkCycleInfo(WorkLogTypeEnum.RETURN_POINT_ARRIVED, workOrder);
+                workLogService.logWorkCycleInfo(WorkLogTypeEnum.RETURN_POINT_ARRIVED, workOrder, userId + "", userName);
             }
         } catch (Exception e) {
             log.error("startOrder:{}", e.getStackTrace());
@@ -366,7 +367,7 @@ public class WorkerServiceImpl implements WorkerService {
             //4 记录日志
             workOrderParam.setCreater(userId);
             workOrderParam.setCreaterName(userName);
-            workLogService.logWorkCycleInfo(WorkLogTypeEnum.CLOSED, workOrderParam);
+            workLogService.logWorkCycleInfo(WorkLogTypeEnum.CLOSED, workOrderParam, userId + "", userName);
         } catch (Exception e) {
             log.error("startOrder:{}", e);
             return false;

+ 24 - 0
src/main/java/com/aoyang/tms/util/DateUtils.java

@@ -1,9 +1,12 @@
 package com.aoyang.tms.util;
 
+import org.apache.tomcat.jni.Local;
+
 import java.text.DateFormat;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.Calendar;
 import java.util.Date;
 
@@ -15,6 +18,27 @@ import java.util.Date;
  */
 
 public class DateUtils {
+
+    private static final DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+
+    /**
+     * LocalDateTIme转换String
+     *
+     * @return
+     */
+    public static String getLocalDateTimeStr(LocalDateTime time) {
+        return df.format(time);
+    }
+
+    /**
+     * 通过Date类获取时间
+     *
+     * @return
+     */
+    public static LocalDateTime getLocalDateTime(String strLocalTime) {
+        return LocalDateTime.parse(strLocalTime, df);
+    }
+
     /**
      * 通过Date类获取时间
      *