From da620e4cf3aa0b6071c817327c6b0b52bbde66af Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期四, 23 十月 2025 16:50:03 +0800
Subject: [PATCH] 1、 钢化前大理片笼调度任务已完成

---
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
index bff98cb..63159c1 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
@@ -301,4 +301,29 @@
         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>
\ No newline at end of file

--
Gitblit v1.8.0