From eb3dd00b0b7fcda477229d518d250f9c842b790b Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期二, 21 十月 2025 17:45:44 +0800
Subject: [PATCH] 2025.10.21 1. 走航季度报告相关数据计算逻辑调整
---
src/main/kotlin/com/flightfeather/uav/lightshare/service/impl/DataAnalysisServiceImpl.kt | 42 +++++++++++++++++++++++++++++++++++-------
1 files changed, 35 insertions(+), 7 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..bb19140 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,12 +246,24 @@
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)
+ }
+ 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() }
}
// val keyScenes = sceneInfoRep.findBySceneTypes(
// listOf(
@@ -255,7 +277,12 @@
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 +324,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