Commit 62ab87ee authored by hanbing's avatar hanbing

[update] 信号优化,运行评价-详细指标查询底部曲线图修改

parent 7d1ffff6
......@@ -286,14 +286,16 @@ public class RunningEvaluateServiceImpl implements RunningEvaluateService {
List<MetricHistDTO> metricHistDTOList = new ArrayList<>();
if (ObjectUtil.isNotEmpty(laneSort)) {
Integer turnInt = TurnConvertEnum.getKeyByCode(turn);
String laneId = laneInfoMapper.selectIdByCrossIdDirTurn2(crossId, dir, turnInt);
metricHistDTOList = crossLaneDataHistMapper.selectMetricHistDTO(
crossId, startStamp, endStamp);
crossId, startStamp, endStamp, laneId);
} else if (ObjectUtil.isNotEmpty(turn)) {
metricHistDTOList = crossTurnDataHistMapper.selectMetricHistDTO(
crossId, startStamp, endStamp);
crossId, startStamp, endStamp, dir, turn);
} else if (ObjectUtil.isNotEmpty(dir)) {
metricHistDTOList = crossDirDataHistMapper.selectMetricHistDTO(
crossId, startStamp, endStamp);
crossId, startStamp, endStamp, dir);
} else { // 路口级别
metricHistDTOList = crossDataHistMapper.selectMetricHistDTO(
crossId, startStamp, endStamp);
......
......@@ -6,6 +6,7 @@ import cn.hutool.core.util.ObjectUtil;
import lombok.extern.slf4j.Slf4j;
import net.wanji.common.enums.CrossStatusEnum;
import net.wanji.common.enums.StrategyAndMetricsEnum;
import net.wanji.common.enums.TurnConvertEnum;
import net.wanji.common.utils.tool.CrossUtil;
import net.wanji.common.utils.tool.TimeArrayUtil;
import net.wanji.databus.bo.CrossIdAndStartEndDateBO;
......@@ -50,9 +51,10 @@ public class SceneEvaluateServiceImpl implements SceneEvaluateService {
private final CrossDirDataHistMapper crossDirDataHistMapper;
private final CrossLaneDataHistMapper crossLaneDataHistMapper;
private final CrossTurnDataHistMapper crossTurnDataHistMapper;
private final LaneInfoMapper laneInfoMapper;
SimpleDateFormat HOUR_SDF = new SimpleDateFormat("HH:mm");
public SceneEvaluateServiceImpl(CrossDataHistMapper crossDataHistMapper, RunningEvaluateServiceImpl runningEvaluateService, @Qualifier("baseCrossSchemeMapper") BaseCrossSchemeMapper baseCrossSchemeMapper, @Qualifier("baseCrossSchedulesMapper") BaseCrossSchedulesMapper baseCrossSchedulesMapper, @Qualifier("baseCrossSchedulesPlanMapper") BaseCrossSchedulesPlanMapper baseCrossSchedulesPlanMapper, @Qualifier("net.wanji.feign.service.ControlFeignClients") ControlFeignClients controlFeignClients, @Qualifier("baseCrossSectionMapper") BaseCrossSectionMapper baseCrossSectionMapper, CrossDirDataHistMapper crossDirDataHistMapper, CrossLaneDataHistMapper crossLaneDataHistMapper, CrossTurnDataHistMapper crossTurnDataHistMapper) {
public SceneEvaluateServiceImpl(CrossDataHistMapper crossDataHistMapper, RunningEvaluateServiceImpl runningEvaluateService, @Qualifier("baseCrossSchemeMapper") BaseCrossSchemeMapper baseCrossSchemeMapper, @Qualifier("baseCrossSchedulesMapper") BaseCrossSchedulesMapper baseCrossSchedulesMapper, @Qualifier("baseCrossSchedulesPlanMapper") BaseCrossSchedulesPlanMapper baseCrossSchedulesPlanMapper, @Qualifier("net.wanji.feign.service.ControlFeignClients") ControlFeignClients controlFeignClients, @Qualifier("baseCrossSectionMapper") BaseCrossSectionMapper baseCrossSectionMapper, CrossDirDataHistMapper crossDirDataHistMapper, CrossLaneDataHistMapper crossLaneDataHistMapper, CrossTurnDataHistMapper crossTurnDataHistMapper, @Qualifier("laneInfoMapper") LaneInfoMapper laneInfoMapper) {
this.crossDataHistMapper = crossDataHistMapper;
this.runningEvaluateService = runningEvaluateService;
this.baseCrossSchemeMapper = baseCrossSchemeMapper;
......@@ -63,6 +65,7 @@ public class SceneEvaluateServiceImpl implements SceneEvaluateService {
this.crossDirDataHistMapper = crossDirDataHistMapper;
this.crossLaneDataHistMapper = crossLaneDataHistMapper;
this.crossTurnDataHistMapper = crossTurnDataHistMapper;
this.laneInfoMapper = laneInfoMapper;
}
@Override
......@@ -277,14 +280,17 @@ public class SceneEvaluateServiceImpl implements SceneEvaluateService {
// 查询全部指标
List<MetricHistDTO> metricHistDTOList = new ArrayList<>();
if (ObjectUtil.isNotEmpty(laneSort)) {
// 获取车道ID
Integer turnInt = TurnConvertEnum.getKeyByCode(turn);
String laneId = laneInfoMapper.selectIdByCrossIdDirTurn2(crossId, dir, turnInt);
metricHistDTOList = crossLaneDataHistMapper.selectMetricHistDTO(
crossId, startStamp, endStamp);
crossId, startStamp, endStamp, laneId);
} else if (ObjectUtil.isNotEmpty(turn)) {
metricHistDTOList = crossTurnDataHistMapper.selectMetricHistDTO(
crossId, startStamp, endStamp);
crossId, startStamp, endStamp, dir, turn);
} else if (ObjectUtil.isNotEmpty(dir)) {
metricHistDTOList = crossDirDataHistMapper.selectMetricHistDTO(
crossId, startStamp, endStamp);
crossId, startStamp, endStamp, dir);
} else { // 路口级别
metricHistDTOList = crossDataHistMapper.selectMetricHistDTO(
crossId, startStamp, endStamp);
......
......@@ -34,7 +34,7 @@ public interface CrossDirDataHistMapper extends BaseMapper<CrossDirDataHistPO> {
List<CrossDirDataHistPO> selectPhaseQueueEnd(String crossId, Integer dir, long currentSeconds, long preSeconds);
List<MetricHistDTO> selectMetricHistDTO(String crossId, int startStamp, int endStamp);
List<MetricHistDTO> selectMetricHistDTO(String crossId, int startStamp, int endStamp, int dir);
List<CrossDirDataHistPO> selectByCrossIdAndStartEnd(String crossId, int startStamp, int endStamp);
......
......@@ -18,7 +18,7 @@ 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);
List<MetricHistDTO> selectMetricHistDTO(String crossId, int startStamp, int endStamp, String laneId);
List<CrossLaneDataHistPOExt> selectByCrossIdAndDir(String crossId, Integer dir, int endTimeStamp, int startTimeStamp);
List<CrossLaneDataHistPOExt> selectByCrossId(String crossId, int endTimeStamp, int startTimeStamp);
......
......@@ -23,7 +23,7 @@ public interface CrossTurnDataHistMapper extends BaseMapper<CrossTurnDataHistPO>
List<CrossTurnDataHistPO> selectByCrossId(String crossId, long endTimeStamp, long startTimeStamp);
List<MetricHistDTO> selectMetricHistDTO(String crossId, int startStamp, int endStamp);
List<MetricHistDTO> selectMetricHistDTO(String crossId, int startStamp, int endStamp, int dir, String turn);
List<CrossTurnDataHistPOExt> selectByMetrics(String crossId, int dirInt, String turnType, int startTimeStamp, int endTimeStamp, List<String> laneIds);
......
......@@ -37,4 +37,6 @@ public interface LaneInfoMapper {
List<LaneInfoPO> listLaneInfo();
List<LaneInfoPO> selectByTurnType(String crossId, Integer type, Integer dir, List<Integer> keyList);
String selectIdByCrossIdDirTurn2(String crossId, Integer dir, Integer turnInt);
}
......@@ -115,7 +115,7 @@
<select id="selectMetricHistDTO" resultType="net.wanji.databus.dto.MetricHistDTO">
select status, start_time, duration, flow, speed, sturation, capacity, stop_times, delay_time, batch_time, one_stop_rate, queue_length, effusion_rate, no_stop_rate, green_light_efficiency
from t_cross_dir_data_hist
where cross_id = #{crossId}
where cross_id = #{crossId} and in_out_type = 1 and dir_type = #{dir}
and batch_time <![CDATA[ >= ]]> #{startStamp}
and batch_time <![CDATA[ <= ]]> #{endStamp}
order by batch_time
......
......@@ -58,7 +58,7 @@
<select id="selectMetricHistDTO" resultType="net.wanji.databus.dto.MetricHistDTO">
select flow, speed, sturation, capacity, stop_times, delay_time, batch_time, one_stop_rate, queue_length, effusion_rate, no_stop_rate, green_light_efficiency
from t_lane_data_hist
where cross_id = #{crossId}
where cross_id = #{crossId} and id = #{laneId}
and batch_time <![CDATA[ >= ]]> #{startStamp}
and batch_time <![CDATA[ <= ]]> #{endStamp}
order by batch_time
......
......@@ -81,7 +81,7 @@
<select id="selectMetricHistDTO" resultType="net.wanji.databus.dto.MetricHistDTO">
select status, flow, speed, sturation, stop_times, delay_time, batch_time, one_stop_rate, queue_length, effusion_rate, no_stop_rate, green_light_efficiency
from t_cross_turn_data_hist
where cross_id = #{crossId}
where cross_id = #{crossId} and in_dir = #{dir} and turn_type = #{turn}
and batch_time <![CDATA[ >= ]]> #{startStamp}
and batch_time <![CDATA[ <= ]]> #{endStamp}
order by batch_time
......
......@@ -117,4 +117,11 @@
</foreach>
</select>
<select id="selectIdByCrossIdDirTurn2" resultType="java.lang.String">
select id
from t_base_lane_info
where cross_id = #{crossId} and dir = #{dir} and turn = #{turn} and category = 1 and type = 2
limit 1
</select>
</mapper>
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