1.冀北电网一张图-变电站统计电网侧统计
2.公共方法增加点电网侧信息 3.修改区域监测点终端等信息接口
This commit is contained in:
@@ -101,10 +101,10 @@ public class GridDiagramHarmController extends BaseController {
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/getGridDiagramAreaData")
|
||||
@PostMapping("/getGridDiagramTargetData")
|
||||
@ApiOperation("监测点告警越线天数详细信息")
|
||||
public HttpResult<RStatLimitTargetVO> getGridDiagramAreaData(@RequestBody StatisticsBizBaseParam param) {
|
||||
String methodDescribe = getMethodDescribe("getGridDiagramAreaData");
|
||||
public HttpResult<RStatLimitTargetVO> getGridDiagramTargetData(@RequestBody StatisticsBizBaseParam param) {
|
||||
String methodDescribe = getMethodDescribe("getGridDiagramTargetData");
|
||||
RStatLimitTargetVO gridDiagramDevData = targetDService.getGridDiagramTargetData(param);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, gridDiagramDevData, methodDescribe);
|
||||
}
|
||||
|
||||
@@ -659,6 +659,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
||||
public GridDiagramVO getPollutionAlarmData(StatSubstationBizBaseParam param) {
|
||||
DeptGetLineParam deptGetLineParam = new DeptGetLineParam();
|
||||
deptGetLineParam.setDeptId(param.getId());
|
||||
deptGetLineParam.setPowerFlag(0);
|
||||
List<DeptGetSubStationDTO.Info> deptGetChildrenMoreDTOS = commTerminalGeneralClient.deptGetSubStationInfo(deptGetLineParam).getData();
|
||||
//获取全部变电站信息
|
||||
List<SubGetBase> collect = deptGetChildrenMoreDTOS.stream().flatMap(x -> x.getStationIds().stream()).collect(Collectors.toList());
|
||||
@@ -739,6 +740,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
||||
map.put("I",dicDataFeignClient.getDicDataByCode(DicDataEnum.I_ALL.getCode()).getData().getId());
|
||||
DeptGetLineParam deptGetLineParam = new DeptGetLineParam();
|
||||
deptGetLineParam.setDeptId(param.getId());
|
||||
deptGetLineParam.setPowerFlag(0);
|
||||
List<DeptGetSubStationDTO.Info> deptGetChildrenMoreDTOS = commTerminalGeneralClient.deptGetSubStationInfo(deptGetLineParam).getData();
|
||||
//获取全部变电站信息
|
||||
List<SubGetBase> collect = deptGetChildrenMoreDTOS.stream().flatMap(x -> x.getStationIds().stream()).collect(Collectors.toList());
|
||||
@@ -777,6 +779,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
||||
@Override
|
||||
public List<List<String>> getPollutionAlarmList(GridDiagramParam param) {
|
||||
List<List<String>> info = new ArrayList<>();
|
||||
param.getDeviceInfoParam().setPowerFlag(0);
|
||||
List<GeneralDeviceDTO> data = generalDeviceInfoClient.getPracticalRunDeviceInfo(param.getDeviceInfoParam()).getData();
|
||||
List<String> subIds = data.stream().flatMap(x -> x.getSubIndexes().stream()).collect(Collectors.toList());
|
||||
List<RStatPollutionSubstationM> substationMlist = pollutionSubstationMMapper.selectList(new LambdaQueryWrapper<RStatPollutionSubstationM>()
|
||||
|
||||
@@ -70,6 +70,7 @@ public class RMpTargetWarnDServiceImpl extends ServiceImpl<RMpTargetWarnDMapper,
|
||||
List<Dept> data = deptFeignClient.getDirectSonSelf(param.getId()).getData();
|
||||
DeptGetLineParam deptGetLineParam = new DeptGetLineParam();
|
||||
deptGetLineParam.setDeptId(param.getId());
|
||||
deptGetLineParam.setPowerFlag(0);
|
||||
List<DeptGetSubStationDTO.Info> deptGetChildrenMoreDTOS = commTerminalGeneralClient.deptGetSubStationInfo(deptGetLineParam).getData();
|
||||
|
||||
List<String> lineIDS = deptGetChildrenMoreDTOS.stream()
|
||||
|
||||
@@ -7,6 +7,9 @@ import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.njcn.common.pojo.dto.SimpleDTO;
|
||||
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetSubStationDTO;
|
||||
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
||||
import com.njcn.device.pq.api.GeneralDeviceInfoClient;
|
||||
import com.njcn.device.pq.api.LineIntegrityClient;
|
||||
import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO;
|
||||
@@ -29,6 +32,9 @@ import org.springframework.stereotype.Service;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.atomic.AtomicLong;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -46,6 +52,9 @@ public class RStatLimitServiceImpl implements RStatLimitService {
|
||||
private final GeneralDeviceInfoClient generalDeviceInfoClient;
|
||||
private final LineIntegrityClient lineIntegrityClient;
|
||||
private final IRStatLimitTargetDService targetDService;
|
||||
private final CommTerminalGeneralClient commTerminalGeneralClient;
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public List<RStatLimitRateDPO> monitorIdsGetLimitRateInfo(String date, List<String> monitorIds) {
|
||||
@@ -140,38 +149,77 @@ public class RStatLimitServiceImpl implements RStatLimitService {
|
||||
public List<GridDiagramVO.AreaData> getGridDiagramAreaData(DeviceInfoParam.BusinessParam param) {
|
||||
List<GridDiagramVO.AreaData> info = new ArrayList<>();
|
||||
GridDiagramVO.AreaData areaData ;
|
||||
List<GeneralDeviceDTO> data = generalDeviceInfoClient.getPracticalRunDeviceInfo(param).getData();
|
||||
List<String> integrityList;
|
||||
List<String> linesTarget;
|
||||
//监测点总数
|
||||
List<GeneralDeviceDTO> data = generalDeviceInfoClient.getPracticalAllDeviceInfoAsDept(param).getData();
|
||||
//在线
|
||||
List<GeneralDeviceDTO> onData = generalDeviceInfoClient.getPracticalRunDeviceInfo(param).getData();
|
||||
Map<String, GeneralDeviceDTO> onMap = onData.stream().collect(Collectors.toMap(GeneralDeviceDTO::getIndex, Function.identity()));
|
||||
|
||||
DeptGetLineParam deptGetLineParam = new DeptGetLineParam();
|
||||
deptGetLineParam.setDeptId(param.getDeptIndex());
|
||||
deptGetLineParam.setPowerFlag(0);
|
||||
//变电站公共方法
|
||||
List<DeptGetSubStationDTO.Info> deptGetChildrenMoreDTOS = commTerminalGeneralClient.deptGetSubStationInfo(deptGetLineParam).getData();
|
||||
Map<String, DeptGetSubStationDTO.Info> deptLineMap = deptGetChildrenMoreDTOS.stream().collect(Collectors.toMap(DeptGetSubStationDTO.Info::getUnitId, Function.identity()));
|
||||
|
||||
List<String> line = data.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());
|
||||
|
||||
for (GeneralDeviceDTO datum : data) {
|
||||
areaData = new GridDiagramVO.AreaData();
|
||||
areaData.setOrgId(datum.getIndex());
|
||||
areaData.setOrgName(datum.getName());
|
||||
areaData.setLineNum(datum.getLineIndexes().size());
|
||||
areaData.setLineList(datum.getLineIndexes());
|
||||
areaData.setSubNum(datum.getSubIndexes().size());
|
||||
areaData.setDeviceNum(datum.getDeviceIndexes().size());
|
||||
if(CollUtil.isNotEmpty(datum.getLineIndexes())){
|
||||
integrityList =new ArrayList<>();
|
||||
//根据r_stat_limit_target_d来判断是否告警allTime flicker_overtime
|
||||
StatSubstationBizBaseParam baseParam=new StatSubstationBizBaseParam();
|
||||
baseParam.setIds(datum.getLineIndexes());
|
||||
baseParam.setStartTime(DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())).toString());
|
||||
baseParam.setEndTime(DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())).toString());
|
||||
linesTarget=targetDService.getLinesTarget(baseParam);
|
||||
List<RStatIntegrityD> integrityDS = lineIntegrityClient.getIntegrityByLineIds(datum.getLineIndexes(),
|
||||
DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())).toString(),
|
||||
DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())).toString()).getData();
|
||||
integrityList.addAll(integrityDS.stream().filter(x->0==x.getIntegrityData()).map(RStatIntegrityD::getLineIndex).collect(Collectors.toList()));
|
||||
List<String> collect=new ArrayList<>();
|
||||
collect.addAll(linesTarget.stream().filter(d -> datum.getLineIndexes().contains(d)).collect(Collectors.toList()));
|
||||
collect.addAll(integrityList.stream().filter(d -> datum.getLineIndexes().contains(d)).collect(Collectors.toList()));
|
||||
List<String> alarm = collect.stream().distinct().collect(Collectors.toList());
|
||||
areaData.setAlarm(alarm.size());
|
||||
areaData.setAlarmList(alarm);
|
||||
}else {
|
||||
areaData.setAlarm(0);
|
||||
areaData.setAlarmList(new ArrayList<>());
|
||||
if(onMap.containsKey(datum.getIndex())){
|
||||
GeneralDeviceDTO dto = onMap.get(datum.getIndex());
|
||||
areaData.setOnlineNum(dto.getLineIndexes().size());
|
||||
areaData.setOnlineList(dto.getLineIndexes());
|
||||
areaData.setOnDevice(dto.getDeviceIndexes().size());
|
||||
if (deptLineMap.containsKey(datum.getIndex())) {
|
||||
DeptGetSubStationDTO.Info deptSub = deptLineMap.get(datum.getIndex());
|
||||
areaData.setSubNum(deptSub.getStationIds().size());
|
||||
AtomicLong num = new AtomicLong();
|
||||
List<String> alarm = new ArrayList<>();
|
||||
deptSub.getStationIds().stream().forEach(x -> {
|
||||
List<String> lineIds = new ArrayList<>();
|
||||
//0:全部 1:国网
|
||||
if (ObjectUtil.isNull(param.getMonitorFlag())) {
|
||||
lineIds.addAll(x.getUnitChildrenList());
|
||||
} else {
|
||||
if (0 == param.getMonitorFlag()) {
|
||||
lineIds.addAll(x.getUnitChildrenList());
|
||||
}else {
|
||||
lineIds.addAll(x.getGwUnitChildrenList());
|
||||
}
|
||||
}
|
||||
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)) {
|
||||
num.getAndIncrement();
|
||||
alarm.addAll(collect);
|
||||
}
|
||||
|
||||
});
|
||||
areaData.setAlarmSubNum(Math.toIntExact(num.get()));
|
||||
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()));
|
||||
|
||||
}
|
||||
info.add(areaData);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user