From 08f95b2f159b56fa3bd4f4b348855989de8aa456 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期四, 18 十二月 2025 21:48:18 +0800
Subject: [PATCH] feat: vehicle

---
 ruoyi-system/src/main/java/com/ruoyi/system/domain/SysTask.java |  115 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 113 insertions(+), 2 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysTask.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysTask.java
index 99c8bad..b6e913e 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysTask.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysTask.java
@@ -32,6 +32,18 @@
     @Excel(name = "浠诲姟鐘舵��", readConverterExp = "PENDING=寰呭紑濮�,IN_PROGRESS=浠诲姟涓�,COMPLETED=宸插畬鎴�,CANCELLED=宸插彇娑�")
     private String taskStatus;
 
+    /** 鏄惁鎬婚儴鎺ㄩ�� */
+    @Excel(name = "鏄惁鎬婚儴鎺ㄩ��", readConverterExp = "0=鍚�,1=鏄�")
+    private String isHeadPush;
+
+
+    public void setIsHeadPush(String isHeadPush) {
+        this.isHeadPush = isHeadPush;
+    }
+
+    public String getIsHeadPush() {
+        return isHeadPush;
+    }
     /** 浠诲姟鎻忚堪 */
     @Excel(name = "浠诲姟鎻忚堪")
     private String taskDescription;
@@ -88,6 +100,8 @@
     @Excel(name = "鍒涘缓浜篒D")
     private Long creatorId;
 
+
+
     /** 鎵ц浜篒D */
     @Excel(name = "鎵ц浜篒D")
     private Long assigneeId;
@@ -108,8 +122,15 @@
     @Excel(name = "閮ㄩ棬鍚嶇О")
     private String deptName;
 
+    /** 杞︾墝鍙�(鍒楄〃鏄剧ず绗竴杈嗚溅) */
+    @Excel(name = "杞︾墝鍙�")
+    private String vehicleNo;
+
     /** 鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 2浠h〃鍒犻櫎锛� */
     private String delFlag;
+
+    /** 鏃х郴缁熷悓姝ユ爣璁帮細0-鏈悓姝ワ紝1-宸插悓姝� */
+    private Integer legacySynced;
 
     /** 鍏宠仈杞﹁締鍒楄〃 */
     private List<SysTaskVehicle> assignedVehicles;
@@ -119,6 +140,37 @@
 
     /** 鎿嶄綔鏃ュ織鍒楄〃 */
     private List<SysTaskLog> operationLogs;
+
+    /** 鎵ц浜哄憳鍒楄〃 */
+    private List<SysTaskAssignee> assignees;
+
+    /** 鎬ユ晳杞繍鎵╁睍淇℃伅 */
+    private SysTaskEmergency emergencyInfo;
+
+    /** 绂忕杞︽墿灞曚俊鎭� */
+    private SysTaskWelfare welfareInfo;
+
+    private String showTaskCode;
+    public void setShowTaskCode(String showTaskCode) {
+         showTaskCode=this.showTaskCode;
+    }
+    /**
+     * 鑾峰彇鏄剧ず浠诲姟缂栧彿锛屼紭鍏堣繑鍥炴�ユ晳杞繍鐨勮皟搴﹀崟缂栧彿锛屽叾娆℃槸鏈嶅姟鍗曠紪鍙凤紝鏈�鍚庢槸浠诲姟缂栧彿
+     */
+    public String getShowTaskCode(){
+
+        if(this.emergencyInfo!=null){
+            String dispatchOrdCode=this.emergencyInfo.getDispatchCode();
+            if(dispatchOrdCode!=null){
+                return dispatchOrdCode;
+            }
+            String serviceOrdCode=this.emergencyInfo.getServiceCode();
+            if(serviceOrdCode!=null){
+                return serviceOrdCode;
+            }
+        }
+        return this.taskCode;
+    }
 
     public void setTaskId(Long taskId) {
         this.taskId = taskId;
@@ -296,12 +348,28 @@
         return deptName;
     }
 
+    public void setVehicleNo(String vehicleNo) {
+        this.vehicleNo = vehicleNo;
+    }
+
+    public String getVehicleNo() {
+        return vehicleNo;
+    }
+
     public void setDelFlag(String delFlag) {
         this.delFlag = delFlag;
     }
 
     public String getDelFlag() {
         return delFlag;
+    }
+
+    public void setLegacySynced(Integer legacySynced) {
+        this.legacySynced = legacySynced;
+    }
+
+    public Integer getLegacySynced() {
+        return legacySynced;
     }
 
     public void setAssignedVehicles(List<SysTaskVehicle> assignedVehicles) {
@@ -328,6 +396,30 @@
         return operationLogs;
     }
 
+    public void setEmergencyInfo(SysTaskEmergency emergencyInfo) {
+        this.emergencyInfo = emergencyInfo;
+    }
+
+    public SysTaskEmergency getEmergencyInfo() {
+        return emergencyInfo;
+    }
+
+    public void setWelfareInfo(SysTaskWelfare welfareInfo) {
+        this.welfareInfo = welfareInfo;
+    }
+
+    public SysTaskWelfare getWelfareInfo() {
+        return welfareInfo;
+    }
+
+    public void setAssignees(List<SysTaskAssignee> assignees) {
+        this.assignees = assignees;
+    }
+
+    public List<SysTaskAssignee> getAssignees() {
+        return assignees;
+    }
+
     /**
      * 鍒ゆ柇鏄惁鍙互鍙樻洿鐘舵��
      */
@@ -340,15 +432,34 @@
         // 鐘舵�佹祦杞鍒�
         switch (currentStatus) {
             case PENDING:
-                return newStatus == TaskStatus.IN_PROGRESS || newStatus == TaskStatus.CANCELLED;
+                // 寰呭鐞� -> 鍑哄彂涓�佸凡鍙栨秷
+                return newStatus == TaskStatus.DEPARTING || newStatus == TaskStatus.CANCELLED;
+            case DEPARTING:
+                // 鍑哄彂涓� -> 宸插埌杈俱�佸凡鍙栨秷
+                return newStatus == TaskStatus.ARRIVED || newStatus == TaskStatus.CANCELLED;
+            case ARRIVED:
+                // 宸插埌杈� -> 杩旂▼涓�
+                return newStatus == TaskStatus.RETURNING;
+            case RETURNING:
+                // 杩旂▼涓� -> 宸插畬鎴�
+                return newStatus == TaskStatus.COMPLETED;
             case IN_PROGRESS:
+                // 鍏煎鏃ф暟鎹細浠诲姟涓� -> 宸插畬鎴愩�佸凡鍙栨秷銆佸緟澶勭悊
                 return newStatus == TaskStatus.COMPLETED || newStatus == TaskStatus.CANCELLED || newStatus == TaskStatus.PENDING;
             case COMPLETED:
             case CANCELLED:
+                // 宸插畬鎴愩�佸凡鍙栨秷 -> 涓嶅厑璁镐换浣曠姸鎬佸彉鏇�
                 return false;
             default:
                 return false;
         }
+    }
+
+    public void setPlanedStartTime(Date plannedStartTime) {
+        this.plannedStartTime = plannedStartTime;
+    }
+    public Date getPlanedStartTime() {
+        return plannedStartTime;
     }
 
     /**
@@ -426,4 +537,4 @@
                 ", deptName='" + deptName + '\'' +
                 '}';
     }
-}
+}
\ No newline at end of file

--
Gitblit v1.9.1