Commit b0526758 authored by hanbing's avatar hanbing

[add] 新信号评价-运行评价-详细指标查询-状态、方案信息

parent cd882d04
......@@ -22,8 +22,8 @@ public class MetricsDetailBO {
private String turn;
@ApiModelProperty(name = "车道序号,从左车道开始编号11、12、13...")
private Integer laneSort;
@ApiModelProperty(value = "日期,格式 M/d,如 7/17", required = true)
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "M/d", timezone = "GMT+8")
@ApiModelProperty(value = "日期 yyyy-MM-dd", required = true)
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date date;
@ApiModelProperty(value = "对比时间间隔(分钟)", required = true)
private Integer minutes;
......
......@@ -128,7 +128,7 @@ public class RunningEvaluateController {
@ApiResponse(code = 200, message = "OK", response = RunningEvaluateMetricsDetailVO.class),
})
public JsonViewObject schemeProblems(@RequestBody MetricsDetailBO bo) {
List<RunningEvaluateMetricsDetailVO> res = runningEvaluateService.metricsDetail(bo);
RunningEvaluateMetricsDetailVO res = runningEvaluateService.metricsDetail(bo);
return JsonViewObject.newInstance().success(res);
}
......
......@@ -22,7 +22,7 @@ public interface RunningEvaluateService {
List<RunningEvaluateSchemeProblemsVO> schemeProblems(CrossIdAndStartEndDateBO bo);
List<RunningEvaluateMetricsDetailVO> metricsDetail(MetricsDetailBO bo);
RunningEvaluateMetricsDetailVO metricsDetail(MetricsDetailBO bo);
RunningEvaluateScopeTreeVO scopeTree(CrossIdBO bo);
}
......@@ -8,6 +8,7 @@ import lombok.NoArgsConstructor;
import java.util.Date;
import java.util.List;
import java.util.Objects;
/**
* @author Kent HAN
......@@ -21,14 +22,14 @@ public class RunningEvaluateMetricsDetailVO {
private List<ProblemStatus> problemStatusList;
@ApiModelProperty(value = "问题方案列表")
private List<ProblemScheme> schemeList;
// @ApiModelProperty(value = "指标列表")
// private List<CrossMetrics> metricsList;
@ApiModelProperty(value = "指标列表")
private List<CrossMetrics> metricsList;
@NoArgsConstructor
@Data
public static class ProblemStatus {
@ApiModelProperty(name = "路口状态 0正常 1 失衡 2 拥堵 3 溢出")
private String status;
@ApiModelProperty(value = "路口状态 0正常 1 失衡 2 拥堵 3 溢出")
private Integer status;
@ApiModelProperty(value = "开始时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "HH:mm", timezone = "GMT+8")
......@@ -46,15 +47,53 @@ public class RunningEvaluateMetricsDetailVO {
@Data
public static class ProblemScheme {
@ApiModelProperty(value = "方案名称")
private String patternName;
private String schemeName;
@ApiModelProperty(value = "开始时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "HH:mm", timezone = "GMT+8")
private Date startTime;
private String startTime;
@ApiModelProperty(value = "结束时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "HH:mm", timezone = "GMT+8")
private Date endTime;
private String endTime;
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
ProblemScheme that = (ProblemScheme) o;
return Objects.equals(schemeName, that.schemeName) &&
Objects.equals(startTime, that.startTime) &&
Objects.equals(endTime, that.endTime);
}
@Override
public int hashCode() {
return Objects.hash(schemeName, startTime, endTime);
}
}
@NoArgsConstructor
@Data
public static class CrossMetrics {
@ApiModelProperty(value = "时间")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "HH:mm", timezone = "GMT+8")
private Date metricTime;
@ApiModelProperty(value = "流量")
private Integer flow;
@ApiModelProperty(value = "平均速度(km/h)")
private Double speed;
@ApiModelProperty(value = "通行能力")
private Integer capacity;
@ApiModelProperty(value = "饱和度")
private Double sturation;
@ApiModelProperty(value = "平均停车次数")
private Double stopNumber;
@ApiModelProperty(value = "平均延误(秒)")
private Integer delayTime ;
}
}
......@@ -2,6 +2,7 @@ package net.wanji.databus.dao.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import net.wanji.databus.dto.MetricHistDTO;
import net.wanji.databus.po.CrossDataHistPO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
......@@ -21,4 +22,6 @@ public interface CrossDataHistMapper extends BaseMapper<CrossDataHistPO> {
List<CrossDataHistPO> selectByCrossIdAndTimestamp(String crossId, long preSeconds);
List<CrossDataHistPO> selectByCrossIdAndStartEnd(String crossId, int startStamp, int endStamp);
List<MetricHistDTO> selectMetricHistDTO(String crossId, int startStamp, int endStamp);
}
......@@ -2,6 +2,7 @@ package net.wanji.databus.dao.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import net.wanji.databus.bo.CrossDirDataHistAvgBO;
import net.wanji.databus.dto.MetricHistDTO;
import net.wanji.databus.po.CrossDirDataHistPO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
......@@ -31,4 +32,6 @@ public interface CrossDirDataHistMapper extends BaseMapper<CrossDirDataHistPO> {
List<CrossDirDataHistPO> selectNoParkEnd(String crossId, Integer dir, long currentSeconds, long preSeconds);
List<CrossDirDataHistPO> selectPhaseQueueEnd(String crossId, Integer dir, long currentSeconds, long preSeconds);
List<MetricHistDTO> selectMetricHistDTO(String crossId, int startStamp, int endStamp);
}
package net.wanji.databus.dao.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import net.wanji.databus.dto.MetricHistDTO;
import net.wanji.databus.po.CrossLaneDataHistPO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
......@@ -16,5 +17,5 @@ import java.util.List;
public interface CrossLaneDataHistMapper extends BaseMapper<CrossLaneDataHistPO> {
void insertBatch(@Param("list") List<CrossLaneDataHistPO> list);
void deleteBatch(@Param("list") Collection<String> crossIds);
List<MetricHistDTO> selectMetricHistDTO(String crossId, int startStamp, int endStamp);
}
package net.wanji.databus.dao.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import net.wanji.databus.dto.MetricHistDTO;
import net.wanji.databus.po.CrossTurnDataHistPO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
......@@ -20,4 +21,6 @@ public interface CrossTurnDataHistMapper extends BaseMapper<CrossTurnDataHistPO>
CrossTurnDataHistPO selectNoPark(String crossId, Integer dir, String turn, long currentSeconds, long preSeconds);
List<CrossTurnDataHistPO> selectByCrossId(String crossId, long currentSeconds, long preSeconds);
List<MetricHistDTO> selectMetricHistDTO(String crossId, int startStamp, int endStamp);
}
package net.wanji.databus.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
@NoArgsConstructor
@Data
public class MetricHistDTO {
@ApiModelProperty(value = "状态:0正常;1失衡;2拥堵;3溢出;4死锁", notes = "")
private Integer status;
@ApiModelProperty(value = "开始时间:yyyy-MM-dd HH:mm:ss", notes = "")
private Date startTime;
@ApiModelProperty(value = "持续时间(单位:分钟)", notes = "")
private Integer duration;
@ApiModelProperty(value = "交通流量(辆)", notes = "")
private Integer flow;
@ApiModelProperty(value = "平均速度(km/h)", notes = "")
private Double speed;
@ApiModelProperty(value = "通行能力")
private Integer capacity;
@ApiModelProperty(value = "饱和度", notes = "")
private Double sturation;
@ApiModelProperty(value = "停车次数(次)", notes = "")
private Double stopTimes;
@ApiModelProperty(value = "延误时间(秒)", notes = "")
private Integer delayTime;
@ApiModelProperty(value = "采集时间(10位时间戳)", notes = "")
private Integer batchTime;
}
......@@ -74,4 +74,14 @@
and batch_time <![CDATA[ <= ]]> #{endStamp}
order by batch_time
</select>
<select id="selectMetricHistDTO" resultType="net.wanji.databus.dto.MetricHistDTO">
select status, start_time, duration, flow, speed, sturation, stop_times, delay_time, batch_time
from t_cross_data_hist
where cross_id = #{crossId} and status != 0
and batch_time <![CDATA[ >= ]]> #{startStamp}
and batch_time <![CDATA[ <= ]]> #{endStamp}
order by batch_time
</select>
</mapper>
\ No newline at end of file
......@@ -106,4 +106,14 @@
and batch_time <![CDATA[ <= ]]> #{currentSeconds}
and batch_time <![CDATA[ >= ]]> #{preSeconds}
</select>
<select id="selectMetricHistDTO" resultType="net.wanji.databus.dto.MetricHistDTO">
select status, start_time, duration, flow, speed, sturation, capacity, stop_times, delay_time, batch_time
from t_cross_dir_data_hist
where cross_id = #{crossId} and status != 0
and batch_time <![CDATA[ >= ]]> #{startStamp}
and batch_time <![CDATA[ <= ]]> #{endStamp}
order by batch_time
</select>
</mapper>
\ No newline at end of file
......@@ -44,4 +44,13 @@
(#{crossId})
</foreach>
</delete>
<select id="selectMetricHistDTO" resultType="net.wanji.databus.dto.MetricHistDTO">
select flow, speed, sturation, capacity, stop_times, delay_time, batch_time
from t_lane_data_hist
where cross_id = #{crossId}
and batch_time <![CDATA[ >= ]]> #{startStamp}
and batch_time <![CDATA[ <= ]]> #{endStamp}
order by batch_time
</select>
</mapper>
\ No newline at end of file
......@@ -66,4 +66,13 @@
and batch_time <![CDATA[ >= ]]> #{preSeconds}
</select>
<select id="selectMetricHistDTO" resultType="net.wanji.databus.dto.MetricHistDTO">
select status, flow, speed, sturation, stop_times, delay_time, batch_time
from t_cross_turn_data_hist
where cross_id = #{crossId} and status != 0
and batch_time <![CDATA[ >= ]]> #{startStamp}
and batch_time <![CDATA[ <= ]]> #{endStamp}
order by batch_time
</select>
</mapper>
\ No newline at end of file
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