diff --git a/jeecg-module-station-operation/src/main/java/org/jeecg/DataProvisionEfficiencyManager.java b/jeecg-module-station-operation/src/main/java/org/jeecg/DataProvisionEfficiencyManager.java index 3af394fb..a41d4788 100644 --- a/jeecg-module-station-operation/src/main/java/org/jeecg/DataProvisionEfficiencyManager.java +++ b/jeecg-module-station-operation/src/main/java/org/jeecg/DataProvisionEfficiencyManager.java @@ -6,6 +6,7 @@ import org.jeecg.common.CalculateStationData; import org.jeecg.common.properties.MaximumPoolSizeProperties; import org.jeecg.common.util.RedisUtil; import org.jeecg.modules.base.entity.configuration.GardsStations; +import org.jeecg.modules.base.enums.DetectorStatus; import org.jeecg.modules.entity.data.RateParam; import org.jeecg.modules.entity.data.StationInfo; import org.springframework.scheduling.concurrent.CustomizableThreadFactory; @@ -61,7 +62,7 @@ public class DataProvisionEfficiencyManager { HashMap stationInfoMap = (HashMap) redisUtil.get("stationInfoMap"); List detectorsUsedList = (List) redisUtil.get("detectorsUsedList"); // 获取所有的台站信息 - List stations = stationInfoMap.values().stream().filter(item-> item.getLon()!=null && item.getLat()!=null).sorted(Comparator.comparing(GardsStations::getStationId)).collect(Collectors.toList()); + List stations = stationInfoMap.values().stream().filter(item-> item.getLon()!=null && item.getLat()!=null && item.getStatus() != null && item.getStatus().equalsIgnoreCase(DetectorStatus.ON.getValue())).sorted(Comparator.comparing(GardsStations::getStationId)).collect(Collectors.toList()); List stationInfos = new ArrayList<>(); for (GardsStations gardsStations : stations) { StationInfo stationInfo = new StationInfo(); diff --git a/jeecg-module-station-operation/src/main/java/org/jeecg/DataReceivingStatusManager.java b/jeecg-module-station-operation/src/main/java/org/jeecg/DataReceivingStatusManager.java index 50760a4a..39ee71b5 100644 --- a/jeecg-module-station-operation/src/main/java/org/jeecg/DataReceivingStatusManager.java +++ b/jeecg-module-station-operation/src/main/java/org/jeecg/DataReceivingStatusManager.java @@ -10,9 +10,11 @@ import org.jeecg.common.config.mqtoken.UserTokenContext; import org.jeecg.common.properties.MaximumPoolSizeProperties; import org.jeecg.common.util.DateUtils; import org.jeecg.common.util.RedisUtil; +import org.jeecg.modules.base.entity.configuration.GardsStations; import org.jeecg.modules.base.entity.original.GardsMetData; import org.jeecg.modules.base.entity.original.GardsSampleData; import org.jeecg.modules.base.entity.original.GardsSohData; +import org.jeecg.modules.base.enums.DetectorStatus; import org.jeecg.modules.entity.data.*; import org.jeecg.modules.mapper.StationMetDataMapper; import org.jeecg.modules.mapper.StationSampleDataMapper; @@ -88,8 +90,14 @@ public class DataReceivingStatusManager { } } //从redis中获取台站信息 - Map stationInfoMap = (Map)redisUtil.get("stationMap"); - List stationIds = stationInfoMap.keySet().stream().collect(Collectors.toList()); + Map stationInfoMap = (HashMap) redisUtil.get("stationInfoMap"); + List stationIds = new LinkedList<>(); + for (Map.Entry stationInfo:stationInfoMap.entrySet()) { + GardsStations infoValue = stationInfo.getValue(); + if (infoValue.getStatus() != null && infoValue.getStatus().equalsIgnoreCase(DetectorStatus.ON.getValue())) { + stationIds.add(infoValue.getStationId().toString()); + } + } //从redis中获取探测器信息 Map detectorInfoMap = (Map)redisUtil.get("detectorsMap"); //声明存储所有台站id对应的数据信息的集合 @@ -216,8 +224,9 @@ public class DataReceivingStatusManager { stationMap.put(stationId, detectorDataList); stationData.setStationId(stationId); if (CollectionUtils.isNotEmpty(stationInfoMap)) { - if (StringUtils.isNotBlank(stationInfoMap.get(stationId))) { - stationData.setStationCode(stationInfoMap.get(stationId)); + if (Objects.nonNull(stationInfoMap.get(stationId))) { + GardsStations stations = stationInfoMap.get(stationId); + stationData.setStationCode(stations.getStationCode()); } } stationData.setDetectors(stationMap);