变电站污区图算法调整,增加新能源场站信息
This commit is contained in:
@@ -104,12 +104,12 @@ public class PollutionServiceImpl implements IPollutionService {
|
|||||||
List<DataPollutionD> pollutionList = processPollutionList(local, idList, dictData, harmonicVoltageList, harmonicCurrentList, frequencyDeviationList, voltageDeviationList,
|
List<DataPollutionD> pollutionList = processPollutionList(local, idList, dictData, harmonicVoltageList, harmonicCurrentList, frequencyDeviationList, voltageDeviationList,
|
||||||
threePhaseVoltageList, negativeSequenceList, interHarmonicVoltageList, voltageFlickerList);
|
threePhaseVoltageList, negativeSequenceList, interHarmonicVoltageList, voltageFlickerList);
|
||||||
|
|
||||||
//TODO 插入数据库
|
|
||||||
if (CollUtil.isNotEmpty(pollutionList)) {
|
if (CollUtil.isNotEmpty(pollutionList)) {
|
||||||
dataPollutionFeignClient.batchInsertion(pollutionList);
|
dataPollutionFeignClient.batchInsertion(pollutionList);
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
System.gc();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -143,6 +143,7 @@ public class PollutionServiceImpl implements IPollutionService {
|
|||||||
if (CollUtil.isNotEmpty(info)) {
|
if (CollUtil.isNotEmpty(info)) {
|
||||||
dataPollutionFeignClient.batchInsertionOrgD(info);
|
dataPollutionFeignClient.batchInsertionOrgD(info);
|
||||||
}
|
}
|
||||||
|
System.gc();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -174,6 +175,7 @@ public class PollutionServiceImpl implements IPollutionService {
|
|||||||
if (CollUtil.isNotEmpty(info)) {
|
if (CollUtil.isNotEmpty(info)) {
|
||||||
dataPollutionFeignClient.batchInsertionOrgM(info);
|
dataPollutionFeignClient.batchInsertionOrgM(info);
|
||||||
}
|
}
|
||||||
|
System.gc();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -202,6 +204,7 @@ public class PollutionServiceImpl implements IPollutionService {
|
|||||||
if (CollUtil.isNotEmpty(info)) {
|
if (CollUtil.isNotEmpty(info)) {
|
||||||
dataPollutionFeignClient.batchInsertionOrgQ(info);
|
dataPollutionFeignClient.batchInsertionOrgQ(info);
|
||||||
}
|
}
|
||||||
|
System.gc();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -230,6 +233,7 @@ public class PollutionServiceImpl implements IPollutionService {
|
|||||||
if (CollUtil.isNotEmpty(info)) {
|
if (CollUtil.isNotEmpty(info)) {
|
||||||
dataPollutionFeignClient.batchInsertionOrgY(info);
|
dataPollutionFeignClient.batchInsertionOrgY(info);
|
||||||
}
|
}
|
||||||
|
System.gc();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -242,26 +246,39 @@ public class PollutionServiceImpl implements IPollutionService {
|
|||||||
LocalDate localDate = LocalDateTimeUtil.parseDate(calculatedParam.getDataDate());
|
LocalDate localDate = LocalDateTimeUtil.parseDate(calculatedParam.getDataDate());
|
||||||
for (String substationId : calculatedParam.getIdList()) {
|
for (String substationId : calculatedParam.getIdList()) {
|
||||||
LineDevGetBandDTO data = commTerminalGeneralClient.substationGetLine(substationId).getData();
|
LineDevGetBandDTO data = commTerminalGeneralClient.substationGetLine(substationId).getData();
|
||||||
Collection<LineDevGetDTO> union = CollectionUtils.union(Optional.ofNullable(data.getPwList()).orElse(new ArrayList<>()),
|
Collection<LineDevGetDTO> union = CollectionUtils.union(Optional.ofNullable(data.getPwList())
|
||||||
|
.orElse(new ArrayList<>()),
|
||||||
Optional.ofNullable(data.getZwList()).orElse(new ArrayList<>()));
|
Optional.ofNullable(data.getZwList()).orElse(new ArrayList<>()));
|
||||||
List<String> lindIds = union.stream().map(LineDevGetDTO::getPointId).collect(Collectors.toList());
|
if(CollUtil.isNotEmpty(union)){
|
||||||
if (CollUtil.isNotEmpty(lindIds)) {
|
List<String> lineIds = union.stream().filter(x -> StrUtil.isBlank(x.getObjId())).map(LineDevGetDTO::getPointId).collect(Collectors.toList());
|
||||||
lineParam.setLineId(lindIds);
|
if (CollUtil.isNotEmpty(lineIds)) {
|
||||||
List<DataPollutionD> pollutionDS = dataPollutionFeignClient.getRawData(lineParam).getData();
|
setPollution(info, lineParam, localDate, substationId, lineIds);
|
||||||
Map<String, List<DataPollutionD>> pollutionMap = pollutionDS.stream().collect(Collectors.groupingBy(DataPollutionD::getPollutionType));
|
}
|
||||||
pollutionMap.forEach((key, value) -> {
|
Map<String, List<String>> newEnergyMap = union.stream().filter(x -> StrUtil.isNotBlank(x.getObjId()))
|
||||||
DataPollutionSubstationD orgD = new DataPollutionSubstationD();
|
.collect(Collectors.groupingBy(LineDevGetDTO::getObjId, Collectors.mapping(LineDevGetDTO::getPointId, Collectors.toList())));
|
||||||
orgD.setSubstationId(substationId);
|
newEnergyMap.forEach((subId,line)->{
|
||||||
orgD.setDataDate(localDate);
|
setPollution(info, lineParam, localDate, subId, line);
|
||||||
orgD.setPollutionType(key);
|
|
||||||
orgD.setValue(value.stream().max(Comparator.comparing(DataPollutionD::getValue)).get().getValue());
|
|
||||||
info.add(orgD);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (CollUtil.isNotEmpty(info)) {
|
if (CollUtil.isNotEmpty(info)) {
|
||||||
dataPollutionFeignClient.batchInsertionSubstationD(info);
|
dataPollutionFeignClient.batchInsertionSubstationD(info);
|
||||||
}
|
}
|
||||||
|
System.gc();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setPollution(List<DataPollutionSubstationD> info, LineCountEvaluateParam lineParam, LocalDate localDate, String substationId, List<String> lineIds) {
|
||||||
|
lineParam.setLineId(lineIds);
|
||||||
|
List<DataPollutionD> pollutionDS = dataPollutionFeignClient.getRawData(lineParam).getData();
|
||||||
|
Map<String, List<DataPollutionD>> pollutionMap = pollutionDS.stream().collect(Collectors.groupingBy(DataPollutionD::getPollutionType));
|
||||||
|
pollutionMap.forEach((key, value) -> {
|
||||||
|
DataPollutionSubstationD orgD = new DataPollutionSubstationD();
|
||||||
|
orgD.setSubstationId(substationId);
|
||||||
|
orgD.setDataDate(localDate);
|
||||||
|
orgD.setPollutionType(key);
|
||||||
|
orgD.setValue(value.stream().max(Comparator.comparing(DataPollutionD::getValue)).get().getValue());
|
||||||
|
info.add(orgD);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -290,6 +307,7 @@ public class PollutionServiceImpl implements IPollutionService {
|
|||||||
if (CollUtil.isNotEmpty(info)) {
|
if (CollUtil.isNotEmpty(info)) {
|
||||||
dataPollutionFeignClient.batchInsertionSubstationM(info);
|
dataPollutionFeignClient.batchInsertionSubstationM(info);
|
||||||
}
|
}
|
||||||
|
System.gc();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -318,6 +336,7 @@ public class PollutionServiceImpl implements IPollutionService {
|
|||||||
if (CollUtil.isNotEmpty(info)) {
|
if (CollUtil.isNotEmpty(info)) {
|
||||||
dataPollutionFeignClient.batchInsertionSubstationQ(info);
|
dataPollutionFeignClient.batchInsertionSubstationQ(info);
|
||||||
}
|
}
|
||||||
|
System.gc();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -346,6 +365,7 @@ public class PollutionServiceImpl implements IPollutionService {
|
|||||||
if (CollUtil.isNotEmpty(info)) {
|
if (CollUtil.isNotEmpty(info)) {
|
||||||
dataPollutionFeignClient.batchInsertionSubstationY(info);
|
dataPollutionFeignClient.batchInsertionSubstationY(info);
|
||||||
}
|
}
|
||||||
|
System.gc();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user