1.全景展示修改,调整监测基本信息展示
This commit is contained in:
@@ -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")
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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());
|
||||
|
||||
Reference in New Issue
Block a user