Commit 88b04a94 authored by hanbing's avatar hanbing

[add] 新信号评价-方案评价-策略评价指标下拉菜单增加策略编号

parent a5ff9fd5
package net.wanji.opt.bo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @author Kent HAN
* @date 2023/6/9 13:52
*/
@Data
@ApiModel(value = "SchemeDetailOverallBO", description = "方案详情-总体评价入参")
public class SchemeDetailOverallBO {
@ApiModelProperty(value = "年月日,格式 2023/7/9")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy/M/d", timezone = "GMT+8")
private Date problemDate;
@ApiModelProperty(value = "开始时间 HH:mm")
String startTime;
@ApiModelProperty(value = "结束时间 HH:mm")
String endTime;
@ApiModelProperty(value = "策略编号")
String strategyCode;
}
...@@ -16,7 +16,7 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -16,7 +16,7 @@ import org.springframework.web.bind.annotation.RestController;
import javax.ws.rs.core.MediaType; import javax.ws.rs.core.MediaType;
/** /**
* 运行评价 * 场景评价
* *
* @author Kent HAN * @author Kent HAN
*/ */
......
...@@ -21,7 +21,7 @@ import javax.ws.rs.core.MediaType; ...@@ -21,7 +21,7 @@ import javax.ws.rs.core.MediaType;
import java.util.List; import java.util.List;
/** /**
* 运行评价 * 方案评价
* *
* @author Kent HAN * @author Kent HAN
*/ */
...@@ -71,4 +71,16 @@ public class SchemeEvaluateController { ...@@ -71,4 +71,16 @@ public class SchemeEvaluateController {
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 = "/schemeDetailOverall",
// produces = MediaType.APPLICATION_JSON, consumes = MediaType.APPLICATION_JSON)
// @ApiResponses({
// @ApiResponse(code = 200, message = "OK", response = SchemeEvaluateSchemeDetailOverallVO.class),
// })
// public JsonViewObject schemeDetailOverall(@RequestBody SchemeDetailOverallBO schemeDetailOverallBO) {
// SchemeEvaluateSchemeDetailOverallVO res = schemeEvaluateService.schemeDetailOverall(schemeDetailOverallBO);
// return JsonViewObject.newInstance().success(res);
// }
} }
\ No newline at end of file
...@@ -124,17 +124,26 @@ public class SchemeEvaluateServiceImpl implements SchemeEvaluateService { ...@@ -124,17 +124,26 @@ public class SchemeEvaluateServiceImpl implements SchemeEvaluateService {
SchemeEvaluateStrategyMetricMenuVO vo = new SchemeEvaluateStrategyMetricMenuVO(); SchemeEvaluateStrategyMetricMenuVO vo = new SchemeEvaluateStrategyMetricMenuVO();
vo.setStrategyCode(entry.getKey().getCode()); vo.setStrategyCode(entry.getKey().getCode());
vo.setStrategyName(entry.getKey().getMsg()); vo.setStrategyName(entry.getKey().getMsg());
List<SchemeEvaluateStrategyMetricMenuVO.EvaluateMetric> metricInfoList = buildEvaluateMetrics(entry);
List<String> metricInfoList = new ArrayList<>(); vo.setMetricList(metricInfoList);
for (StrategyAndMetricsEnum.Metrics metric : entry.getValue()) {
metricInfoList.add(metric.getDescription());
}
vo.setMetrics(metricInfoList);
voList.add(vo); voList.add(vo);
} }
return voList; return voList;
} }
private List<SchemeEvaluateStrategyMetricMenuVO.EvaluateMetric> buildEvaluateMetrics(
Map.Entry<StrategyAndMetricsEnum.Strategy, List<StrategyAndMetricsEnum.Metrics>> entry) {
List<SchemeEvaluateStrategyMetricMenuVO.EvaluateMetric> metricInfoList = new ArrayList<>();
for (StrategyAndMetricsEnum.Metrics metric : entry.getValue()) {
SchemeEvaluateStrategyMetricMenuVO.EvaluateMetric evaluateMetric =
new SchemeEvaluateStrategyMetricMenuVO.EvaluateMetric();
evaluateMetric.setMetricCode(metric.getCode());
evaluateMetric.setMetricName(metric.getDescription());
metricInfoList.add(evaluateMetric);
}
return metricInfoList;
}
@Override @Override
public List<SchemeEvaluateCrossSchemeListVO> crossSchemeList(CrossSchemeListBO crossSchemeListBO) { public List<SchemeEvaluateCrossSchemeListVO> crossSchemeList(CrossSchemeListBO crossSchemeListBO) {
String crossId = crossSchemeListBO.getCrossId(); String crossId = crossSchemeListBO.getCrossId();
......
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;
/**
* @author Kent HAN
* @date 2023/2/9 8:38
*/
@Data
@NoArgsConstructor
@ApiModel(value = "SchemeEvaluateSchemeDetailOverallVO", description = "方案详情-总体评价")
public class SchemeEvaluateSchemeDetailOverallVO {
@ApiModelProperty(value = "服务水平")
String serviceLevel;
@ApiModelProperty(value = "策略评价")
List<String> strategyEvaluate;
@ApiModelProperty(value = "指标数据")
List<OverallMetrics> overallMetricsList;
@NoArgsConstructor
@Data
public static class OverallMetrics {
@ApiModelProperty(value = "指标编号")
Integer metricCode;
@ApiModelProperty(value = "指标名称")
String metricName;
@ApiModelProperty(value = "指标数值")
String metricValue;
@ApiModelProperty(value = "指标数值单位")
String metricUnit;
}
}
...@@ -22,7 +22,16 @@ public class SchemeEvaluateStrategyMetricMenuVO { ...@@ -22,7 +22,16 @@ public class SchemeEvaluateStrategyMetricMenuVO {
@ApiModelProperty(value = "策略编号") @ApiModelProperty(value = "策略编号")
private String strategyCode; private String strategyCode;
@ApiModelProperty(value = "评价指标") @ApiModelProperty(value = "评价指标列表")
private List<String> metrics; List<EvaluateMetric> metricList;
@NoArgsConstructor
@Data
public static class EvaluateMetric {
@ApiModelProperty(value = "指标编号")
Integer metricCode;
@ApiModelProperty(value = "指标名称")
private String metricName;
}
} }
...@@ -35,28 +35,34 @@ public class StrategyAndMetricsEnum { ...@@ -35,28 +35,34 @@ public class StrategyAndMetricsEnum {
} }
public enum Metrics { public enum Metrics {
NO_STOP_THROUGH_RATE("不停车通过率"), NO_STOP_THROUGH_RATE(1, "不停车通过率"),
STOP_THROUGH_RATE("一/二/三次及以上停车通过率"), STOP_THROUGH_RATE(2, "一/二/三次及以上停车通过率"),
AVERAGE_DELAY("平均延误"), AVERAGE_DELAY(3, "平均延误"),
MAX_QUEUE_LENGTH("最大排队长度"), MAX_QUEUE_LENGTH(4, "最大排队长度"),
STOP_COUNT("停车次数"), STOP_COUNT(5, "停车次数"),
AVERAGE_SPEED("平均速度"), AVERAGE_SPEED(6, "平均速度"),
GREEN_LIGHT_UTILIZATION("绿灯有效利用率"), GREEN_LIGHT_UTILIZATION(7, "绿灯有效利用率"),
SATURATION("饱和度"), SATURATION(8, "饱和度"),
LOAD_BALANCE("负载均衡度"), LOAD_BALANCE(9, "负载均衡度"),
OVERFLOW_RATE("溢流率"), OVERFLOW_RATE(10, "溢流率"),
GREEN_INTERVAL_CLEAR("绿灯间隔清空率"), GREEN_INTERVAL_CLEAR(11, "绿灯间隔清空率"),
EMERGENCY_COUNT("三急一速数量"); EMERGENCY_COUNT(12, "三急一速数量");
private final Integer code;
private final String description; private final String description;
Metrics(String description) { Metrics(Integer code, String description) {
this.code = code;
this.description = description; this.description = description;
} }
public String getDescription() { public String getDescription() {
return description; return description;
} }
public Integer getCode() {
return code;
}
} }
public static final Map<Strategy, List<Metrics>> STRATEGY_METRICS_MAP; public static final Map<Strategy, List<Metrics>> STRATEGY_METRICS_MAP;
......
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