获取终端运行统计接口新增三个统计率
This commit is contained in:
@@ -49,12 +49,21 @@ public class TerminalRunningStatisticsVO implements Serializable {
|
|||||||
@ApiModelProperty("投运")
|
@ApiModelProperty("投运")
|
||||||
private Long normal;
|
private Long normal;
|
||||||
|
|
||||||
|
@ApiModelProperty("投运率")
|
||||||
|
private Double normalRate;
|
||||||
|
|
||||||
@ApiModelProperty("热备用")
|
@ApiModelProperty("热备用")
|
||||||
private Long breaks;
|
private Long breaks;
|
||||||
|
|
||||||
|
@ApiModelProperty("热备用率")
|
||||||
|
private Double breaksRate;
|
||||||
|
|
||||||
@ApiModelProperty("停运")
|
@ApiModelProperty("停运")
|
||||||
private Long shutdown;
|
private Long shutdown;
|
||||||
|
|
||||||
|
@ApiModelProperty("停运率")
|
||||||
|
private Double shutdownRate;
|
||||||
|
|
||||||
@ApiModelProperty("在线率")
|
@ApiModelProperty("在线率")
|
||||||
private Double onlineRate;
|
private Double onlineRate;
|
||||||
|
|
||||||
@@ -78,12 +87,21 @@ public class TerminalRunningStatisticsVO implements Serializable {
|
|||||||
@ApiModelProperty("总计-投运")
|
@ApiModelProperty("总计-投运")
|
||||||
private Long normal;
|
private Long normal;
|
||||||
|
|
||||||
|
@ApiModelProperty("总计-投运率")
|
||||||
|
private Double normalRate;
|
||||||
|
|
||||||
@ApiModelProperty("总计-热备用")
|
@ApiModelProperty("总计-热备用")
|
||||||
private Long breaks;
|
private Long breaks;
|
||||||
|
|
||||||
|
@ApiModelProperty("总计-热备用率")
|
||||||
|
private Double breaksRate;
|
||||||
|
|
||||||
@ApiModelProperty("总计-停运")
|
@ApiModelProperty("总计-停运")
|
||||||
private Long shutdown;
|
private Long shutdown;
|
||||||
|
|
||||||
|
@ApiModelProperty("总计-停运率")
|
||||||
|
private Double shutdownRate;
|
||||||
|
|
||||||
@ApiModelProperty("总计-在线率")
|
@ApiModelProperty("总计-在线率")
|
||||||
private Double onlineRate;
|
private Double onlineRate;
|
||||||
|
|
||||||
@@ -91,11 +109,11 @@ public class TerminalRunningStatisticsVO implements Serializable {
|
|||||||
private List<TerminalRunningInfoVO> areaInfo;
|
private List<TerminalRunningInfoVO> areaInfo;
|
||||||
|
|
||||||
public static TerminalRunningVO empty() {
|
public static TerminalRunningVO empty() {
|
||||||
return TerminalRunningVO.buildVO(0, 0L, 0L, 0L, 0.00D, Collections.emptyList());
|
return TerminalRunningVO.buildVO(0, 0L, 0.00D, 0L, 0.00D, 0L, 0.00D, 0.00D, Collections.emptyList());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static TerminalRunningVO buildVO(Integer numberOfTerminals, Long normal, Long breaks, Long shutdown, Double onlineRate, List<TerminalRunningInfoVO> areaInfo) {
|
public static TerminalRunningVO buildVO(Integer numberOfTerminals, Long normal, Double normalRate, Long breaks, Double breaksRate, Long shutdown, Double shutdownRate, Double onlineRate, List<TerminalRunningInfoVO> areaInfo) {
|
||||||
return TerminalRunningVO.builder().numberOfTerminals(numberOfTerminals).normal(normal).breaks(breaks).shutdown(shutdown).onlineRate(onlineRate).areaInfo(areaInfo).build();
|
return TerminalRunningVO.builder().numberOfTerminals(numberOfTerminals).normal(normal).normalRate(normalRate).breaks(breaks).breaksRate(breaksRate).shutdown(shutdown).shutdownRate(shutdownRate).onlineRate(onlineRate).areaInfo(areaInfo).build();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -270,6 +270,18 @@ public class AreaLineServiceImpl implements AreaLineService {
|
|||||||
terminalRunningInfoVO.setNormal(countDeviceRunStatus(pqDeviceList).apply(0, deviceIndexes));
|
terminalRunningInfoVO.setNormal(countDeviceRunStatus(pqDeviceList).apply(0, deviceIndexes));
|
||||||
terminalRunningInfoVO.setBreaks(countDeviceRunStatus(pqDeviceList).apply(1, deviceIndexes));
|
terminalRunningInfoVO.setBreaks(countDeviceRunStatus(pqDeviceList).apply(1, deviceIndexes));
|
||||||
terminalRunningInfoVO.setShutdown(countDeviceRunStatus(pqDeviceList).apply(2, deviceIndexes));
|
terminalRunningInfoVO.setShutdown(countDeviceRunStatus(pqDeviceList).apply(2, deviceIndexes));
|
||||||
|
if (deviceIndexes.size()==0) {
|
||||||
|
terminalRunningInfoVO.setNormalRate(0.0);
|
||||||
|
terminalRunningInfoVO.setBreaksRate(0.0);
|
||||||
|
terminalRunningInfoVO.setShutdownRate(0.0);
|
||||||
|
} else {
|
||||||
|
double normalRate = terminalRunningInfoVO.getNormal().doubleValue() / terminalRunningInfoVO.getNumberOfTerminals() * 100;
|
||||||
|
terminalRunningInfoVO.setNormalRate(new BigDecimal(normalRate).setScale(2, RoundingMode.HALF_UP).doubleValue());
|
||||||
|
double breaksRate = terminalRunningInfoVO.getBreaks().doubleValue() / terminalRunningInfoVO.getNumberOfTerminals() * 100;
|
||||||
|
terminalRunningInfoVO.setBreaksRate(new BigDecimal(breaksRate).setScale(2, RoundingMode.HALF_UP).doubleValue());
|
||||||
|
double shutdownRate = terminalRunningInfoVO.getShutdown().doubleValue() / terminalRunningInfoVO.getNumberOfTerminals() * 100;
|
||||||
|
terminalRunningInfoVO.setShutdownRate(new BigDecimal(shutdownRate).setScale(2, RoundingMode.HALF_UP).doubleValue());
|
||||||
|
}
|
||||||
terminalRunningInfoVO.setOnlineRate(computingDeviceOnlineRate(pqsOnlinerateList).apply(deviceIndexes));
|
terminalRunningInfoVO.setOnlineRate(computingDeviceOnlineRate(pqsOnlinerateList).apply(deviceIndexes));
|
||||||
return terminalRunningInfoVO;
|
return terminalRunningInfoVO;
|
||||||
}).sorted(TerminalRunningInfoVO.sortAscAreaName())
|
}).sorted(TerminalRunningInfoVO.sortAscAreaName())
|
||||||
@@ -283,9 +295,15 @@ public class AreaLineServiceImpl implements AreaLineService {
|
|||||||
.sum();
|
.sum();
|
||||||
Long shutdownSum = terminalRun.stream().mapToLong(TerminalRunningInfoVO::getShutdown)
|
Long shutdownSum = terminalRun.stream().mapToLong(TerminalRunningInfoVO::getShutdown)
|
||||||
.sum();
|
.sum();
|
||||||
|
Double normalRateSum = 0.0,breaksRateSum = 0.0,shutdownRateSum = 0.0;
|
||||||
|
if (terminalSum!=0) {
|
||||||
|
normalRateSum = new BigDecimal(normalSum.doubleValue() / terminalSum *100).setScale(2, RoundingMode.HALF_UP).doubleValue();
|
||||||
|
breaksRateSum = new BigDecimal(breaksSum.doubleValue() / terminalSum *100).setScale(2, RoundingMode.HALF_UP).doubleValue();
|
||||||
|
shutdownRateSum = new BigDecimal(shutdownSum.doubleValue() / terminalSum *100).setScale(2, RoundingMode.HALF_UP).doubleValue();
|
||||||
|
}
|
||||||
Double onlineRateAvg = computingDeviceOnlineRate(pqsOnlinerateList).apply(deviceIndexList);
|
Double onlineRateAvg = computingDeviceOnlineRate(pqsOnlinerateList).apply(deviceIndexList);
|
||||||
return TerminalRunningVO.buildVO(terminalSum, normalSum, breaksSum, shutdownSum,
|
return TerminalRunningVO.buildVO(terminalSum, normalSum, normalRateSum, breaksSum, breaksRateSum, shutdownSum,
|
||||||
onlineRateAvg, terminalRun);
|
shutdownRateSum, onlineRateAvg, terminalRun);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user