1.全景展示冀北运行统计bug修改

This commit is contained in:
wr
2024-06-05 11:51:06 +08:00
parent 3ca0dfbc3c
commit 8a511e2906

View File

@@ -154,7 +154,7 @@ public class RStatLimitServiceImpl implements RStatLimitService {
//在线
param.setComFlagStatus(1);
List<GeneralDeviceDTO> onData = generalDeviceInfoClient.getPracticalRunDeviceInfo(param).getData();
List<String> line = data.stream().flatMap(x -> x.getLineIndexes().stream()).distinct().collect(Collectors.toList());
List<String> onLine = onData.stream().flatMap(x -> x.getLineIndexes().stream()).distinct().collect(Collectors.toList());
Map<String, GeneralDeviceDTO> onMap = onData.stream().collect(Collectors.toMap(GeneralDeviceDTO::getIndex, Function.identity()));
@@ -166,14 +166,14 @@ public class RStatLimitServiceImpl implements RStatLimitService {
Map<String, DeptGetSubStationDTO.Info> deptLineMap = deptGetChildrenMoreDTOS.stream().collect(Collectors.toMap(DeptGetSubStationDTO.Info::getUnitId, Function.identity()));
StatSubstationBizBaseParam baseParam=new StatSubstationBizBaseParam();
baseParam.setIds(line);
baseParam.setIds(onLine);
baseParam.setStartTime(DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())).toString());
baseParam.setEndTime(DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())).toString());
List<String> linesTarget=targetDService.getLinesTarget(baseParam);
List<RStatIntegrityD> integrityDS = lineIntegrityClient.getIntegrityByLineIds(line,
List<RStatIntegrityD> integrityDS = lineIntegrityClient.getIntegrityByLineIds(onLine,
DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())).toString(),
DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())).toString()).getData();
List<String> integrityDS0 = integrityDS.stream().filter(x -> 0 == x.getIntegrityData()).map(RStatIntegrityD::getLineIndex).collect(Collectors.toList());
List<String> integrityDS0 = integrityDS.stream().filter(x -> 0.9 <= x.getIntegrityData()).map(RStatIntegrityD::getLineIndex).collect(Collectors.toList());
for (GeneralDeviceDTO datum : data) {
areaData = new GridDiagramVO.AreaData();
@@ -194,22 +194,30 @@ public class RStatLimitServiceImpl implements RStatLimitService {
List<String> alarm = new ArrayList<>();
deptSub.getStationIds().stream().forEach(x -> {
List<String> lineIds = new ArrayList<>();
List<String> onlineIds = new ArrayList<>();
//0全部 1国网
if (ObjectUtil.isNull(param.getMonitorFlag())) {
lineIds.addAll(x.getUnitChildrenList());
onlineIds.addAll(x.getUnitChildrenList().stream().filter(d -> onLine.contains(d)).collect(Collectors.toList()));
} else {
if (0 == param.getMonitorFlag()) {
lineIds.addAll(x.getUnitChildrenList());
onlineIds.addAll(x.getUnitChildrenList().stream().filter(d -> onLine.contains(d)).collect(Collectors.toList()));
}else {
lineIds.addAll(x.getGwUnitChildrenList());
onlineIds.addAll(x.getGwUnitChildrenList().stream().filter(d -> onLine.contains(d)).collect(Collectors.toList()));
}
}
List<String> collect = new ArrayList<>();
collect.addAll(linesTarget.stream().filter(d -> lineIds.contains(d)).collect(Collectors.toList()));
collect.addAll(integrityDS0.stream().filter(d -> lineIds.contains(d)).collect(Collectors.toList()));
if (CollUtil.isNotEmpty(collect)) {
//监测点数据完整率大于90的
List<String> onIntegrity = integrityDS0.stream().filter(d -> onlineIds.contains(d)).collect(Collectors.toList());
//没有超标监测点
collect.addAll(onIntegrity.stream().filter(d -> !linesTarget.contains(d)).collect(Collectors.toList()));
//总监测点剔除合格监测点其他都是不合格信息
List<String> alarmList = lineIds.stream().filter(d -> !collect.contains(d)).collect(Collectors.toList());
if (CollUtil.isNotEmpty(alarmList)) {
num.getAndIncrement();
alarm.addAll(collect);
alarm.addAll(alarmList);
}
});
@@ -217,10 +225,12 @@ public class RStatLimitServiceImpl implements RStatLimitService {
areaData.setAlarmSubList(alarm.stream().distinct().collect(Collectors.toList()));
}
List<String> lineAlarm = new ArrayList<>();
lineAlarm.addAll(linesTarget.stream().filter(d -> datum.getLineIndexes().contains(d)).collect(Collectors.toList()));
lineAlarm.addAll(integrityDS0.stream().filter(d -> datum.getLineIndexes().contains(d)).collect(Collectors.toList()));
areaData.setAlarm(lineAlarm.stream().distinct().collect(Collectors.toList()).size());
areaData.setAlarmList(lineAlarm.stream().distinct().collect(Collectors.toList()));
List<String> onIds = datum.getLineIndexes().stream().filter(d -> onLine.contains(d)).collect(Collectors.toList());
List<String> onIntegrity = integrityDS0.stream().filter(d -> onIds.contains(d)).collect(Collectors.toList());
lineAlarm.addAll(onIntegrity.stream().filter(d -> !linesTarget.contains(d)).collect(Collectors.toList()));
List<String> alarm = datum.getLineIndexes().stream().filter(d -> !lineAlarm.contains(d)).collect(Collectors.toList());
areaData.setAlarm(alarm.size());
areaData.setAlarmList(alarm);
}
info.add(areaData);
@@ -241,26 +251,25 @@ public class RStatLimitServiceImpl implements RStatLimitService {
List<String> online = onData.stream().flatMap(x -> x.getLineIndexes().stream()).distinct().collect(Collectors.toList());
StatSubstationBizBaseParam baseParam=new StatSubstationBizBaseParam();
baseParam.setIds(line);
baseParam.setIds(online);
baseParam.setStartTime(DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())).toString());
baseParam.setEndTime(DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())).toString());
List<String> linesTarget=targetDService.getLinesTarget(baseParam);
List<RStatIntegrityD> integrityDS = lineIntegrityClient.getIntegrityByLineIds(line,
List<RStatIntegrityD> integrityDS = lineIntegrityClient.getIntegrityByLineIds(online,
DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())).toString(),
DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())).toString()).getData();
List<String> integrityDS0 = integrityDS.stream().filter(x -> 0 == x.getIntegrityData()).map(RStatIntegrityD::getLineIndex).collect(Collectors.toList());
List<String> integrityDS0 = integrityDS.stream().filter(x -> 0.9 <= x.getIntegrityData()).map(RStatIntegrityD::getLineIndex).collect(Collectors.toList());
//合格-告警
GridDiagramVO.RunData alarmData=new GridDiagramVO.RunData();
List<String> lineAlarm = new ArrayList<>();
lineAlarm.addAll(linesTarget.stream().filter(d -> line.contains(d)).collect(Collectors.toList()));
lineAlarm.addAll(integrityDS0.stream().filter(d -> line.contains(d)).collect(Collectors.toList()));
lineAlarm.addAll(integrityDS0.stream().filter(d -> !linesTarget.contains(d)).distinct().collect(Collectors.toList()));
List<String> alarm = lineAlarm.stream().distinct().collect(Collectors.toList());
List<String> us = line.stream().filter(x -> !alarm.contains(x)).distinct().collect(Collectors.toList());
alarmData.setLineNumOne(us.size());
alarmData.setLineListOne(us);
alarmData.setLineNumTwo(alarm.size());
alarmData.setLineListTwo(alarm);
alarmData.setLineNumOne(alarm.size());
alarmData.setLineListOne(alarm);
alarmData.setLineNumTwo(us.size());
alarmData.setLineListTwo(us);
info.add(alarmData);
//在线-离线