From 46e131d4388bab568e3078b7beb046c57ba67375 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期四, 05 十二月 2024 13:59:25 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 hangzhoumesParent/moduleService/howllowGlassModule/src/main/resources/mapper/HollowBigStorageCageDetailsMapper.xml |   67 ++++++++++-----------------------
 1 files changed, 20 insertions(+), 47 deletions(-)

diff --git a/hangzhoumesParent/moduleService/howllowGlassModule/src/main/resources/mapper/HollowBigStorageCageDetailsMapper.xml b/hangzhoumesParent/moduleService/howllowGlassModule/src/main/resources/mapper/HollowBigStorageCageDetailsMapper.xml
index 800ad1e..33b44fd 100644
--- a/hangzhoumesParent/moduleService/howllowGlassModule/src/main/resources/mapper/HollowBigStorageCageDetailsMapper.xml
+++ b/hangzhoumesParent/moduleService/howllowGlassModule/src/main/resources/mapper/HollowBigStorageCageDetailsMapper.xml
@@ -39,52 +39,25 @@
     </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, 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(*) as damage_count FROM damage 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_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 )
         ,
         pair_flow_layer_count AS (
         SELECT
@@ -102,25 +75,25 @@
         </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,
         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
         *

--
Gitblit v1.8.0