From 310633feef20e9b77d44fd25e0b41778e033b33b Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期二, 11 十一月 2025 21:48:46 +0800
Subject: [PATCH] feat: 车辆GPS统计,并修改了一些变更任务状态的逻辑

---
 ruoyi-system/src/main/java/com/ruoyi/system/domain/SysTask.java |  109 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 107 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 0286efe..2e5d1a8 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
@@ -44,6 +44,26 @@
     @Excel(name = "鐩殑鍦板潃")
     private String destinationAddress;
 
+    /** 鍑哄彂鍦扮粡搴� */
+    @Excel(name = "鍑哄彂鍦扮粡搴�")
+    private java.math.BigDecimal departureLongitude;
+
+    /** 鍑哄彂鍦扮含搴� */
+    @Excel(name = "鍑哄彂鍦扮含搴�")
+    private java.math.BigDecimal departureLatitude;
+
+    /** 鐩殑鍦扮粡搴� */
+    @Excel(name = "鐩殑鍦扮粡搴�")
+    private java.math.BigDecimal destinationLongitude;
+
+    /** 鐩殑鍦扮含搴� */
+    @Excel(name = "鐩殑鍦扮含搴�")
+    private java.math.BigDecimal destinationLatitude;
+
+    /** 棰勮鍏噷鏁� */
+    @Excel(name = "棰勮鍏噷鏁�")
+    private java.math.BigDecimal estimatedDistance;
+
     /** 璁″垝寮�濮嬫椂闂� */
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @Excel(name = "璁″垝寮�濮嬫椂闂�", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
@@ -91,6 +111,9 @@
     /** 鍒犻櫎鏍囧織锛�0浠h〃瀛樺湪 2浠h〃鍒犻櫎锛� */
     private String delFlag;
 
+    /** 鏃х郴缁熷悓姝ユ爣璁帮細0-鏈悓姝ワ紝1-宸插悓姝� */
+    private Integer legacySynced;
+
     /** 鍏宠仈杞﹁締鍒楄〃 */
     private List<SysTaskVehicle> assignedVehicles;
 
@@ -99,6 +122,12 @@
 
     /** 鎿嶄綔鏃ュ織鍒楄〃 */
     private List<SysTaskLog> operationLogs;
+
+    /** 鎬ユ晳杞繍鎵╁睍淇℃伅 */
+    private SysTaskEmergency emergencyInfo;
+
+    /** 绂忕杞︽墿灞曚俊鎭� */
+    private SysTaskWelfare welfareInfo;
 
     public void setTaskId(Long taskId) {
         this.taskId = taskId;
@@ -154,6 +183,46 @@
 
     public String getDestinationAddress() {
         return destinationAddress;
+    }
+
+    public void setDepartureLongitude(java.math.BigDecimal departureLongitude) {
+        this.departureLongitude = departureLongitude;
+    }
+
+    public java.math.BigDecimal getDepartureLongitude() {
+        return departureLongitude;
+    }
+
+    public void setDepartureLatitude(java.math.BigDecimal departureLatitude) {
+        this.departureLatitude = departureLatitude;
+    }
+
+    public java.math.BigDecimal getDepartureLatitude() {
+        return departureLatitude;
+    }
+
+    public void setDestinationLongitude(java.math.BigDecimal destinationLongitude) {
+        this.destinationLongitude = destinationLongitude;
+    }
+
+    public java.math.BigDecimal getDestinationLongitude() {
+        return destinationLongitude;
+    }
+
+    public void setDestinationLatitude(java.math.BigDecimal destinationLatitude) {
+        this.destinationLatitude = destinationLatitude;
+    }
+
+    public java.math.BigDecimal getDestinationLatitude() {
+        return destinationLatitude;
+    }
+
+    public void setEstimatedDistance(java.math.BigDecimal estimatedDistance) {
+        this.estimatedDistance = estimatedDistance;
+    }
+
+    public java.math.BigDecimal getEstimatedDistance() {
+        return estimatedDistance;
     }
 
     public void setPlannedStartTime(Date plannedStartTime) {
@@ -244,6 +313,14 @@
         return delFlag;
     }
 
+    public void setLegacySynced(Integer legacySynced) {
+        this.legacySynced = legacySynced;
+    }
+
+    public Integer getLegacySynced() {
+        return legacySynced;
+    }
+
     public void setAssignedVehicles(List<SysTaskVehicle> assignedVehicles) {
         this.assignedVehicles = assignedVehicles;
     }
@@ -268,6 +345,22 @@
         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;
+    }
+
     /**
      * 鍒ゆ柇鏄惁鍙互鍙樻洿鐘舵��
      */
@@ -280,11 +373,23 @@
         // 鐘舵�佹祦杞鍒�
         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;
@@ -366,4 +471,4 @@
                 ", deptName='" + deptName + '\'' +
                 '}';
     }
-}
+}
\ No newline at end of file

--
Gitblit v1.9.1