| | |
| | | * @see generateMissionList 重载方法,处理已关联的数据对 |
| | | */ |
| | | override fun generateMissionList(startTime: Date, endTime: Date, areaVo: AreaVo): List<MissionInventory.MissionInfo> { |
| | | val missionClues = missionRep.findByAreaAndTime(areaVo, startTime, endTime).filterNotNull().map { |
| | | it to sourceTraceRep.fetchList(it.deviceCode, it.startTime, it.endTime, MsgType.PolClue) as List<PollutedClue?> |
| | | // val missionClues = missionRep.findByAreaAndTime(areaVo, startTime, endTime).filterNotNull().map { |
| | | // it to sourceTraceRep.fetchList(it.deviceCode, it.startTime, it.endTime, MsgType.PolClue) as List<PollutedClue?> |
| | | // } |
| | | // return generateMissionList(missionClues) |
| | | val missionCluesData = missionRep.findByAreaAndTime(areaVo, startTime, endTime).filterNotNull().map { |
| | | Triple( |
| | | it, |
| | | sourceTraceRep.fetchList(it.deviceCode, it.startTime, it.endTime, MsgType.PolClue) as List<PollutedClue?>, |
| | | realTimeDataRep.fetchData(it) |
| | | ) |
| | | } |
| | | return generateMissionList(missionClues) |
| | | val keyScenes = sceneInfoRep.findBySceneTypes( |
| | | listOf( |
| | | SceneType.TYPE19.value, |
| | | SceneType.TYPE20.value, |
| | | SceneType.TYPE21.value |
| | | ) |
| | | ) |
| | | return generateMissionInfo(keyScenes, missionCluesData) |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | override fun generateMissionList(missionClues: List<Pair<Mission, List<PollutedClue?>>>): List<MissionInventory.MissionInfo> { |
| | | return MissionInventory().generateMissionList(missionClues) |
| | | } |
| | | |
| | | override fun generateMissionInfo( |
| | | keyScenes: List<SceneInfo?>, |
| | | missionCluesData: List<Triple<Mission, List<PollutedClue?>, List<BaseRealTimeData>>>, |
| | | ): List<MissionInventory.MissionInfo> { |
| | | return missionCluesData.map { |
| | | MissionInventory().generateMissionInfo(keyScenes, it.first, it.second, it.third) |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | SceneType.TYPE21.value |
| | | ) |
| | | ) |
| | | val missionDetails = generateMissionDetail(keyScenes, missionCluesData) |
| | | val missionInfos = generateMissionInfo(keyScenes, missionCluesData) |
| | | |
| | | return@mapNotNull Triple(degree, missionDetails, gridDataDetailMixVos) |
| | | return@mapNotNull Triple(degree, missionInfos, gridDataDetailMixVos) |
| | | }.filter { it.second.isNotEmpty() } |
| | | |
| | | return generateGridFusion(factorTypes, gridLen, gridCells, gridDataDetailList) |
| | |
| | | factorTypes: List<FactorType>, |
| | | gridLen: Int, |
| | | gridCells: List<GridCell>, |
| | | dataList: List<Triple<PollutionDegree, List<MissionInventory.MissionDetail>, List<GridDataDetailMixVo>>>, |
| | | dataList: List<Triple<PollutionDegree, List<MissionInventory.MissionInfo>, List<GridDataDetailMixVo>>>, |
| | | ): List<MissionGridFusion.GridFusionByAQI> { |
| | | return MissionGridFusion(sceneInfoRep).generateGridFusion(factorTypes, gridLen, gridCells, dataList) |
| | | } |