From 20b8d870efbbb89564b599561fc69202ba41223f Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期五, 10 四月 2026 13:36:42 +0800
Subject: [PATCH] 2026.4.10 1. 修复采样时间超过当前时间的数据依旧能存入数据库的bug
---
src/main/kotlin/com/flightfeather/uav/model/epw/EPWDataPrep.kt | 34 +++++++++++++++++++++++++++++++++-
1 files changed, 33 insertions(+), 1 deletions(-)
diff --git a/src/main/kotlin/com/flightfeather/uav/model/epw/EPWDataPrep.kt b/src/main/kotlin/com/flightfeather/uav/model/epw/EPWDataPrep.kt
index 45f9b80..16c508f 100644
--- a/src/main/kotlin/com/flightfeather/uav/model/epw/EPWDataPrep.kt
+++ b/src/main/kotlin/com/flightfeather/uav/model/epw/EPWDataPrep.kt
@@ -12,6 +12,7 @@
import kotlin.math.min
import kotlin.math.round
import kotlin.math.sqrt
+import kotlin.time.times
/**
* 鏁版嵁骞虫粦棰勫鐞�
@@ -136,7 +137,14 @@
*/
fun mDataPrep2(dataPackage: AirDataPackage): List<DataVo> {
val vo = dataPackage.toDataVo()
- return mDataPrep2(listOf(vo))
+ return mDataPrep2(vo)
+ }
+
+ /**
+ * 瀹炴椂鏁版嵁骞虫粦澶勭悊
+ */
+ fun mDataPrep2(dataVo: DataVo): List<DataVo> {
+ return mDataPrep2(listOf(dataVo))
}
/**
@@ -148,6 +156,7 @@
i = 0
}
while (i < mDataList.size) {
+ // 閽堝姣忎釜鐩戞祴鍥犲瓙锛屽垎鍒仛鏁版嵁骞虫粦澶勭悊
for (y in mDataList[i].values?.indices ?: 0..0) {
val it = mDataList[i].values?.get(y) ?: continue
val vMax = FactorType.getVMin(it.factorName) ?: continue
@@ -192,6 +201,29 @@
}
}
+ // 鏍规嵁鐗╃悊瑙勫緥锛屽墧闄ゆ垨淇涓嶅悎鐞嗙殑鏁版嵁
+ val data = mDataList[i]
+ // 1. PM2.5 搴旇濮嬬粓灏忎簬PM10
+ val pm25 = data.getFactorData(FactorType.PM25)
+ val pm10 = data.getFactorData(FactorType.PM10)
+ if (pm25 != null && pm10 != null) {
+ // 鑻m2.5澶т簬pm10
+ if (pm25 >= pm10){
+ val lastIndex = i - 1
+ // 鍒欏皢pm2.5淇敼涓哄墠涓�涓暟鎹殑鍊�
+ if (lastIndex >= 0) {
+ data.setFactorData(FactorType.PM25, mDataList[lastIndex].getFactorData(FactorType.PM25))
+ } else {
+ if (lastData.isEmpty()) {
+ // 娌℃湁鍘嗗彶鏁版嵁鏃讹紝淇敼涓簆m10鐨�80%(鍚庣画寰呬紭鍖栨瘮渚� 2026.3.6)
+ data.setFactorData(FactorType.PM25, data.getFactorData(FactorType.PM10)?.times(.8))
+ } else {
+ data.setFactorData(FactorType.PM25, lastData.last().getFactorData(FactorType.PM25))
+ }
+ }
+ }
+ }
+
i++
}
--
Gitblit v1.9.3