| | |
| | | <result column="engineer_id" property="engineerId"/> |
| | | <result column="flow_card_id" property="flowCardId"/> |
| | | <result column="layer" property="layer"/> |
| | | <result column="films_id" property="filmsId"/> |
| | | <result column="thickness" property="thickness"/> |
| | | <result column="sum_count" property="sumCount"/> |
| | | <result column="pair_count" property="pairCount"/> |
| | | <result column="real_count" property="realCount"/> |
| | |
| | | </update> |
| | | |
| | | <select id="hollowIsAll" resultMap="baseMap"> |
| | | WITH sum_flow_layer_count AS ( |
| | | SELECT |
| | | flow_card_id, |
| | | layer, |
| | | min( films_id ) AS films_id, |
| | | count(*) AS sum_count |
| | | FROM |
| | | hollow_glass_relation_info |
| | | GROUP BY |
| | | flow_card_id, |
| | | layer |
| | | ), |
| | | real_flow_layer_count AS ( |
| | | SELECT |
| | | flow_card_id, |
| | | layer, |
| | | count(*) AS real_count |
| | | FROM |
| | | hollow_glass_relation_info |
| | | WHERE |
| | | tempering_layout_id IS NOT NULL |
| | | AND tempering_feed_sequence IS NOT NULL |
| | | GROUP BY |
| | | flow_card_id, |
| | | layer |
| | | ), |
| | | damage_flow_layer_count AS ( SELECT process_id AS flow_card_id, technology_number AS layer, count(*) |
| | | damage_count FROM damage GROUP BY process_id, technology_number ), |
| | | WITH sum_flow_layer_count AS ( SELECT flow_card_id, layer, min( films_id ) AS films_id, min(thickness) as |
| | | thickness,count(*) AS sum_count FROM hollow_glass_relation_info GROUP BY flow_card_id, layer ), |
| | | real_flow_layer_count AS ( SELECT flow_card_id, layer, count(*) AS real_count FROM |
| | | hollow_big_storage_cage_details t WHERE state = 100 GROUP BY flow_card_id, layer ), |
| | | damage_flow_layer_count AS ( SELECT process_id AS flow_card_id, technology_number AS layer, count(*) as |
| | | damage_count FROM damage where type in(8,9) GROUP BY process_id, technology_number ), |
| | | lack_flow_layer_count AS ( |
| | | SELECT |
| | | t.flow_card_id, |
| | | t.layer, |
| | | ( sum_count - real_count - damage_count ) AS lack_count |
| | | ifnull((sum_count - real_count - ifnull(damage_count,0)),0) AS lack_count |
| | | FROM |
| | | sum_flow_layer_count t |
| | | INNER JOIN real_flow_layer_count t1 ON t.flow_card_id = t1.flow_card_id |
| | | left JOIN real_flow_layer_count t1 ON t.flow_card_id = t1.flow_card_id |
| | | AND t.layer = t1.layer |
| | | INNER JOIN damage_flow_layer_count t2 ON t1.flow_card_id = t2.flow_card_id |
| | | left JOIN damage_flow_layer_count t2 ON t1.flow_card_id = t2.flow_card_id |
| | | AND t1.layer = t2.layer |
| | | ), |
| | | layer_one AS ( SELECT * FROM hollow_glass_relation_info WHERE layer = 1 AND tempering_layout_id IS NOT NULL AND |
| | | tempering_feed_sequence IS NOT NULL ), |
| | | layer_two AS ( SELECT * FROM hollow_glass_relation_info WHERE layer = 2 AND tempering_layout_id IS NOT NULL AND |
| | | tempering_feed_sequence IS NOT NULL ), |
| | | layer_three AS ( SELECT * FROM hollow_glass_relation_info WHERE layer = 3 AND tempering_layout_id IS NOT NULL |
| | | AND tempering_feed_sequence IS NOT NULL ) |
| | | layer_one AS ( SELECT * FROM hollow_big_storage_cage_details WHERE layer = 1 AND state = 100 ), |
| | | layer_two AS ( SELECT * FROM hollow_big_storage_cage_details WHERE layer = 2 AND state = 100), |
| | | layer_three AS ( SELECT * FROM hollow_big_storage_cage_details WHERE layer = 3 AND state = 100 ) |
| | | , |
| | | pair_flow_layer_count AS ( |
| | | SELECT |
| | |
| | | layer_one t |
| | | INNER JOIN layer_two t1 ON t.flow_card_id = t1.flow_card_id |
| | | AND t.virtual_slot = t1.virtual_slot |
| | | AND t.slot_sequence = t1.slot_sequence |
| | | AND t.sequence = t1.sequence |
| | | <if test="totalLayer == 3"> |
| | | inner join layer_three t2 |
| | | on t.flow_card_id = t2.flow_card_id and |
| | | t.virtual_slot = t2.virtual_slot and t.slot_sequence = t2.slot_sequence |
| | | t.virtual_slot = t2.virtual_slot and t.sequence = t2.sequence |
| | | </if> |
| | | GROUP BY |
| | | t.flow_card_id |
| | | ) |
| | | ,result_flow_layer_count AS ( |
| | | ), |
| | | result_flow_layer_count AS ( |
| | | SELECT |
| | | t.flow_card_id, |
| | | t.layer, |
| | | t.films_id, |
| | | t.thickness, |
| | | sum_count, |
| | | t3.pair_count, |
| | | IFNULL(real_count,0) as real_count, |
| | | IFNULL(damage_count,0) as damage_count, |
| | | IFNULL(lack_count,0) as lack_count |
| | | IFNULL( t3.pair_count, 0 ) AS pair_count, |
| | | IFNULL( real_count, 0 ) AS real_count, |
| | | IFNULL( damage_count, 0 ) AS damage_count, |
| | | IFNULL( lack_count, 0 ) AS lack_count |
| | | FROM |
| | | sum_flow_layer_count t |
| | | left JOIN real_flow_layer_count t1 ON t.flow_card_id = t1.flow_card_id |
| | | LEFT JOIN real_flow_layer_count t1 ON t.flow_card_id = t1.flow_card_id |
| | | AND t.layer = t1.layer |
| | | left JOIN lack_flow_layer_count t2 ON t.flow_card_id = t2.flow_card_id |
| | | LEFT JOIN lack_flow_layer_count t2 ON t.flow_card_id = t2.flow_card_id |
| | | AND t.layer = t2.layer |
| | | left JOIN pair_flow_layer_count t3 ON t.flow_card_id = t3.flow_card_id |
| | | left JOIN damage_flow_layer_count t4 ON t.flow_card_id = t4.flow_card_id |
| | | LEFT JOIN pair_flow_layer_count t3 ON t.flow_card_id = t3.flow_card_id |
| | | LEFT JOIN damage_flow_layer_count t4 ON t.flow_card_id = t4.flow_card_id |
| | | AND t.layer = t4.layer |
| | | ) SELECT |
| | | * |
| | |
| | | and sum_count = pair_count |
| | | </if> |
| | | </select> |
| | | |
| | | |
| | | <select id="queryIsAllNeedDispatchVirtualSlot" resultMap="virtualSlotSequenceDTO"> |
| | | with relation_temp as ( |
| | |
| | | details_sequence_count_temp as ( |
| | | SELECT flow_card_id, hollow_sequence, count(1) as max_count |
| | | FROM hollow_big_storage_cage_details |
| | | and state = 100 |
| | | where state = 100 |
| | | group by flow_card_id, hollow_sequence |
| | | ), |
| | | glass_out_temp as ( |
| | |
| | | ) |
| | | select * |
| | | from result_detail |
| | | order by flow_card_id, hollow_sequence |
| | | order by flow_card_id, hollow_sequence,layer |
| | | <if test="cell != 931"> |
| | | desc |
| | | </if> |
| | | </select> |
| | | <select id="queryHollowbigStorageCageDetail" resultType="com.mes.base.entity.vo.BigStorageVO"> |
| | | SELECT SLOT, COUNT(1) AS COUNT |
| | | FROM HOLLOW_BIG_STORAGE_CAGE_DETAILS |
| | | where state in (100, 102, 103, 104) |
| | | group by SLOT |
| | | ORDER BY SLOT |
| | | </select> |
| | | <select id="querySlotMaxSequence" resultType="com.mes.hollow.entity.HollowBigStorageCageDetails"> |
| | | select max(sequence) as sequence, device_id, slot |
| | | from hollow_big_storage_cage_details |
| | | where (flow_card_id, total_layer, layer, virtual_slot) = |
| | | (#{flowCardId}, #{totalLayer}, #{layer}, #{virtualSlot}) |
| | | and state in (0, 100, 102, 103, 104) |
| | | group by device_id, slot |
| | | order by sequence |
| | | </select> |
| | | </mapper> |