From 14eb117d72f9c3ab4c035b41e4f48fd3e7701c37 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期四, 15 八月 2024 14:38:55 +0800
Subject: [PATCH] 更改上片获取表
---
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml | 87 ++++++++++++++++++++++++++++++++++++++++---
1 files changed, 81 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..79dcea8 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
@@ -3,15 +3,90 @@
<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 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
+ 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 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}
+ ORDER BY SLOT_COUNT DESC
+ </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>
+
+ <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