| | |
| | | import org.sxkj.fw.area.entity.FwAreaDivideEntity; |
| | | import org.sxkj.fw.area.entity.FwDefenseSceneEntity; |
| | | import org.sxkj.fw.area.entity.FwDefenseZoneEntity; |
| | | import org.sxkj.fw.area.vo.FwAreaDivideVO; |
| | | import org.sxkj.fw.area.vo.FwDefenseZoneVO; |
| | | import org.sxkj.fw.area.excel.FwDefenseZoneExcel; |
| | | import org.sxkj.fw.area.mapper.FwDefenseZoneMapper; |
| | |
| | | return detail; |
| | | } |
| | | |
| | | @Override |
| | | public List<FwAreaDivideVO> selectFwAreaDivideListByZoneId(Long zoneId) { |
| | | if (zoneId == null) { |
| | | return Collections.emptyList(); |
| | | } |
| | | // 防区不存在时直接返回空结果 |
| | | Integer exists = baseMapper.selectDefenseZoneExists(zoneId); |
| | | if (exists == null || exists == 0) { |
| | | return null; |
| | | } |
| | | List<FwAreaDivideVO> areaList = baseMapper.selectFwAreaDivideListByZoneId(zoneId); |
| | | if (areaList == null) { |
| | | return Collections.emptyList(); |
| | | } |
| | | return areaList; |
| | | } |
| | | |
| | | private void fillDefenseZoneStatistics(List<FwDefenseZoneVO> records) { |
| | | if (records == null || records.isEmpty()) { |
| | | return; |
| | | } |
| | | // 组装防区-场景-区域-设备的统计链路 |
| | | Set<Long> sceneIdSet = new HashSet<>(); |
| | | Map<Long, List<Long>> zoneSceneMap = new HashMap<>(); |
| | | for (FwDefenseZoneVO record : records) { |
| | |
| | | } |
| | | Map<Long, List<Long>> areaDeviceMap = new HashMap<>(); |
| | | if (!sceneAreaIdSet.isEmpty()) { |
| | | // 预加载区域关联的设备ID集合 |
| | | List<FwAreaDivideEntity> areaList = fwAreaDivideService.listByIds(sceneAreaIdSet); |
| | | for (FwAreaDivideEntity area : areaList) { |
| | | if (area == null || area.getId() == null) { |