From bf3bf9ff25ac106b556b2427cc382c8fcca63bff Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期二, 02 七月 2024 17:38:33 +0800
Subject: [PATCH] 1. 新增走航报告自动道路识别模块

---
 src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/ExceptionAnalysisController.kt |   28 ++++++++++++++++++++++++----
 1 files changed, 24 insertions(+), 4 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 d73f3a7..5080123 100644
--- a/src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/ExceptionAnalysisController.kt
+++ b/src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/ExceptionAnalysisController.kt
@@ -7,6 +7,7 @@
 import com.flightfeather.uav.biz.dataanalysis.model.DataAnalysisConfig
 import com.flightfeather.uav.biz.dataanalysis.model.ExceptionResult
 import com.flightfeather.uav.biz.dataanalysis.model.ExceptionSetting
+import com.flightfeather.uav.common.location.LocationRoadNearby
 import com.flightfeather.uav.domain.entity.Mission
 import com.flightfeather.uav.domain.repository.RealTimeDataRep
 import org.springframework.stereotype.Component
@@ -17,6 +18,7 @@
 @Component
 class ExceptionAnalysisController(
     private val realTimeDataRep: RealTimeDataRep,
+    private val locationRoadNearby: LocationRoadNearby,
 ) {
 
     var running = false
@@ -26,15 +28,15 @@
     private fun initTask(config: DataAnalysisConfig) {
         taskList.clear()
         taskList.apply {
-//            add(ExceptionDataExceed(config))
-//            add(ExceptionValueMutation(config))
+            add(ExceptionDataExceed(config))
+            add(ExceptionValueMutation(config))
             add(ExceptionSlideAverage(config))
         }
     }
 
     fun run(mission: Mission, factorFilter: FactorFilter): List<ExceptionResult> {
         running = true
-        val config = DataAnalysisConfig(mission, ExceptionSetting(), 8, factorFilter)
+        val config = DataAnalysisConfig(mission, ExceptionSetting(), factorFilter)
         initTask(config)
 
         val result = mutableListOf<ExceptionResult>()
@@ -45,8 +47,26 @@
         }
         // 鍚勪釜寮傚父鍒嗘瀽鍒嗗埆缁撴潫
         taskList.forEach { it.onDone() }
-        // 瀛樺偍鍒嗘瀽缁撴灉
+
         taskList.forEach {
+            // 鏌ヨ寮傚父鍛ㄨ竟鍙兘姹℃煋婧�
+            it.resultList.forEach { r->
+                if (r.longitude != null && r.latitude != null) {
+                    val sceneList = locationRoadNearby.searchByRadius(
+                        r.longitude!!.toDouble() to r.latitude!!.toDouble(), config.radius)
+                    if (sceneList.isNotEmpty()) {
+                        val idList = mutableListOf<String>()
+                        val nameList = mutableListOf<String>()
+                        sceneList.forEach { s->
+                            idList.add(s?.guid?:"")
+                            nameList.add(s?.name ?: "")
+                        }
+                        r.relatedSceneId = idList
+                        r.relatedSceneName = nameList
+                    }
+                }
+            }
+            // 瀛樺偍鍒嗘瀽缁撴灉
             result.addAll(it.resultList)
         }
         running = false

--
Gitblit v1.9.3