From 0bfd1f3b422677ddfed45f13fc034f17f049b9d5 Mon Sep 17 00:00:00 2001 From: feiyu02 <risaku@163.com> Date: 星期二, 03 六月 2025 17:30:35 +0800 Subject: [PATCH] 1. 新增动态污染溯源新的判定逻辑(待完成) --- src/main/kotlin/com/flightfeather/uav/socket/processor/UnderwayProcessor.kt | 40 +++++++++------------------------------- 1 files changed, 9 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..7d8fd21 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,19 @@ 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.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 +24,7 @@ @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, ) : BaseProcessor() { companion object { @@ -48,23 +38,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 +51,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) + } // 灏嗚蛋鑸暟鎹紶鍏ュ紓甯稿鐞嗗櫒 - realTimeExceptionAnalysisController.addOneData(it) + sourceTraceMap[it.deviceCode]?.addOneData(it) } } else { -- Gitblit v1.9.3