Commit 90bd6481 authored by hanbing's avatar hanbing

[add] 新信号评价-运行评价-溢出情况

parent 7b036473
...@@ -83,4 +83,16 @@ public class RunningEvaluateController { ...@@ -83,4 +83,16 @@ public class RunningEvaluateController {
return JsonViewObject.newInstance().success(res); return JsonViewObject.newInstance().success(res);
} }
@ApiOperation(value = "溢出情况", notes = "溢出情况", response = JsonViewObject.class,
produces = MediaType.APPLICATION_JSON, consumes = MediaType.APPLICATION_JSON)
@PostMapping(value = "/spilloverStatus",
produces = MediaType.APPLICATION_JSON, consumes = MediaType.APPLICATION_JSON)
@ApiResponses({
@ApiResponse(code = 200, message = "OK", response = RunningEvaluateIndexStatusVO.class),
})
public JsonViewObject spilloverStatus(@RequestBody CrossIdAndStartEndDateBO bo) {
List<RunningEvaluateIndexStatusVO> res = runningEvaluateService.spilloverStatus(bo);
return JsonViewObject.newInstance().success(res);
}
} }
\ No newline at end of file
...@@ -16,4 +16,6 @@ public interface RunningEvaluateService { ...@@ -16,4 +16,6 @@ public interface RunningEvaluateService {
List<RunningEvaluateIndexStatusVO> congestionStatus(CrossIdAndStartEndDateBO bo); List<RunningEvaluateIndexStatusVO> congestionStatus(CrossIdAndStartEndDateBO bo);
List<RunningEvaluateIndexStatusVO> unbalanceStatus(CrossIdAndStartEndDateBO bo); List<RunningEvaluateIndexStatusVO> unbalanceStatus(CrossIdAndStartEndDateBO bo);
List<RunningEvaluateIndexStatusVO> spilloverStatus(CrossIdAndStartEndDateBO bo);
} }
...@@ -15,8 +15,8 @@ import net.wanji.databus.po.CrossDataRealtimePO; ...@@ -15,8 +15,8 @@ import net.wanji.databus.po.CrossDataRealtimePO;
import net.wanji.databus.vo.RunningEvaluateCrossListVO; import net.wanji.databus.vo.RunningEvaluateCrossListVO;
import net.wanji.opt.bo.CrossNameBO; import net.wanji.opt.bo.CrossNameBO;
import net.wanji.opt.service.RunningEvaluateService; import net.wanji.opt.service.RunningEvaluateService;
import net.wanji.opt.vo.RunningEvaluateIndexStatusVO;
import net.wanji.opt.vo.RunningEvaluateCrossEvaluateVO; import net.wanji.opt.vo.RunningEvaluateCrossEvaluateVO;
import net.wanji.opt.vo.RunningEvaluateIndexStatusVO;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -108,6 +108,22 @@ public class RunningEvaluateServiceImpl implements RunningEvaluateService { ...@@ -108,6 +108,22 @@ public class RunningEvaluateServiceImpl implements RunningEvaluateService {
return buildRes(bo, crossId, status); return buildRes(bo, crossId, status);
} }
@Override
public List<RunningEvaluateIndexStatusVO> unbalanceStatus(CrossIdAndStartEndDateBO bo) {
String crossId = bo.getCrossId();
int status = CrossStatusEnum.UNBALANCE.getCode();
return buildRes(bo, crossId, status);
}
@Override
public List<RunningEvaluateIndexStatusVO> spilloverStatus(CrossIdAndStartEndDateBO bo) {
String crossId = bo.getCrossId();
int status = CrossStatusEnum.SPILLOVER.getCode();
return buildRes(bo, crossId, status);
}
@NotNull @NotNull
private List<RunningEvaluateIndexStatusVO> buildRes(CrossIdAndStartEndDateBO bo, String crossId, int status) { private List<RunningEvaluateIndexStatusVO> buildRes(CrossIdAndStartEndDateBO bo, String crossId, int status) {
List<CrossDataHistPO> crossDataHistPOList = buildCrossDataHistPOList(bo, crossId); List<CrossDataHistPO> crossDataHistPOList = buildCrossDataHistPOList(bo, crossId);
...@@ -119,15 +135,6 @@ public class RunningEvaluateServiceImpl implements RunningEvaluateService { ...@@ -119,15 +135,6 @@ public class RunningEvaluateServiceImpl implements RunningEvaluateService {
return res; return res;
} }
@Override
public List<RunningEvaluateIndexStatusVO> unbalanceStatus(CrossIdAndStartEndDateBO bo) {
String crossId = bo.getCrossId();
int status = CrossStatusEnum.UNBALANCE.getCode();
return buildRes(bo, crossId, status);
}
@NotNull @NotNull
private List<RunningEvaluateIndexStatusVO> buildRunningEvaluateIndexStatusVOList( private List<RunningEvaluateIndexStatusVO> buildRunningEvaluateIndexStatusVOList(
List<CrossDataHistPO> crossDataHistPOList, int status) { List<CrossDataHistPO> crossDataHistPOList, int status) {
...@@ -158,7 +165,6 @@ public class RunningEvaluateServiceImpl implements RunningEvaluateService { ...@@ -158,7 +165,6 @@ public class RunningEvaluateServiceImpl implements RunningEvaluateService {
} }
private Double calcAvgIndex(List<CrossDataHistPO> subList, int status) { private Double calcAvgIndex(List<CrossDataHistPO> subList, int status) {
Double average = 0.0; Double average = 0.0;
if (status == CrossStatusEnum.CONGESTION.getCode()) { if (status == CrossStatusEnum.CONGESTION.getCode()) {
...@@ -171,6 +177,11 @@ public class RunningEvaluateServiceImpl implements RunningEvaluateService { ...@@ -171,6 +177,11 @@ public class RunningEvaluateServiceImpl implements RunningEvaluateService {
.mapToDouble(CrossDataHistPO::getUnbalanceIndex) .mapToDouble(CrossDataHistPO::getUnbalanceIndex)
.average() .average()
.orElse(0.0); .orElse(0.0);
} else if (status == CrossStatusEnum.SPILLOVER.getCode()) {
average = subList.stream()
.mapToDouble(CrossDataHistPO::getQueueLength)
.average()
.orElse(0.0);
} }
DecimalFormat df = new DecimalFormat("#.00"); DecimalFormat df = new DecimalFormat("#.00");
......
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