变电站污区图算法调整,增加新能源场站信息

This commit is contained in:
wr
2025-04-30 16:12:21 +08:00
parent d35c210d9c
commit 4b10860997

View File

@@ -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,11 +246,29 @@ 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)) {
setPollution(info, lineParam, localDate, substationId, lineIds);
}
Map<String, List<String>> newEnergyMap = union.stream().filter(x -> StrUtil.isNotBlank(x.getObjId()))
.collect(Collectors.groupingBy(LineDevGetDTO::getObjId, Collectors.mapping(LineDevGetDTO::getPointId, Collectors.toList())));
newEnergyMap.forEach((subId,line)->{
setPollution(info, lineParam, localDate, subId, line);
});
}
}
if (CollUtil.isNotEmpty(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(); List<DataPollutionD> pollutionDS = dataPollutionFeignClient.getRawData(lineParam).getData();
Map<String, List<DataPollutionD>> pollutionMap = pollutionDS.stream().collect(Collectors.groupingBy(DataPollutionD::getPollutionType)); Map<String, List<DataPollutionD>> pollutionMap = pollutionDS.stream().collect(Collectors.groupingBy(DataPollutionD::getPollutionType));
pollutionMap.forEach((key, value) -> { pollutionMap.forEach((key, value) -> {
@@ -258,11 +280,6 @@ public class PollutionServiceImpl implements IPollutionService {
info.add(orgD); info.add(orgD);
}); });
} }
}
if (CollUtil.isNotEmpty(info)) {
dataPollutionFeignClient.batchInsertionSubstationD(info);
}
}
@Override @Override
public void handleSubstationMonth(CalculatedParam<String> calculatedParam) { public void handleSubstationMonth(CalculatedParam<String> calculatedParam) {
@@ -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();
} }
/** /**