微调
This commit is contained in:
@@ -1001,7 +1001,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
||||
}
|
||||
// 获取所有监测点的元信息
|
||||
List<PollutionLineInfoDTO> lineInfoDTOList = commLineClient.getPollutionLineInfo(lineIdList).getData();
|
||||
|
||||
Map<String, PollutionLineInfoDTO> lineMap = lineInfoDTOList.stream().collect(Collectors.toMap(PollutionLineInfoDTO::getLineId, Function.identity()));
|
||||
//获取监测点的数据完整性
|
||||
OnlineRateParam onlineRateParam = new OnlineRateParam();
|
||||
onlineRateParam.setStartTime(startDate);
|
||||
@@ -1021,34 +1021,23 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
||||
}
|
||||
if (CollUtil.isNotEmpty(lineIdList)) {
|
||||
// 获取谐波电压数据&总畸变率&越限限值计算基础污染值
|
||||
for (int i = 0; i < lineIdList.size(); i++) {
|
||||
String lineId = lineIdList.get(i);
|
||||
LinePollution linePollution = new LinePollution();
|
||||
linePollution.setLineId(lineId);
|
||||
//获取监测点数据完整性
|
||||
linePollution.setIntegrity(Objects.isNull(integrityMap.get(lineId)) ? 0.0 : integrityMap.get(lineId)>100?100.0:integrityMap.get(lineId));
|
||||
//获取监测点限值
|
||||
Overlimit overlimit = commTerminalGeneralClient.getOverLimitData(lineId).getData();
|
||||
LineDevGetDTO lineDetailData = commTerminalGeneralClient.getMonitorDetail(lineId).getData();
|
||||
if (Objects.isNull(overlimit) || Objects.isNull(lineDetailData)) {
|
||||
// 如果没有查到限值跳过,后期需要记录这种异常
|
||||
continue;
|
||||
}
|
||||
linePollution.setLineName(lineDetailData.getPointName());
|
||||
linePollution.setInterval(lineDetailData.getInterval());
|
||||
// 计算谐波的污染值
|
||||
linePollution.setHarmonicValue(calcMap.containsKey(lineId)?calcMap.get(lineId)>100?100.0:integrityMap.get(lineId):0.0);
|
||||
// 获取暂态数据
|
||||
BeanUtil.copyProperties(eventMap.get(lineId), linePollution);
|
||||
//获取该监测点其他元信息
|
||||
Optional<PollutionLineInfoDTO> any = lineInfoDTOList.stream().filter(item -> item.getLineId().equals(lineId)).findAny();
|
||||
if (any.isPresent()) {
|
||||
PollutionLineInfoDTO data = any.get();
|
||||
for (String lineId: lineIdList) {
|
||||
if(lineMap.containsKey(lineId)){
|
||||
PollutionLineInfoDTO data = lineMap.get(lineId);
|
||||
LinePollution linePollution = new LinePollution();
|
||||
// 获取暂态数据
|
||||
BeanUtil.copyProperties(eventMap.get(lineId), linePollution);
|
||||
BeanUtil.copyProperties(data, linePollution, true);
|
||||
//监测点在线率
|
||||
Float vo2 = onlineRateMap.get(data.getDeviceId());
|
||||
linePollution.setOnlineRate(Objects.isNull(vo2) ? 0.0f : vo2);
|
||||
//获取监测点数据完整性
|
||||
linePollution.setIntegrity(Objects.isNull(integrityMap.get(lineId)) ? 0.0 : integrityMap.get(lineId)>100?100.0:integrityMap.get(lineId));
|
||||
// 计算谐波的污染值
|
||||
linePollution.setHarmonicValue(calcMap.containsKey(lineId)?calcMap.get(lineId)>100?100.0:integrityMap.get(lineId):0.0);
|
||||
linePollution.setInterval(data.getTimeInterval());
|
||||
linePollutionList.add(linePollution);
|
||||
}
|
||||
linePollutionList.add(linePollution);
|
||||
}
|
||||
}
|
||||
return linePollutionList;
|
||||
|
||||
Reference in New Issue
Block a user