<?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="com.mes.hollowtask.mapper.HollowBigStorageCageHistoryTaskMapper">
|
|
<resultMap id="baseMap" type="com.mes.largenscreen.entity.DailyProductionVO">
|
<result column="date" property="date"/>
|
<result column="count_out_one" property="countOutOne"/>
|
<result column="total_area_out_one" property="totalAreaOutOne"/>
|
<result column="count_out_two" property="countOutTwo"/>
|
<result column="total_area_out_two" property="totalAreaOutTwo"/>
|
<result column="count_in" property="countIn"/>
|
<result column="total_area_in" property="totalAreaIn"/>
|
<result column="count_out" property="countOut"/>
|
<result column="total_area_out" property="totalAreaOut"/>
|
<result column="hollow_count_out_one" property="hollowCountOutOne"/>
|
<result column="hollow_total_area_out_one" property="hollowTotalAreaOutOne"/>
|
<result column="hollow_count_out_two" property="hollowCountOutTwo"/>
|
<result column="hollow_total_area_out_two" property="hollowTotalAreaOutTwo"/>
|
</resultMap>
|
|
<select id="queryHollowDailyProduction" resultMap="baseMap">
|
with hollow_out_one_temp as (
|
select count(t.glass_id) as hollow_count_out_one,
|
round(sum(t1.width * t1.height) / 1000000, 2) as hollow_total_area_out_one
|
from hollow_big_storage_cage_history_task t
|
INNER JOIN glass_info t1 on t.glass_id = t1.glass_id
|
where t.task_type = 5
|
and t.target_slot = 930
|
<if test="beginDate != null and beginDate != ''">
|
AND STR_TO_DATE( t.create_time, '%Y-%m-%d' ) BETWEEN #{beginDate}
|
AND #{endDate}
|
</if>
|
),
|
hollow_out_two_temp as (
|
select count(t.glass_id) as hollow_count_out_two,
|
round(sum(t1.width * t1.height) / 1000000, 2) as hollow_total_area_out_two
|
from hollow_big_storage_cage_history_task t
|
INNER JOIN glass_info t1 on t.glass_id = t1.glass_id
|
where t.task_type = 5
|
and t.target_slot = 931
|
<if test="beginDate != null and beginDate != ''">
|
AND STR_TO_DATE( t.create_time, '%Y-%m-%d' ) BETWEEN #{beginDate}
|
AND #{endDate}
|
</if>
|
)
|
select *
|
from hollow_out_one_temp
|
inner join hollow_out_two_temp on 1 = 1
|
</select>
|
<select id="queryRunTimes" resultType="com.mes.largenscreen.entity.RunTime">
|
with big_storage_cage_history_task_temp as (
|
select distinct create_time from hollow_big_storage_cage_history_task where task_type = 5 and
|
create_time LIKE '%${days}%'
|
)
|
SELECT
|
t1.create_time AS first_timestamp,
|
t2.create_time AS second_timestamp,
|
TIMESTAMPDIFF(MINUTE, t1.create_time, t2.create_time) as diff_minutes,
|
(select min(create_time) from big_storage_cage_history_task_temp) as start_timestamp
|
,(select max(create_time) from big_storage_cage_history_task_temp) as end_timestamp
|
FROM
|
(SELECT
|
create_time,
|
LEAD(create_time) OVER (ORDER BY create_time) AS next_timestamp
|
FROM
|
big_storage_cage_history_task_temp ) t1
|
JOIN
|
(SELECT
|
create_time,
|
LEAD(create_time) OVER (ORDER BY create_time) AS next_timestamp
|
FROM
|
big_storage_cage_history_task_temp ) t2 ON t1.next_timestamp = t2.create_time
|
WHERE
|
TIMESTAMPDIFF(MINUTE, t1.create_time, t2.create_time) between 11 and 500;
|
</select>
|
</mapper>
|