wangfei
2025-09-22 7ba23e6e4870465855d80d026cf31490e0f8d427
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 (
@@ -132,13 +155,12 @@
        </where>
    </update>
    <update id="updateDeviceIdBySlot">
        update big_storage_cage_details t innser join big_storage_cage t1 on t.slot = t1.slot
        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}
            #{item}
        </foreach>
        )
        )
    </update>
@@ -175,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) &lt; 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
@@ -185,7 +207,7 @@
        )
        select *
        from result
        order by engineer_id
        order by engineer_id,tempering_layout_id
    </select>
    <select id="queryIsAllNeedDispatchVirtualSlot" resultMap="virtualSlotSequenceDTO">
@@ -267,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>