From 7efca9a88a5b272ed6b9a0db138f3bdc82b606b6 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期一, 12 八月 2024 13:47:11 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

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

diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
index c016951..be947ce 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
@@ -19,40 +19,41 @@
     </resultMap>
 
     <select id="temperingIsAll" resultMap="temperingLayoutDTO">
-        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
-            LEFT JOIN BIG_STORAGE_CAGE_DETAILS T2 ON T.ENGINEER_ID = T2.ENGINEER_ID
-            AND T.GLASS_ID = T2.GLASS_ID
-        WHERE
-            T1.GLASS_ID IS NULL
-          AND T2.GLASS_ID IS NULL
-          AND ( T.ENGINEER_ID
-            , T.TEMPERING_LAYOUT_ID ) IN ( SELECT DISTINCT ENGINEER_ID
-            , TEMPERING_LAYOUT_ID FROM BIG_STORAGE_CAGE_DETAILS WHERE STATE = 100 )
-        GROUP BY
-            T.ENGINEER_ID,
-            T.TEMPERING_LAYOUT_ID
-        HAVING
-            COUNT = 0
-        ORDER BY
-            T.TEMPERING_LAYOUT_ID
-            LIMIT 1
+        SELECT T2.*
+        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
+                 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 in (100, 101, 102, 103)
+                             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
+        ORDER BY T2.ENGINEER_ID, T2.TEMPERING_LAYOUT_ID
     </select>
 
     <select id="queryTemperingOccupySlot" resultMap="temperingLayoutDTO">
-        SELECT TEMPERING_LAYOUT_ID,
+        SELECT ENGINEER_ID,
+               TEMPERING_LAYOUT_ID,
                COUNT(DISTINCT SLOT) as SLOT_COUNT
         FROM BIG_STORAGE_CAGE_DETAILS
         WHERE STATE = 100
         GROUP BY ENGINEER_ID,
                  TEMPERING_LAYOUT_ID
-        HAVING SLOT_COUNT &gt;= #{count} LIMIT 1
+        HAVING SLOT_COUNT &gt;= #{count}
+        ORDER BY SLOT_COUNT DESC
     </select>
     <select id="queryGlassMaxAndMin" resultMap="slotSequenceDTO">
         SELECT T.*,
@@ -73,4 +74,18 @@
                  INNER JOIN BIG_STORAGE_CAGE T1 ON T.SLOT = T1.SLOT
         ORDER BY T.MAX_SEQUENCE DESC
     </select>
+
+    <update id="updateBySlot">
+        update big_storage_cage_details
+        <set>
+            state = #{state}
+        </set>
+        <where>
+            (glass_id,slot) in (
+            <foreach collection="list" item="item" separator=",">
+                (#{item.glassId}, #{item.targetSlot})
+            </foreach>
+            )
+        </where>
+    </update>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0