From ddaa44400aa478058ffe9349d59904a130b7ce9c Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期四, 28 八月 2025 17:33:11 +0800
Subject: [PATCH] 2025.8.28 1. 新增走航任务统计功能(待完成)

---
 src/main/kotlin/com/flightfeather/uav/domain/entity/BaseRealTimeData.kt |   13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/main/kotlin/com/flightfeather/uav/domain/entity/BaseRealTimeData.kt b/src/main/kotlin/com/flightfeather/uav/domain/entity/BaseRealTimeData.kt
index d4d315c..f33ac6f 100644
--- a/src/main/kotlin/com/flightfeather/uav/domain/entity/BaseRealTimeData.kt
+++ b/src/main/kotlin/com/flightfeather/uav/domain/entity/BaseRealTimeData.kt
@@ -5,11 +5,14 @@
 import com.flightfeather.uav.lightshare.bean.DataVo
 import com.flightfeather.uav.socket.bean.AirData
 import com.flightfeather.uav.socket.eunm.FactorType
+import java.io.Serializable
 import java.math.BigDecimal
 import java.time.LocalDateTime
 import java.time.ZoneId
 import java.util.*
 import javax.persistence.Column
+import javax.persistence.GeneratedValue
+import javax.persistence.GenerationType
 import javax.persistence.Id
 import kotlin.math.atan
 import kotlin.math.cos
@@ -19,8 +22,9 @@
 /**
  * 瀹炴椂鐩戞祴鏁版嵁鍩虹被
  */
-open class BaseRealTimeData {
+open class BaseRealTimeData : Serializable {
     @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
     var id: Int? = null
 
     @Column(name = "device_code")
@@ -143,6 +147,9 @@
 }
 
 fun List<BaseRealTimeData>.avg(): BaseRealTimeData {
+    if (isEmpty()) {
+        return BaseRealTimeData()
+    }
     //椋庡悜閲囩敤鍗曚綅鐭㈤噺娉曟眰鍙栧潎鍊�
     var u = .0//涓滆タ鏂逛綅鍒嗛噺鎬诲拰
     var v = .0//鍗楀寳鏂逛綅鍒嗛噺鎬诲拰
@@ -274,7 +281,9 @@
     }
 
     return RealTimeDataGridMin().apply {
-        val time = LocalDateTime.ofInstant(get(0).dataTime?.toInstant(), ZoneId.systemDefault()).withSecond(0)
+        val time = LocalDateTime
+            .ofInstant(get(0).dataTime?.toInstant() ?: Date().toInstant(), ZoneId.systemDefault())
+            .withSecond(0)
         deviceCode = get(0).deviceCode
         dataTime = Date.from(time.atZone(ZoneId.systemDefault()).toInstant())
         createTime = dataTime

--
Gitblit v1.9.3