diff --git a/dongjian-dashboard-back-dao/src/main/java/com/dongjian/dashboard/back/dao/ex/BasicBuildingMapperExt.java b/dongjian-dashboard-back-dao/src/main/java/com/dongjian/dashboard/back/dao/ex/BasicBuildingMapperExt.java index 423b0dc..b5d8be5 100644 --- a/dongjian-dashboard-back-dao/src/main/java/com/dongjian/dashboard/back/dao/ex/BasicBuildingMapperExt.java +++ b/dongjian-dashboard-back-dao/src/main/java/com/dongjian/dashboard/back/dao/ex/BasicBuildingMapperExt.java @@ -13,5 +13,5 @@ public interface BasicBuildingMapperExt extends BasicBuildingMapper { List getListPage(BuildingSearchParams pageSearchParam); - List getBuildingIdListByCompanyId(@Param("companyId") Long companyId); + List getBuildingIdListByCompanyId(@Param("companyIdList") List companyIdList); } diff --git a/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/BasicBuildingMapperExt.xml b/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/BasicBuildingMapperExt.xml index 8e0ce87..ac7ab30 100644 --- a/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/BasicBuildingMapperExt.xml +++ b/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/BasicBuildingMapperExt.xml @@ -40,7 +40,9 @@ building_id FROM basic_building - WHERE company_id = #{companyId} AND flag = 0 + WHERE flag = 0 + AND company_id IN #{item} + ORDER BY building_id diff --git a/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DeviceInfoMapperExt.xml b/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DeviceInfoMapperExt.xml index d049e16..8fa5c06 100644 --- a/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DeviceInfoMapperExt.xml +++ b/dongjian-dashboard-back-dao/src/main/resources/mappers/ex/DeviceInfoMapperExt.xml @@ -39,6 +39,15 @@ + + and basic_building.building_id = #{buildingId} + + + and basic_building.building_id in + + #{item} + + and device_info.monitoring_point_name LIKE CONCAT('%',#{keyword},'%') @@ -112,9 +121,6 @@ left join device_rawdata_realtime drr on drr.device_id = device_info.device_id - - and basic_building.building_id = #{buildingId} - @@ -131,9 +137,6 @@ left join device_rawdata_realtime drr on drr.device_id = device_info.device_id left join dashboard_device_group_relation ddgr on ddgr.device_info_id = device_info.id - - and basic_building.building_id = #{buildingId} - and ddgr.device_group_id = #{deviceGroupId} @@ -149,9 +152,6 @@ left join device_rawdata_realtime drr on drr.device_id = device_info.device_id - - and basic_building.building_id = #{buildingId} - @@ -168,9 +168,6 @@ left join device_rawdata_realtime drr on drr.device_id = device_info.device_id left join dashboard_device_group_relation ddgr on ddgr.device_info_id = device_info.id - - and basic_building.building_id = #{buildingId} - and ddgr.device_group_id = #{deviceGroupId} @@ -228,9 +225,6 @@ left join ba_status_statistics bss on bss.device_info_id = device_info.id - - and basic_building.building_id = #{buildingId} - @@ -251,9 +245,6 @@ left join dashboard_device_group_relation ddgr on ddgr.device_info_id = device_info.id left join ba_status_statistics bss on bss.device_info_id = device_info.id - - and basic_building.building_id = #{buildingId} - and ddgr.device_group_id = #{deviceGroupId} @@ -343,9 +334,6 @@ and device_info.flag = 0 and basic_monitoring_asset.flag != 1 and basic_space.flag != 1 and basic_floor.flag != 1 and basic_building.flag != 1 - - and basic_building.building_id = #{buildingId} - @@ -407,9 +395,6 @@ and device_info.flag = 0 and basic_monitoring_asset.flag != 1 and basic_space.flag != 1 and basic_floor.flag != 1 and basic_building.flag != 1 - - and basic_building.building_id = #{buildingId} - and ddgr.device_group_id = #{deviceGroupId} @@ -438,9 +423,6 @@ left join device_rawdata_realtime drr on drr.device_id = device_info.device_id - - and basic_building.building_id = #{buildingId} - @@ -457,9 +439,6 @@ left join device_rawdata_realtime drr on drr.device_id = device_info.device_id left join dashboard_device_group_relation ddgr on ddgr.device_info_id = device_info.id - - and basic_building.building_id = #{buildingId} - and ddgr.device_group_id = #{deviceGroupId} diff --git a/dongjian-dashboard-back-model/src/main/java/com/dongjian/dashboard/back/dto/data/DataSearchParam.java b/dongjian-dashboard-back-model/src/main/java/com/dongjian/dashboard/back/dto/data/DataSearchParam.java index 6536910..1a3ef8a 100644 --- a/dongjian-dashboard-back-model/src/main/java/com/dongjian/dashboard/back/dto/data/DataSearchParam.java +++ b/dongjian-dashboard-back-model/src/main/java/com/dongjian/dashboard/back/dto/data/DataSearchParam.java @@ -37,4 +37,7 @@ public class DataSearchParam extends BaseSearchParams { @Schema(description = "关键词",example = "det") private String keyword; + @Schema(description = "绑定的楼宇ID",example = "[]", hidden = true) + private List bindBuildingIdList; + } diff --git a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/common/CommonOpt.java b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/common/CommonOpt.java index 7d0f054..04f0132 100644 --- a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/common/CommonOpt.java +++ b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/common/CommonOpt.java @@ -256,10 +256,10 @@ public class CommonOpt { // } // } // } - public List getBindBuildingIdList(Long userId, Long companyId) { + public List getBindBuildingIdList(Long userId, List companyIdList) { Integer levelManager = basicUserMapperExt.checkLevelManager(userId); if (levelManager > 0) { - return basicBuildingMapperExt.getBuildingIdListByCompanyId(companyId); + return basicBuildingMapperExt.getBuildingIdListByCompanyId(companyIdList); } else { List bindedBuildingList = levelMapperExt.getBoundBuilding(userId); if (CollectionUtils.isEmpty(bindedBuildingList)) { diff --git a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataAccumulateServiceImpl.java b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataAccumulateServiceImpl.java index 3c86c7a..564934e 100644 --- a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataAccumulateServiceImpl.java +++ b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataAccumulateServiceImpl.java @@ -75,6 +75,8 @@ public class DeviceDataAccumulateServiceImpl implements DeviceDataAccumulateServ pageSearchParam.setCompanyIdList(commonOpt.filterCompanyIds(companyId, pageSearchParam.getCompanyIds())); } + pageSearchParam.setBindBuildingIdList(commonOpt.getBindBuildingIdList(pageSearchParam.getUserId(), pageSearchParam.getCompanyIdList())); + PageHelper.startPage(pageSearchParam.getPageNum() == null ? 1 : pageSearchParam.getPageNum(), pageSearchParam.getPageSize() == null ? 20 : pageSearchParam.getPageSize()); return new PageInfo<>(handleDeviceAccumulateData(pageSearchParam)); } diff --git a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataAlarmServiceImpl.java b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataAlarmServiceImpl.java index ef5c9d4..21b13f4 100644 --- a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataAlarmServiceImpl.java +++ b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataAlarmServiceImpl.java @@ -72,6 +72,8 @@ public class DeviceDataAlarmServiceImpl implements DeviceDataAlarmService { pageSearchParam.setCompanyIdList(commonOpt.filterCompanyIds(companyId, pageSearchParam.getCompanyIds())); } + pageSearchParam.setBindBuildingIdList(commonOpt.getBindBuildingIdList(pageSearchParam.getUserId(), pageSearchParam.getCompanyIdList())); + PageHelper.startPage(pageSearchParam.getPageNum() == null ? 1 : pageSearchParam.getPageNum(), pageSearchParam.getPageSize() == null ? 20 : pageSearchParam.getPageSize()); return new PageInfo<>(handleDeviceAlarmData(languageType, pageSearchParam)); } diff --git a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataBaStatusServiceImpl.java b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataBaStatusServiceImpl.java index 6f87cd2..f352ac8 100644 --- a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataBaStatusServiceImpl.java +++ b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataBaStatusServiceImpl.java @@ -83,6 +83,8 @@ public class DeviceDataBaStatusServiceImpl implements DeviceDataBaStatusService pageSearchParam.setCompanyIdList(commonOpt.filterCompanyIds(companyId, pageSearchParam.getCompanyIds())); } + pageSearchParam.setBindBuildingIdList(commonOpt.getBindBuildingIdList(pageSearchParam.getUserId(), pageSearchParam.getCompanyIdList())); + PageHelper.startPage(pageSearchParam.getPageNum() == null ? 1 : pageSearchParam.getPageNum(), pageSearchParam.getPageSize() == null ? 20 : pageSearchParam.getPageSize()); return new PageInfo<>(handleDeviceBaStatusData(pageSearchParam)); } diff --git a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataMeasureServiceImpl.java b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataMeasureServiceImpl.java index 67b61e6..89fc2a9 100644 --- a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataMeasureServiceImpl.java +++ b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataMeasureServiceImpl.java @@ -86,6 +86,8 @@ public class DeviceDataMeasureServiceImpl implements DeviceDataMeasureService { pageSearchParam.setCompanyIdList(commonOpt.filterCompanyIds(companyId, pageSearchParam.getCompanyIds())); } + pageSearchParam.setBindBuildingIdList(commonOpt.getBindBuildingIdList(pageSearchParam.getUserId(), pageSearchParam.getCompanyIdList())); + PageHelper.startPage(pageSearchParam.getPageNum() == null ? 1 : pageSearchParam.getPageNum(), pageSearchParam.getPageSize() == null ? 20 : pageSearchParam.getPageSize()); return new PageInfo<>(handleDeviceMeasureData(pageSearchParam)); } diff --git a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataTrendLogServiceImpl.java b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataTrendLogServiceImpl.java index a17d054..421e2a8 100644 --- a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataTrendLogServiceImpl.java +++ b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/DeviceDataTrendLogServiceImpl.java @@ -71,6 +71,8 @@ public class DeviceDataTrendLogServiceImpl implements DeviceDataTrendLogService pageSearchParam.setCompanyIdList(commonOpt.filterCompanyIds(companyId, pageSearchParam.getCompanyIds())); } + pageSearchParam.setBindBuildingIdList(commonOpt.getBindBuildingIdList(pageSearchParam.getUserId(), pageSearchParam.getCompanyIdList())); + PageHelper.startPage(pageSearchParam.getPageNum() == null ? 1 : pageSearchParam.getPageNum(), pageSearchParam.getPageSize() == null ? 20 : pageSearchParam.getPageSize()); return new PageInfo<>(handleDeviceAccumulateData(pageSearchParam)); } diff --git a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/FavoritedDeviceServiceImpl.java b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/FavoritedDeviceServiceImpl.java index 433ef4e..5699208 100644 --- a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/FavoritedDeviceServiceImpl.java +++ b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/FavoritedDeviceServiceImpl.java @@ -98,10 +98,10 @@ public class FavoritedDeviceServiceImpl implements FavoritedDeviceService { } // 查询并构建 deviceId -> Data 映射 - Map accumulateDataMap = buildAccumulateDataMap(companyId, accumulateDeviceIds); - Map measureDataMap = buildMeasureDataMap(companyId, measureDeviceIds); - Map statusDataMap = buildStatusDataMap(companyId, statusDeviceIds); - Map alarmDataMap = buildAlarmDataMap(companyId, languageType, alarmDeviceIds); + Map accumulateDataMap = buildAccumulateDataMap(userId, companyId, accumulateDeviceIds); + Map measureDataMap = buildMeasureDataMap(userId, companyId, measureDeviceIds); + Map statusDataMap = buildStatusDataMap(userId, companyId, statusDeviceIds); + Map alarmDataMap = buildAlarmDataMap(userId, companyId, languageType, alarmDeviceIds); // 按收藏顺序生成结果 for (FavoritedDeviceVO vo : favoritedDeviceVOList) { @@ -139,43 +139,47 @@ public class FavoritedDeviceServiceImpl implements FavoritedDeviceService { return resultPageInfo; } - private Map buildAlarmDataMap(Long companyId, Integer languageType, List deviceIds) { + private Map buildAlarmDataMap(Long userId, Long companyId, Integer languageType, List deviceIds) { if (CollectionUtils.isEmpty(deviceIds)) return Collections.emptyMap(); AlarmDataSearchParam param = new AlarmDataSearchParam(); param.setDeviceIdList(deviceIds); param.setCompanyIdList(List.of(companyId)); param.setSearchType(4); + param.setBindBuildingIdList(commonOpt.getBindBuildingIdList(userId, param.getCompanyIdList())); return deviceDataAlarmService.handleDeviceAlarmData(languageType, param).stream() .collect(Collectors.toMap(DeviceAlarmData::getDeviceId, Function.identity(), (existing, replacement) -> replacement)); } - private Map buildAccumulateDataMap(Long companyId, List deviceIds) { + private Map buildAccumulateDataMap(Long userId, Long companyId, List deviceIds) { if (CollectionUtils.isEmpty(deviceIds)) return Collections.emptyMap(); AccumulateDataSearchParam param = new AccumulateDataSearchParam(); param.setDeviceIdList(deviceIds); param.setCompanyIdList(List.of(companyId)); + param.setBindBuildingIdList(commonOpt.getBindBuildingIdList(userId, param.getCompanyIdList())); return deviceDataAccumulateService.handleDeviceAccumulateData(param).stream() .collect(Collectors.toMap(DeviceAccumulateData::getDeviceId, Function.identity(), (existing, replacement) -> replacement)); } - private Map buildMeasureDataMap(Long companyId, List deviceIds) { + private Map buildMeasureDataMap(Long userId, Long companyId, List deviceIds) { if (CollectionUtils.isEmpty(deviceIds)) return Collections.emptyMap(); MeasureDataSearchParam param = new MeasureDataSearchParam(); param.setDeviceIdList(deviceIds); param.setCompanyIdList(List.of(companyId)); + param.setBindBuildingIdList(commonOpt.getBindBuildingIdList(userId, param.getCompanyIdList())); return deviceDataMeasureService.handleDeviceMeasureData(param).stream() .collect(Collectors.toMap(DeviceMeasureData::getDeviceId, Function.identity(), (existing, replacement) -> replacement)); } - private Map buildStatusDataMap(Long companyId, List deviceIds) { + private Map buildStatusDataMap(Long userId, Long companyId, List deviceIds) { if (CollectionUtils.isEmpty(deviceIds)) return Collections.emptyMap(); BaStatusDataSearchParam param = new BaStatusDataSearchParam(); param.setDeviceIdList(deviceIds); param.setCompanyIdList(List.of(companyId)); + param.setBindBuildingIdList(commonOpt.getBindBuildingIdList(userId, param.getCompanyIdList())); return deviceDataBaStatusService.handleDeviceBaStatusData(param).stream() .collect(Collectors.toMap(DeviceBaStatusData::getDeviceId, Function.identity(), (existing, replacement) -> replacement)); } diff --git a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/OverviewServiceImpl.java b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/OverviewServiceImpl.java index 9ca3d50..2ddfa37 100644 --- a/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/OverviewServiceImpl.java +++ b/dongjian-dashboard-back-service/src/main/java/com/dongjian/dashboard/back/service/impl/OverviewServiceImpl.java @@ -68,7 +68,7 @@ public class OverviewServiceImpl implements OverviewService { public SimpleDataResponse> getOverviewInfo(Long userId, Long companyId, Integer languageType, Integer utcOffset) { Map buildingMap = new HashMap<>(); buildingMap.put("companyId", companyId); - buildingMap.put("bindBuildingIdList", commonOpt.getBindBuildingIdList(userId, companyId)); + buildingMap.put("bindBuildingIdList", commonOpt.getBindBuildingIdList(userId, List.of(companyId))); List buildingInfoList = overviewInfoMapperExt.getBuildingInfo(buildingMap); @@ -276,7 +276,7 @@ public class OverviewServiceImpl implements OverviewService { public SimpleDataResponse> getOverallBoundLevel(Long companyId, Long userId, Integer languageType) { Map buildingMap = new HashMap<>(); buildingMap.put("companyId", companyId); - buildingMap.put("bindBuildingIdList", commonOpt.getBindBuildingIdList(userId, companyId)); + buildingMap.put("bindBuildingIdList", commonOpt.getBindBuildingIdList(userId, List.of(companyId))); List selectBuildingFullPath = levelMapperExt.selectBuildingFullPath(buildingMap); // 构建节点