From af7f09e7965887b034c9add213bf68c816f22338 Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期五, 19 九月 2025 18:02:36 +0800
Subject: [PATCH] 中空理片笼缺片详情改造,中空一线二线三线页面改造
---
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 51 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 15dcb15..996634b 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
@@ -59,6 +59,29 @@
<result column="is_damage" property="isDamage"/>
</resultMap>
+ <select id="temperingIsAllByTemperingLayoutId" resultMap="temperingLayoutDTO">
+ SELECT T.*
+ FROM (
+ SELECT ENGINEER_ID, TEMPERING_LAYOUT_ID, COUNT(distinct TEMPERING_FEED_SEQUENCE) AS COUNT
+ FROM BIG_STORAGE_CAGE_DETAILS
+ WHERE STATE = 100
+ and ENGINEER_ID = #{engineerId}
+ AND TEMPERING_LAYOUT_ID = #{temperingLayoutId}
+ GROUP BY ENGINEER_ID, TEMPERING_LAYOUT_ID
+ ) T
+ INNER JOIN (SELECT ENGINEER_ID,
+ TEMPERING_LAYOUT_ID,
+ COUNT(distinct TEMPERING_FEED_SEQUENCE) AS COUNT
+ FROM GLASS_INFO
+ WHERE ENGINEER_ID = #{engineerId}
+ AND TEMPERING_LAYOUT_ID = #{temperingLayoutId}
+ GROUP BY ENGINEER_ID,
+ TEMPERING_LAYOUT_ID) T1
+ ON T.ENGINEER_ID = T1.ENGINEER_ID
+ AND T.TEMPERING_LAYOUT_ID = T1.TEMPERING_LAYOUT_ID
+ AND T.COUNT = T1.COUNT
+ </select>
+
<select id="temperingIsAll" resultMap="temperingLayoutDTO">
SELECT T2.*
FROM (
@@ -131,6 +154,15 @@
and state !=101
</where>
</update>
+ <update id="updateDeviceIdBySlot">
+ update big_storage_cage_details t inner join big_storage_cage t1 on t.slot = t1.slot
+ set t.device_id = t1.device_id
+ where t.slot in (
+ <foreach collection="list" item="item" separator=",">
+ #{item}
+ </foreach>
+ )
+ </update>
<select id="selectTemperingGlassCount" resultMap="temperingGlassCount">
with glass_info_temp as (
@@ -165,8 +197,8 @@
total_count,
real_count,
ifnull(damage_count, 0) as damage_count,
- total_count - real_count - ifnull(damage_count, 0) as lack_count
-
+ case when total_count - real_count - ifnull(damage_count, 0) < 0 then 0 else
+ total_count - real_count - ifnull(damage_count, 0) end as lack_count
from big_details_temp t
inner join glass_info_temp t1 on t.engineer_id = t1.engineer_id and
t.tempering_layout_id = t1.tempering_layout_id
@@ -175,7 +207,7 @@
)
select *
from result
- order by engineer_id
+ order by engineer_id,tempering_layout_id
</select>
<select id="queryIsAllNeedDispatchVirtualSlot" resultMap="virtualSlotSequenceDTO">
@@ -227,13 +259,18 @@
<select id="queryLackGlassInfo" resultMap="glassInfoLackDTO">
WITH glass_info_temp AS (SELECT *
FROM glass_info
- WHERE engineer_id = #{engineerId} AND tempering_layout_id = #{temperingLayoutId}),
+ WHERE engineer_id = #{engineerId}
+ AND tempering_layout_id = #{temperingLayoutId}),
big_details_temp AS (SELECT *
FROM big_storage_cage_details
- WHERE state = 100 AND engineer_id = #{engineerId} AND tempering_layout_id = #{temperingLayoutId}),
+ WHERE state = 100
+ AND engineer_id = #{engineerId}
+ AND tempering_layout_id = #{temperingLayoutId}),
damage_temp AS (SELECT *
FROM damage
- WHERE type IN (8, 9) AND engineer_id = #{engineerId} AND tempering_layout_id = #{temperingLayoutId}),
+ WHERE type IN (8, 9)
+ AND engineer_id = #{engineerId}
+ AND tempering_layout_id = #{temperingLayoutId}),
result_lack AS (SELECT t.*
FROM glass_info_temp t
LEFT JOIN big_details_temp t1 ON t.glass_id = t1.glass_id
@@ -252,4 +289,12 @@
SELECT *
FROM result
</select>
+ <select id="querybigStorageCageDetail" resultType="com.mes.base.entity.vo.BigStorageVO">
+ select bsc.device_id, bsc.slot, count(bscd.glass_id) as count
+ from big_storage_cage bsc
+ left join big_storage_cage_details bscd
+ on bsc.slot = bscd.slot and bscd.state in (100, 102, 103, 104)
+ group by bsc.device_id, bsc.slot
+ order by bsc.device_id, bsc.slot
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0