Commit 93d8273b authored by zhoushiguang's avatar zhoushiguang

区域干线优化-增加上周同期指标输出

parent b6b4ddc0
...@@ -28,10 +28,7 @@ public class AnalysisGreenWaveOptimizeWeek implements Serializable { ...@@ -28,10 +28,7 @@ public class AnalysisGreenWaveOptimizeWeek implements Serializable {
* 星期几:1~7代表周一至周日 * 星期几:1~7代表周一至周日
*/ */
private Integer weekDay; private Integer weekDay;
/**
* 拥堵指数
*/
private Double congestIndex;
/** /**
* 优化时段开始时间 * 优化时段开始时间
...@@ -58,30 +55,62 @@ public class AnalysisGreenWaveOptimizeWeek implements Serializable { ...@@ -58,30 +55,62 @@ public class AnalysisGreenWaveOptimizeWeek implements Serializable {
*/ */
private Integer optimizeDuration; private Integer optimizeDuration;
/**
* 拥堵指数
*/
private Double congestIndex;
/**
* 上周拥堵指数
*/
private Double lastWeekCongestIndex;
/** /**
* 通行能力(辆) * 通行能力(辆)
*/ */
private Integer capacity; private Integer capacity;
/**
* 上周通行能力(辆)
*/
private Integer lastWeekCapacity;
/** /**
* 停车次数 * 停车次数
*/ */
private Double stopTimes; private Double stopTimes;
/**
* 上周停车次数
*/
private Double lastWeekStopTimes;
/** /**
* 延误时间,单位秒 * 延误时间,单位秒
*/ */
private Double delayTime; private Double delayTime;
/**
* 上周延误时间,单位秒
*/
private Double lastWeekDelayTime;
/** /**
* 行程时间,单位秒 * 行程时间,单位秒
*/ */
private Integer travelTime; private Integer travelTime;
/**
* 上周行程时间,单位秒
*/
private Integer lastWeekTravelTime;
/** /**
* 平均速度,单位km/h * 平均速度,单位km/h
*/ */
private Double speed; private Double speed;
/**
* 上周平均速度,单位km/h
*/
private Double lastWeekSpeed;
/** /**
* 一年中的第几周 * 一年中的第几周
......
...@@ -63,7 +63,7 @@ public class OptimizeStatisticTask { ...@@ -63,7 +63,7 @@ public class OptimizeStatisticTask {
* 干线策略优化时长计算 * 干线策略优化时长计算
*/ */
@Scheduled(cron = "0 40 1 * * ?") @Scheduled(cron = "0 40 1 * * ?")
//@PostConstruct @PostConstruct
public void optimizeGreenWaveDurationCal() { public void optimizeGreenWaveDurationCal() {
long st = System.currentTimeMillis(); long st = System.currentTimeMillis();
try { try {
...@@ -137,6 +137,14 @@ public class OptimizeStatisticTask { ...@@ -137,6 +137,14 @@ public class OptimizeStatisticTask {
// } // }
GreenHistIndexDTO dto = greenwaveHistProvider.findGreenIndexByDateScope(result.getGreenId(),controlStartTime,controlEndTime); GreenHistIndexDTO dto = greenwaveHistProvider.findGreenIndexByDateScope(result.getGreenId(),controlStartTime,controlEndTime);
//上周策略同期-开始时间
DateTime lastWeekDateTime = new DateTime(result.getControlTime()).minusWeeks(1);
String lastWeekStartTime = DateUtil.formatDate(lastWeekDateTime.toDate(),"yyyy-MM-dd HH:mm:ss");
//上周策略同期-截止时间
String lastWeekEndTime = lastWeekDateTime.plusSeconds(seconds).toString(DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss"));
GreenHistIndexDTO lastWeekDto = greenwaveHistProvider.findGreenIndexByDateScope(result.getGreenId(),lastWeekStartTime,lastWeekEndTime);
AnalysisGreenWaveOptimizeWeek data = new AnalysisGreenWaveOptimizeWeek(); AnalysisGreenWaveOptimizeWeek data = new AnalysisGreenWaveOptimizeWeek();
data.setGreenId(result.getGreenId()); data.setGreenId(result.getGreenId());
data.setStragetyId(result.getStragetyId()); data.setStragetyId(result.getStragetyId());
...@@ -149,6 +157,14 @@ public class OptimizeStatisticTask { ...@@ -149,6 +157,14 @@ public class OptimizeStatisticTask {
data.setStopTimes(dto.getStopTimes()); data.setStopTimes(dto.getStopTimes());
data.setCongestIndex(dto.getTrafficIndex()); data.setCongestIndex(dto.getTrafficIndex());
} }
if (lastWeekDto != null) {
data.setLastWeekCapacity(lastWeekDto.getCapacity());
data.setLastWeekDelayTime(lastWeekDto.getDelayTime());
data.setLastWeekSpeed(lastWeekDto.getSpeed());
data.setLastWeekTravelTime(lastWeekDto.getTravelTime());
data.setLastWeekStopTimes(lastWeekDto.getStopTimes());
data.setLastWeekCongestIndex(lastWeekDto.getTrafficIndex());
}
data.setWeekDay(result.getWeekDay()); data.setWeekDay(result.getWeekDay());
data.setOptimizeStartTime(LocalDateTime.parse(controlStartTime, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); data.setOptimizeStartTime(LocalDateTime.parse(controlStartTime, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
data.setOptimizeEndTime(LocalDateTime.parse(controlEndTime, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); data.setOptimizeEndTime(LocalDateTime.parse(controlEndTime, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
...@@ -165,8 +181,7 @@ public class OptimizeStatisticTask { ...@@ -165,8 +181,7 @@ public class OptimizeStatisticTask {
if (!durationList.isEmpty()) { if (!durationList.isEmpty()) {
analysisGreenWaveOptimizeWeekMapper.insertBatch(durationList); analysisGreenWaveOptimizeWeekMapper.insertBatch(durationList);
} }
long et = System.currentTimeMillis(); long et = System.currentTimeMillis();log.info("批量保存干线优化数据据耗时:{}ms,size:{}", et - st, durationList.size());
log.info("批量保存干线优化数据据耗时:{}ms,size:{}", et - st, durationList.size());
} catch (Exception e) { } catch (Exception e) {
log.error("", e); log.error("", e);
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
<!-- 通用查询列 --> <!-- 通用查询列 -->
<sql id="Base_Column_List"> <sql id="Base_Column_List">
green_id, road_direction, week_day, optimize_start_time, optimize_end_time, stragety_id, optimize_count, optimize_duration, capacity,congest_index, stop_times, delay_time, travel_time, speed, year_week, week_start_time, week_end_time, insert_time green_id, road_direction, week_day, optimize_start_time, optimize_end_time, stragety_id, optimize_count, optimize_duration, capacity,congest_index, stop_times, delay_time, travel_time, speed, year_week, week_start_time, week_end_time, insert_time
,last_week_congest_index,last_week_capacity,last_week_stop_times,last_week_delay_time,last_week_travel_time,last_week_speed
</sql> </sql>
<!-- 通用条件列 --> <!-- 通用条件列 -->
...@@ -123,14 +124,23 @@ ...@@ -123,14 +124,23 @@
<result column="optimize_start_time" property="optimizeStartTime"/> <result column="optimize_start_time" property="optimizeStartTime"/>
<result column="optimize_end_time" property="optimizeEndTime"/> <result column="optimize_end_time" property="optimizeEndTime"/>
<result column="stragety_id" property="stragetyId"/> <result column="stragety_id" property="stragetyId"/>
<result column="congest_index" property="congestIndex"/>
<result column="optimize_count" property="optimizeCount"/> <result column="optimize_count" property="optimizeCount"/>
<result column="optimize_duration" property="optimizeDuration"/> <result column="optimize_duration" property="optimizeDuration"/>
<result column="congest_index" property="congestIndex"/>
<result column="capacity" property="capacity"/> <result column="capacity" property="capacity"/>
<result column="stop_times" property="stopTimes"/> <result column="stop_times" property="stopTimes"/>
<result column="delay_time" property="delayTime"/> <result column="delay_time" property="delayTime"/>
<result column="travel_time" property="travelTime"/> <result column="travel_time" property="travelTime"/>
<result column="speed" property="speed"/> <result column="speed" property="speed"/>
<result column="last_week_congest_index" property="lastWeekCongestIndex"/>
<result column="last_week_capacity" property="lastWeekCapacity"/>
<result column="last_week_stop_times" property="lastWeekStopTimes"/>
<result column="last_week_delay_time" property="lastWeekDelayTime"/>
<result column="last_week_travel_time" property="lastWeekTravelTime"/>
<result column="last_week_speed" property="lastWeekSpeed"/>
<result column="year_week" property="yearWeek"/> <result column="year_week" property="yearWeek"/>
<result column="week_start_time" property="weekStartTime"/> <result column="week_start_time" property="weekStartTime"/>
<result column="week_end_time" property="weekEndTime"/> <result column="week_end_time" property="weekEndTime"/>
...@@ -199,6 +209,7 @@ ...@@ -199,6 +209,7 @@
,week_end_time ,week_end_time
,insert_time ,insert_time
,congest_index ,congest_index
,last_week_congest_index,last_week_capacity,last_week_stop_times,last_week_delay_time,last_week_travel_time,last_week_speed
) VALUES ( ) VALUES (
#{greenId} #{greenId}
,#{roadDirection} ,#{roadDirection}
...@@ -218,13 +229,14 @@ ...@@ -218,13 +229,14 @@
,#{weekEndTime} ,#{weekEndTime}
,#{insertTime} ,#{insertTime}
,#{congestIndex} ,#{congestIndex}
,#{lastWeekCongestIndex},#{lastWeekCapacity},#{lastWeekStopTimes},#{lastWeekDelayTime},#{lastWeekTravelTime},#{lastWeekSpeed}
) )
</insert> </insert>
<insert id="insertBatch" parameterType="net.wanji.opt.entity.report.AnalysisGreenWaveOptimizeWeek"> <insert id="insertBatch" parameterType="net.wanji.opt.entity.report.AnalysisGreenWaveOptimizeWeek">
INSERT INTO t_analysis_green_wave_optimize_week ( INSERT INTO t_analysis_green_wave_optimize_week (
green_id green_id
,road_direction ,road_direction
,week_day ,week_day
,optimize_start_time ,optimize_start_time
...@@ -242,6 +254,12 @@ ...@@ -242,6 +254,12 @@
,week_end_time ,week_end_time
,insert_time ,insert_time
,congest_index ,congest_index
,last_week_congest_index
,last_week_capacity
,last_week_stop_times
,last_week_delay_time
,last_week_travel_time
,last_week_speed
) VALUES ) VALUES
<foreach collection="list" item="entity" separator=","> <foreach collection="list" item="entity" separator=",">
( (
...@@ -263,6 +281,12 @@ ...@@ -263,6 +281,12 @@
,#{entity.weekEndTime} ,#{entity.weekEndTime}
,#{entity.insertTime} ,#{entity.insertTime}
,#{entity.congestIndex} ,#{entity.congestIndex}
,#{entity.lastWeekCongestIndex}
,#{entity.lastWeekCapacity}
,#{entity.lastWeekStopTimes}
,#{entity.lastWeekDelayTime}
,#{entity.lastWeekTravelTime}
,#{entity.lastWeekSpeed}
) )
</foreach> </foreach>
ON DUPLICATE KEY UPDATE ON DUPLICATE KEY UPDATE
...@@ -284,7 +308,13 @@ ...@@ -284,7 +308,13 @@
week_start_time = VALUES(week_start_time), week_start_time = VALUES(week_start_time),
week_end_time = VALUES(week_end_time), week_end_time = VALUES(week_end_time),
insert_time = VALUES(insert_time), insert_time = VALUES(insert_time),
congest_index = VALUES(congest_index) congest_index = VALUES(congest_index),
last_week_congest_index = VALUES(last_week_congest_index),
last_week_capacity = VALUES(last_week_capacity),
last_week_stop_times = VALUES(last_week_stop_times),
last_week_delay_time = VALUES(last_week_delay_time),
last_week_travel_time = VALUES(last_week_travel_time),
last_week_speed = VALUES(last_week_speed)
</insert> </insert>
......
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