From 52a0c16de9b0955a5f092560b73f16e41684f97b Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期二, 31 十二月 2024 10:13:35 +0800
Subject: [PATCH] 1. 环信码生成时,如果在线场景当期没有评估(未巡查)结果,则延用历史最新一次的结果; 2. 新增跨时间跨月度的历史整改记录查询逻辑 3. 优化获取顶层任务和日任务的获取逻辑
---
src/main/kotlin/cn/flightfeather/supervision/business/autooutput/dataanalysis/AopDataAnalysis.kt | 83 ++++++++++++++++++++++++-----------------
1 files changed, 49 insertions(+), 34 deletions(-)
diff --git a/src/main/kotlin/cn/flightfeather/supervision/business/autooutput/dataanalysis/AopDataAnalysis.kt b/src/main/kotlin/cn/flightfeather/supervision/business/autooutput/dataanalysis/AopDataAnalysis.kt
index 1f84f3e..8838bee 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/business/autooutput/dataanalysis/AopDataAnalysis.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/business/autooutput/dataanalysis/AopDataAnalysis.kt
@@ -70,48 +70,58 @@
//鑾峰彇鍘熷鐩戞祴鏁版嵁
val dataList = fetchDataResources(evaluationScene)
//璁$畻缁熻缁撴灉
- var tempExceedTimes = TempResult()
- var tempAvg = TempResult()
- var tempMax = TempResult()
- var tempMin = TempResult()
+// var tempExceedTimes = TempResult()
+// var tempAvg = TempResult()
+// var tempMax = TempResult()
+// var tempMin = TempResult()
dataList.forEach {
- // 鐩戞祴鐐规湁澶氬彴璁惧鏃讹紝姣忓彴璁惧鍗曠嫭缁熻锛屽彇鍧囧�兼渶楂樼殑涓虹粺璁$粨鏋�
- val _tempExceedTimes = TempResult()
- val _tempAvg = TempResult()
- val _tempMax = TempResult()
- val _tempMin = TempResult()
+ // 鐩戞祴鐐规湁澶氬彴璁惧鏃讹紝姣忓彴璁惧鍗曠嫭璁板綍
+ val deviceCode = if (it.isNotEmpty()) {
+ getDeviceCode(it[0])
+ } else {
+ null
+ }
+ val tempExceedTimes = TempResult()
+ val tempAvg = TempResult()
+ val tempMax = TempResult()
+ val tempMin = TempResult()
+// val _tempExceedTimes = TempResult()
+// val _tempAvg = TempResult()
+// val _tempMax = TempResult()
+// val _tempMin = TempResult()
it.forEach { t ->
t?.let {
- exceedTimes(t, _tempExceedTimes)
- avg(t, _tempAvg)
- max(t, _tempMax)
- min(t, _tempMin)
+ exceedTimes(t, tempExceedTimes)
+ avg(t, tempAvg)
+ max(t, tempMax)
+ min(t, tempMin)
}
}
// 淇濈暀鍧囧�兼渶楂樼殑涓�鍙拌澶�
- if (_tempAvg.avg > tempAvg.avg) {
- tempExceedTimes = _tempExceedTimes
- tempAvg = _tempAvg
- tempMax = _tempMax
- tempMin = _tempMin
+// if (_tempAvg.avg > tempAvg.avg) {
+// tempExceedTimes = _tempExceedTimes
+// tempAvg = _tempAvg
+// tempMax = _tempMax
+// tempMin = _tempMin
+// }
+ val dustDataResult = DustDataResult().apply {
+ drSceneId = evaluationScene.scene.value?.guid
+ drSceneName = evaluationScene.scene.value?.name
+ drDeviceCode = deviceCode
+ drTime = source?.config?.startTime
+ drExceedTimes = tempExceedTimes.count
+ drAvg = tempAvg.avg
+ drMax = tempMax.total
+ drMin = tempMin.total
+ drOverAvgPer = overAvgRate(drAvg, dAvg)
+ drDataNum = count(dataList)
+ // 褰撴暟鎹噺涓�0鏃讹紝瓒呮湀搴﹀尯鍧囧�肩櫨鍒嗘瘮鍙樹负0
+ if (drDataNum == 0) drOverAvgPer = .0
+ drEffectiveRate = effectiveRate(dataList, evaluationScene)
}
+ //鏇存柊鍏ュ簱
+ aopOutput.toDbDataResult(dustDataResult)
}
- val dustDataResult = DustDataResult().apply {
- drSceneId = evaluationScene.scene.value?.guid
- drSceneName = evaluationScene.scene.value?.name
- drTime = source?.config?.startTime
- drExceedTimes = tempExceedTimes.count
- drAvg = tempAvg.avg
- drMax = tempMax.total
- drMin = tempMin.total
- drOverAvgPer = overAvgRate(drAvg, dAvg)
- drDataNum = count(dataList)
- // 褰撴暟鎹噺涓�0鏃讹紝瓒呮湀搴﹀尯鍧囧�肩櫨鍒嗘瘮鍙樹负0
- if (drDataNum == 0) drOverAvgPer = .0
- drEffectiveRate = effectiveRate(dataList, evaluationScene)
- }
- //鏇存柊鍏ュ簱
- aopOutput.toDbDataResult(dustDataResult)
}
}
@@ -122,6 +132,11 @@
abstract fun districtAvg(source: AopDataSource?): Double?
/**
+ * 鑾峰彇璁惧缂栧彿
+ */
+ abstract fun getDeviceCode(data: T?): String?
+
+ /**
* 鑾峰彇鍘熷鐩戞祴鏁版嵁
*/
abstract fun fetchDataResources(evaluationScene: AopDataSource.EvaluationScene): List<List<T?>>
--
Gitblit v1.9.3