| | |
| | | </resultMap> |
| | | |
| | | <select id="temperingIsAllByTemperingLayoutId" resultMap="temperingLayoutDTO"> |
| | | SELECT T2.* |
| | | SELECT T.* |
| | | FROM ( |
| | | SELECT T.ENGINEER_ID, |
| | | T.TEMPERING_LAYOUT_ID, |
| | | COUNT(T.TEMPERING_FEED_SEQUENCE) AS COUNT |
| | | FROM GLASS_INFO T |
| | | LEFT JOIN DAMAGE T1 |
| | | ON T.ENGINEER_ID = T1.ENGINEER_ID |
| | | AND T.GLASS_ID = T1.GLASS_ID |
| | | AND T1.TYPE in (8, 9) |
| | | WHERE T1.GLASS_ID IS NULL |
| | | GROUP BY T.ENGINEER_ID, |
| | | T.TEMPERING_LAYOUT_ID |
| | | ) T2 |
| | | INNER JOIN (SELECT ENGINEER_ID, TEMPERING_LAYOUT_ID, COUNT(TEMPERING_FEED_SEQUENCE) AS COUNT |
| | | FROM BIG_STORAGE_CAGE_DETAILS |
| | | WHERE STATE = 100 |
| | | GROUP BY ENGINEER_ID, TEMPERING_LAYOUT_ID) T3 ON T2.ENGINEER_ID = T3.ENGINEER_ID |
| | | AND T2.TEMPERING_LAYOUT_ID = T3.TEMPERING_LAYOUT_ID |
| | | AND T2.COUNT = T3.COUNT |
| | | where T2.ENGINEER_ID = #{engineerId} |
| | | AND T2.TEMPERING_LAYOUT_ID = #{temperingLayoutId} |
| | | SELECT ENGINEER_ID, TEMPERING_LAYOUT_ID, COUNT(distinct TEMPERING_FEED_SEQUENCE) AS COUNT |
| | | FROM BIG_STORAGE_CAGE_DETAILS |
| | | WHERE STATE = 100 |
| | | and ENGINEER_ID = #{engineerId} |
| | | AND TEMPERING_LAYOUT_ID = #{temperingLayoutId} |
| | | GROUP BY ENGINEER_ID, TEMPERING_LAYOUT_ID |
| | | ) T |
| | | INNER JOIN (SELECT ENGINEER_ID, |
| | | TEMPERING_LAYOUT_ID, |
| | | COUNT(distinct TEMPERING_FEED_SEQUENCE) AS COUNT |
| | | FROM GLASS_INFO |
| | | WHERE ENGINEER_ID = #{engineerId} |
| | | AND TEMPERING_LAYOUT_ID = #{temperingLayoutId} |
| | | GROUP BY ENGINEER_ID, |
| | | TEMPERING_LAYOUT_ID) T1 |
| | | ON T.ENGINEER_ID = T1.ENGINEER_ID |
| | | AND T.TEMPERING_LAYOUT_ID = T1.TEMPERING_LAYOUT_ID |
| | | AND T.COUNT = T1.COUNT |
| | | </select> |
| | | |
| | | <select id="temperingIsAll" resultMap="temperingLayoutDTO"> |
| | |
| | | damage_temp as ( |
| | | select engineer_id, tempering_layout_id, count(*) as damage_count |
| | | from damage |
| | | where type in(8,9) |
| | | where type in(8,9) and STATUS = 1 |
| | | group by engineer_id, tempering_layout_id |
| | | ), |
| | | result as ( |
| | |
| | | t.engineer_id = t1.engineer_id and t.tempering_layout_id = t1.tempering_layout_id and |
| | | t.tempering_feed_sequence = t1.tempering_feed_sequence |
| | | where t1.state = 100 |
| | | AND T1.DEVICE_ID IN |
| | | <foreach collection="deviceIdList" item="item" open='(' close=')' separator=','> |
| | | #{item} |
| | | </foreach> |
| | | group by t.engineer_id, t.tempering_layout_id, t.virtual_slot |
| | | ), |
| | | result_one as ( |
| | |
| | | group by bsc.device_id, bsc.slot |
| | | order by bsc.device_id, bsc.slot |
| | | </select> |
| | | <select id="queryNeedDispatch" resultType="com.mes.bigstorage.entity.BigStorageCageDetails"> |
| | | SELECT * FROM big_storage_cage_details WHERE STATE = 100 AND SLOT = (SELECT SLOT FROM big_storage_cage_details WHERE STATE = 100 AND sequence = 1 order by slot desc LIMIT 1) ORDER BY tempering_feed_sequence |
| | | </select> |
| | | |
| | | <select id="queryNeedDispatchSlotBySequence" resultType="com.mes.bigstorage.entity.dto.BigStorageSlotDTO"> |
| | | with glass_temp as ( |
| | | select t.* ,t1.virtual_slot,t1.slot_sequence from big_storage_cage_details t inner join |
| | | big_storage_glass_relation_info t1 on t.engineer_id = t1.engineer_id |
| | | and t.tempering_layout_id = t1.tempering_layout_id |
| | | and t.tempering_feed_sequence = t1.tempering_feed_sequence where t.state = 100 |
| | | ),slot_max_temp as ( |
| | | select ROW_NUMBER()over(PARTITION by engineer_id, tempering_layout_id, virtual_slot order by slot_sequence desc) |
| | | as rn,t.* from glass_temp t where t.device_id in (5,6) |
| | | ) ,slot_max_message as (select * from slot_max_temp where rn =1) |
| | | ,slot_min_temp as ( |
| | | select ROW_NUMBER()over(PARTITION by engineer_id, tempering_layout_id, virtual_slot order by slot_sequence) as |
| | | rn,t.* from glass_temp t where t.device_id in (5,6) |
| | | ) ,slot_min_message as (select * from slot_min_temp where rn =1) |
| | | ,result as ( |
| | | select t.slot as target_slot ,t1.slot as start_slot from slot_max_message t inner join slot_min_message t1 on |
| | | t.engineer_id = t1.engineer_id and t.tempering_layout_id = t1.tempering_layout_id and t.virtual_slot = |
| | | t1.virtual_slot and t.tempering_layout_id = t1.tempering_layout_id and t.tempering_feed_sequence = |
| | | t1.tempering_feed_sequence -1 |
| | | )select * from result limit 1 |
| | | </select> |
| | | </mapper> |