From 38d72198bfcced01ed9513b978163e5cd1d84625 Mon Sep 17 00:00:00 2001 From: feiyu02 <risaku@163.com> Date: 星期一, 21 七月 2025 15:31:41 +0800 Subject: [PATCH] 2025.7.21 1. 修改动态溯源异常判断逻辑 --- src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/ExceptionAnalysisController.kt | 26 ++++++++++++++++---------- 1 files changed, 16 insertions(+), 10 deletions(-) diff --git a/src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/ExceptionAnalysisController.kt b/src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/ExceptionAnalysisController.kt index ed6c540..556353a 100644 --- a/src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/ExceptionAnalysisController.kt +++ b/src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/ExceptionAnalysisController.kt @@ -1,7 +1,6 @@ package com.flightfeather.uav.biz.dataanalysis import com.flightfeather.uav.biz.FactorFilter -import com.flightfeather.uav.biz.dataanalysis.exceptiontype.ExceptionDataExceed import com.flightfeather.uav.biz.dataanalysis.exceptiontype.ExceptionSlideAverage import com.flightfeather.uav.biz.dataanalysis.exceptiontype.ExceptionValueMutation import com.flightfeather.uav.biz.dataanalysis.model.DataAnalysisConfig @@ -11,15 +10,13 @@ import com.flightfeather.uav.domain.entity.Mission import com.flightfeather.uav.domain.repository.RealTimeDataRep import com.flightfeather.uav.domain.repository.SegmentInfoRep -import org.springframework.stereotype.Component +import com.flightfeather.uav.socket.eunm.UWDeviceType import java.time.LocalDateTime import java.time.ZoneId -import java.time.format.DateTimeFormatter /** * 鏁版嵁寮傚父鍒嗘瀽鎺у埗鍣� */ -@Component class ExceptionAnalysisController( private val realTimeDataRep: RealTimeDataRep, private val locationRoadNearby: LocationRoadNearby, @@ -28,18 +25,18 @@ var running = false - private val taskList = mutableListOf<BaseExceptionAnalysis>() + private val taskList = mutableListOf<BaseExceptionAnalysis<DataAnalysisConfig, ExceptionResult>>() private fun initTask(config: DataAnalysisConfig) { taskList.clear() taskList.apply { - add(ExceptionDataExceed(config)) +// add(ExceptionDataExceed(config)) add(ExceptionValueMutation(config)) add(ExceptionSlideAverage(config)) } } - fun run(mission: Mission, factorFilter: FactorFilter): List<ExceptionResult> { + fun execute(mission: Mission, factorFilter: FactorFilter): List<ExceptionResult> { running = true val config = DataAnalysisConfig(mission, ExceptionSetting(), factorFilter) initTask(config) @@ -47,7 +44,11 @@ val result = mutableListOf<ExceptionResult>() taskList.forEach { it.init() } // 杞鏁版嵁锛岃绠楀悇涓紓甯� - realTimeDataRep.fetchData(mission.deviceCode, mission.startTime, mission.endTime).forEach { d -> + realTimeDataRep.fetchData(UWDeviceType.fromValue(mission.deviceType), + mission.deviceCode, + mission.startTime, + mission.endTime + ).forEach { d -> taskList.forEach { it.onNextData(d) } } // 鍚勪釜寮傚父鍒嗘瀽鍒嗗埆缁撴潫 @@ -58,7 +59,9 @@ // 鏌ヨ寮傚父鍛ㄨ竟鍙兘姹℃煋婧� nearBy(r, config) // 鏌ヨ鏃舵鎵�鍦ㄨ矾娈� - road(r) +// road(r) + // 灏嗘暟鎹浆鎹负閫氱敤鏍煎紡 + r.dataVoList = r.dataList.map { e-> e.toDataVo() } } // 瀛樺偍鍒嗘瀽缁撴灉 result.addAll(it.resultList) @@ -66,6 +69,8 @@ running = false return result } + +// private fun private fun nearBy(r: ExceptionResult, config: DataAnalysisConfig) { if (r.longitude != null && r.latitude != null) { @@ -80,6 +85,7 @@ } r.relatedSceneId = idList r.relatedSceneName = nameList + r.relatedSceneList = sceneList } } } @@ -87,7 +93,7 @@ private fun road(r: ExceptionResult) { val sT = LocalDateTime.ofInstant(r.startDate?.toInstant(), ZoneId.systemDefault()) val eT = LocalDateTime.ofInstant(r.endDate?.toInstant(), ZoneId.systemDefault()) - val segments = segmentInfoRep.findPeriod(sT, eT) + val segments = segmentInfoRep.findPeriod(r.missionCode, sT, eT) var txt = "" val size = segments.size segments.forEachIndexed { i, s -> -- Gitblit v1.9.3