From 8eb584869b4fd4de0f51c93f2616f12e51df9193 Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期四, 18 十二月 2025 17:48:29 +0800
Subject: [PATCH] 2025.12.18 1. 动态溯源相关分析逻辑调整; 2. 走航报告接口参数调整;
---
src/main/kotlin/com/flightfeather/uav/lightshare/service/impl/DataAnalysisServiceImpl.kt | 49 +++++++++++++++++++++++++++++++++++--------------
1 files changed, 35 insertions(+), 14 deletions(-)
diff --git a/src/main/kotlin/com/flightfeather/uav/lightshare/service/impl/DataAnalysisServiceImpl.kt b/src/main/kotlin/com/flightfeather/uav/lightshare/service/impl/DataAnalysisServiceImpl.kt
index 52efc03..efb1451 100644
--- a/src/main/kotlin/com/flightfeather/uav/lightshare/service/impl/DataAnalysisServiceImpl.kt
+++ b/src/main/kotlin/com/flightfeather/uav/lightshare/service/impl/DataAnalysisServiceImpl.kt
@@ -42,7 +42,7 @@
private val sourceTraceRep: SourceTraceRep,
private val sceneInfoRep: SceneInfoRep,
private val satelliteGridRep: SatelliteGridRep,
- private val satelliteDataCalculateService: SatelliteDataCalculateService
+ private val satelliteDataCalculateService: SatelliteDataCalculateService,
) : DataAnalysisService {
/**
@@ -109,7 +109,12 @@
override fun generateMissionSummary(missionCode: String): MissionSummary.Summary {
val mission = missionRep.findOne(missionCode) ?: throw BizException("璧拌埅浠诲姟涓嶅瓨鍦�")
- val clues = sourceTraceRep.fetchList(mission.deviceCode, mission.startTime, mission.endTime, MsgType.PolClue) as List<PollutedClue?>
+ val clues = sourceTraceRep.fetchList(
+ mission.deviceCode,
+ mission.startTime,
+ mission.endTime,
+ MsgType.PolClue
+ ) as List<PollutedClue?>
val summary = MissionSummary().execute(mission.startTime, mission.endTime, listOf(mission), clues)
return summary
}
@@ -202,7 +207,12 @@
override fun generateMissionDetail(missionCode: String, granularity: String?): MissionInventory.MissionDetail {
val mission = missionRep.findOne(missionCode) ?: throw BizException("浠诲姟涓嶅瓨鍦�")
- val missionClues = sourceTraceRep.fetchList(mission.deviceCode, mission.startTime, mission.endTime, MsgType.PolClue) as List<PollutedClue?>
+ val missionClues = sourceTraceRep.fetchList(
+ mission.deviceCode,
+ mission.startTime,
+ mission.endTime,
+ MsgType.PolClue
+ ) as List<PollutedClue?>
val realTimeData = realTimeDataRep.fetchData(mission)
val keyScenes = sceneInfoRep.findBySceneTypes(
listOf(
@@ -236,26 +246,36 @@
startTime: Date,
endTime: Date,
areaVo: AreaVo,
- ): List<MissionRiskArea.ClueByArea> {
+ removeOtherDistrict: Boolean,
+ removeNoPollutedSource: Boolean,
+ ): List<MissionRiskArea.ClassifyClue> {
val clues = mutableListOf<PollutedClue?>()
missionRep.findByAreaAndTime(areaVo, startTime, endTime).onEach {
it ?: return@onEach
val clue = sourceTraceRep.fetchList(it.deviceCode, it.startTime, it.endTime, MsgType.PolClue) as List<PollutedClue?>
clues.addAll(clue)
}
-// val keyScenes = sceneInfoRep.findBySceneTypes(
-// listOf(
-// SceneType.TYPE19.value,
-// SceneType.TYPE20.value,
-// SceneType.TYPE21.value
-// )
-// )
+ if (removeOtherDistrict) {
+ clues.removeIf {
+ !areaVo.districtName.isNullOrBlank() &&
+ (it?.pollutedArea?.address.isNullOrBlank()
+ || !it!!.pollutedArea!!.address!!.contains(areaVo.districtName!!))
+ }
+ }
+ if (removeNoPollutedSource) {
+ clues.removeIf { it?.pollutedSource?.sceneList.isNullOrEmpty() }
+ }
return MissionRiskArea().generateClueByRiskArea(clues)
}
override fun generateClueByRiskArea(missionCode: String): List<MissionRiskArea.ClueByArea> {
val mission = missionRep.findOne(missionCode) ?: throw BizException("浠诲姟涓嶅瓨鍦�")
- val pollutedClues = sourceTraceRep.fetchList(mission.deviceCode, mission.startTime, mission.endTime, MsgType.PolClue) as List<PollutedClue?>
+ val pollutedClues = sourceTraceRep.fetchList(
+ mission.deviceCode,
+ mission.startTime,
+ mission.endTime,
+ MsgType.PolClue
+ ) as List<PollutedClue?>
val keyScenes = sceneInfoRep.findBySceneTypes(
listOf(
SceneType.TYPE19.value,
@@ -297,8 +317,9 @@
val gridDataDetailList = missionGroups.mapNotNull { (degree, missionList) ->
// 绛涢�夊嚭鏈夌綉鏍艰瀺鍚堟暟鎹殑璧拌埅浠诲姟(鍚屾椂鑾峰彇瀵瑰簲鐨勮瀺鍚堟暟鎹甶d鍒楄〃)
val gridDataIds = mutableListOf<Int>()
- val validMissions = missionList.filter {mission ->
- val gridData = satelliteGridRep.fetchGridData(GridData().apply { missionCode = mission?.missionCode }).firstOrNull()
+ val validMissions = missionList.filter { mission ->
+ val gridData =
+ satelliteGridRep.fetchGridData(GridData().apply { missionCode = mission?.missionCode }).firstOrNull()
val res = gridData != null
if (res) gridDataIds.add(gridData?.id ?: 0)
res
--
Gitblit v1.9.3