From c56e1e74426238939f229f0005828d05089715ff Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期四, 03 七月 2025 17:30:58 +0800
Subject: [PATCH] 2025.7.3 1. 新增动态污染溯源新的判定逻辑

---
 src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/model/PollutedData.kt |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/model/PollutedData.kt b/src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/model/PollutedData.kt
index 4a599d7..5661859 100644
--- a/src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/model/PollutedData.kt
+++ b/src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/model/PollutedData.kt
@@ -59,6 +59,7 @@
         historyDataList.addAll(historyData.map { it.toDataVo() })
 
         calPer()
+        calRate()
     }
 
     var deviceCode: String? = null
@@ -85,6 +86,8 @@
     var percentage: Double? = null
     // 鍥犲瓙閲忕骇骞冲潎鍙樺寲骞呭害
     var avgPer: Double? = null
+    // 鍥犲瓙閲忕骇骞冲潎鍙樺寲閫熺巼
+    var avgRate: Double? = null
 
     // 鍙戠敓娆℃暟
     var times: Int? = null
@@ -108,4 +111,19 @@
         }
         avgPer = total / (list.size - 1)
     }
+
+    private fun calRate() {
+        val list = dataList
+//        list.add(startData)
+//        list.addAll(dataList)
+        if (list.size < 2) return
+
+        var total = .0
+        for (i in 0 until list.size - 1) {
+            val p = list[i]?.getByFactorType(selectedFactor!!.main)!!
+            val n = list[i + 1]?.getByFactorType(selectedFactor!!.main)!!
+            total += (n - p) / 4
+        }
+        avgRate = total / (list.size - 1)
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3