1.全景展示修改,调整监测基本信息展示

This commit is contained in:
wr
2024-06-03 19:01:17 +08:00
parent e0298ed65f
commit aca86e6b57
11 changed files with 283 additions and 27 deletions

View File

@@ -99,6 +99,14 @@ public class GridDiagramHarmController extends BaseController {
List<GridDiagramVO.AreaData> gridDiagramDevData = rStatLimitService.getGridDiagramAreaData(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, gridDiagramDevData, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getGridDiagramRunData")
@ApiOperation("监测运行统计")
public HttpResult<List<GridDiagramVO.RunData>> getGridDiagramRunData(@RequestBody DeviceInfoParam.BusinessParam param) {
String methodDescribe = getMethodDescribe("getGridDiagramRunData");
List<GridDiagramVO.RunData> gridDiagramDevData = rStatLimitService.getGridDiagramRunData(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, gridDiagramDevData, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getGridDiagramTargetData")

View File

@@ -33,4 +33,11 @@ public interface RStatLimitService {
* @return
*/
List<GridDiagramVO.AreaData> getGridDiagramAreaData(DeviceInfoParam.BusinessParam param);
/**
*
* @param param
* @return
*/
List<GridDiagramVO.RunData> getGridDiagramRunData(DeviceInfoParam.BusinessParam param);
}

View File

@@ -228,6 +228,72 @@ public class RStatLimitServiceImpl implements RStatLimitService {
return info;
}
@Override
public List<GridDiagramVO.RunData> getGridDiagramRunData(DeviceInfoParam.BusinessParam param) {
List<GridDiagramVO.RunData> info = new ArrayList<>();
//监测点总数
List<GeneralDeviceDTO> data = generalDeviceInfoClient.getPracticalRunDeviceInfo(param).getData();
List<String> line = data.stream().flatMap(x -> x.getLineIndexes().stream()).distinct().collect(Collectors.toList());
//在线
param.setComFlagStatus(1);
List<GeneralDeviceDTO> onData = generalDeviceInfoClient.getPracticalRunDeviceInfo(param).getData();
List<String> online = onData.stream().flatMap(x -> x.getLineIndexes().stream()).distinct().collect(Collectors.toList());
StatSubstationBizBaseParam baseParam=new StatSubstationBizBaseParam();
baseParam.setIds(line);
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,
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());
//在线-离线
GridDiagramVO.RunData runData=new GridDiagramVO.RunData();
List<String> Offline = line.stream().filter(x -> !online.contains(x)).distinct().collect(Collectors.toList());
runData.setLineNumOne(online.size());
runData.setLineListOne(online);
runData.setLineNumTwo(Offline.size());
runData.setLineListTwo(Offline);
info.add(runData);
//合格-告警
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()));
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);
info.add(alarmData);
//数据完整性≥90% - <90%
GridDiagramVO.RunData integrityData=new GridDiagramVO.RunData();
List<String> integrityDS90 = integrityDS.stream().filter(x -> 0.9 <= x.getIntegrityData()).map(RStatIntegrityD::getLineIndex).collect(Collectors.toList());
List<String> integrity = line.stream().filter(x -> !integrityDS90.contains(x)).distinct().collect(Collectors.toList());
integrityData.setLineNumOne(integrityDS90.size());
integrityData.setLineListOne(integrityDS90);
integrityData.setLineNumTwo(integrity.size());
integrityData.setLineListTwo(integrity);
info.add(integrityData);
//电能质量指标未超标-超标
GridDiagramVO.RunData targetData=new GridDiagramVO.RunData();
List<String> integrityS = line.stream().filter(x -> !linesTarget.contains(x)).distinct().collect(Collectors.toList());
targetData.setLineNumOne(integrityS.size());
integrityData.setLineListOne(integrityS);
targetData.setLineNumTwo(linesTarget.size());
integrityData.setLineListTwo(linesTarget);
info.add(targetData);
return info;
}
private void onLineAndIntegrity(List<String> lineIds, List<RStatIntegrityD> onIntegrityByIds, List<String> devIds, List<RStatOnlinerateVO> onlineRateByDevIds,List<RStatLimitTargetDPO> limitTargetList, GridDiagramVO.LineData lineData) {
//监测完整率
List<RStatIntegrityD> integrityDS = onIntegrityByIds.stream().filter(x -> lineIds.contains(x.getLineIndex())).collect(Collectors.toList());