From 77d58298d00c11ade8862ca8acb0fdef5a45322e Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期五, 21 三月 2025 17:39:38 +0800
Subject: [PATCH] 修改

---
 src/main/resources/mapper/progressTrack/DjJdgzNetworkLevel3Dao.xml |   54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 54 insertions(+), 0 deletions(-)

diff --git a/src/main/resources/mapper/progressTrack/DjJdgzNetworkLevel3Dao.xml b/src/main/resources/mapper/progressTrack/DjJdgzNetworkLevel3Dao.xml
index dad57e4..ffa642e 100644
--- a/src/main/resources/mapper/progressTrack/DjJdgzNetworkLevel3Dao.xml
+++ b/src/main/resources/mapper/progressTrack/DjJdgzNetworkLevel3Dao.xml
@@ -125,6 +125,60 @@
             and b.name LIKE '%${name}%'
         </if>
     </select>
+    <select id="getStatist" resultType="com.example.server.progressTrack.Dto.StatistProductDto">
+        SELECT
+            a.id,
+            CASE WHEN a.pid = 0 THEN a.NAME ELSE '    ' || a.NAME END AS name,
+            CASE WHEN a.pid = 0 THEN '' || a.id ELSE '' || a.pid || a.SORT END AS sort,
+            COUNT(DISTINCT CASE WHEN fvp.process_name = '璁惧鎷嗗嵏鍑鸿埍' THEN b.id END) AS cxsl,
+            COUNT(DISTINCT CASE WHEN fvp.process_name = '璁惧鍒嗕氦' THEN b.id END) AS fjsl,
+            COUNT(DISTINCT CASE WHEN fvp.process_name = '鎷嗘閴村畾' THEN b.id END) AS jdsl,
+            COUNT(DISTINCT CASE WHEN fvp.process_name = '璁惧杩斿巶' THEN b.id END) AS fcsl,
+            COUNT(DISTINCT CASE WHEN fvp.process_name = '鍥炶' THEN b.id END) AS hzsl,
+            COUNT(DISTINCT CASE WHEN all_complete.network_id IS NOT NULL THEN b.id END) AS wcsl
+        FROM
+            dj_sys_teamgroup_class a
+            left JOIN
+            dj_jdgz_network_level3 b ON a.id = b.TEAMGROUP_ID OR a.id = b.DEPT_ID
+            LEFT JOIN dj_jdgz_network_level1 d on d.ID = b.LEVEL1_NETWORK_ID
+                LEFT JOIN (
+                SELECT
+                    network_id,
+                    process_name
+                FROM (
+                         SELECT
+                             c.network_id,
+                             c.process_name,
+                             c.CURRENT_STATUS,
+                             ROW_NUMBER() OVER (
+                                 PARTITION BY c.network_id
+                                 ORDER BY c.sort
+                                 ) AS rn
+                         FROM
+                             dj_jdgz_network_level3_list c
+                         WHERE
+                             (c.CURRENT_STATUS = 0 OR c.CURRENT_STATUS IS NULL) and c.is_delete = 0
+                     ) AS ranked_processes
+                WHERE
+                    ranked_processes.rn = 1
+            ) AS fvp ON b.id = fvp.network_id
+                LEFT JOIN (
+                SELECT
+                    network_id
+                FROM
+                    dj_jdgz_network_level3_list
+                GROUP BY
+                    network_id
+                HAVING
+                    COUNT(CASE WHEN CURRENT_STATUS = 1 THEN 1 END) = COUNT(*)
+            ) AS all_complete ON b.id = all_complete.network_id
+        WHERE
+            a.AREA = 'hld' AND a.IS_DELETE = 0 and d.ship_id = ${level1Id} and d.is_delete =0 and b.is_delete =0
+        GROUP BY
+            a.id, a.name
+        ORDER BY
+            sort;
+    </select>
 
 
 </mapper>

--
Gitblit v1.9.1