From eb3dd00b0b7fcda477229d518d250f9c842b790b Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期二, 21 十月 2025 17:45:44 +0800
Subject: [PATCH] 2025.10.21 1. 走航季度报告相关数据计算逻辑调整
---
src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/BaseExceptionContinuousSingle.kt | 46 +++++++++++-----------------------------------
1 files changed, 11 insertions(+), 35 deletions(-)
diff --git a/src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/BaseExceptionContinuousSingle.kt b/src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/BaseExceptionContinuousSingle.kt
index f712600..e9f33fd 100644
--- a/src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/BaseExceptionContinuousSingle.kt
+++ b/src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/BaseExceptionContinuousSingle.kt
@@ -1,17 +1,18 @@
package com.flightfeather.uav.biz.dataanalysis
-import com.flightfeather.uav.biz.dataanalysis.model.DataAnalysisConfig
+import com.flightfeather.uav.biz.dataanalysis.model.ExceptionTag
import com.flightfeather.uav.domain.entity.BaseRealTimeData
/**
* 杩炵画绫诲瀷鐨勫紓甯稿垎鏋愬熀绫�,鍖哄埆浜庣埗绫荤殑鍦版柟鍦ㄤ簬姝ょ寮傚父鍙拰鍗曚釜鏁版嵁鏈韩鏈夊叧,涓庣浉閭绘暟鎹棤鍏�
*/
-abstract class BaseExceptionContinuousSingle(config: DataAnalysisConfig) : BaseExceptionContinuous(config) {
+abstract class BaseExceptionContinuousSingle<T : ExceptionTag, V : BaseAnalysisConfig, Y : BaseExceptionResult>(config: V, tagClz: Class<T>) :
+ BaseExceptionContinuous<T, V, Y>(config, tagClz) {
override fun onNextData(data: BaseRealTimeData) {
val isContinue = isContinuous(lastData, data)
- val hasException = judgeException(lastData, data)
- config.factorFilter.selectedList.forEach {s->
+ val hasException = judge(lastData, data)
+ config.factorFilter.selectedList.forEach { s ->
val f = s.main
tagMap[f]?.let {
it.eIndex++
@@ -19,47 +20,22 @@
it.startData = data
}
// 鍒ゆ柇鐩搁偦鏁版嵁鏄惁杩炵画骞朵笖鏄惁婊¤冻寮傚父鍒ゆ柇
- if (!isContinue) {
- checkResult(s)
- it.sIndex = it.eIndex
- it.startData = data
+ if (!isContinue || needCut(it, hasException[f], data)) {
+ recordException(s, it, data)
} else {
if (hasException[f] == true) {
- // 淇敼浜嗚捣濮嬫暟鎹殑浣嶇疆,鍙樻洿涓哄嚭鐜板紓甯哥殑璇ュ��,鑰屼笉鏄師鏉ョ殑鍑虹幇寮傚父鐨勬暟鎹殑鍓嶄竴涓��
- if (!it.existException) {
+ // 淇敼浜嗚捣濮嬫暟鎹殑浣嶇疆,鍙樻洿涓哄嚭鐜板紓甯哥殑璇ュ��,鑰屼笉鏄師鏉ョ殑鍑虹幇寮傚父鏁版嵁鐨勫墠涓�涓��
+ if (!it.exceptionExisted) {
it.sIndex = it.eIndex
it.startData = data
}
- it.existException = true
+ it.addExceptionData(data)
} else {
- checkResult(s)
+ recordException(s, it, data)
}
}
}
}
-// repeat(config.factorCount) { i ->
-// eIndex[i]++
-// if (lastData == null) {
-// startData[i] = data
-// }
-// // 鍒ゆ柇鐩搁偦鏁版嵁鏄惁杩炵画骞朵笖鏄惁婊¤冻寮傚父鍒ゆ柇
-// if (!isContinue) {
-// checkResult()
-// sIndex[i] = eIndex[i]
-// startData[i] = data
-// } else {
-// if (hasException[i]) {
-// // 淇敼浜嗚捣濮嬫暟鎹殑浣嶇疆,鍙樻洿涓哄嚭鐜板紓甯哥殑璇ュ��,鑰屼笉鏄師鏉ョ殑鍑虹幇寮傚父鐨勬暟鎹殑鍓嶄竴涓��
-// if (!existException[i]) {
-// sIndex[i] = eIndex[i]
-// startData[i] = data
-// }
-// existException[i] = true
-// } else {
-// checkResult()
-// }
-// }
-// }
lastData = data
}
}
\ No newline at end of file
--
Gitblit v1.9.3