From dc7e0180c54cb5576030585983502cb256eeee14 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期四, 20 六月 2024 22:05:39 +0800
Subject: [PATCH] 1、大理片笼进出片任务逻辑初次提交:单元测试已完成,待优化 2、删除重复无用的钢化小片表、玻璃小片表 3、删除玻璃小片mapper层接口多继承无用父类 4、调整按照工程号获取优化详情表内的宽高

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

diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
index 9d6527c..f104fc3 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
@@ -3,15 +3,72 @@
 <mapper namespace="com.mes.bigstorage.mapper.BigStorageCageDetailsMapper">
 
     <resultMap id="temperingLayoutDTO" type="com.mes.bigstorage.entity.dto.TemperingLayoutDTO">
+        <result column="engineer_id" property="engineerId"/>
         <result column="tempering_layout_id" property="temperingLayoutId"/>
         <result column="count" property="count"/>
+        <result column="slot_count" property="slotCount"/>
     </resultMap>
-    <select id="listAllTemperingCount" resultMap="temperingLayoutDTO">
-        select tempering_layout_id,
-               count(tempering_layout_id) as count
-        from big_storage_cage_details
-        where state = 100
-        group by tempering_layout_id
+
+    <resultMap id="slotSequenceDTO" type="com.mes.bigstorage.entity.dto.SlotSequenceDTO">
+        <result column="engineer_id" property="engineerId"/>
+        <result column="tempering_layout_id" property="temperingLayoutId"/>
+        <result column="slot" property="slot"/>
+        <result column="max_sequence" property="maxSequence"/>
+        <result column="min_sequence" property="minSequence"/>
+        <result column="remain_width" property="remainWidth"/>
+    </resultMap>
+
+    <select id="temperingIsAll" resultMap="temperingLayoutDTO">
+        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 = 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 LIMIT 1
     </select>
 
+    <select id="queryTemperingOccupySlot" resultMap="temperingLayoutDTO">
+        SELECT 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
+    </select>
+    <select id="queryGlassMaxAndMin" resultMap="slotSequenceDTO">
+        SELECT T.*,
+               T1.REMAIN_WIDTH
+        FROM (
+                 SELECT ENGINEER_ID,
+                        TEMPERING_LAYOUT_ID,
+                        SLOT,
+                        MAX(TEMPERING_FEED_SEQUENCE) AS MAX_SEQUENCE,
+                        MIN(TEMPERING_FEED_SEQUENCE) AS MIN_SEQUENCE
+                 FROM BIG_STORAGE_CAGE_DETAILS
+                 WHERE ENGINEER_ID = #{engineerId}
+                   AND TEMPERING_LAYOUT_ID = #{temperingLayoutId}
+                 GROUP BY ENGINEER_ID,
+                          TEMPERING_LAYOUT_ID,
+                          SLOT
+             ) T
+                 INNER JOIN BIG_STORAGE_CAGE T1 ON T.SLOT = T1.SLOT
+        ORDER BY T.MAX_SEQUENCE DESC
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0