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/socket/processor/UnderwayProcessor.kt | 42 +++++++++++-------------------------------
1 files changed, 11 insertions(+), 31 deletions(-)
diff --git a/src/main/kotlin/com/flightfeather/uav/socket/processor/UnderwayProcessor.kt b/src/main/kotlin/com/flightfeather/uav/socket/processor/UnderwayProcessor.kt
index a649598..8d7f42f 100644
--- a/src/main/kotlin/com/flightfeather/uav/socket/processor/UnderwayProcessor.kt
+++ b/src/main/kotlin/com/flightfeather/uav/socket/processor/UnderwayProcessor.kt
@@ -1,26 +1,20 @@
package com.flightfeather.uav.socket.processor
-import com.flightfeather.uav.biz.FactorFilter
-import com.flightfeather.uav.biz.sourcetrace.RealTimeExceptionAnalysisController
-import com.flightfeather.uav.common.location.LocationRoadNearby
+import com.flightfeather.uav.biz.sourcetrace.SourceTraceController
import com.flightfeather.uav.domain.entity.BaseRealTimeData
import com.flightfeather.uav.model.epw.EPWDataPrep
import com.flightfeather.uav.domain.repository.AirDataRep
-import com.flightfeather.uav.domain.repository.RealTimeDataRep
-import com.flightfeather.uav.domain.repository.SegmentInfoRep
+import com.flightfeather.uav.domain.repository.SceneInfoRep
+import com.flightfeather.uav.domain.repository.SourceTraceRep
import com.flightfeather.uav.socket.bean.AirDataPackage
import com.flightfeather.uav.socket.decoder.AirDataDecoder
import com.flightfeather.uav.socket.decoder.DataPackageDecoder
import com.flightfeather.uav.socket.eunm.AirCommandUnit
-import com.flightfeather.uav.socket.eunm.FactorType
import com.flightfeather.uav.socket.eunm.UWDeviceType
-import com.flightfeather.uav.socket.handler.UnderwayWebSocketServerHandler
import io.netty.channel.ChannelHandlerContext
-import org.springframework.beans.factory.annotation.Autowired
import org.springframework.stereotype.Component
import java.text.SimpleDateFormat
import java.util.*
-import javax.annotation.PostConstruct
/**
* 澶勭悊socket鎺ユ敹鐨勬秷鎭�
@@ -31,10 +25,8 @@
@Component
class UnderwayProcessor(
private val airDataRep: AirDataRep,
- private val realTimeDataRep: RealTimeDataRep,
- private val locationRoadNearby: LocationRoadNearby,
- private val segmentInfoRep: SegmentInfoRep,
- private val underwayWebSocketServerHandler: UnderwayWebSocketServerHandler,
+ private val sceneInfoRep: SceneInfoRep,
+ private val sourceTraceRep: SourceTraceRep
) : BaseProcessor() {
companion object {
@@ -48,23 +40,7 @@
private val dataProcessMap = mutableMapOf<String?, EPWDataPrep>()
// 瀹炴椂璧拌埅姹℃煋婧簮澶勭悊鍣�
- private val realTimeExceptionAnalysisController =
- RealTimeExceptionAnalysisController(
- realTimeDataRep,
- locationRoadNearby,
- segmentInfoRep,
- underwayWebSocketServerHandler,
- FactorFilter.builder()
-// .withMain(FactorType.NO2)
- .withMain(FactorType.CO)
-// .withMain(FactorType.H2S)
-// .withMain(FactorType.SO2)
-// .withMain(FactorType.O3)
- .withMain(FactorType.PM25)
- .withMain(FactorType.PM10)
- .withMain(FactorType.VOC)
- .create()
- )
+ private val sourceTraceMap = mutableMapOf<String?, SourceTraceController>()
override var tag: String = "璧拌埅鐩戞祴"
@@ -77,8 +53,12 @@
deviceSession.saveDevice(packageData.deviceCode, ctx)
saveToTxt(msg)
saveToDataBase(packageData)?.takeIf { it.isNotEmpty() }?.get(0)?.let {
+ // 姣忓彴璁惧鏈夊悇鑷崟鐙殑寮傚父鏁版嵁澶勭悊鍣�
+ if (!sourceTraceMap.containsKey(it.deviceCode)) {
+ sourceTraceMap[it.deviceCode] = SourceTraceController(sceneInfoRep, sourceTraceRep)
+ }
// 灏嗚蛋鑸暟鎹紶鍏ュ紓甯稿鐞嗗櫒
- realTimeExceptionAnalysisController.addOneData(it)
+ sourceTraceMap[it.deviceCode]?.addOneData(it)
}
} else {
--
Gitblit v1.9.3