| | |
| | | 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 ( |
| | |
| | | inner join size_max_temp t2 on t.width = t2.width and t.height = t2.height |
| | | <where> |
| | | <if test="width != 0"> |
| | | t.width = #{width} |
| | | and t.width = #{width} |
| | | </if> |
| | | <if test="height != 0"> |
| | | t.height = #{height} |
| | | 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> |