| | |
| | | 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> |
| | | <if test="cell == 2"> |
| | | and t.thickness < #{maxThickness} |
| | | </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> |
| | | <select id="querySlotRemainWidth" resultType="com.mes.edgstoragecage.entity.vo.EdgSlotRemainVO"> |
| | | select device_id, |
| | | slot, |
| | | if(#{cellLength} - sum(GREATEST(width, height) + #{glassGap}) < 0, 0, #{cellLength} - |
| | | sum(GREATEST(width, height) + #{glassGap})) as |
| | | remain_width |
| | | from edg_storage_cage_details |
| | | where state = 100 |
| | | group by device_id, slot |
| | | </select> |
| | | <select id="queryEdgStorageDetailsByLimitSize" resultMap="baseMap"> |
| | | SELECT t1.* |
| | | FROM edg_storage_cage t |
| | | LEFT JOIN edg_storage_cage_details t1 ON t.device_id = t1.device_id |
| | | AND t.slot = t1.slot |
| | | <where> |
| | | t.enable_state = 1 |
| | | AND t1.state = 100 |
| | | AND t1.device_id = #{deviceId} |
| | | <if test="width != 0"> |
| | | and t1.width = #{width} |
| | | </if> |
| | | <if test="height != 0"> |
| | | and t1.height = #{height} |
| | | </if> |
| | | <if test="cell == 1"> |
| | | and #{minOneFirstLength} <= GREATEST(t1.width, t1.height) |
| | | and #{minOneSecondLength} <= least(t1.width, t1.height) |
| | | </if> |
| | | <if test="cell == 2"> |
| | | and #{maxTwoFirstLength} >= GREATEST(t1.width, t1.height) |
| | | and #{maxTwoSecondLength} >= least(t1.width, t1.height) |
| | | and t1.thickness < #{maxThickness} |
| | | </if> |
| | | </where> |
| | | ORDER BY abs(t.slot - #{currentCell}) |
| | | limit 1 |
| | | </select> |
| | | <select id="queryPieChart" resultType="com.mes.largenscreen.entity.PieChartVO"> |
| | | SELECT round(sum(CASE WHEN e.station_cell = 5 THEN 1 ELSE 0 END), 2) as oneCompletedQuantity, |
| | | round(sum(CASE WHEN e.station_cell = 5 THEN escd.width * escd.height / 1000000 ELSE 0 END), |
| | | 2) as oneCompletedArea, |
| | | round(sum(CASE WHEN e.station_cell = 6 THEN 1 ELSE 0 END), 2) as twoCompletedQuantity, |
| | | round(sum(CASE WHEN e.station_cell = 6 THEN escd.width * escd.height / 1000000 ELSE 0 END), |
| | | 2) as twoCompletedArea, |
| | | round(sum(CASE WHEN e.station_cell = 5 and escd.device_id is null THEN 1 ELSE 0 END), |
| | | 2) as oneUncompletedQuantity, |
| | | round(sum(CASE |
| | | WHEN e.station_cell = 5 and escd.device_id is null THEN gi.width * gi.height / 1000000 |
| | | ELSE 0 END), |
| | | 2) as oneUncompletedArea, |
| | | round(sum(CASE WHEN e.station_cell = 6 and escd.device_id is null THEN 1 ELSE 0 END), |
| | | 2) as twoUncompletedQuantity, |
| | | round(sum( CASE WHEN e.station_cell = 6 and escd.device_id is null THEN gi.width*gi.height/1000000 ELSE 0 END ),2) as twoUncompletedArea |
| | | FROM |
| | | glass_info gi |
| | | left join edg_storage_cage_details escd ON gi.glass_id = escd.glass_id |
| | | left join engineering e on gi.engineer_id=e.engineer_id |
| | | WHERE |
| | | date(e.create_time) = date(now()) |
| | | </select> |
| | | </mapper> |