Commit b2acedd9 authored by duanruiming's avatar duanruiming

[add] 数据中心版本databus0.0.databus-0.0.3-CH

parent 2bc5f717
package net.wanji.databus.dao.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
......@@ -14,8 +13,6 @@ public class CrossLightsStatusHistPO {
private String crossId;
private Integer batchTime;
private String lightsStatusJson;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date gmtCreate;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date gmtModified;
}
......@@ -39,7 +39,6 @@ public class CrossSchedulesPO {
private String weeks;
/** 特殊日期 */
@ApiModelProperty(value = "特殊日期",notes = "")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date specialDate ;
/** 创建时间 */
@ApiModelProperty(value = "创建时间",notes = "")
......
......@@ -30,8 +30,6 @@ public interface BaseCrossLaneLightsMapper {
Integer selectLightsIdByLaneId(@Param("crossId") String crossId, @Param("laneId") String laneId);
List<CrossLaneLightsPO> selectByCrossId(@Param("crossId") String crossId);
List<CrossLaneLightsPO> selectLanesByLightId(@Param("crossId") String crossId,
@Param("lightId") Integer lightId);
......
......@@ -21,8 +21,6 @@ public interface LaneInfoMapper {
List<LaneInfoPO> selectBycrossId(@Param("crossId") String crossId);
List<LaneInfoPO> selectBycrossIdAll(@Param("crossId") String crossId);
LaneInfoPO selectByCrossIdDirCode(@Param("crossId") String crossId,
@Param("dir") Integer dir,
@Param("code") String code);
......
......@@ -15,4 +15,7 @@ import java.util.Date;
@ApiModel(value = "CrossDataHistPO", description = "路口实时数据历史")
public class CrossDataHistPO extends CrossDataRealtimePO {
private Integer dt;
private Integer dt_15min;
private Integer dt_30min;
private Integer dt_60min;
}
......@@ -13,4 +13,7 @@ import lombok.Data;
@ApiModel(value = "CrossDirDataHistPO", description = "路口转向实时数据历史")
public class CrossDirDataHistPO extends CrossDirDataRealtimePO {
private Integer dt;
private Integer dt_15min;
private Integer dt_30min;
private Integer dt_60min;
}
......@@ -13,4 +13,7 @@ import lombok.Data;
@ApiModel(value = "CrossLaneDataHistPO", description = "路口车道实时数据历史")
public class CrossLaneDataHistPO extends CrossLaneDataRealTimePO{
private Integer dt;
private Integer dt_15min;
private Integer dt_30min;
private Integer dt_60min;
}
......@@ -13,4 +13,7 @@ import lombok.Data;
@ApiModel(value = "CrossTurnDataHistPO", description = "路口转向实时数据历史")
public class CrossTurnDataHistPO extends CrossTurnDataRealtimePO {
private Integer dt;
private Integer dt_15min;
private Integer dt_30min;
private Integer dt_60min;
}
......@@ -38,8 +38,6 @@ public class LightsStatusVO2 extends BaseCrossInfo {
private String schemeId;
@ApiModelProperty(value = "灯组状态")
private List<DirInfo> dirLampGroupMapList;
@ApiModelProperty(value = "当前相位灯组状态")
private List<DirInfo> curPhaseLampGroupMapList;
@ApiModelProperty(value = "数据上报时间戳")
@Field(type = FieldType.Keyword, name = "timeStamp")
private String timeStamp;
......
......@@ -74,13 +74,6 @@
where cross_id = #{crossId} and lights_id = #{lightId}
</select>
<select id="selectByCrossId" resultMap="BaseResultMap">
select
id,lights_id,lane_id,cross_id,gmt_create,gmt_modified
from t_base_cross_lane_lights
where cross_id = #{crossId}
</select>
<select id="selectByLightsId" resultMap="BaseResultMap">
select
id,lights_id,lane_id,cross_id,gmt_create,gmt_modified
......
......@@ -238,20 +238,10 @@
AND section.scheme_id = scheme.id
WHERE
schedules.cross_id = #{crossId}
AND (
DATE_FORMAT(schedules.special_date, '%Y-%m-%d') = DATE_FORMAT(NOW(), '%Y-%m-%d')
OR
(
schedules.week = #{week}
AND (
DATE_FORMAT(schedules.special_date, '%Y-%m-%d') != DATE_FORMAT(NOW(), '%Y-%m-%d')
OR schedules.special_date IS NULL
)
)
)
AND schedules.`week` = #{week}
AND DATE_FORMAT( NOW(), '%H:%i' ) BETWEEN DATE_FORMAT( CAST( section.start_time AS TIME ), '%H:%i' )
AND DATE_FORMAT( CAST( section.end_time AS TIME ), '%H:%i' )
ORDER BY schedules.special_date, DATE_FORMAT( CAST( section.end_time AS TIME ), '%H:%i' ),schedules.special_date DESC LIMIT 1
ORDER BY schedules.special_date, DATE_FORMAT( CAST( section.end_time AS TIME ), '%H:%i' ) DESC LIMIT 1
</select>
<select id="selectSchemeByParams" resultType="net.wanji.databus.dao.entity.BaseCrossSchemePO">
......@@ -265,21 +255,10 @@
AND section.scheme_id = scheme.id
WHERE
schedules.cross_id = #{crossId}
AND (
DATE_FORMAT(schedules.special_date, '%Y-%m-%d') = DATE_FORMAT(NOW(), '%Y-%m-%d')
OR
(
schedules.week = #{week}
AND (
DATE_FORMAT(schedules.special_date, '%Y-%m-%d') != DATE_FORMAT(NOW(), '%Y-%m-%d')
OR schedules.special_date IS NULL
)
)
)
AND schedules.`week` = #{week}
AND DATE_FORMAT( #{queryTime}, '%H:%i' ) BETWEEN DATE_FORMAT( CAST( section.start_time AS TIME ), '%H:%i' )
AND DATE_FORMAT( CAST( section.end_time AS TIME ), '%H:%i' )
ORDER BY schedules.special_date, DATE_FORMAT( CAST( section.end_time AS TIME ), '%H:%i' ),schedules.special_date DESC LIMIT 1
ORDER BY schedules.special_date, DATE_FORMAT( CAST( section.end_time AS TIME ), '%H:%i' ) DESC LIMIT 1
</select>
......
......@@ -65,11 +65,11 @@
no_stop_rate,one_stop_rate,two_stop_rate,three_stop_rate,non_motor_flow,v_85,
traffic_flow_A,traffic_flow_B,traffic_flow_C,vehicle_length_ratio_mean,time_occupancy,
strategy, strategy_duration, optimize_count, optimize_seconds, empty_pass, service_level,
direction, turn,dt
direction, turn, dt, dt_15min, dt_30min, dt_60min
</sql>
<insert id="insertBatch" parameterType="net.wanji.databus.po.CrossDataHistPO">
insert ignore into t_cross_data_hist
insert into t_cross_data_hist
(<include refid="Base_Column_List"></include>)
values
<foreach collection="list" item="entity" separator=",">
......@@ -82,9 +82,18 @@
#{entity.nonMotorFlow},#{entity.v85},#{entity.trafficFlowA},#{entity.trafficFlowB},
#{entity.trafficFlowC},#{entity.vehicleLengthRatioMean},#{entity.timeOccupancy},
#{entity.strategy}, #{entity.strategyDuration}, #{entity.optimizeCount}, #{entity.optimizeSeconds},
#{entity.emptyPass}, #{entity.serviceLevel}, #{entity.direction}, #{entity.turn}, DATE_FORMAT(#{entity.startTime}, '%Y%m%d')
#{entity.emptyPass}, #{entity.serviceLevel}, #{entity.direction}, #{entity.turn},
cast(to_char(cast(#{entity.startTime} as DATE), 'YYYYMMDD') as INTEGER),
cast(to_char(date_trunc('hour', cast(#{entity.startTime} as TIMESTAMP)) +
(floor(extract(minute from cast(#{entity.startTime} as TIMESTAMP)) / 15) * 15 * interval '1 minute'), 'YYYY-MM-DD HH24:MI:00') as TIMESTAMP),
cast(to_char(date_trunc('hour', cast(#{entity.startTime} as TIMESTAMP)) +
(floor(extract(minute from cast(#{entity.startTime} as TIMESTAMP)) / 30) * 30 * interval '1 minute'), 'YYYY-MM-DD HH24:MI:00') as TIMESTAMP),
cast(to_char(date_trunc('hour', cast(#{entity.startTime} as TIMESTAMP)) +
(floor(extract(minute from cast(#{entity.startTime} as TIMESTAMP)) / 60) * 60 * interval '1 minute'), 'YYYY-MM-DD HH24:MI:00') as TIMESTAMP)
)
</foreach>
on conflict(cross_id, batch_time, dt)
do update set batch_time = excluded.batch_time
</insert>
<delete id="deleteBatch" parameterType="String">
......
......@@ -69,7 +69,7 @@
</sql>
<insert id="insertBatch" parameterType="net.wanji.databus.po.CrossDataRealtimePO">
insert ignore into t_cross_data_realtime
insert into t_cross_data_realtime
(<include refid="Base_Column_List"></include>)
values
<foreach collection="list" item="entity" separator=",">
......
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="net.wanji.databus.dao.mapper.CrossDirDataHistMapper"> <resultMap id="BaseResultMap" type="net.wanji.databus.po.CrossDirDataHistPO"> <result column="id" property="id"></result> <result column="dir_type" property="dirType"></result> <result column="in_out_type" property="inOutType"></result> <result column="cross_id" property="crossId"></result> <result column="length" property="length"></result> <result column="status" property="status"></result> <result column="traffic_index" property="trafficIndex"></result> <result column="start_time" property="startTime"></result> <result column="capacity" property="capacity"></result> <result column="duration" property="duration"></result> <result column="flow" property="flow"></result> <result column="speed" property="speed"></result> <result column="queue_length" property="queueLength"></result> <result column="stop_times" property="stopTimes"></result> <result column="delay_time" property="delayTime"></result> <result column="sturation" property="sturation"></result> <result column="batch_time" property="batchTime"></result> <result column="gmt_create" property="gmtCreate"></result> <result column="gmt_modified" property="gmtModified"></result> <result column="effusion_rate" property="effusionRate"></result> <result column="green_light_efficiency" property="greenLightEfficiency"></result> </resultMap> <sql id="Base_Column_List"> id,dir_type,in_out_type,cross_id,length,status,traffic_index,start_time,capacity,duration,flow,speed,queue_length,stop_times, delay_time,sturation,no_stop_rate,one_stop_rate,two_stop_rate,three_stop_rate,batch_time,gmt_create,gmt_modified,effusion_rate, green_light_efficiency,dt </sql> <insert id="insertBatch" parameterType="net.wanji.databus.po.CrossDirDataHistPO"> insert ignore into t_cross_dir_data_hist (<include refid="Base_Column_List"></include>) values <foreach collection="list" item="entity" separator=","> ( #{entity.id}, #{entity.dirType}, #{entity.inOutType}, #{entity.crossId}, #{entity.length}, #{entity.status}, #{entity.trafficIndex}, #{entity.startTime}, #{entity.capacity}, #{entity.duration}, #{entity.flow}, #{entity.speed}, #{entity.queueLength}, #{entity.stopTimes}, #{entity.delayTime}, #{entity.sturation}, #{entity.noStopRate},#{entity.oneStopRate},#{entity.twoStopRate},#{entity.threeStopRate},#{entity.batchTime}, now(), now(), #{entity.effusionRate},#{entity.greenLightEfficiency}, DATE_FORMAT(#{entity.startTime}, '%Y%m%d') ) </foreach> </insert> <delete id="deleteBatch" parameterType="String"> delete from t_cross_dir_data_hist where cross_id in <foreach collection="list" item="crossId" separator="," open="(" close=")"> #{crossId} </foreach> </delete> <select id="selectByCrossIdAndTimestamp" resultType="net.wanji.databus.po.CrossDirDataHistPO"> select <include refid="Base_Column_List"/> from t_cross_dir_data_hist where cross_id = #{crossId} and in_out_type = 1 and batch_time <![CDATA[ >= ]]> #{preSeconds} order by batch_time </select> <select id="selectByCrossIdDirAndTimestamp" resultType="net.wanji.databus.po.CrossDirDataHistPO"> select <include refid="Base_Column_List"/> from t_cross_dir_data_hist where cross_id = #{crossId} and in_out_type = 1 and dir_type = #{dir} and batch_time <![CDATA[ >= ]]> #{preSeconds} order by batch_time </select> <select id="selectByCrossIdInOutTimestamp" resultType="net.wanji.databus.bo.CrossDirDataHistAvgBO"> SELECT dir_type as dirType, avg(capacity) as avgCapacity, avg(flow) as avgFlow, avg(queue_length) as avgQueueLength, avg(traffic_index) as avgIndex, avg(effusion_rate) as avgeffusionRate FROM t_cross_dir_data_hist WHERE cross_id = #{crossId} AND in_out_type = #{inOutType} AND batch_time <![CDATA[ >= ]]> #{preSeconds} AND batch_time <![CDATA[ < ]]> #{endSeconds} GROUP BY dir_type </select> <select id="selectNoPark" resultType="net.wanji.databus.po.CrossDirDataHistPO"> select <include refid="Base_Column_List"/> from t_cross_dir_data_hist where cross_id = #{crossId} and in_out_type = 2 and dir_type = #{dir} and batch_time <![CDATA[ <= ]]> #{currentSeconds} and batch_time <![CDATA[ >= ]]> #{preSeconds} </select> <select id="selectPhaseQueue" resultType="net.wanji.databus.po.CrossDirDataHistPO"> select <include refid="Base_Column_List"/> from t_cross_dir_data_hist where cross_id = #{crossId} and in_out_type = 2 and dir_type != #{dir} and batch_time <![CDATA[ <= ]]> #{currentSeconds} and batch_time <![CDATA[ >= ]]> #{preSeconds} </select> <select id="selectNoParkEnd" resultType="net.wanji.databus.po.CrossDirDataHistPO"> select <include refid="Base_Column_List"/> from t_cross_dir_data_hist where cross_id = #{crossId} and in_out_type = 1 and dir_type = #{dir} and batch_time <![CDATA[ <= ]]> #{currentSeconds} and batch_time <![CDATA[ >= ]]> #{preSeconds} </select> <select id="selectPhaseQueueEnd" resultType="net.wanji.databus.po.CrossDirDataHistPO"> select <include refid="Base_Column_List"/> from t_cross_dir_data_hist where cross_id = #{crossId} and in_out_type = 1 and dir_type != #{dir} 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, one_stop_rate, queue_length, effusion_rate, no_stop_rate, green_light_efficiency from t_cross_dir_data_hist 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 </select> <select id="selectByCrossIdAndStartEnd" resultType="net.wanji.databus.po.CrossDirDataHistPO"> select <include refid="Base_Column_List"/> from t_cross_dir_data_hist where cross_id = #{crossId} and batch_time <![CDATA[ >= ]]> #{startStamp} and batch_time <![CDATA[ <= ]]> #{endStamp} </select> <select id="selectMaxDelayTime" resultType="java.lang.Integer"> select max(delay_time) from t_cross_dir_data_hist where cross_id = #{crossId} and dir_type = #{dirType} and in_out_type = #{inOutType} and batch_time <![CDATA[ >= ]]> #{startStamp} and batch_time <![CDATA[ <= ]]> #{endStamp} </select> <select id="selectMaxQueueLength" resultType="java.lang.Double"> select max(queue_length) from t_cross_dir_data_hist where cross_id = #{crossId} and dir_type = #{dirType} and in_out_type = #{inOutType} and batch_time <![CDATA[ >= ]]> #{startStamp} and batch_time <![CDATA[ <= ]]> #{endStamp} </select> <select id="selectMaxSaturation" resultType="java.lang.Double"> select max(sturation) from t_cross_dir_data_hist where cross_id = #{crossId} and dir_type = #{dirType} and in_out_type = #{inOutType} and batch_time <![CDATA[ >= ]]> #{startStamp} and batch_time <![CDATA[ <= ]]> #{endStamp} </select> <select id="selectMaxGreenLightEfficiency" resultType="java.lang.Double"> select max(green_light_efficiency) from t_cross_dir_data_hist where cross_id = #{crossId} and dir_type = #{dirCode} and in_out_type = #{code} and batch_time <![CDATA[ >= ]]> #{startTimeStamp} and batch_time <![CDATA[ <= ]]> #{endTimeStamp} </select> <select id="selectByMetrics" resultType="net.wanji.databus.po.CrossDirDataHistPOExt"> SELECT <include refid="Base_Column_List"/> FROM t_cross_dir_data_hist WHERE cross_id = #{crossId} AND in_out_type = 1 AND dir_type = #{dirInt} AND batch_time <![CDATA[ <= ]]> #{endTimeStamp} AND batch_time <![CDATA[ >= ]]> #{startTimeStamp} </select> <select id="selectByCrossIdsDirsAndTimestamp" resultType="net.wanji.databus.po.CrossDirDataHistPO"> select <include refid="Base_Column_List"></include> from t_cross_dir_data_hist where cross_id in <foreach collection="crossIdList" item="crossId" separator="," open="(" close=")"> #{crossId} </foreach> and dir_type in <foreach collection="dirCodeList" item="dirCode" separator="," open="(" close=")"> #{dirCode} </foreach><!-- and in_out_type = 1--> and batch_time <![CDATA[ >= ]]> #{startTimeStamp} and batch_time <![CDATA[ <= ]]> #{endTimeStamp} order by batch_time </select> <select id="selectByCrossDirAndTimeSection" resultType="net.wanji.databus.po.CrossDirDataHistPO"> SELECT <include refid="Base_Column_List"></include> FROM t_cross_dir_data_hist WHERE cross_id = #{crossId} AND dir_type = #{dirCode} AND in_out_type = 1 AND DATE_FORMAT(FROM_UNIXTIME(batch_time), '%Y-%m-%d') BETWEEN #{boStartDayStr} AND #{boEndDayStr} AND DATE_FORMAT(FROM_UNIXTIME(batch_time), '%H:%i') BETWEEN #{startHourMinuteStr} AND #{endHourMinuteStr} </select> <select id="selectByCrossIdDirsAndTimestamp" resultType="net.wanji.databus.po.CrossDirDataHistPO"> select <include refid="Base_Column_List"></include> from t_cross_dir_data_hist where cross_id = #{crossId} and dir_type in <foreach collection="dirCodeList" item="dirCode" separator="," open="(" close=")"> #{dirCode} </foreach> and in_out_type = 1 and batch_time <![CDATA[ >= ]]> #{startTimeStamp} and batch_time <![CDATA[ <= ]]> #{endTimeStamp} order by batch_time </select> <!-- 神思推送数据in_out_type=0 --> <select id="selectDirDataList" resultType="net.wanji.databus.po.CrossDirDataHistPO"> select <include refid="Base_Column_List"></include> from t_cross_dir_data_hist where cross_id = #{crossId} and dir_type in <foreach collection="dirCodeList" item="dirCode" separator="," open="(" close=")"> #{dirCode} </foreach> and batch_time <![CDATA[ >= ]]> #{startTimeStamp} and batch_time <![CDATA[ <= ]]> #{endTimeStamp} order by batch_time </select> <select id="selectByCrossDirsAndTimeSection" resultType="net.wanji.databus.po.CrossDirDataHistPO"> SELECT <include refid="Base_Column_List"></include> FROM t_cross_dir_data_hist WHERE cross_id = #{crossId} AND dir_type in <foreach collection="dirCodeList" item="dirCode" separator="," open="(" close=")"> #{dirCode} </foreach> AND in_out_type = 1 AND DATE_FORMAT(FROM_UNIXTIME(batch_time), '%Y-%m-%d') BETWEEN #{boStartDayStr} AND #{boEndDayStr} AND DATE_FORMAT(FROM_UNIXTIME(batch_time), '%H:%i') BETWEEN #{startHourMinuteStr} AND #{endHourMinuteStr} </select> <select id="selectByTimeSection" resultType="net.wanji.databus.po.CrossDirDataHistPO"><!-- SELECT <include refid="Base_Column_List"></include>--><!-- FROM t_cross_dir_data_hist--><!-- WHERE in_out_type = 1--><!-- AND DATE_FORMAT(FROM_UNIXTIME(batch_time), '%Y-%m-%d') BETWEEN #{boStartDayStr} AND #{boEndDayStr}--><!-- AND DATE_FORMAT(FROM_UNIXTIME(batch_time), '%H:%i') BETWEEN #{startHourMinuteStr} AND #{endHourMinuteStr}--> SELECT <include refid="Base_Column_List"></include> FROM t_cross_dir_data_hist WHERE batch_time BETWEEN UNIX_TIMESTAMP(STR_TO_DATE(concat(#{boStartDayStr}, #{startHourMinuteStr}), '%Y-%m-%d%H:%i')) AND UNIX_TIMESTAMP(STR_TO_DATE(concat(#{boEndDayStr}, #{endHourMinuteStr}), '%Y-%m-%d%H:%i')) AND in_out_type = 1 </select> <select id="selectExtByTimeSection" resultType="net.wanji.databus.po.CrossDirDataHistPOExt"> SELECT <include refid="Base_Column_List"></include> FROM t_cross_dir_data_hist WHERE batch_time BETWEEN UNIX_TIMESTAMP(STR_TO_DATE(concat(#{boStartDayStr}, #{startHourMinuteStr}), '%Y-%m-%d%H:%i')) AND UNIX_TIMESTAMP(STR_TO_DATE(concat(#{boEndDayStr}, #{endHourMinuteStr}), '%Y-%m-%d%H:%i')) AND in_out_type = 1 </select> <select id="selectByCrossIdAndHour" resultType="net.wanji.databus.po.CrossDirDataHistPO"> SELECT <include refid="Base_Column_List"></include> FROM t_cross_dir_data_hist WHERE cross_id = #{crossId} AND start_time >= DATE_SUB( NOW(), INTERVAL #{hour} HOUR ) ORDER BY start_time DESC </select> </mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="net.wanji.databus.dao.mapper.CrossDirDataHistMapper"> <resultMap id="BaseResultMap" type="net.wanji.databus.po.CrossDirDataHistPO"> <result column="id" property="id"></result> <result column="dir_type" property="dirType"></result> <result column="in_out_type" property="inOutType"></result> <result column="cross_id" property="crossId"></result> <result column="length" property="length"></result> <result column="status" property="status"></result> <result column="traffic_index" property="trafficIndex"></result> <result column="start_time" property="startTime"></result> <result column="capacity" property="capacity"></result> <result column="duration" property="duration"></result> <result column="flow" property="flow"></result> <result column="speed" property="speed"></result> <result column="queue_length" property="queueLength"></result> <result column="stop_times" property="stopTimes"></result> <result column="delay_time" property="delayTime"></result> <result column="sturation" property="sturation"></result> <result column="batch_time" property="batchTime"></result> <result column="gmt_create" property="gmtCreate"></result> <result column="gmt_modified" property="gmtModified"></result> <result column="effusion_rate" property="effusionRate"></result> <result column="green_light_efficiency" property="greenLightEfficiency"></result> </resultMap> <sql id="Base_Column_List"> id, dir_type,in_out_type,cross_id,length,status,traffic_index,start_time,capacity,duration,flow,speed,queue_length,stop_times, delay_time,sturation,no_stop_rate,one_stop_rate,two_stop_rate,three_stop_rate,batch_time,gmt_create,gmt_modified,effusion_rate, green_light_efficiency,dt, dt_15min, dt_30min, dt_60min </sql> <insert id="insertBatch" parameterType="net.wanji.databus.po.CrossDirDataHistPO"> insert into t_cross_dir_data_hist (<include refid="Base_Column_List"></include>) values <foreach collection="list" item="entity" separator=","> (#{entity.id}, #{entity.dirType}, #{entity.inOutType}, #{entity.crossId}, #{entity.length}, #{entity.status}, #{entity.trafficIndex}, #{entity.startTime}, #{entity.capacity}, #{entity.duration}, #{entity.flow}, #{entity.speed}, #{entity.queueLength}, #{entity.stopTimes}, #{entity.delayTime}, #{entity.sturation}, #{entity.noStopRate},#{entity.oneStopRate},#{entity.twoStopRate},#{entity.threeStopRate},#{entity.batchTime}, now(), now(), #{entity.effusionRate},#{entity.greenLightEfficiency}, cast(to_char(cast(#{entity.startTime} as DATE), 'YYYYMMDD') as INTEGER), cast(to_char(date_trunc('hour', cast(#{entity.startTime} as TIMESTAMP)) + (floor(extract(minute from cast(#{entity.startTime} as TIMESTAMP)) / 15) * 15 * interval '1 minute'), 'YYYY-MM-DD HH24:MI:00') as TIMESTAMP), cast(to_char(date_trunc('hour', cast(#{entity.startTime} as TIMESTAMP)) + (floor(extract(minute from cast(#{entity.startTime} as TIMESTAMP)) / 30) * 30 * interval '1 minute'), 'YYYY-MM-DD HH24:MI:00') as TIMESTAMP), cast(to_char(date_trunc('hour', cast(#{entity.startTime} as TIMESTAMP)) + (floor(extract(minute from cast(#{entity.startTime} as TIMESTAMP)) / 60) * 60 * interval '1 minute'), 'YYYY-MM-DD HH24:MI:00') as TIMESTAMP) ) </foreach> on conflict(id, batch_time, dt) do update set batch_time = excluded.batch_time </insert> <delete id="deleteBatch" parameterType="String"> delete from t_cross_dir_data_hist where cross_id in <foreach collection="list" item="crossId" separator="," open="(" close=")"> #{crossId} </foreach> </delete> <select id="selectByCrossIdAndTimestamp" resultType="net.wanji.databus.po.CrossDirDataHistPO"> select <include refid="Base_Column_List"/> from t_cross_dir_data_hist where cross_id = #{crossId} and in_out_type = 1 and batch_time <![CDATA[ >= ]]> #{preSeconds} order by batch_time </select> <select id="selectByCrossIdDirAndTimestamp" resultType="net.wanji.databus.po.CrossDirDataHistPO"> select <include refid="Base_Column_List"/> from t_cross_dir_data_hist where cross_id = #{crossId} and in_out_type = 1 and dir_type = #{dir} and batch_time <![CDATA[ >= ]]> #{preSeconds} order by batch_time </select> <select id="selectByCrossIdInOutTimestamp" resultType="net.wanji.databus.bo.CrossDirDataHistAvgBO"> SELECT dir_type as dirType, avg(capacity) as avgCapacity, avg(flow) as avgFlow, avg(queue_length) as avgQueueLength, avg(traffic_index) as avgIndex, avg(effusion_rate) as avgeffusionRate FROM t_cross_dir_data_hist WHERE cross_id = #{crossId} AND in_out_type = #{inOutType} AND batch_time <![CDATA[ >= ]]> #{preSeconds} AND batch_time <![CDATA[ < ]]> #{endSeconds} GROUP BY dir_type </select> <select id="selectNoPark" resultType="net.wanji.databus.po.CrossDirDataHistPO"> select <include refid="Base_Column_List"/> from t_cross_dir_data_hist where cross_id = #{crossId} and in_out_type = 2 and dir_type = #{dir} and batch_time <![CDATA[ <= ]]> #{currentSeconds} and batch_time <![CDATA[ >= ]]> #{preSeconds} </select> <select id="selectPhaseQueue" resultType="net.wanji.databus.po.CrossDirDataHistPO"> select <include refid="Base_Column_List"/> from t_cross_dir_data_hist where cross_id = #{crossId} and in_out_type = 2 and dir_type != #{dir} and batch_time <![CDATA[ <= ]]> #{currentSeconds} and batch_time <![CDATA[ >= ]]> #{preSeconds} </select> <select id="selectNoParkEnd" resultType="net.wanji.databus.po.CrossDirDataHistPO"> select <include refid="Base_Column_List"/> from t_cross_dir_data_hist where cross_id = #{crossId} and in_out_type = 1 and dir_type = #{dir} and batch_time <![CDATA[ <= ]]> #{currentSeconds} and batch_time <![CDATA[ >= ]]> #{preSeconds} </select> <select id="selectPhaseQueueEnd" resultType="net.wanji.databus.po.CrossDirDataHistPO"> select <include refid="Base_Column_List"/> from t_cross_dir_data_hist where cross_id = #{crossId} and in_out_type = 1 and dir_type != #{dir} 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, one_stop_rate, queue_length, effusion_rate, no_stop_rate, green_light_efficiency from t_cross_dir_data_hist 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 </select> <select id="selectByCrossIdAndStartEnd" resultType="net.wanji.databus.po.CrossDirDataHistPO"> select <include refid="Base_Column_List"/> from t_cross_dir_data_hist where cross_id = #{crossId} and batch_time <![CDATA[ >= ]]> #{startStamp} and batch_time <![CDATA[ <= ]]> #{endStamp} </select> <select id="selectMaxDelayTime" resultType="java.lang.Integer"> select max(delay_time) from t_cross_dir_data_hist where cross_id = #{crossId} and dir_type = #{dirType} and in_out_type = #{inOutType} and batch_time <![CDATA[ >= ]]> #{startStamp} and batch_time <![CDATA[ <= ]]> #{endStamp} </select> <select id="selectMaxQueueLength" resultType="java.lang.Double"> select max(queue_length) from t_cross_dir_data_hist where cross_id = #{crossId} and dir_type = #{dirType} and in_out_type = #{inOutType} and batch_time <![CDATA[ >= ]]> #{startStamp} and batch_time <![CDATA[ <= ]]> #{endStamp} </select> <select id="selectMaxSaturation" resultType="java.lang.Double"> select max(sturation) from t_cross_dir_data_hist where cross_id = #{crossId} and dir_type = #{dirType} and in_out_type = #{inOutType} and batch_time <![CDATA[ >= ]]> #{startStamp} and batch_time <![CDATA[ <= ]]> #{endStamp} </select> <select id="selectMaxGreenLightEfficiency" resultType="java.lang.Double"> select max(green_light_efficiency) from t_cross_dir_data_hist where cross_id = #{crossId} and dir_type = #{dirCode} and in_out_type = #{code} and batch_time <![CDATA[ >= ]]> #{startTimeStamp} and batch_time <![CDATA[ <= ]]> #{endTimeStamp} </select> <select id="selectByMetrics" resultType="net.wanji.databus.po.CrossDirDataHistPOExt"> SELECT <include refid="Base_Column_List"/> FROM t_cross_dir_data_hist WHERE cross_id = #{crossId} AND in_out_type = 1 AND dir_type = #{dirInt} AND batch_time <![CDATA[ <= ]]> #{endTimeStamp} AND batch_time <![CDATA[ >= ]]> #{startTimeStamp} </select> <select id="selectByCrossIdsDirsAndTimestamp" resultType="net.wanji.databus.po.CrossDirDataHistPO"> select <include refid="Base_Column_List"></include> from t_cross_dir_data_hist where cross_id in <foreach collection="crossIdList" item="crossId" separator="," open="(" close=")"> #{crossId} </foreach> and dir_type in <foreach collection="dirCodeList" item="dirCode" separator="," open="(" close=")"> #{dirCode} </foreach><!-- and in_out_type = 1--> and batch_time <![CDATA[ >= ]]> #{startTimeStamp} and batch_time <![CDATA[ <= ]]> #{endTimeStamp} order by batch_time </select> <select id="selectByCrossDirAndTimeSection" resultType="net.wanji.databus.po.CrossDirDataHistPO"> SELECT <include refid="Base_Column_List"></include> FROM t_cross_dir_data_hist WHERE cross_id = #{crossId} AND dir_type = #{dirCode} AND in_out_type = 1 AND DATE_FORMAT(FROM_UNIXTIME(batch_time), '%Y-%m-%d') BETWEEN #{boStartDayStr} AND #{boEndDayStr} AND DATE_FORMAT(FROM_UNIXTIME(batch_time), '%H:%i') BETWEEN #{startHourMinuteStr} AND #{endHourMinuteStr} </select> <select id="selectByCrossIdDirsAndTimestamp" resultType="net.wanji.databus.po.CrossDirDataHistPO"> select <include refid="Base_Column_List"></include> from t_cross_dir_data_hist where cross_id = #{crossId} and dir_type in <foreach collection="dirCodeList" item="dirCode" separator="," open="(" close=")"> #{dirCode} </foreach> and in_out_type = 1 and batch_time <![CDATA[ >= ]]> #{startTimeStamp} and batch_time <![CDATA[ <= ]]> #{endTimeStamp} order by batch_time </select> <!-- 神思推送数据in_out_type=0 --> <select id="selectDirDataList" resultType="net.wanji.databus.po.CrossDirDataHistPO"> select <include refid="Base_Column_List"></include> from t_cross_dir_data_hist where cross_id = #{crossId} and dir_type in <foreach collection="dirCodeList" item="dirCode" separator="," open="(" close=")"> #{dirCode} </foreach> and batch_time <![CDATA[ >= ]]> #{startTimeStamp} and batch_time <![CDATA[ <= ]]> #{endTimeStamp} order by batch_time </select> <select id="selectByCrossDirsAndTimeSection" resultType="net.wanji.databus.po.CrossDirDataHistPO"> SELECT <include refid="Base_Column_List"></include> FROM t_cross_dir_data_hist WHERE cross_id = #{crossId} AND dir_type in <foreach collection="dirCodeList" item="dirCode" separator="," open="(" close=")"> #{dirCode} </foreach> AND in_out_type = 1 AND DATE_FORMAT(FROM_UNIXTIME(batch_time), '%Y-%m-%d') BETWEEN #{boStartDayStr} AND #{boEndDayStr} AND DATE_FORMAT(FROM_UNIXTIME(batch_time), '%H:%i') BETWEEN #{startHourMinuteStr} AND #{endHourMinuteStr} </select> <select id="selectByTimeSection" resultType="net.wanji.databus.po.CrossDirDataHistPO"><!-- SELECT <include refid="Base_Column_List"></include>--><!-- FROM t_cross_dir_data_hist--><!-- WHERE in_out_type = 1--><!-- AND DATE_FORMAT(FROM_UNIXTIME(batch_time), '%Y-%m-%d') BETWEEN #{boStartDayStr} AND #{boEndDayStr}--><!-- AND DATE_FORMAT(FROM_UNIXTIME(batch_time), '%H:%i') BETWEEN #{startHourMinuteStr} AND #{endHourMinuteStr}--> SELECT <include refid="Base_Column_List"></include> FROM t_cross_dir_data_hist WHERE batch_time BETWEEN UNIX_TIMESTAMP(STR_TO_DATE(concat(#{boStartDayStr}, #{startHourMinuteStr}), '%Y-%m-%d%H:%i')) AND UNIX_TIMESTAMP(STR_TO_DATE(concat(#{boEndDayStr}, #{endHourMinuteStr}), '%Y-%m-%d%H:%i')) AND in_out_type = 1 </select> <select id="selectExtByTimeSection" resultType="net.wanji.databus.po.CrossDirDataHistPOExt"> SELECT <include refid="Base_Column_List"></include> FROM t_cross_dir_data_hist WHERE batch_time BETWEEN UNIX_TIMESTAMP(STR_TO_DATE(concat(#{boStartDayStr}, #{startHourMinuteStr}), '%Y-%m-%d%H:%i')) AND UNIX_TIMESTAMP(STR_TO_DATE(concat(#{boEndDayStr}, #{endHourMinuteStr}), '%Y-%m-%d%H:%i')) AND in_out_type = 1 </select> <select id="selectByCrossIdAndHour" resultType="net.wanji.databus.po.CrossDirDataHistPO"> SELECT <include refid="Base_Column_List"></include> FROM t_cross_dir_data_hist WHERE cross_id = #{crossId} AND start_time >= DATE_SUB( NOW(), INTERVAL #{hour} HOUR ) ORDER BY start_time DESC </select> </mapper>
\ No newline at end of file
......
......@@ -37,11 +37,11 @@
</sql>
<insert id="insertBatch" parameterType="net.wanji.databus.po.CrossDirDataRealtimePO">
insert ignore into t_cross_dir_data_realtime
insert into t_cross_dir_data_realtime
(<include refid="Base_Column_List"></include>)
values
<foreach collection="list" item="entity" separator=",">
( #{entity.id}, #{entity.dirType}, #{entity.inOutType}, #{entity.crossId}, #{entity.length}, #{entity.status}, #{entity.trafficIndex}, #{entity.startTime}, #{entity.capacity}, #{entity.duration}, #{entity.flow},
(#{entity.id}, #{entity.dirType}, #{entity.inOutType}, #{entity.crossId}, #{entity.length}, #{entity.status}, #{entity.trafficIndex}, #{entity.startTime}, #{entity.capacity}, #{entity.duration}, #{entity.flow},
#{entity.speed}, #{entity.queueLength}, #{entity.stopTimes}, #{entity.delayTime}, #{entity.sturation},
#{entity.noStopRate},#{entity.oneStopRate},#{entity.twoStopRate},#{entity.threeStopRate},#{entity.batchTime},
now(), now(),#{entity.effusionRate}, #{entity.greenLightEfficiency} )
......
......@@ -42,11 +42,11 @@
vehhead_dist, vehhead_time, quality, batch_time, gmt_create, gmt_modified,
no_stop_rate,one_stop_rate,two_stop_rate,three_stop_rate,start_time,effusion_rate,green_light_efficiency,
vehicle_nums_ratio_mean,vehicle_length_ratio_mean,time_occupancy,non_motor_flow,v_85,
traffic_flow_A,traffic_flow_B,traffic_flow_C,dt
traffic_flow_A,traffic_flow_B,traffic_flow_C, dt, dt_15min, dt_30min, dt_60min
</sql>
<insert id="insertBatch" parameterType="net.wanji.databus.po.CrossLaneDataHistPO">
insert ignore into t_lane_data_hist
insert into t_lane_data_hist
(<include refid="Base_Column_List"></include>)
values
<foreach collection="list" item="entity" separator=",">
......@@ -55,9 +55,18 @@
now(),now(),
#{entity.noStopRate},#{entity.oneStopRate},#{entity.twoStopRate},#{entity.threeStopRate},#{entity.startTime},
#{entity.effusionRate},#{entity.greenLightEfficiency},#{entity.vehicleNumsRatioMean},#{entity.vehicleLengthRatioMean},#{entity.timeOccupancy},
#{entity.nonMotorFlow},#{entity.v85},#{entity.trafficFlowA},#{entity.trafficFlowB},#{entity.trafficFlowC}, DATE_FORMAT(#{entity.startTime}, '%Y%m%d')
#{entity.nonMotorFlow},#{entity.v85},#{entity.trafficFlowA},#{entity.trafficFlowB},#{entity.trafficFlowC},
cast(to_char(cast(#{entity.startTime} as DATE), 'YYYYMMDD') as INTEGER),
cast(to_char(date_trunc('hour', cast(#{entity.startTime} as TIMESTAMP)) +
(floor(extract(minute from cast(#{entity.startTime} as TIMESTAMP)) / 15) * 15 * interval '1 minute'), 'YYYY-MM-DD HH24:MI:00') as TIMESTAMP),
cast(to_char(date_trunc('hour', cast(#{entity.startTime} as TIMESTAMP)) +
(floor(extract(minute from cast(#{entity.startTime} as TIMESTAMP)) / 30) * 30 * interval '1 minute'), 'YYYY-MM-DD HH24:MI:00') as TIMESTAMP),
cast(to_char(date_trunc('hour', cast(#{entity.startTime} as TIMESTAMP)) +
(floor(extract(minute from cast(#{entity.startTime} as TIMESTAMP)) / 60) * 60 * interval '1 minute'), 'YYYY-MM-DD HH24:MI:00') as TIMESTAMP)
)
</foreach>
on conflict(id, batch_time, dt)
do update set batch_time = excluded.batch_time
</insert>
<delete id="deleteBatch" parameterType="String">
......
......@@ -44,11 +44,11 @@
</sql>
<insert id="insertBatch" parameterType="net.wanji.databus.po.CrossLaneDataRealTimePO">
insert ignore into t_lane_data_realtime
insert into t_lane_data_realtime
(<include refid="Base_Column_List"></include>)
values
<foreach collection="list" item="entity" separator=",">
(#{entity.id},#{entity.crossId},#{entity.flow},#{entity.speed},#{entity.inSpeed},#{entity.outSpeed},#{entity.queueLength},#{entity.stopTimes},#{entity.delayTime},#{entity.capacity},#{entity.sturation},
(#{entity.id}, #{entity.crossId},#{entity.flow},#{entity.speed},#{entity.inSpeed},#{entity.outSpeed},#{entity.queueLength},#{entity.stopTimes},#{entity.delayTime},#{entity.capacity},#{entity.sturation},
#{entity.vehheadDist},#{entity.vehheadTime},#{entity.quality},#{entity.batchTime},
now(), now(),
#{entity.noStopRate},#{entity.oneStopRate},#{entity.twoStopRate},#{entity.threeStopRate},#{entity.startTime},
......
......@@ -42,7 +42,7 @@
</select>
<insert id="insertOne" parameterType="net.wanji.databus.dao.entity.CrossLightsStatusHistPO">
insert ignore into t_cross_lights_status_hist (cross_id, batch_time, lights_status_json)
insert into t_cross_lights_status_hist (cross_id, batch_time, lights_status_json)
values (#{entity.crossId}, #{entity.batchTime}, #{entity.lightsStatusJson})
</insert>
......
......@@ -37,11 +37,11 @@
id, turn_type, in_dir, out_dir, cross_id, flow, status, traffic_index, speed, in_speed, out_speed, queue_length,
stop_times, delay_time, sturation, vehhead_dist, vehhead_time, quality, batch_time, gmt_create, gmt_modified,
no_stop_rate,one_stop_rate,two_stop_rate,three_stop_rate,start_time,
green_light_efficiency,effusion_rate,dt
green_light_efficiency,effusion_rate,dt, dt_15min, dt_30min, dt_60min
</sql>
<insert id="insertBatch" parameterType="net.wanji.databus.po.CrossTurnDataHistPO">
insert ignore into t_cross_turn_data_hist
insert into t_cross_turn_data_hist
(<include refid="Base_Column_List"></include>)
values
<foreach collection="list" item="entity" separator=",">
......@@ -50,9 +50,18 @@
#{entity.queueLength},#{entity.stopTimes},#{entity.delayTime},#{entity.sturation},#{entity.vehheadDist},#{entity.vehheadTime},
#{entity.quality},#{entity.batchTime},now(),now(),
#{entity.noStopRate},#{entity.oneStopRate},#{entity.twoStopRate},#{entity.threeStopRate},#{entity.startTime},
#{entity.greenLightEfficiency},#{entity.effusionRate}, DATE_FORMAT(#{entity.startTime}, '%Y%m%d')
#{entity.greenLightEfficiency},#{entity.effusionRate},
cast(to_char(cast(#{entity.startTime} as DATE), 'YYYYMMDD') as INTEGER),
cast(to_char(date_trunc('hour', cast(#{entity.startTime} as TIMESTAMP)) +
(floor(extract(minute from cast(#{entity.startTime} as TIMESTAMP)) / 15) * 15 * interval '1 minute'), 'YYYY-MM-DD HH24:MI:00') as TIMESTAMP),
cast(to_char(date_trunc('hour', cast(#{entity.startTime} as TIMESTAMP)) +
(floor(extract(minute from cast(#{entity.startTime} as TIMESTAMP)) / 30) * 30 * interval '1 minute'), 'YYYY-MM-DD HH24:MI:00') as TIMESTAMP),
cast(to_char(date_trunc('hour', cast(#{entity.startTime} as TIMESTAMP)) +
(floor(extract(minute from cast(#{entity.startTime} as TIMESTAMP)) / 60) * 60 * interval '1 minute'), 'YYYY-MM-DD HH24:MI:00') as TIMESTAMP)
)
</foreach>
on conflict(id, batch_time, dt)
do update set batch_time = excluded.batch_time
</insert>
<delete id="deleteBatch" parameterType="String">
......
......@@ -42,7 +42,7 @@
</sql>
<insert id="insertBatch" parameterType="net.wanji.databus.po.CrossTurnDataRealtimePO">
insert ignore into t_cross_turn_data_realtime
insert into t_cross_turn_data_realtime
(<include refid="Base_Column_List"></include>)
values
<foreach collection="list" item="entity" separator=",">
......
......@@ -106,8 +106,6 @@
#{entity.speedFactor}
)
</foreach>
ON DUPLICATE KEY UPDATE
gmt_modified = values(gmt_modified)
</insert>
<select id="selectByIdAndType" resultType="net.wanji.databus.dao.entity.GreenwaveHistPO">
......
......@@ -51,13 +51,6 @@
where cross_id = #{crossId} and type = 2
</select>
<select id="selectBycrossIdAll" resultMap="BaseResultMap">
select
id,code,sort,type,dir,turn,category,cross_id,rid,length,width,wkt,gmt_create,gmt_modified
from t_base_lane_info
where cross_id = #{crossId}
</select>
<select id="selectByCrossIdDirCode" resultMap="BaseResultMap">
select
id,code,sort,type,dir,turn,category,cross_id,rid,length,width,wkt,gmt_create,gmt_modified
......
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