diff --git a/hzims-service/operational/src/main/java/com/hnac/hzims/operational/station/mapper/StationVideoTypeMapper.java b/hzims-service/operational/src/main/java/com/hnac/hzims/operational/station/mapper/StationVideoTypeMapper.java index 0718153..0e18760 100644 --- a/hzims-service/operational/src/main/java/com/hnac/hzims/operational/station/mapper/StationVideoTypeMapper.java +++ b/hzims-service/operational/src/main/java/com/hnac/hzims/operational/station/mapper/StationVideoTypeMapper.java @@ -40,4 +40,16 @@ public interface StationVideoTypeMapper extends UserDataScopeBaseMapper getAgencyStationsByVideo(@Param("type") String type); IPage getStationVideoOrderByName(@Param(Constants.WRAPPER) QueryWrapper wrapper, IPage page); + + /** + * 获取配置了运行安全视频(video_ower_type=2,video_type为1~5)的去重站点号 + * @return + */ + List selectWaterStationIds(); + + /** + * 获取配置了防汛安全视频(video_ower_type=1,video_type=6)的去重站点号 + * @return + */ + List selectWaterSafeStationIds(); } diff --git a/hzims-service/operational/src/main/java/com/hnac/hzims/operational/station/mapper/StationVideoTypeMapper.xml b/hzims-service/operational/src/main/java/com/hnac/hzims/operational/station/mapper/StationVideoTypeMapper.xml index 66e9020..aa83121 100644 --- a/hzims-service/operational/src/main/java/com/hnac/hzims/operational/station/mapper/StationVideoTypeMapper.xml +++ b/hzims-service/operational/src/main/java/com/hnac/hzims/operational/station/mapper/StationVideoTypeMapper.xml @@ -70,4 +70,14 @@ order by vt.pingyin ASC,vt.name ASC, vt.sort ASC,vt.create_time DESC + + + + diff --git a/hzims-service/operational/src/main/java/com/hnac/hzims/operational/station/service/IStationVideoTypeService.java b/hzims-service/operational/src/main/java/com/hnac/hzims/operational/station/service/IStationVideoTypeService.java index 84721f4..5a44893 100644 --- a/hzims-service/operational/src/main/java/com/hnac/hzims/operational/station/service/IStationVideoTypeService.java +++ b/hzims-service/operational/src/main/java/com/hnac/hzims/operational/station/service/IStationVideoTypeService.java @@ -70,5 +70,17 @@ public interface IStationVideoTypeService extends BaseService getVideoCount(String code,List videoType,String videoOwerType); + /** + * 获取配置了运行安全视频(video_ower_type=2,video_type为1~5)的去重站点号 + * @return + */ + List getWaterStationIds(); + + /** + * 获取配置了防汛安全视频(video_ower_type=1,video_type=6)的去重站点号 + * @return + */ + List getWaterSafeStationIds(); + WaterMonitorVideoVo waterMonitorVideo(); } diff --git a/hzims-service/operational/src/main/java/com/hnac/hzims/operational/station/service/impl/ImsDeptServiceImpl.java b/hzims-service/operational/src/main/java/com/hnac/hzims/operational/station/service/impl/ImsDeptServiceImpl.java index 58c7086..9f27485 100644 --- a/hzims-service/operational/src/main/java/com/hnac/hzims/operational/station/service/impl/ImsDeptServiceImpl.java +++ b/hzims-service/operational/src/main/java/com/hnac/hzims/operational/station/service/impl/ImsDeptServiceImpl.java @@ -1,7 +1,7 @@ package com.hnac.hzims.operational.station.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.hnac.hzims.operational.OperationalConstants; import com.hnac.hzims.operational.main.constant.HomePageConstant; import com.hnac.hzims.operational.main.service.IWaterService; import com.hnac.hzims.operational.station.entity.ImsDeptEntity; @@ -366,19 +366,30 @@ public class ImsDeptServiceImpl extends ServiceImpl likeRefDept = stationService.getLikeRefDept(2000000134L, null, new ArrayList<>()); + // 从视频配置表获取存在运行安全视频的去重站点号 + List stationIds = stationVideoTypeService.getWaterStationIds(); + if (CollectionUtil.isEmpty(stationIds)) { + waterDeptTreeVo.setChildren(new ArrayList<>()); + return waterDeptTreeVo; + } + // 根据站点号获取站点信息,按站点排序 + List stationList = stationService.list(new LambdaQueryWrapper() + .in(StationEntity::getCode, stationIds) + .orderByAsc(StationEntity::getSort)); + if (CollectionUtil.isEmpty(stationList)) { + waterDeptTreeVo.setChildren(new ArrayList<>()); + return waterDeptTreeVo; + } List child = new ArrayList<>(); -// for (StationEntity station : likeRefDept) { - for (OperationalConstants.StaionTypeEnum value : OperationalConstants.StaionTypeEnum.values()) { - List videoCount = stationVideoTypeService.getVideoCount(value.getStationId(), Arrays.asList("1", "2", "3", "4", "5"), "2"); + for (StationEntity station : stationList) { + List videoCount = stationVideoTypeService.getVideoCount(station.getCode(), Arrays.asList("1", "2", "3", "4", "5"), "2"); if (CollectionUtil.isEmpty(videoCount)) { continue; } WaterDeptTreeVo waterDeptTreeVoChild = new WaterDeptTreeVo(); - waterDeptTreeVoChild.setName(value.getName()); - waterDeptTreeVoChild.setStationId(value.getStationId().toString()); - waterDeptTreeVoChild.setSort(value.getType()); + waterDeptTreeVoChild.setName(station.getName()); + waterDeptTreeVoChild.setStationId(station.getCode()); + waterDeptTreeVoChild.setSort(ObjectUtil.isNotEmpty(station.getSort()) ? station.getSort() : 0); waterDeptTreeVoChild.setVideoNum(videoCount.size()); Map> collect = videoCount.stream().collect(Collectors.groupingBy(StationVideoTypeEntity::getVideoType)); List res = new ArrayList<>(); @@ -399,7 +410,7 @@ public class ImsDeptServiceImpl extends ServiceImpl stationIds = stationVideoTypeService.getWaterSafeStationIds(); + if (CollectionUtil.isEmpty(stationIds)) { + waterDeptTreeVo.setChildren(new ArrayList<>()); + return waterDeptTreeVo; + } + // 根据站点号获取站点信息,按站点排序 + List stationList = stationService.list(new LambdaQueryWrapper() + .in(StationEntity::getCode, stationIds) + .orderByAsc(StationEntity::getSort)); + if (CollectionUtil.isEmpty(stationList)) { + waterDeptTreeVo.setChildren(new ArrayList<>()); + return waterDeptTreeVo; + } List child = new ArrayList<>(); - for (OperationalConstants.StaionTypeEnum value : OperationalConstants.StaionTypeEnum.values()) { - List videoCount = stationVideoTypeService.getVideoCount(value.getStationId(), Arrays.asList("6"), "1"); + for (StationEntity station : stationList) { + List videoCount = stationVideoTypeService.getVideoCount(station.getCode(), Arrays.asList("6"), "1"); if (CollectionUtil.isEmpty(videoCount)) { continue; } WaterDeptTreeVo waterDeptTreeVoChild = new WaterDeptTreeVo(); - waterDeptTreeVoChild.setName(value.getName()); - waterDeptTreeVoChild.setSort(value.getType()); - waterDeptTreeVoChild.setStationId(value.getStationId().toString()); - waterDeptTreeVoChild.setWaterId(value.getStationId().toString()); + waterDeptTreeVoChild.setName(station.getName()); + waterDeptTreeVoChild.setSort(ObjectUtil.isNotEmpty(station.getSort()) ? station.getSort() : 0); + waterDeptTreeVoChild.setStationId(station.getCode()); + waterDeptTreeVoChild.setWaterId(station.getCode()); waterDeptTreeVoChild.setVideoNum(videoCount.size()); child.add(waterDeptTreeVoChild); } diff --git a/hzims-service/operational/src/main/java/com/hnac/hzims/operational/station/service/impl/StationVideoTypeServiceImpl.java b/hzims-service/operational/src/main/java/com/hnac/hzims/operational/station/service/impl/StationVideoTypeServiceImpl.java index 7a290c1..1deb3d1 100644 --- a/hzims-service/operational/src/main/java/com/hnac/hzims/operational/station/service/impl/StationVideoTypeServiceImpl.java +++ b/hzims-service/operational/src/main/java/com/hnac/hzims/operational/station/service/impl/StationVideoTypeServiceImpl.java @@ -265,6 +265,16 @@ public class StationVideoTypeServiceImpl extends BaseServiceImpl getWaterStationIds() { + return this.baseMapper.selectWaterStationIds(); + } + + @Override + public List getWaterSafeStationIds() { + return this.baseMapper.selectWaterSafeStationIds(); + } + + @Override public StationVideoTypeEntity getById(Long id, int streamType) { StationVideoTypeEntity stationVideoTypeEntity = this.getById(id); if (ObjectUtil.isNotEmpty(stationVideoTypeEntity.getIsHikvideo()) && stationVideoTypeEntity.getIsHikvideo() == 1) {