id, static_date, pl_area_block_id, pl_area_block_name, pl_type, pl_no, pl_name, car_type,
all_num, free_num, day_1_hour_num, day_2_hour_num, day_3_hour_num, day_4_hour_num,
day_5_hour_num, day_6_hour_num, day_7_hour_num, day_8_hour_num, day_9_hour_num, day_10_hour_num,
day_11_hour_num, day_12_hour_num, night_1_hour_num, night_2_hour_num, night_3_hour_num,
night_4_hour_num, night_5_hour_num, night_6_hour_num, night_7_hour_num, night_8_hour_num,
night_9_hour_num, night_10_hour_num, night_11_hour_num, night_12_hour_num, berth_num,
all_park_duration
INSERT INTO t_income_calculation_static_time
(static_date,
pl_area_block_id,
pl_area_block_name,
pl_no,
pl_type,
car_type,
all_num,
free_num,
day_1_hour_num,
day_2_hour_num,
day_3_hour_num,
day_4_hour_num,
day_5_hour_num,
day_6_hour_num,
day_7_hour_num,
day_8_hour_num,
day_9_hour_num,
day_10_hour_num,
day_11_hour_num,
day_12_hour_num,
night_1_hour_num,
night_2_hour_num,
night_3_hour_num,
night_4_hour_num,
night_5_hour_num,
night_6_hour_num,
night_7_hour_num,
night_8_hour_num,
night_9_hour_num,
night_10_hour_num,
night_11_hour_num,
night_12_hour_num)
SELECT
m.static_date,
m.pl_area_block_id,
m.pl_area_block_name,
m.pl_no,
1,
m.car_type,
count(*) allNum,
SUM(CASE WHEN (m.eqpParkDuration <= 15 * 60)
THEN 1
ELSE 0 END) free_num,
/*停车时长小于60分钟 免费*/
SUM(CASE WHEN (inTimeHour >= 7 AND inTimeHour < 19 AND m.eqpParkDuration > 15 * 60 AND
m.eqpParkDuration <= 1 * 60 * 60)
THEN 1
ELSE 0 END) day_1_hour_num,
/*进场时间位于白天 停车时长大于15分钟,小于等于1小时*/
SUM(CASE WHEN (inTimeHour >= 7 AND inTimeHour < 19 AND m.eqpParkDuration > 1 * 60 * 60 AND
m.eqpParkDuration <= 2 * 60 * 60)
THEN 1
ELSE 0 END) day_2_hour_num,
/*进场时间位于白天 停车时长大于1小时,小于等于2小时*/
SUM(CASE WHEN (inTimeHour >= 7 AND inTimeHour < 19 AND m.eqpParkDuration > 2 * 60 * 60 AND
m.eqpParkDuration <= 3 * 60 * 60)
THEN 1
ELSE 0 END) day_3_hour_num,
/*进场时间位于白天 停车时长大于2小时,小于等于3小时*/
SUM(CASE WHEN (inTimeHour >= 7 AND inTimeHour < 19 AND m.eqpParkDuration > 3 * 60 * 60 AND
m.eqpParkDuration <= 4 * 60 * 60)
THEN 1
ELSE 0 END) day_4_hour_num,
/*进场时间位于白天 停车时长大于3小时,小于等于4小时*/
SUM(CASE WHEN (inTimeHour >= 7 AND inTimeHour < 19 AND m.eqpParkDuration > 4 * 60 * 60 AND
m.eqpParkDuration <= 5 * 60 * 60)
THEN 1
ELSE 0 END) day_5_hour_num,
/*进场时间位于白天 停车时长大于4小时,小于等于5小时*/
SUM(CASE WHEN (inTimeHour >= 7 AND inTimeHour < 19 AND m.eqpParkDuration > 5 * 60 * 60 AND
m.eqpParkDuration <= 6 * 60 * 60)
THEN 1
ELSE 0 END) day_6_hour_num,
/*进场时间位于白天 停车时长大于5小时,小于等于6小时*/
SUM(CASE WHEN (inTimeHour >= 7 AND inTimeHour < 19 AND m.eqpParkDuration > 6 * 60 * 60 AND
m.eqpParkDuration <= 7 * 60 * 60)
THEN 1
ELSE 0 END) day_7_hour_num,
/*进场时间位于白天 停车时长大于6小时,小于等于7小时*/
SUM(CASE WHEN (inTimeHour >= 7 AND inTimeHour < 19 AND m.eqpParkDuration > 7 * 60 * 60 AND
m.eqpParkDuration <= 8 * 60 * 60)
THEN 1
ELSE 0 END) day_8_hour_num,
/*进场时间位于白天 停车时长大于7小时,小于等于8小时*/
SUM(CASE WHEN (inTimeHour >= 7 AND inTimeHour < 19 AND m.eqpParkDuration > 8 * 60 * 60 AND
m.eqpParkDuration <= 9 * 60 * 60)
THEN 1
ELSE 0 END) day_9_hour_num,
/*进场时间位于白天 停车时长大于8小时,小于等于9小时*/
SUM(CASE WHEN (inTimeHour >= 7 AND inTimeHour < 19 AND m.eqpParkDuration > 9 * 60 * 60 AND
m.eqpParkDuration <= 10 * 60 * 60)
THEN 1
ELSE 0 END) day_10_hour_num,
/*进场时间位于白天 停车时长大于9小时,小于等于10小时*/
SUM(CASE WHEN (inTimeHour >= 7 AND inTimeHour < 19 AND m.eqpParkDuration > 10 * 60 * 60 AND
m.eqpParkDuration <= 11 * 60 * 60)
THEN 1
ELSE 0 END) day_11_hour_num,
/*进场时间位于白天 停车时长大于10小时,小于等于11小时*/
SUM(CASE WHEN (inTimeHour >= 7 AND inTimeHour < 19 AND m.eqpParkDuration > 11 * 60 * 60 AND
m.eqpParkDuration <= 12 * 60 * 60)
THEN 1
ELSE 0 END) day_12_hour_num,
/*进场时间位于白天 停车时长大于11小时,小于等于12小时*/
SUM(CASE WHEN ((inTimeHour < 7 OR inTimeHour >= 19) AND m.eqpParkDuration > 15 * 60 AND
m.eqpParkDuration <= 1 * 60 * 60)
THEN 1
ELSE 0 END) night_1_hour_num,
/*进场时间位于夜间 停车时长大于15分钟,小于等于1小时*/
SUM(CASE WHEN ((inTimeHour < 7 OR inTimeHour >= 19) AND m.eqpParkDuration > 1 * 60 * 60 AND
m.eqpParkDuration <= 2 * 60 * 60)
THEN 1
ELSE 0 END) night_2_hour_num,
/*进场时间位于夜间 停车时长大于1小时,小于等于2小时*/
SUM(CASE WHEN ((inTimeHour < 7 OR inTimeHour >= 19) AND m.eqpParkDuration > 2 * 60 * 60 AND
m.eqpParkDuration <= 3 * 60 * 60)
THEN 1
ELSE 0 END) night_3_hour_num,
/*进场时间位于夜间 停车时长大于2小时,小于等于3小时*/
SUM(CASE WHEN ((inTimeHour < 7 OR inTimeHour >= 19) AND m.eqpParkDuration > 3 * 60 * 60 AND
m.eqpParkDuration <= 4 * 60 * 60)
THEN 1
ELSE 0 END) night_4_hour_num,
/*进场时间位于夜间 停车时长大于3小时,小于等于4小时*/
SUM(CASE WHEN ((inTimeHour < 7 OR inTimeHour >= 19) AND m.eqpParkDuration > 4 * 60 * 60 AND
m.eqpParkDuration <= 5 * 60 * 60)
THEN 1
ELSE 0 END) night_5_hour_num,
/*进场时间位于夜间 停车时长大于4小时,小于等于5小时*/
SUM(CASE WHEN ((inTimeHour < 7 OR inTimeHour >= 19) AND m.eqpParkDuration > 5 * 60 * 60 AND
m.eqpParkDuration <= 6 * 60 * 60)
THEN 1
ELSE 0 END) night_6_hour_num,
/*进场时间位于夜间 停车时长大于5小时,小于等于6小时*/
SUM(CASE WHEN ((inTimeHour < 7 OR inTimeHour >= 19) AND m.eqpParkDuration > 6 * 60 * 60 AND
m.eqpParkDuration <= 7 * 60 * 60)
THEN 1
ELSE 0 END) night_7_hour_num,
/*进场时间位于夜间 停车时长大于6小时,小于等于7小时*/
SUM(CASE WHEN ((inTimeHour < 7 OR inTimeHour >= 19) AND m.eqpParkDuration > 7 * 60 * 60 AND
m.eqpParkDuration <= 8 * 60 * 60)
THEN 1
ELSE 0 END) night_8_hour_num,
/*进场时间位于夜间 停车时长大于7小时,小于等于8小时*/
SUM(CASE WHEN ((inTimeHour < 7 OR inTimeHour >= 19) AND m.eqpParkDuration > 8 * 60 * 60 AND
m.eqpParkDuration <= 9 * 60 * 60)
THEN 1
ELSE 0 END) night_9_hour_num,
/*进场时间位于夜间 停车时长大于8小时,小于等于9小时*/
SUM(CASE WHEN ((inTimeHour < 7 OR inTimeHour >= 19) AND m.eqpParkDuration > 9 * 60 * 60 AND
m.eqpParkDuration <= 10 * 60 * 60)
THEN 1
ELSE 0 END) night_10_hour_num,
/*进场时间位于夜间 停车时长大于9小时,小于等于10小时*/
SUM(CASE WHEN ((inTimeHour < 7 OR inTimeHour >= 19) AND m.eqpParkDuration > 10 * 60 * 60 AND
m.eqpParkDuration <= 11 * 60 * 60)
THEN 1
ELSE 0 END) night_11_hour_num,
/*进场时间位于夜间 停车时长大于10小时,小于等于11小时*/
SUM(CASE WHEN ((inTimeHour < 7 OR inTimeHour >= 19) AND m.eqpParkDuration > 11 * 60 * 60 AND
m.eqpParkDuration <= 12 * 60 * 60)
THEN 1
ELSE 0 END) night_12_hour_num
/*进场时间位于夜间 停车时长大于11小时,小于等于12小时*/
FROM (
SELECT
date_format(t.eqp_out_time, '%Y-%m-%d') static_date,
t.pl_no,
t.pl_area_block_id,
t.pl_area_block_name,
2 car_type,
IFNULL(t.eqp_parking_duration, 0) eqpParkDuration,
EXTRACT(HOUR FROM t.eqp_in_time) inTimeHour,
EXTRACT(HOUR FROM t.eqp_out_time) outTimeHour,
t.eqp_in_time,
t.eqp_out_time
FROM tp_p_eqp_inout_record${monthStr} t, tp_p_eqp eqp
WHERE t.eqp_out_time >= '${staticStartDate}' AND t.eqp_out_time <= '${staticEndDate}'
AND t.eqp_no = eqp.eqp_no
AND eqp.used_type = 20
AND t.eqp_parking_duration > 1 * 60 /*排除掉停车时长小于1分钟的数据*/
AND t.eqp_parking_duration < 12 * 60 * 60 /*排除掉停车时长大于12小时的数据*/
AND t.eqp_no NOT IN (
/*排除掉地磁每天周转次数超过50次的地磁*/
SELECT tmp.eqp_no
FROM tp_p_eqp_inout_record${monthStr} tmp
WHERE tmp.eqp_out_time >= '${staticStartDate}' AND tmp.eqp_out_time <= '${staticEndDate}'
GROUP BY tmp.eqp_no
HAVING COUNT(0) > 50)
) m
GROUP BY m.pl_area_block_id, m.pl_area_block_name, m.pl_no, m.car_type, m.static_date;
SELECT LAST_INSERT_ID()
insert into t_income_calculation_static_time (static_date, pl_area_block_id, pl_area_block_name,
pl_type, pl_no, pl_name, car_type,
all_num, free_num, day_1_hour_num, day_2_hour_num, day_3_hour_num, day_4_hour_num,
day_5_hour_num, day_6_hour_num, day_7_hour_num, day_8_hour_num, day_9_hour_num, day_10_hour_num,
day_11_hour_num, day_12_hour_num, night_1_hour_num, night_2_hour_num, night_3_hour_num,
night_4_hour_num, night_5_hour_num, night_6_hour_num, night_7_hour_num, night_8_hour_num,
night_9_hour_num, night_10_hour_num, night_11_hour_num, night_12_hour_num, berth_num,
all_park_duration
)
values
(#{item.staticDate,jdbcType=VARCHAR}, #{item.plAreaBlockId,jdbcType=BIGINT},
#{item.plAreaBlockName,jdbcType=VARCHAR},#{item.plType,jdbcType=INTEGER},
#{item.plNo,jdbcType=VARCHAR},
#{item.plName,jdbcType=VARCHAR},
#{item.carType,jdbcType=INTEGER}, #{item.allNum,jdbcType=BIGINT},
#{item.freeNum,jdbcType=DECIMAL},
#{item.day1HourNum,jdbcType=INTEGER},
#{item.day2HourNum,jdbcType=INTEGER},
#{item.day3HourNum,jdbcType=INTEGER},
#{item.day4HourNum,jdbcType=INTEGER},
#{item.day5HourNum,jdbcType=INTEGER},
#{item.day6HourNum,jdbcType=INTEGER},
#{item.day7HourNum,jdbcType=INTEGER},
#{item.day8HourNum,jdbcType=INTEGER},
#{item.day9HourNum,jdbcType=INTEGER},
#{item.day10HourNum,jdbcType=INTEGER},
#{item.day11HourNum,jdbcType=INTEGER},
#{item.day12HourNum,jdbcType=INTEGER},
#{item.night1HourNum,jdbcType=INTEGER},
#{item.night2HourNum,jdbcType=INTEGER},
#{item.night3HourNum,jdbcType=INTEGER},
#{item.night4HourNum,jdbcType=INTEGER},
#{item.night5HourNum,jdbcType=INTEGER},
#{item.night6HourNum,jdbcType=INTEGER},
#{item.night7HourNum,jdbcType=INTEGER},
#{item.night8HourNum,jdbcType=INTEGER},
#{item.night9HourNum,jdbcType=INTEGER},
#{item.night10HourNum,jdbcType=INTEGER},
#{item.night11HourNum,jdbcType=INTEGER},
#{item.night12HourNum,jdbcType=INTEGER},
#{item.berthNum,jdbcType=INTEGER},0
)