Commit e4540ad6 authored by duanruiming's avatar duanruiming

[update] 优化异常,设置默认值

parent 0cf88a56
...@@ -80,7 +80,7 @@ public class SchemeEvaluateController { ...@@ -80,7 +80,7 @@ public class SchemeEvaluateController {
@ApiResponse(code = 200, message = "OK", response = SchemeEvaluateSchemeDetailOverallVO.class), @ApiResponse(code = 200, message = "OK", response = SchemeEvaluateSchemeDetailOverallVO.class),
}) })
public JsonViewObject schemeDetailOverall(@RequestBody SchemeDetailOverallBO schemeDetailOverallBO) public JsonViewObject schemeDetailOverall(@RequestBody SchemeDetailOverallBO schemeDetailOverallBO)
throws ParseException { throws Exception {
SchemeEvaluateSchemeDetailOverallVO res = schemeEvaluateService.schemeDetailOverall(schemeDetailOverallBO); SchemeEvaluateSchemeDetailOverallVO res = schemeEvaluateService.schemeDetailOverall(schemeDetailOverallBO);
return JsonViewObject.newInstance().success(res); return JsonViewObject.newInstance().success(res);
} }
......
...@@ -17,9 +17,9 @@ public interface SchemeEvaluateService { ...@@ -17,9 +17,9 @@ public interface SchemeEvaluateService {
List<SchemeEvaluateCrossSchemeListVO> crossSchemeList(CrossSchemeListBO crossSchemeListBO); List<SchemeEvaluateCrossSchemeListVO> crossSchemeList(CrossSchemeListBO crossSchemeListBO);
SchemeEvaluateSchemeDetailOverallVO schemeDetailOverall(SchemeDetailOverallBO schemeDetailOverallBO) throws ParseException; SchemeEvaluateSchemeDetailOverallVO schemeDetailOverall(SchemeDetailOverallBO schemeDetailOverallBO) throws Exception;
SchemeEvaluateSchemeDetailedProblemVO detailedProblem(SchemeDetailOverallBO schemeDetailOverallBO) throws ParseException; SchemeEvaluateSchemeDetailedProblemVO detailedProblem(SchemeDetailOverallBO schemeDetailOverallBO) throws Exception;
List<SchemeEvaluateCurveChartVO> curveChart(CurveChartBO curveChartBO) throws ParseException, NoSuchFieldException, IllegalAccessException; List<SchemeEvaluateCurveChartVO> curveChart(CurveChartBO curveChartBO) throws ParseException, NoSuchFieldException, IllegalAccessException;
} }
...@@ -953,22 +953,30 @@ public class SchemeEvaluateServiceImpl implements SchemeEvaluateService { ...@@ -953,22 +953,30 @@ public class SchemeEvaluateServiceImpl implements SchemeEvaluateService {
.mapToDouble(CrossDirDataHistPO::getEffusionRate) .mapToDouble(CrossDirDataHistPO::getEffusionRate)
.max(); .max();
if (effusionMax.isPresent()) { if (effusionMax.isPresent()) {
int intMax = (int) Math.round(effusionMax.getAsDouble() * 100);
SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics = SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics =
buildEffusionOverallMetrics(effusionMax); buildEffusionOverallMetrics(intMax);
overallMetricsList.add(overallMetrics); overallMetricsList.add(overallMetrics);
} else { } else {
throw new RuntimeException("该时段无溢流率数据"); SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics =
buildEffusionOverallMetrics(0);
overallMetricsList.add(overallMetrics);
// throw new RuntimeException("该时段无溢流率数据");
} }
// 绿灯间隔清空率取最大 // 绿灯间隔清空率取最大
OptionalDouble clearRateMax = crossDataHistPOList.stream() OptionalDouble clearRateMax = crossDataHistPOList.stream()
.mapToDouble(CrossDataHistPO::getClearRate) .mapToDouble(CrossDataHistPO::getClearRate)
.max(); .max();
if (clearRateMax.isPresent()) { if (clearRateMax.isPresent()) {
int intMax = (int) Math.round(clearRateMax.getAsDouble());
SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics = SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics =
buildClearRateOverallMetrics(clearRateMax); buildClearRateOverallMetrics(intMax);
overallMetricsList.add(overallMetrics); overallMetricsList.add(overallMetrics);
} else { } else {
throw new RuntimeException("该时段无绿灯间隔清空率数据"); // throw new RuntimeException("该时段无绿灯间隔清空率数据");
SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics =
buildClearRateOverallMetrics(0);
overallMetricsList.add(overallMetrics);
} }
// 路口级别三急一速数量 // 路口级别三急一速数量
Integer emergencyCount = crossDataHistMapper.selectCrossEmergencyCount(crossId, startTimeStamp, endTimeStamp); Integer emergencyCount = crossDataHistMapper.selectCrossEmergencyCount(crossId, startTimeStamp, endTimeStamp);
...@@ -1026,11 +1034,15 @@ public class SchemeEvaluateServiceImpl implements SchemeEvaluateService { ...@@ -1026,11 +1034,15 @@ public class SchemeEvaluateServiceImpl implements SchemeEvaluateService {
.filter(Objects::nonNull) .filter(Objects::nonNull)
.max(); .max();
if (greenLightEfficiencyMax.isPresent()) { if (greenLightEfficiencyMax.isPresent()) {
int intGreenLightEfficiencyMax = (int) Math.round(greenLightEfficiencyMax.getAsDouble() * 100);
SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics = SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics =
buildGreenLightUseOverallMetrics(greenLightEfficiencyMax); buildGreenLightUseOverallMetrics(intGreenLightEfficiencyMax);
overallMetricsList.add(overallMetrics); overallMetricsList.add(overallMetrics);
} else { } else {
throw new RuntimeException("该时段无绿灯有效利用率数据"); // throw new RuntimeException("该时段无绿灯有效利用率数据");
SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics =
buildGreenLightUseOverallMetrics(0);
overallMetricsList.add(overallMetrics);
} }
// 饱和度取最大 // 饱和度取最大
OptionalDouble saturationMax = crossDataHistPOList.stream() OptionalDouble saturationMax = crossDataHistPOList.stream()
...@@ -1038,11 +1050,15 @@ public class SchemeEvaluateServiceImpl implements SchemeEvaluateService { ...@@ -1038,11 +1050,15 @@ public class SchemeEvaluateServiceImpl implements SchemeEvaluateService {
.filter(Objects::nonNull) .filter(Objects::nonNull)
.max(); .max();
if (saturationMax.isPresent()) { if (saturationMax.isPresent()) {
int intMax = (int) Math.round(saturationMax.getAsDouble());
SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics = SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics =
buildSaturationMaxOverallMetrics(saturationMax); buildSaturationMaxOverallMetrics(intMax);
overallMetricsList.add(overallMetrics); overallMetricsList.add(overallMetrics);
} else { } else {
throw new RuntimeException("该时段无饱和度数据"); // throw new RuntimeException("该时段无饱和度数据");
SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics =
buildSaturationMaxOverallMetrics(0);
overallMetricsList.add(overallMetrics);
} }
// 负载均衡度取最大 // 负载均衡度取最大
OptionalDouble loadBalanceMax = crossDataHistPOList.stream() OptionalDouble loadBalanceMax = crossDataHistPOList.stream()
...@@ -1051,11 +1067,15 @@ public class SchemeEvaluateServiceImpl implements SchemeEvaluateService { ...@@ -1051,11 +1067,15 @@ public class SchemeEvaluateServiceImpl implements SchemeEvaluateService {
.mapToDouble(Double::doubleValue) // 将Double转换为double .mapToDouble(Double::doubleValue) // 将Double转换为double
.max(); .max();
if (loadBalanceMax.isPresent()) { if (loadBalanceMax.isPresent()) {
int intMax = (int) Math.round(loadBalanceMax.getAsDouble());
SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics = SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics =
buildLoadBalanceOverallMetrics(loadBalanceMax); buildLoadBalanceOverallMetrics(intMax);
overallMetricsList.add(overallMetrics); overallMetricsList.add(overallMetrics);
} else { } else {
throw new RuntimeException("该时段无负载均衡度数据"); // throw new RuntimeException("该时段无负载均衡度数据");
SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics =
buildLoadBalanceOverallMetrics(0);
overallMetricsList.add(overallMetrics);
} }
vo.setOverallMetricsList(overallMetricsList); vo.setOverallMetricsList(overallMetricsList);
// 查询方向指标数值(都取最大),并与评价标准比较:如果饱和度<0.8,则需绿灯利用率大于50%;如果饱和度>0.8,则需绿灯利用率大于80% // 查询方向指标数值(都取最大),并与评价标准比较:如果饱和度<0.8,则需绿灯利用率大于50%;如果饱和度>0.8,则需绿灯利用率大于80%
...@@ -1079,8 +1099,7 @@ public class SchemeEvaluateServiceImpl implements SchemeEvaluateService { ...@@ -1079,8 +1099,7 @@ public class SchemeEvaluateServiceImpl implements SchemeEvaluateService {
vo.setStrategyEvaluateList(strategyEvaluateList); vo.setStrategyEvaluateList(strategyEvaluateList);
} }
private SchemeEvaluateSchemeDetailOverallVO.OverallMetrics buildClearRateOverallMetrics(OptionalDouble clearRateMax) { private SchemeEvaluateSchemeDetailOverallVO.OverallMetrics buildClearRateOverallMetrics(int intMax) {
int intMax = (int) Math.round(clearRateMax.getAsDouble());
SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics = SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics =
new SchemeEvaluateSchemeDetailOverallVO.OverallMetrics(); new SchemeEvaluateSchemeDetailOverallVO.OverallMetrics();
overallMetrics.setMetricCode(StrategyAndMetricsEnum.Metrics.CLEAR_RATE.getCode()); overallMetrics.setMetricCode(StrategyAndMetricsEnum.Metrics.CLEAR_RATE.getCode());
...@@ -1090,8 +1109,7 @@ public class SchemeEvaluateServiceImpl implements SchemeEvaluateService { ...@@ -1090,8 +1109,7 @@ public class SchemeEvaluateServiceImpl implements SchemeEvaluateService {
return overallMetrics; return overallMetrics;
} }
private SchemeEvaluateSchemeDetailOverallVO.OverallMetrics buildEffusionOverallMetrics(OptionalDouble effusionMax) { private SchemeEvaluateSchemeDetailOverallVO.OverallMetrics buildEffusionOverallMetrics(int intMax) {
int intMax = (int) Math.round(effusionMax.getAsDouble() * 100);
SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics = SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics =
new SchemeEvaluateSchemeDetailOverallVO.OverallMetrics(); new SchemeEvaluateSchemeDetailOverallVO.OverallMetrics();
overallMetrics.setMetricCode(StrategyAndMetricsEnum.Metrics.EFFUSION_RATE.getCode()); overallMetrics.setMetricCode(StrategyAndMetricsEnum.Metrics.EFFUSION_RATE.getCode());
...@@ -1114,8 +1132,7 @@ public class SchemeEvaluateServiceImpl implements SchemeEvaluateService { ...@@ -1114,8 +1132,7 @@ public class SchemeEvaluateServiceImpl implements SchemeEvaluateService {
} }
private SchemeEvaluateSchemeDetailOverallVO.OverallMetrics buildLoadBalanceOverallMetrics( private SchemeEvaluateSchemeDetailOverallVO.OverallMetrics buildLoadBalanceOverallMetrics(
OptionalDouble loadBalanceMax) { int intMax) {
int intMax = (int) Math.round(loadBalanceMax.getAsDouble());
SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics = SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics =
new SchemeEvaluateSchemeDetailOverallVO.OverallMetrics(); new SchemeEvaluateSchemeDetailOverallVO.OverallMetrics();
overallMetrics.setMetricCode(StrategyAndMetricsEnum.Metrics.LOAD_BALANCE.getCode()); overallMetrics.setMetricCode(StrategyAndMetricsEnum.Metrics.LOAD_BALANCE.getCode());
...@@ -1126,8 +1143,7 @@ public class SchemeEvaluateServiceImpl implements SchemeEvaluateService { ...@@ -1126,8 +1143,7 @@ public class SchemeEvaluateServiceImpl implements SchemeEvaluateService {
} }
private SchemeEvaluateSchemeDetailOverallVO.OverallMetrics buildSaturationMaxOverallMetrics( private SchemeEvaluateSchemeDetailOverallVO.OverallMetrics buildSaturationMaxOverallMetrics(
OptionalDouble saturationMax) { int intMax) {
int intMax = (int) Math.round(saturationMax.getAsDouble());
SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics = SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics =
new SchemeEvaluateSchemeDetailOverallVO.OverallMetrics(); new SchemeEvaluateSchemeDetailOverallVO.OverallMetrics();
overallMetrics.setMetricCode(StrategyAndMetricsEnum.Metrics.SATURATION.getCode()); overallMetrics.setMetricCode(StrategyAndMetricsEnum.Metrics.SATURATION.getCode());
...@@ -1138,8 +1154,7 @@ public class SchemeEvaluateServiceImpl implements SchemeEvaluateService { ...@@ -1138,8 +1154,7 @@ public class SchemeEvaluateServiceImpl implements SchemeEvaluateService {
} }
private SchemeEvaluateSchemeDetailOverallVO.OverallMetrics buildGreenLightUseOverallMetrics( private SchemeEvaluateSchemeDetailOverallVO.OverallMetrics buildGreenLightUseOverallMetrics(
OptionalDouble greenLightEfficiencyMax) { int intGreenLightEfficiencyMax) {
int intGreenLightEfficiencyMax = (int) Math.round(greenLightEfficiencyMax.getAsDouble() * 100);
SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics = SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics =
new SchemeEvaluateSchemeDetailOverallVO.OverallMetrics(); new SchemeEvaluateSchemeDetailOverallVO.OverallMetrics();
overallMetrics.setMetricCode(StrategyAndMetricsEnum.Metrics.GREEN_LIGHT_EFFICIENCY.getCode()); overallMetrics.setMetricCode(StrategyAndMetricsEnum.Metrics.GREEN_LIGHT_EFFICIENCY.getCode());
...@@ -1159,44 +1174,64 @@ public class SchemeEvaluateServiceImpl implements SchemeEvaluateService { ...@@ -1159,44 +1174,64 @@ public class SchemeEvaluateServiceImpl implements SchemeEvaluateService {
.mapToDouble(CrossDataHistPO::getQueueLength) .mapToDouble(CrossDataHistPO::getQueueLength)
.max(); .max();
if (queueLengthMax.isPresent()) { if (queueLengthMax.isPresent()) {
// 四舍五入并转换为 int 类型
int intQueueLengthAverage = (int) Math.round(queueLengthMax.getAsDouble());
SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics = SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics =
buildQueueLengthOverallMetrics(queueLengthMax); buildQueueLengthOverallMetrics(intQueueLengthAverage);
overallMetricsList.add(overallMetrics); overallMetricsList.add(overallMetrics);
} else { } else {
throw new RuntimeException("该时段无最大排队数据"); // throw new RuntimeException("该时段无最大排队数据");
SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics =
buildQueueLengthOverallMetrics(0);
overallMetricsList.add(overallMetrics);
} }
// 延误取最大 // 延误取最大
OptionalInt delayTimeMax = crossDataHistPOList.stream() OptionalInt delayTimeMax = crossDataHistPOList.stream()
.mapToInt(CrossDataHistPO::getDelayTime) .mapToInt(CrossDataHistPO::getDelayTime)
.max(); .max();
if (delayTimeMax.isPresent()) { if (delayTimeMax.isPresent()) {
int intDelayTimeAverage = delayTimeMax.getAsInt();
SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics = SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics =
buildDelayTimeOverallMetrics(delayTimeMax); buildDelayTimeOverallMetrics(intDelayTimeAverage);
overallMetricsList.add(overallMetrics); overallMetricsList.add(overallMetrics);
} else { } else {
throw new RuntimeException("该时段无延误数据"); // throw new RuntimeException("该时段无延误数据");
SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics =
buildDelayTimeOverallMetrics(0);
overallMetricsList.add(overallMetrics);
} }
// 停车次数取最大 // 停车次数取最大
OptionalDouble stopTimesMax = crossDataHistPOList.stream() OptionalDouble stopTimesMax = crossDataHistPOList.stream()
.mapToDouble(CrossDataHistPO::getStopTimes) .mapToDouble(CrossDataHistPO::getStopTimes)
.max(); .max();
if (stopTimesMax.isPresent()) { if (stopTimesMax.isPresent()) {
// 四舍五入并转换为 int 类型
int intStopTimesAverage = (int) Math.round(stopTimesMax.getAsDouble());
SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics = SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics =
buildStopTimesOverallMetrics(stopTimesMax); buildStopTimesOverallMetrics(intStopTimesAverage);
overallMetricsList.add(overallMetrics); overallMetricsList.add(overallMetrics);
} else { } else {
throw new RuntimeException("该时段无停车次数数据"); // throw new RuntimeException("该时段无停车次数数据");
SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics =
buildStopTimesOverallMetrics(0);
overallMetricsList.add(overallMetrics);
} }
// 不停车通过率取最大 // 不停车通过率取最大
OptionalDouble noStopRateMax = crossDirDataHistPOList.stream() OptionalDouble noStopRateMax = crossDirDataHistPOList.stream()
.mapToDouble(CrossDirDataHistPO::getNoStopRate) .mapToDouble(CrossDirDataHistPO::getNoStopRate)
.max(); .max();
if (noStopRateMax.isPresent()) { if (noStopRateMax.isPresent()) {
// 先乘以100,再四舍五入并转换为 int 类型
int intStopTimesAverage = (int) Math.round(noStopRateMax.getAsDouble() * 100);
SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics = SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics =
buildNoStopRateOverallMetrics(noStopRateMax); buildNoStopRateOverallMetrics(intStopTimesAverage);
overallMetricsList.add(overallMetrics); overallMetricsList.add(overallMetrics);
} else { } else {
throw new RuntimeException("该时段无不停车通过率数据"); // throw new RuntimeException("该时段无不停车通过率数据");
SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics =
buildNoStopRateOverallMetrics(0);
overallMetricsList.add(overallMetrics);
} }
vo.setOverallMetricsList(overallMetricsList); vo.setOverallMetricsList(overallMetricsList);
// 查询方向指标数值(都取最大),并与评价标准比较 // 查询方向指标数值(都取最大),并与评价标准比较
...@@ -1242,9 +1277,7 @@ public class SchemeEvaluateServiceImpl implements SchemeEvaluateService { ...@@ -1242,9 +1277,7 @@ public class SchemeEvaluateServiceImpl implements SchemeEvaluateService {
} }
private SchemeEvaluateSchemeDetailOverallVO.OverallMetrics buildNoStopRateOverallMetrics( private SchemeEvaluateSchemeDetailOverallVO.OverallMetrics buildNoStopRateOverallMetrics(
OptionalDouble noStopRateAverage) { int intStopTimesAverage) {
// 先乘以100,再四舍五入并转换为 int 类型
int intStopTimesAverage = (int) Math.round(noStopRateAverage.getAsDouble() * 100);
SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics = SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics =
new SchemeEvaluateSchemeDetailOverallVO.OverallMetrics(); new SchemeEvaluateSchemeDetailOverallVO.OverallMetrics();
overallMetrics.setMetricCode(StrategyAndMetricsEnum.Metrics.NO_STOP_RATE.getCode()); overallMetrics.setMetricCode(StrategyAndMetricsEnum.Metrics.NO_STOP_RATE.getCode());
...@@ -1255,9 +1288,7 @@ public class SchemeEvaluateServiceImpl implements SchemeEvaluateService { ...@@ -1255,9 +1288,7 @@ public class SchemeEvaluateServiceImpl implements SchemeEvaluateService {
} }
private SchemeEvaluateSchemeDetailOverallVO.OverallMetrics buildStopTimesOverallMetrics( private SchemeEvaluateSchemeDetailOverallVO.OverallMetrics buildStopTimesOverallMetrics(
OptionalDouble stopTimesAverage) { int intStopTimesAverage) {
// 四舍五入并转换为 int 类型
int intStopTimesAverage = (int) Math.round(stopTimesAverage.getAsDouble());
SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics = SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics =
new SchemeEvaluateSchemeDetailOverallVO.OverallMetrics(); new SchemeEvaluateSchemeDetailOverallVO.OverallMetrics();
overallMetrics.setMetricCode(StrategyAndMetricsEnum.Metrics.STOP_TIMES.getCode()); overallMetrics.setMetricCode(StrategyAndMetricsEnum.Metrics.STOP_TIMES.getCode());
...@@ -1268,8 +1299,7 @@ public class SchemeEvaluateServiceImpl implements SchemeEvaluateService { ...@@ -1268,8 +1299,7 @@ public class SchemeEvaluateServiceImpl implements SchemeEvaluateService {
} }
private SchemeEvaluateSchemeDetailOverallVO.OverallMetrics buildDelayTimeOverallMetrics( private SchemeEvaluateSchemeDetailOverallVO.OverallMetrics buildDelayTimeOverallMetrics(
OptionalInt delayTimeAverage) { int intDelayTimeAverage) {
int intDelayTimeAverage = delayTimeAverage.getAsInt();
SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics = SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics =
new SchemeEvaluateSchemeDetailOverallVO.OverallMetrics(); new SchemeEvaluateSchemeDetailOverallVO.OverallMetrics();
overallMetrics.setMetricCode(StrategyAndMetricsEnum.Metrics.AVERAGE_DELAY.getCode()); overallMetrics.setMetricCode(StrategyAndMetricsEnum.Metrics.AVERAGE_DELAY.getCode());
...@@ -1281,9 +1311,7 @@ public class SchemeEvaluateServiceImpl implements SchemeEvaluateService { ...@@ -1281,9 +1311,7 @@ public class SchemeEvaluateServiceImpl implements SchemeEvaluateService {
@NotNull @NotNull
private static SchemeEvaluateSchemeDetailOverallVO.OverallMetrics buildQueueLengthOverallMetrics( private static SchemeEvaluateSchemeDetailOverallVO.OverallMetrics buildQueueLengthOverallMetrics(
OptionalDouble queueLengthAverage) { int intQueueLengthAverage) {
// 四舍五入并转换为 int 类型
int intQueueLengthAverage = (int) Math.round(queueLengthAverage.getAsDouble());
SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics = SchemeEvaluateSchemeDetailOverallVO.OverallMetrics overallMetrics =
new SchemeEvaluateSchemeDetailOverallVO.OverallMetrics(); new SchemeEvaluateSchemeDetailOverallVO.OverallMetrics();
overallMetrics.setMetricCode(StrategyAndMetricsEnum.Metrics.MAX_QUEUE_LENGTH.getCode()); overallMetrics.setMetricCode(StrategyAndMetricsEnum.Metrics.MAX_QUEUE_LENGTH.getCode());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment