zhoushihao
2024-12-31 aa64540348a39c2247a79b48156e089d80f43030
hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/mapper/EdgStorageCageDetailsMapper.xml
@@ -29,6 +29,7 @@
        select slot, min(id) as id, count(*) as glass_count
        from edg_storage_cage_details
        where state = 100
        and device_id = #{deviceId}
        group by slot
        ),
        size_max_temp as (
@@ -50,9 +51,26 @@
                and t.height = #{height}
            </if>
        </where>
        order by total_count desc, glass_count, abs(t.slot - 10)
        order by total_count desc, glass_count, abs(t.slot - #{currentSlot})
        )
        select *
        from slot_temp limit 1
    </select>
    <select id="queryCutDrawingByEngineerId" resultType="com.mes.edgstoragecage.entity.vo.CutDrawingVO">
        with glass_temp as (
        select * from glass_info where engineer_id = #{engineerId} and pattern_sequence = #{patternSequence}
        ), cut_drawing_temp as (
        select t.*,
        case when t2.glass_id is not null then t2.type
        when t1.glass_id is not null then t1.state
        else 0 end as state
        from glass_temp t
        left join edg_storage_cage_details t1 on t.glass_id = t1.glass_id
        left join damage t2 on t.glass_id = t2.glass_id and t2.type in (8,9)
        )select * from cut_drawing_temp where 1=1
        <if test="isAll == 1">
            and state = 0
        </if>
    </select>
</mapper>