修改稳态超标占比图表

This commit is contained in:
陈超
2022-07-15 11:04:16 +08:00
parent e93a3c1e08
commit 213010da9e

View File

@@ -78,13 +78,14 @@ public class SteadyExceedRateServiceImpl implements SteadyExceedRateService {
List<List<Double>> steadyExceedList = new ArrayList<>();
List<List<String>> tempIndex = new ArrayList<>();
//按照条件获取实际运行终端综合信息
//按部门分类的实际运行终端综合信息
List<GeneralDeviceDTO> deviceDataList = generalDeviceInfoClient.getPracticalRunDeviceInfo(steadyExceedCensusParam).getData();
if (!CollectionUtils.isEmpty(deviceDataList)) {
for (GeneralDeviceDTO generalDeviceDTO: deviceDataList) {
type.add(generalDeviceDTO.getName());
List<String> lineIndexes = generalDeviceDTO.getLineIndexes();
//按部门分类的监测点索引集
tempIndex.add(lineIndexes);
}
@@ -105,7 +106,7 @@ public class SteadyExceedRateServiceImpl implements SteadyExceedRateService {
SteadyExceedRateVO dataMoreMonitorMoreDay = getDataMoreMonitorMoreDay(qualifiesRate);
steadyExceedRate.add(dataMoreMonitorMoreDay.getSteadyExceedRate());
} else {
steadyExceedRate.add(3.14159);
steadyExceedRate.add(3.1415);
}
}
steadyExceedList.add(steadyExceedRate);
@@ -119,11 +120,15 @@ public class SteadyExceedRateServiceImpl implements SteadyExceedRateService {
for (List<String> lineIndexes: tempIndex) {
if (!CollectionUtils.isEmpty(lineIndexes)) {
List<LimitRatePO> qualifiesRate = getQualifiesRate(lineIndexes, steadyExceedCensusParam.getSearchBeginTime(), steadyExceedCensusParam.getSearchEndTime());
if (!CollectionUtils.isEmpty(qualifiesRate)) {
SteadyExceedRateVO dataMoreMonitorSingleDay = getDataMoreMonitorSingleDay(qualifiesRate, lineIndexes, time.get(i));
steadyExceedRate.add(dataMoreMonitorSingleDay.getSteadyExceedRate());
}else {
steadyExceedRate.add(3.14159);
}
} else {
steadyExceedRate.add(3.1415);
}
}
steadyExceedList.add(steadyExceedRate);
}
@@ -137,7 +142,7 @@ public class SteadyExceedRateServiceImpl implements SteadyExceedRateService {
SteadyExceedRateVO dataMoreMonitorSingleDay = getDataMoreMonitorSingleDay(qualifiesRate, lineIndexes, steadyExceedCensusParam.getSearchBeginTime());
steadyExceedRate.add(dataMoreMonitorSingleDay.getSteadyExceedRate());
} else {
steadyExceedRate.add(3.14159);
steadyExceedRate.add(3.1415);
}
}
steadyExceedList.add(steadyExceedRate);
@@ -183,6 +188,8 @@ public class SteadyExceedRateServiceImpl implements SteadyExceedRateService {
}
return string;
}
private List<String> getSteadyTimesByDay(String searchBeginTime, String searchEndTime) {
List<String> string = new ArrayList<>();
int beginTime = Integer.parseInt(searchBeginTime.substring(8, 10));
@@ -281,7 +288,7 @@ public class SteadyExceedRateServiceImpl implements SteadyExceedRateService {
SteadyExceedRateVO steadyExceedRateVO = new SteadyExceedRateVO();
LimitRatePO limitRatePO;
List<LimitRatePO> limitRatePOList = qualifiesRate.stream().filter(
temp -> temp.getLineId().equalsIgnoreCase(lineId) && temp.getDayStr().equalsIgnoreCase(time)
temp -> temp.getLineId().equals(lineId) && temp.getDayStr().equals(time)
).collect(Collectors.toList());
if (!CollectionUtil.isEmpty(limitRatePOList)) {
limitRatePO = limitRatePOList.get(0);
@@ -369,12 +376,13 @@ public class SteadyExceedRateServiceImpl implements SteadyExceedRateService {
for (String lineId : lineIds) {
steadyResults.add(getDataSingleMonitorSingeDay(qualifiesRate, lineId, time));
}
steadyResults = steadyResults.stream().filter(item -> item.getSteadyExceedRate()!=3.14159).collect(Collectors.toList());
if (CollectionUtil.isNotEmpty(steadyResults)) {
//求多个监测点的平均值
steadyExceedRateVO.setSteadyExceedRate(NumberUtil.round(steadyResults.stream().mapToDouble(SteadyExceedRateVO::getSteadyExceedRate).average().orElse(0), 2).doubleValue());
steadyExceedRateVO.setTime(time);
}
steadyExceedRateVO.setTime(time);
return steadyExceedRateVO;
}