Commit e2470aec authored by hanbing's avatar hanbing

[update] 新信号评价-运行评价-问题情况添加问题类型

parent 4a1217c9
...@@ -66,10 +66,10 @@ public class RunningEvaluateController { ...@@ -66,10 +66,10 @@ public class RunningEvaluateController {
@PostMapping(value = "/congestionStatus", @PostMapping(value = "/congestionStatus",
produces = MediaType.APPLICATION_JSON, consumes = MediaType.APPLICATION_JSON) produces = MediaType.APPLICATION_JSON, consumes = MediaType.APPLICATION_JSON)
@ApiResponses({ @ApiResponses({
@ApiResponse(code = 200, message = "OK", response = RunningEvaluateIndexStatusVO.class), @ApiResponse(code = 200, message = "OK", response = RunningEvaluateStatusVO.class),
}) })
public JsonViewObject congestionStatus(@RequestBody CrossIdAndStartEndDateBO bo) { public JsonViewObject congestionStatus(@RequestBody CrossIdAndStartEndDateBO bo) {
List<RunningEvaluateIndexStatusVO> res = runningEvaluateService.congestionStatus(bo); RunningEvaluateStatusVO res = runningEvaluateService.congestionStatus(bo);
return JsonViewObject.newInstance().success(res); return JsonViewObject.newInstance().success(res);
} }
...@@ -78,10 +78,10 @@ public class RunningEvaluateController { ...@@ -78,10 +78,10 @@ public class RunningEvaluateController {
@PostMapping(value = "/unbalanceStatus", @PostMapping(value = "/unbalanceStatus",
produces = MediaType.APPLICATION_JSON, consumes = MediaType.APPLICATION_JSON) produces = MediaType.APPLICATION_JSON, consumes = MediaType.APPLICATION_JSON)
@ApiResponses({ @ApiResponses({
@ApiResponse(code = 200, message = "OK", response = RunningEvaluateIndexStatusVO.class), @ApiResponse(code = 200, message = "OK", response = RunningEvaluateStatusVO.class),
}) })
public JsonViewObject unbalanceStatus(@RequestBody CrossIdAndStartEndDateBO bo) { public JsonViewObject unbalanceStatus(@RequestBody CrossIdAndStartEndDateBO bo) {
List<RunningEvaluateIndexStatusVO> res = runningEvaluateService.unbalanceStatus(bo); RunningEvaluateStatusVO res = runningEvaluateService.unbalanceStatus(bo);
return JsonViewObject.newInstance().success(res); return JsonViewObject.newInstance().success(res);
} }
...@@ -90,10 +90,10 @@ public class RunningEvaluateController { ...@@ -90,10 +90,10 @@ public class RunningEvaluateController {
@PostMapping(value = "/spilloverStatus", @PostMapping(value = "/spilloverStatus",
produces = MediaType.APPLICATION_JSON, consumes = MediaType.APPLICATION_JSON) produces = MediaType.APPLICATION_JSON, consumes = MediaType.APPLICATION_JSON)
@ApiResponses({ @ApiResponses({
@ApiResponse(code = 200, message = "OK", response = RunningEvaluateIndexStatusVO.class), @ApiResponse(code = 200, message = "OK", response = RunningEvaluateStatusVO.class),
}) })
public JsonViewObject spilloverStatus(@RequestBody CrossIdAndStartEndDateBO bo) { public JsonViewObject spilloverStatus(@RequestBody CrossIdAndStartEndDateBO bo) {
List<RunningEvaluateIndexStatusVO> res = runningEvaluateService.spilloverStatus(bo); RunningEvaluateStatusVO res = runningEvaluateService.spilloverStatus(bo);
return JsonViewObject.newInstance().success(res); return JsonViewObject.newInstance().success(res);
} }
......
...@@ -15,11 +15,11 @@ public interface RunningEvaluateService { ...@@ -15,11 +15,11 @@ public interface RunningEvaluateService {
RunningEvaluateCrossEvaluateVO crossEvaluate(CrossIdAndStartEndDateBO bo); RunningEvaluateCrossEvaluateVO crossEvaluate(CrossIdAndStartEndDateBO bo);
List<RunningEvaluateIndexStatusVO> congestionStatus(CrossIdAndStartEndDateBO bo); RunningEvaluateStatusVO congestionStatus(CrossIdAndStartEndDateBO bo);
List<RunningEvaluateIndexStatusVO> unbalanceStatus(CrossIdAndStartEndDateBO bo); RunningEvaluateStatusVO unbalanceStatus(CrossIdAndStartEndDateBO bo);
List<RunningEvaluateIndexStatusVO> spilloverStatus(CrossIdAndStartEndDateBO bo); RunningEvaluateStatusVO spilloverStatus(CrossIdAndStartEndDateBO bo);
List<RunningEvaluateSchemeProblemsVO> schemeProblems(CrossIdAndStartEndDateBO bo); List<RunningEvaluateSchemeProblemsVO> schemeProblems(CrossIdAndStartEndDateBO bo);
......
...@@ -149,28 +149,44 @@ public class RunningEvaluateServiceImpl implements RunningEvaluateService { ...@@ -149,28 +149,44 @@ public class RunningEvaluateServiceImpl implements RunningEvaluateService {
} }
@Override @Override
public List<RunningEvaluateIndexStatusVO> congestionStatus(CrossIdAndStartEndDateBO bo) { public RunningEvaluateStatusVO congestionStatus(CrossIdAndStartEndDateBO bo) {
return evaluateStatus(bo, CrossStatusEnum.CONGESTION);
String crossId = bo.getCrossId();
int status = CrossStatusEnum.CONGESTION.getCode();
return buildRes(bo, crossId, status);
} }
@Override @Override
public List<RunningEvaluateIndexStatusVO> unbalanceStatus(CrossIdAndStartEndDateBO bo) { public RunningEvaluateStatusVO unbalanceStatus(CrossIdAndStartEndDateBO bo) {
String crossId = bo.getCrossId(); return evaluateStatus(bo, CrossStatusEnum.UNBALANCE);
int status = CrossStatusEnum.UNBALANCE.getCode();
return buildRes(bo, crossId, status);
} }
@Override @Override
public List<RunningEvaluateIndexStatusVO> spilloverStatus(CrossIdAndStartEndDateBO bo) { public RunningEvaluateStatusVO spilloverStatus(CrossIdAndStartEndDateBO bo) {
return evaluateStatus(bo, CrossStatusEnum.SPILLOVER);
}
public RunningEvaluateStatusVO evaluateStatus(CrossIdAndStartEndDateBO bo, CrossStatusEnum statusEnum) {
RunningEvaluateStatusVO runningEvaluateStatusVO = new RunningEvaluateStatusVO();
String crossId = bo.getCrossId(); String crossId = bo.getCrossId();
int status = CrossStatusEnum.SPILLOVER.getCode(); int status = statusEnum.getCode();
// 构造入参开始和结束时间戳
Date startDate = bo.getStartDate();
Date endDate = bo.getEndDate();
endDate = DateUtil.offsetDay(endDate, 1); // 包含最后一天
int startStamp = (int) (startDate.getTime() / 1000); // 10位时间戳
int endStamp = (int) (endDate.getTime() / 1000);
runningEvaluateStatusVO.setRunningEvaluateIndexStatusVOList(buildRes(bo, crossId, status));
// 获取问题列表
// 路口级别全量数据
List<MetricHistDTO> crossDTOList = crossDataHistMapper.selectMetricHistDTO(
crossId, startStamp, endStamp);
// 过滤有问题的记录
List<MetricHistDTO> filteredList = crossDTOList.stream()
.filter(metricHistDTO -> metricHistDTO.getStatus() != null && metricHistDTO.getStatus().equals(status))
.collect(Collectors.toList());
runningEvaluateStatusVO.setProblemStatusList(buildProblemStatusList(filteredList));
return buildRes(bo, crossId, status); return runningEvaluateStatusVO;
} }
@Override @Override
......
...@@ -7,7 +7,7 @@ import lombok.NoArgsConstructor; ...@@ -7,7 +7,7 @@ import lombok.NoArgsConstructor;
@NoArgsConstructor @NoArgsConstructor
@Data @Data
@ApiModel(value = "RunningEvaluateIndexStatusVO", description = "查询拥堵、失衡、溢出情况返回值") @ApiModel(value = "RunningEvaluateIndexStatusVO", description = "拥堵、失衡、溢出情况指标")
public class RunningEvaluateIndexStatusVO { public class RunningEvaluateIndexStatusVO {
@ApiModelProperty(value = "时间") @ApiModelProperty(value = "时间")
......
package net.wanji.opt.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@NoArgsConstructor
@Data
@ApiModel(value = "RunningEvaluateStatusVO", description = "查询拥堵、失衡、溢出情况返回值")
public class RunningEvaluateStatusVO {
@ApiModelProperty(value = "指标列表")
List<RunningEvaluateIndexStatusVO> runningEvaluateIndexStatusVOList;
@ApiModelProperty(value = "状态列表")
private List<RunningEvaluateMetricsDetailVO.ProblemStatus> problemStatusList;
}
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