Commit e2470aec authored by hanbing's avatar hanbing

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

parent 4a1217c9
......@@ -66,10 +66,10 @@ public class RunningEvaluateController {
@PostMapping(value = "/congestionStatus",
produces = MediaType.APPLICATION_JSON, consumes = MediaType.APPLICATION_JSON)
@ApiResponses({
@ApiResponse(code = 200, message = "OK", response = RunningEvaluateIndexStatusVO.class),
@ApiResponse(code = 200, message = "OK", response = RunningEvaluateStatusVO.class),
})
public JsonViewObject congestionStatus(@RequestBody CrossIdAndStartEndDateBO bo) {
List<RunningEvaluateIndexStatusVO> res = runningEvaluateService.congestionStatus(bo);
RunningEvaluateStatusVO res = runningEvaluateService.congestionStatus(bo);
return JsonViewObject.newInstance().success(res);
}
......@@ -78,10 +78,10 @@ public class RunningEvaluateController {
@PostMapping(value = "/unbalanceStatus",
produces = MediaType.APPLICATION_JSON, consumes = MediaType.APPLICATION_JSON)
@ApiResponses({
@ApiResponse(code = 200, message = "OK", response = RunningEvaluateIndexStatusVO.class),
@ApiResponse(code = 200, message = "OK", response = RunningEvaluateStatusVO.class),
})
public JsonViewObject unbalanceStatus(@RequestBody CrossIdAndStartEndDateBO bo) {
List<RunningEvaluateIndexStatusVO> res = runningEvaluateService.unbalanceStatus(bo);
RunningEvaluateStatusVO res = runningEvaluateService.unbalanceStatus(bo);
return JsonViewObject.newInstance().success(res);
}
......@@ -90,10 +90,10 @@ public class RunningEvaluateController {
@PostMapping(value = "/spilloverStatus",
produces = MediaType.APPLICATION_JSON, consumes = MediaType.APPLICATION_JSON)
@ApiResponses({
@ApiResponse(code = 200, message = "OK", response = RunningEvaluateIndexStatusVO.class),
@ApiResponse(code = 200, message = "OK", response = RunningEvaluateStatusVO.class),
})
public JsonViewObject spilloverStatus(@RequestBody CrossIdAndStartEndDateBO bo) {
List<RunningEvaluateIndexStatusVO> res = runningEvaluateService.spilloverStatus(bo);
RunningEvaluateStatusVO res = runningEvaluateService.spilloverStatus(bo);
return JsonViewObject.newInstance().success(res);
}
......
......@@ -15,11 +15,11 @@ public interface RunningEvaluateService {
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);
......
......@@ -149,28 +149,44 @@ public class RunningEvaluateServiceImpl implements RunningEvaluateService {
}
@Override
public List<RunningEvaluateIndexStatusVO> congestionStatus(CrossIdAndStartEndDateBO bo) {
String crossId = bo.getCrossId();
int status = CrossStatusEnum.CONGESTION.getCode();
return buildRes(bo, crossId, status);
public RunningEvaluateStatusVO congestionStatus(CrossIdAndStartEndDateBO bo) {
return evaluateStatus(bo, CrossStatusEnum.CONGESTION);
}
@Override
public List<RunningEvaluateIndexStatusVO> unbalanceStatus(CrossIdAndStartEndDateBO bo) {
String crossId = bo.getCrossId();
int status = CrossStatusEnum.UNBALANCE.getCode();
return buildRes(bo, crossId, status);
public RunningEvaluateStatusVO unbalanceStatus(CrossIdAndStartEndDateBO bo) {
return evaluateStatus(bo, CrossStatusEnum.UNBALANCE);
}
@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();
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
......
......@@ -7,7 +7,7 @@ import lombok.NoArgsConstructor;
@NoArgsConstructor
@Data
@ApiModel(value = "RunningEvaluateIndexStatusVO", description = "查询拥堵、失衡、溢出情况返回值")
@ApiModel(value = "RunningEvaluateIndexStatusVO", description = "拥堵、失衡、溢出情况指标")
public class RunningEvaluateIndexStatusVO {
@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