| | |
| | | return cellList |
| | | } |
| | | |
| | | @Transactional |
| | | override fun splitGrid(groupId: Int, scale: Int): List<GridCell?> { |
| | | // 检查该网格属性是否合规 |
| | | val gridGroup = |
| | |
| | | } |
| | | |
| | | @Transactional |
| | | override fun dataFusion(missionCode: String, groupId: Int): List<GridDataDetail?> { |
| | | override fun dataFusion(gridData: GridData): List<GridDataDetail?> { |
| | | val missionCode = gridData.missionCode ?: throw BizException("缺少任务编号") |
| | | val groupId = gridData.groupId ?: throw BizException("缺少网格组id") |
| | | |
| | | // 查询走航任务及对应走航监测数据 |
| | | val mission = missionRep.findOne(missionCode) ?: throw BizException("任务不存在") |
| | | val data = realTimeDataRep.fetchData(mission) |
| | |
| | | // 查找是否已有走航融合记录 |
| | | val oldGridDataList = satelliteGridRep.fetchGridData(GridData().apply { |
| | | this.groupId = groupId |
| | | mixDataId = missionCode |
| | | this.missionCode = missionCode |
| | | this.type = SatelliteDataType.Monitor.value.toByte() |
| | | }) |
| | | |
| | | if (oldGridDataList.isEmpty()) { |
| | | // 创建融合数据索引对象 |
| | | val newGridData = GridData().apply { |
| | | val newGridData = gridData.apply { |
| | | this.groupId = groupId |
| | | dataTime = mission.startTime |
| | | type = SatelliteDataType.Monitor.value.toByte() |
| | | this.missionCode = mission.missionCode |
| | | // Fixme 2025.3.27: 行政区划在走航任务添加对应字段后进行赋值 |
| | | provinceCode |
| | | provinceName |
| | | cityCode |
| | | cityName |
| | | districtCode |
| | | provinceCode = mission.provinceCode |
| | | provinceName = mission.provinceName |
| | | cityCode = mission.cityCode |
| | | cityName = mission.cityName |
| | | districtCode = mission.districtCode |
| | | districtName = mission.districtName |
| | | // Fixme 2025.3.27: 所属监测点区域目前需要通过用户选择确定 |
| | | // 2025.3.27: 所属监测点区域需要通过用户选择确定 |
| | | zone |
| | | pollutionDegreeIndex |
| | | pollutionDegree |
| | |
| | | } |
| | | } |
| | | |
| | | override fun mixGridData(groupId: Int, dataIdList: List<Int>): List<GridDataDetailMixVo> { |
| | | override fun mixUnderwayGridData(groupId: Int, dataIdList: List<Int>): List<GridDataDetailMixVo> { |
| | | // 获取所使用的网格组网格信息 |
| | | val gridCellList = satelliteGridRep.fetchGridCell(groupId) |
| | | |
| | |
| | | gridDataDetailList: List<GridDataDetail>, |
| | | searchLength: Int, |
| | | ): List<GridDataDetail> { |
| | | val gridGroup =satelliteGridRep.fetchGridGroup(groupId) |
| | | val gridCellList = satelliteGridRep.fetchGridCell(groupId) |
| | | val originCellIdList = gridDataDetailList.map { it.cellId } |
| | | // Fixme 2025.3.24: 此处根据现有的网格信息设计方式,使用临时的参数,后续将网格通过二维坐标形式表示,此处参数去除 |
| | | val option = GridGroupOption(120, 90, 10, 10) |
| | | val option = GridGroupOption(gridGroup?.maxXaxis ?: 120, gridGroup?.maxYaxis ?: 90, 10, 10) |
| | | |
| | | val resMap = mutableMapOf<Int, MutableList<GridDataDetail>>() |
| | | |