严智鑫
2024-08-05 00c4dfc5ac687c93e0b7abafc33abb693b38edd6
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
@@ -37,20 +37,23 @@
             ) 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)
                             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 LIMIT 1
            AND T2.COUNT = T3.COUNT
        ORDER BY T2.ENGINEER_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
        GROUP BY ENGINEER_ID,
                 TEMPERING_LAYOUT_ID
        HAVING SLOT_COUNT &gt;= #{count} LIMIT 1
        HAVING SLOT_COUNT &gt;= #{count}
        ORDER BY SLOT_COUNT DESC
    </select>
    <select id="queryGlassMaxAndMin" resultMap="slotSequenceDTO">
        SELECT T.*,
@@ -71,4 +74,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>