| | |
| | | import com.flightfeather.uav.domain.mapper.GridGroupMapper |
| | | import com.flightfeather.uav.lightshare.bean.AreaVo |
| | | import org.springframework.stereotype.Repository |
| | | import org.springframework.transaction.annotation.Transactional |
| | | import tk.mybatis.mapper.entity.Example |
| | | import java.time.LocalDateTime |
| | | |
| | |
| | | }) |
| | | } |
| | | |
| | | /** |
| | | * 插入网格组PM2.5数据索引和详细数据。 |
| | | * |
| | | * @param data 网格组PM2.5数据索引。 |
| | | * @param gridDataDetails 网格组PM2.5详细数据列表。 |
| | | * @author hc |
| | | * @date 2024-12-29 |
| | | */ |
| | | fun insertGridDataAndDetail(data: GridData, gridDataDetails: List<GridDataDetail>) { |
| | | gridDataMapper.insert(data) |
| | | gridDataDetails.forEach { |
| | |
| | | gridDataDetailMapper.insertList(gridDataDetails) |
| | | } |
| | | |
| | | /** |
| | | * 更新网格组详细数据。 |
| | | * |
| | | * @param gridDataDetails 需要更新的网格组详细数据列表。 |
| | | * @author hc |
| | | * @date 2024-12-29 |
| | | */ |
| | | @Transactional(rollbackFor = [Exception::class]) |
| | | fun updatePM25Batch(gridDataDetails: List<GridDataDetail>) { |
| | | gridDataDetailMapper.updatePM25Batch(gridDataDetails) |
| | | gridDataDetails.forEach { |
| | | gridDataDetailMapper.updateByExample(it, Example(GridDataDetail::class.java).apply { |
| | | createCriteria().andEqualTo("dataId", it.dataId) |
| | | .andEqualTo("groupId", it.groupId) |
| | | .andEqualTo("cellId", it.cellId) |
| | | }) |
| | | } |
| | | } |
| | | |
| | | |
| | | // aod 相关操作 |
| | | /** |
| | | * 根据组ID和数据时间获取网格组aod数据索引。 |
| | | * |
| | | * @param groupId 网格组ID。 |
| | | * @param dataTime 数据时间。 |
| | | * @return 网格组aod数据索引列表。 |
| | | * @author hc |
| | | * @date 2024-12-29 |
| | | */ |
| | | fun fetchGridAod(groupId: Int, dataTime: LocalDateTime?): List<GridAod?> { |
| | | return gridAodMapper.selectByExample(Example(GridAod::class.java).apply { |
| | | createCriteria().andEqualTo("groupId", groupId) |
| | |
| | | }) |
| | | } |
| | | |
| | | /** |
| | | * 获取网格组aod数据详情。 |
| | | * |
| | | * @param aodId aod数据ID。 |
| | | * @param groupId 网格组ID。 |
| | | * @param cellId 单元格ID。 |
| | | * @return 网格组aod数据详情列表。 |
| | | * @author hc |
| | | * @date 2024-12-29 |
| | | */ |
| | | fun fetchGridAodDetail(aodId: Int, groupId: Int?, cellId: Int?): List<GridAodDetail?> { |
| | | return gridAodDetailMapper.selectByExample(Example(GridAodDetail::class.java).apply { |
| | | createCriteria().andEqualTo("aodId", aodId) |
| | |
| | | }) |
| | | } |
| | | |
| | | /** |
| | | * 插入网格组aod数据索引和详细数据。 |
| | | * |
| | | * @param aod 网格组aod数据索引。 |
| | | * @param gridAodDetails 网格组aod详细数据列表。 |
| | | * @author hc |
| | | * @date 2024-12-29 |
| | | */ |
| | | fun insertGridAodAndDetail(aod: GridAod, gridAodDetails: List<GridAodDetail>) { |
| | | gridAodMapper.insert(aod) |
| | | gridAodDetails.forEach { |
| | |
| | | gridAodDetailMapper.insertList(gridAodDetails) |
| | | } |
| | | |
| | | /** |
| | | * 更新网格组aod数据详情。 |
| | | * |
| | | * @param gridDataDetails 需要更新的网格组aod详细数据列表。 |
| | | * @author hc |
| | | * @date 2024-12-29 |
| | | */ |
| | | @Transactional(rollbackFor = [Exception::class]) |
| | | fun updateGridAodBatch(gridDataDetails: List<GridAodDetail>) { |
| | | gridDataDetails.forEach { |
| | | gridAodDetailMapper.updateByExample(it, Example(GridAodDetail::class.java).apply { |
| | |
| | | .andEqualTo("cellId", it.cellId) |
| | | }) |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | } |