From 66d9a37adfa32014d479ae1e67575d2392084676 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期五, 12 九月 2025 09:05:51 +0800
Subject: [PATCH] 1、大屏动画修改

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

diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
index b49e679..a88a244 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
@@ -13,6 +13,7 @@
         <result column="engineer_id" property="engineerId"/>
         <result column="tempering_layout_id" property="temperingLayoutId"/>
         <result column="slot" property="slot"/>
+        <result column="glass_count" property="glassCount"/>
         <result column="max_sequence" property="maxSequence"/>
         <result column="min_sequence" property="minSequence"/>
         <result column="remain_width" property="remainWidth"/>
@@ -29,6 +30,8 @@
                      LEFT JOIN DAMAGE T1
                  ON T.ENGINEER_ID = T1.ENGINEER_ID
                      AND T.GLASS_ID = T1.GLASS_ID
+                     AND (T1.TYPE = 8
+                     OR T1.TYPE = 9 )
                  WHERE
                      T1.GLASS_ID IS NULL
                  GROUP BY
@@ -37,20 +40,24 @@
              ) 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)
+                             WHERE STATE in (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
+                 INNER JOIN ENGINEERING T4 ON T2.ENGINEER_ID = T4.ENGINEER_ID
+        ORDER BY T4.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
+          AND TEMPERING_LAYOUT_ID!=0 AND THICKNESS &lt; 8
         GROUP BY ENGINEER_ID,
-                 TEMPERING_LAYOUT_ID
-        HAVING SLOT_COUNT &gt;= #{count} LIMIT 1
+            TEMPERING_LAYOUT_ID
+        HAVING SLOT_COUNT &gt;= #{count}
+        ORDER BY ID
     </select>
     <select id="queryGlassMaxAndMin" resultMap="slotSequenceDTO">
         SELECT T.*,
@@ -59,11 +66,13 @@
                  SELECT ENGINEER_ID,
                         TEMPERING_LAYOUT_ID,
                         SLOT,
+                        count(*)                     as glass_count,
                         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}
+                   AND STATE = 100
                  GROUP BY ENGINEER_ID,
                           TEMPERING_LAYOUT_ID,
                           SLOT
@@ -71,4 +80,74 @@
                  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>
+            )
+            and state!=101
+        </where>
+    </update>
+
+    <select id="selectTemperingGlassCount" resultType="java.util.Map">
+        select a.engineer_id,
+               a.tempering_layout_id,
+               count2,
+               count1,
+               count2 - count1   as count3,
+               count4,
+               slots
+        from (select engineer_id,
+                     tempering_layout_id,
+                     count(*)                                                     as count1,
+                     group_concat(distinct slot order by tempering_feed_sequence) as slots
+              from big_storage_cage_details
+              where state = 100
+                and tempering_layout_id!=0
+              group by engineer_id, tempering_layout_id) as a
+                 left join
+             (select gi.engineer_id, gi.tempering_layout_id, count(gi.glass_id) as count2,count(d.glass_id) as count4
+              from glass_info gi left join damage d on gi.glass_id=d.glass_id and (d.type=8 or d.type=9)
+              group by engineer_id, tempering_layout_id) as b
+             on a.engineer_id = b.engineer_id and a.tempering_layout_id = b.tempering_layout_id
+        group by a.engineer_id, a.tempering_layout_id
+        order by a.engineer_id, a.tempering_layout_id
+    </select>
+
+    <select id="selectFlowCardCount" resultType="com.mes.bigstorage.entity.dto.FlowCardDTO">
+        SELECT fc.engineer_id                            AS engineerId,
+               count(DISTINCT fc.flow_card_id, fc.layer) AS flowCardIdCount,
+               count(DISTINCT gi.tempering_layout_id)    AS totalTemper,
+               e.glass_total_area,
+               count(distinct bscd.tempering_layout_id) as cageTemper,
+               round(sum(bscd.width*bscd.height/1000000),2) as cageArea
+        FROM (
+                 SELECT engineer_id,
+                        flow_card_id,
+                        IF
+                            (combine = 0, layer, 1) AS layer,
+                        combine
+                 FROM glass_info
+                 WHERE engineer_id IN (SELECT DISTINCT engineer_id FROM big_storage_cage_details WHERE state = 100)
+                 GROUP BY engineer_id,
+                          flow_card_id,
+                          IF
+                              (combine = 0, layer, 1),
+                          combine
+             ) AS fc
+                 INNER JOIN glass_info gi ON fc.engineer_id = gi.engineer_id
+            AND gi.tempering_layout_id != 0
+	INNER JOIN engineering e
+        ON fc.engineer_id = e.engineer_id
+            left join big_storage_cage_details bscd on gi.glass_id=bscd.glass_id and bscd.state=100 and fc.flow_card_id=bscd.flow_card_id and fc.layer=bscd.layer
+        GROUP BY
+            fc.engineer_id
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0