From 3c6f62168f51a655d3f88d6994122f21432ed352 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期六, 03 八月 2024 08:31:33 +0800
Subject: [PATCH] 添加计算目标格子日志
---
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml | 66 ++++++++++++++++++++-------------
1 files changed, 40 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..2c93d87 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
@@ -19,40 +19,40 @@
</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
</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 >= #{count} LIMIT 1
+ HAVING SLOT_COUNT >= #{count}
+ ORDER BY SLOT_COUNT DESC
</select>
<select id="queryGlassMaxAndMin" resultMap="slotSequenceDTO">
SELECT T.*,
@@ -73,4 +73,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