修改稳态超标占比图表

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