From d649f734c44541641158aec2d6b10d630f5a0827 Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期四, 25 十二月 2025 17:25:16 +0800
Subject: [PATCH] 2025.12.19 1. 动态溯源相关分析逻辑调整; 2. 走航报告接口参数调整;
---
src/main/kotlin/com/flightfeather/uav/lightshare/service/DataAnalysisService.kt | 81 +++++++++++++++++++++++++++++++++++++---
1 files changed, 75 insertions(+), 6 deletions(-)
diff --git a/src/main/kotlin/com/flightfeather/uav/lightshare/service/DataAnalysisService.kt b/src/main/kotlin/com/flightfeather/uav/lightshare/service/DataAnalysisService.kt
index bb440bf..0587c85 100644
--- a/src/main/kotlin/com/flightfeather/uav/lightshare/service/DataAnalysisService.kt
+++ b/src/main/kotlin/com/flightfeather/uav/lightshare/service/DataAnalysisService.kt
@@ -1,15 +1,20 @@
package com.flightfeather.uav.lightshare.service
import com.flightfeather.uav.biz.dataanalysis.model.ExceptionResult
+import com.flightfeather.uav.biz.report.MissionGridFusion
import com.flightfeather.uav.biz.report.MissionInventory
import com.flightfeather.uav.biz.report.MissionInventory.MissionDetail
import com.flightfeather.uav.biz.report.MissionRiskArea
import com.flightfeather.uav.biz.report.MissionSummary
import com.flightfeather.uav.biz.sourcetrace.model.PollutedClue
import com.flightfeather.uav.domain.entity.BaseRealTimeData
+import com.flightfeather.uav.domain.entity.GridCell
import com.flightfeather.uav.domain.entity.Mission
import com.flightfeather.uav.domain.entity.SceneInfo
import com.flightfeather.uav.lightshare.bean.AreaVo
+import com.flightfeather.uav.lightshare.bean.GridDataDetailMixVo
+import com.flightfeather.uav.lightshare.eunm.PollutionDegree
+import com.flightfeather.uav.socket.eunm.FactorType
import java.util.*
/**
@@ -27,15 +32,17 @@
* @param missionCode 璧拌埅浠诲姟缂栧彿锛岀敤浜庡敮涓�鏍囪瘑鐗瑰畾鐨勮蛋鑸换鍔�
* @return 寮傚父缁撴灉鍒楄〃锛屾瘡涓厓绱犲寘鍚紓甯哥被鍨嬨�佷綅缃拰璇︾粏淇℃伅
*/
+ @Deprecated("璇ユ帴鍙e凡搴熷純锛屼娇鐢�/report/missionSummary/one鎺ュ彛")
fun pollutionTrace(missionCode: String): List<ExceptionResult>
/**
* 鑾峰彇鍘嗗彶姹℃煋婧簮缁撴灉
* 鏍规嵁浠诲姟缂栧彿鏌ヨ骞惰繑鍥炲巻鍙叉薄鏌撴函婧愮粨鏋�
* @param missionCode 璧拌埅浠诲姟缂栧彿
+ * @param minPer 鏈�灏忔薄鏌撶櫨鍒嗘瘮锛岀敤浜庣瓫閫夊紓甯告暟鎹偣锛堝彲閫夛級
* @return 鍘嗗彶姹℃煋婧簮缁撴灉鐨勫瓧绗︿覆琛ㄧず锛堝叿浣撴牸寮忛渶鍙傝�冨疄鐜扮被锛�
*/
- fun fetchHistory(missionCode: String): String
+ fun fetchHistory(missionCode: String, minPer: Double?): String
/**
* 鐢熸垚璧拌埅浠诲姟姹囨�荤粺璁�
@@ -45,7 +52,14 @@
* @param areaVo 鍖哄煙鍙傛暟锛屽寘鍚粡绾害鑼冨洿绛夊湴鐞嗕俊鎭�
* @return 姹囨�荤粺璁″璞★紝鍖呭惈浠诲姟鎬绘暟銆佸紓甯哥巼銆佸钩鍧囨暟鎹瓑鎸囨爣
*/
- fun generateMissionSummary(startTime: Date, endTime: Date, areaVo: AreaVo): MissionSummary.Summary
+ fun generateMissionSummary(
+ startTime: Date, endTime: Date, areaVo: AreaVo, removeOtherDistrict: Boolean = false,
+ removeNoPollutedSource: Boolean = false, minPer: Double? = 0.5,
+ ): MissionSummary.Summary
+
+ fun generateMissionSummary(
+ missionCode: String, minPer: Double? = 0.5,
+ ): MissionSummary.Summary
/**
* 鐢熸垚璧拌埅浠诲姟娓呭崟锛堟寜鏃堕棿鍜屽尯鍩熺瓫閫夛級
@@ -55,7 +69,10 @@
* @param areaVo 鍖哄煙鍙傛暟
* @return 璧拌埅浠诲姟淇℃伅鍒楄〃锛屾瘡涓厓绱犲寘鍚换鍔″熀鏈俊鎭拰缁熻鏁版嵁
*/
- fun generateMissionList(startTime: Date, endTime: Date, areaVo: AreaVo): List<MissionInventory.MissionInfo>
+ fun generateMissionList(
+ startTime: Date, endTime: Date, areaVo: AreaVo, removeOtherDistrict: Boolean = false,
+ removeNoPollutedSource: Boolean = false, minPer: Double? = 0.5,
+ ): List<MissionInventory.MissionInfo>
/**
* 鐢熸垚璧拌埅浠诲姟娓呭崟锛堢洿鎺ュ鐞嗕换鍔$嚎绱級
@@ -65,6 +82,11 @@
*/
fun generateMissionList(missionClues: List<Pair<Mission, List<PollutedClue?>>>): List<MissionInventory.MissionInfo>
+ fun generateMissionInfo(
+ keyScenes: List<SceneInfo?>,
+ missionCluesData: List<Triple<Mission, List<PollutedClue?>, List<BaseRealTimeData>>>,
+ ): List<MissionInventory.MissionInfo>
+
/**
* 鑾峰彇璧拌埅浠诲姟璇︽儏锛堟寜鏃堕棿鍜屽尯鍩熺瓫閫夛級
* 鏍规嵁鏃堕棿鑼冨洿鍜屽尯鍩熸煡璇㈠苟鐢熸垚璇︾粏鐨勪换鍔℃姤鍛婏紝鍖呭惈鍏抽敭鍦烘櫙鍜屾暟鎹粺璁�
@@ -73,18 +95,65 @@
* @param areaVo 鍖哄煙鍙傛暟
* @return 浠诲姟璇︽儏鍒楄〃锛屾瘡涓厓绱犲寘鍚换鍔″畬鏁翠俊鎭�佸満鏅暟鎹拰缁熻缁撴灉
*/
- fun generateMissionDetail(startTime: Date, endTime: Date, areaVo: AreaVo): List<MissionDetail>
+ fun generateMissionDetail(
+ startTime: Date, endTime: Date, areaVo: AreaVo, granularity: String?,
+ removeOtherDistrict: Boolean = false,
+ removeNoPollutedSource: Boolean = false,
+ minPer: Double? = 0.5,
+ ): List<MissionDetail>
+
+ /**
+ * 鐢熸垚璧拌埅浠诲姟璇︽儏锛堟寜浠诲姟缂栧彿绛涢�夛級
+ * 鏍规嵁浠诲姟缂栧彿鏌ヨ骞剁敓鎴愯缁嗙殑浠诲姟鎶ュ憡锛屽寘鍚换鍔″畬鏁翠俊鎭�佸満鏅暟鎹拰缁熻缁撴灉
+ * @param missionCode 浠诲姟缂栧彿锛岀敤浜庡敮涓�鏍囪瘑鐗瑰畾鐨勮蛋鑸换鍔�
+ * @param granularity 鏁版嵁棰楃矑搴︼紝鍙�夊�间负SECOND, MINUTE, HOUR, 榛樿MINUTE
+ * @return 浠诲姟璇︽儏瀵硅薄锛屽寘鍚换鍔″畬鏁翠俊鎭�佸満鏅暟鎹拰缁熻缁撴灉
+ */
+ fun generateMissionDetail(
+ missionCode: String, granularity: String?, minPer: Double? = 0.5,
+ ): MissionDetail
/**
* 鑾峰彇璧拌埅浠诲姟璇︽儏锛堢洿鎺ュ鐞嗕换鍔℃暟鎹級
* 澶勭悊宸叉湁鐨勪换鍔°�佹薄鏌撶嚎绱㈠拰瀹炴椂鏁版嵁锛岀敓鎴愯缁嗕换鍔℃姤鍛�
* @param keyScenes 鍏抽敭鍦烘櫙鍒楄〃锛岀敤浜庡垎鏋愯蛋鑸槸鍚︾粡杩囪鍖哄煙
* @param missionCluesData 鍖呭惈浠诲姟銆佹薄鏌撶嚎绱㈠拰瀹炴椂鏁版嵁鐨凾riple鍒楄〃
+ * @param granularity 鏁版嵁棰楃矑搴︼紝鍙�夊�间负SECOND, MINUTE, HOUR, 榛樿MINUTE
* @return 浠诲姟璇︽儏鍒楄〃
*/
- fun generateMissionDetail(keyScenes: List<SceneInfo?>, missionCluesData: List<Triple<Mission, List<PollutedClue?>, List<BaseRealTimeData>>>): List<MissionDetail>
+ fun generateMissionDetail(
+ keyScenes: List<SceneInfo?>,
+ missionCluesData: List<Triple<Mission, List<PollutedClue?>, List<BaseRealTimeData>>>,
+ granularity: String,
+ ): List<MissionDetail>
- fun generateClueByRiskArea(startTime: Date, endTime: Date, areaVo: AreaVo): List<MissionRiskArea.ClueByArea>
+ fun generateClueByRiskArea(
+ startTime: Date,
+ endTime: Date,
+ areaVo: AreaVo,
+ removeOtherDistrict: Boolean = false,
+ removeNoPollutedSource: Boolean = false,
+ minPer: Double? = 0.5,
+ ): List<MissionRiskArea.ClassifyClue>
+
+ fun generateClueByRiskArea(missionCode: String, minPer: Double? = 0.5): List<MissionRiskArea.ClueByArea>
fun generateClueByRiskArea(keyScenes: List<SceneInfo?>, pollutedClues: List<PollutedClue?>): List<MissionRiskArea.ClueByArea>
+
+ fun generateGridFusion(
+ factorTypes: List<FactorType>,
+ startTime: Date,
+ endTime: Date,
+ areaVo: AreaVo,
+ removeOtherDistrict: Boolean = false,
+ removeNoPollutedSource: Boolean = false,
+ minPer: Double? = 0.5,
+ ): List<MissionGridFusion.GridFusionByAQI>
+
+ fun generateGridFusion(
+ factorTypes: List<FactorType>,
+ gridLen: Int,
+ gridCells: List<GridCell>,
+ dataList: List<Triple<PollutionDegree, List<MissionInventory.MissionInfo>, List<GridDataDetailMixVo>>>,
+ ): List<MissionGridFusion.GridFusionByAQI>
}
\ No newline at end of file
--
Gitblit v1.9.3