From 757dcb3fcad665eaef93074a4981c4134f7a027e Mon Sep 17 00:00:00 2001
From: zzw <228544128@qq.com>
Date: 星期日, 04 十月 2026 17:33:43 +0800
Subject: [PATCH] feat: complete system management and repair workflow updates
---
emergency-repair-server/src/main/resources/mapper/ReportMapper.xml | 112 ++++++++++++++++++++++++++++++-------------------------
1 files changed, 61 insertions(+), 51 deletions(-)
diff --git a/emergency-repair-server/src/main/resources/mapper/ReportMapper.xml b/emergency-repair-server/src/main/resources/mapper/ReportMapper.xml
index 893c1ec..ace6e62 100644
--- a/emergency-repair-server/src/main/resources/mapper/ReportMapper.xml
+++ b/emergency-repair-server/src/main/resources/mapper/ReportMapper.xml
@@ -52,14 +52,16 @@
NVL(SUM(CASE WHEN IS_H_RELATED = 1 THEN 1 ELSE 0 END), 0) AS H_RELATED,
NVL(SUM(CASE WHEN IS_MONITOR_ITEM = 1 THEN 1 ELSE 0 END), 0) AS MONITOR_ITEM,
NVL(SUM(CASE WHEN TASK_STATUS = 'CANCELLED' THEN 1 ELSE 0 END), 0) AS CANCELLED
- FROM LX.T_FAULT
- ) f
- CROSS JOIN (
- SELECT NVL(SUM(CASE WHEN COMPLETION_STATUS IS NULL OR COMPLETION_STATUS <> 'COMPLETED' THEN 1 ELSE 0 END), 0) AS UNFINISHED,
- NVL(SUM(CASE WHEN COMPLETION_STATUS = 'COMPLETED' THEN 1 ELSE 0 END), 0) AS COMPLETED,
- NVL(SUM(CASE WHEN COMPLETION_STATUS = 'WAIT_TEST' THEN 1 ELSE 0 END), 0) AS WAIT_TEST
- FROM LX.T_WORK_ORDER
- ) w
+ FROM LX.T_FAULT
+ WHERE DEL_FLAG = 0
+ ) f
+ CROSS JOIN (
+ SELECT NVL(SUM(CASE WHEN COMPLETION_STATUS IS NULL OR COMPLETION_STATUS <> 'COMPLETED' THEN 1 ELSE 0 END), 0) AS UNFINISHED,
+ NVL(SUM(CASE WHEN COMPLETION_STATUS = 'COMPLETED' THEN 1 ELSE 0 END), 0) AS COMPLETED,
+ NVL(SUM(CASE WHEN COMPLETION_STATUS = 'WAIT_TEST' THEN 1 ELSE 0 END), 0) AS WAIT_TEST
+ FROM LX.T_WORK_ORDER
+ WHERE DEL_FLAG = 0
+ ) w
</select>
<select id="selectTopEquipment" resultMap="metricResultMap">
@@ -76,9 +78,10 @@
',' || CAST(p.ID AS VARCHAR(40)) || ',') > 0
OR (NVL(f.EQUIPMENT_IDS, '') = '' AND f.EQUIPMENT_ID = p.ID)
)
- JOIN LX.T_BASE_EQUIPMENT b ON b.ID = p.BASE_EQUIPMENT_ID
- ),
- splitter AS (
+ JOIN LX.T_BASE_EQUIPMENT b ON b.ID = p.BASE_EQUIPMENT_ID
+ WHERE f.DEL_FLAG = 0 AND p.DEL_FLAG = 0 AND b.DEL_FLAG = 0
+ ),
+ splitter AS (
SELECT LEVEL AS N
FROM DUAL
CONNECT BY LEVEL <= (
@@ -86,10 +89,11 @@
REPLACE(REPLACE(REPLACE(NVL(EQUIPMENT_NAME, ''), '锛�', '銆�'), ',', '銆�'), CHR(10), '銆�'),
'銆�'
)), 0) + 1
- FROM LX.T_FAULT
- )
- ),
- fallback_names AS (
+ FROM LX.T_FAULT
+ WHERE DEL_FLAG = 0
+ )
+ ),
+ fallback_names AS (
SELECT f.ID AS FAULT_ID,
NVL(TRIM(REGEXP_SUBSTR(
REPLACE(REPLACE(REPLACE(NVL(f.EQUIPMENT_NAME, ''), '锛�', '銆�'), ',', '銆�'), CHR(10), '銆�'),
@@ -102,26 +106,29 @@
ON sp.N <= REGEXP_COUNT(
REPLACE(REPLACE(REPLACE(NVL(f.EQUIPMENT_NAME, ''), '锛�', '銆�'), ',', '銆�'), CHR(10), '銆�'),
'銆�'
- ) + 1
- ),
- fallback_link AS (
+ ) + 1
+ WHERE f.DEL_FLAG = 0
+ ),
+ fallback_link AS (
SELECT DISTINCT fn.FAULT_ID,
b.ID AS BASE_ID,
b.NAME AS BASE_NAME
FROM fallback_names fn
- JOIN LX.T_FAULT f ON f.ID = fn.FAULT_ID
- JOIN LX.T_PRODUCT_TREE p5
- ON p5.NODE_LEVEL = 5
- AND p5.NAME = fn.EQUIPMENT_NAME
- AND p5.BASE_EQUIPMENT_ID IS NOT NULL
- JOIN LX.T_PRODUCT_TREE p4 ON p4.ID = p5.PARENT_ID
- JOIN LX.T_PRODUCT_TREE p3 ON p3.ID = p4.PARENT_ID
- JOIN LX.T_PRODUCT_TREE x
- ON x.ID = p3.PARENT_ID
- AND x.NODE_LEVEL = 2
- AND x.NAME = f.X_NO
- JOIN LX.T_BASE_EQUIPMENT b ON b.ID = p5.BASE_EQUIPMENT_ID
- WHERE NOT EXISTS (
+ JOIN LX.T_FAULT f ON f.ID = fn.FAULT_ID
+ JOIN LX.T_PRODUCT_TREE p5
+ ON p5.NODE_LEVEL = 5
+ AND p5.NAME = fn.EQUIPMENT_NAME
+ AND p5.BASE_EQUIPMENT_ID IS NOT NULL
+ AND p5.DEL_FLAG = 0
+ JOIN LX.T_PRODUCT_TREE p4 ON p4.ID = p5.PARENT_ID AND p4.DEL_FLAG = 0
+ JOIN LX.T_PRODUCT_TREE p3 ON p3.ID = p4.PARENT_ID AND p3.DEL_FLAG = 0
+ JOIN LX.T_PRODUCT_TREE x
+ ON x.ID = p3.PARENT_ID
+ AND x.NODE_LEVEL = 2
+ AND x.NAME = f.X_NO
+ AND x.DEL_FLAG = 0
+ JOIN LX.T_BASE_EQUIPMENT b ON b.ID = p5.BASE_EQUIPMENT_ID AND b.DEL_FLAG = 0
+ WHERE NOT EXISTS (
SELECT 1
FROM explicit_link el
WHERE el.FAULT_ID = fn.FAULT_ID
@@ -166,27 +173,29 @@
<select id="selectByTeam" resultMap="teamResultMap">
WITH fault_agg AS (
SELECT CASE
- WHEN TRIM(TEAM_MAJOR) IS NULL OR TRIM(TEAM_MAJOR) = '' THEN '鏈~鍐橳闃熶笓涓�'
+ WHEN TRIM(TEAM_MAJOR) IS NULL OR TRIM(TEAM_MAJOR) = '' THEN '鏈~鍐檙k_T闃熶笓涓�'
ELSE TRIM(TEAM_MAJOR)
END AS NAME,
COUNT(*) AS FAULT_COUNT
- FROM LX.T_FAULT
- GROUP BY CASE
- WHEN TRIM(TEAM_MAJOR) IS NULL OR TRIM(TEAM_MAJOR) = '' THEN '鏈~鍐橳闃熶笓涓�'
+ FROM LX.T_FAULT
+ WHERE DEL_FLAG = 0
+ GROUP BY CASE
+ WHEN TRIM(TEAM_MAJOR) IS NULL OR TRIM(TEAM_MAJOR) = '' THEN '鏈~鍐檙k_T闃熶笓涓�'
ELSE TRIM(TEAM_MAJOR)
END
),
parts_agg AS (
SELECT CASE
- WHEN f.TEAM_MAJOR IS NULL OR TRIM(f.TEAM_MAJOR) = '' THEN '鏈~鍐橳闃熶笓涓�'
+ WHEN f.TEAM_MAJOR IS NULL OR TRIM(f.TEAM_MAJOR) = '' THEN '鏈~鍐檙k_T闃熶笓涓�'
ELSE TRIM(f.TEAM_MAJOR)
END AS NAME,
NVL(SUM(NVL(ci.CONSUMABLE_COUNT, 0)), 0) AS PARTS_COUNT
- FROM LX.T_COMPLETION_INFO ci
- JOIN LX.T_WORK_ORDER w ON w.ID = ci.WORK_ORDER_ID
- LEFT JOIN LX.T_FAULT f ON f.ID = w.FAULT_ID
- GROUP BY CASE
- WHEN f.TEAM_MAJOR IS NULL OR TRIM(f.TEAM_MAJOR) = '' THEN '鏈~鍐橳闃熶笓涓�'
+ FROM LX.T_COMPLETION_INFO ci
+ JOIN LX.T_WORK_ORDER w ON w.ID = ci.WORK_ORDER_ID AND w.DEL_FLAG = 0
+ LEFT JOIN LX.T_FAULT f ON f.ID = w.FAULT_ID AND f.DEL_FLAG = 0
+ WHERE ci.DEL_FLAG = 0
+ GROUP BY CASE
+ WHEN f.TEAM_MAJOR IS NULL OR TRIM(f.TEAM_MAJOR) = '' THEN '鏈~鍐檙k_T闃熶笓涓�'
ELSE TRIM(f.TEAM_MAJOR)
END
),
@@ -210,8 +219,9 @@
NVL(SUM(CASE WHEN COMPLETION_STATUS IS NULL OR COMPLETION_STATUS <> 'COMPLETED' THEN 1 ELSE 0 END), 0) AS UNFINISHED_COUNT,
NVL(SUM(CASE WHEN COMPLETION_STATUS = 'COMPLETED' THEN 1 ELSE 0 END), 0) AS COMPLETED_COUNT,
NVL(ROUND(AVG(SCORE), 1), 0) AS AVERAGE_SCORE
- FROM LX.T_WORK_ORDER
- GROUP BY CONTRACTOR_NAME
+ FROM LX.T_WORK_ORDER
+ WHERE DEL_FLAG = 0
+ GROUP BY CONTRACTOR_NAME
ORDER BY TOTAL_COUNT DESC, CONTRACTOR_NAME ASC
</select>
@@ -219,18 +229,18 @@
WITH fault_agg AS (
SELECT EXTRACT(YEAR FROM REPORT_DATE) AS REPORT_YEAR,
COUNT(*) AS FAULT_COUNT
- FROM LX.T_FAULT
- WHERE REPORT_DATE IS NOT NULL
- GROUP BY EXTRACT(YEAR FROM REPORT_DATE)
+ FROM LX.T_FAULT
+ WHERE DEL_FLAG = 0 AND REPORT_DATE IS NOT NULL
+ GROUP BY EXTRACT(YEAR FROM REPORT_DATE)
),
parts_agg AS (
SELECT EXTRACT(YEAR FROM f.REPORT_DATE) AS REPORT_YEAR,
NVL(SUM(NVL(ci.CONSUMABLE_COUNT, 0)), 0) AS PARTS_COUNT
- FROM LX.T_COMPLETION_INFO ci
- JOIN LX.T_WORK_ORDER w ON w.ID = ci.WORK_ORDER_ID
- JOIN LX.T_FAULT f ON f.ID = w.FAULT_ID
- WHERE f.REPORT_DATE IS NOT NULL
- GROUP BY EXTRACT(YEAR FROM f.REPORT_DATE)
+ FROM LX.T_COMPLETION_INFO ci
+ JOIN LX.T_WORK_ORDER w ON w.ID = ci.WORK_ORDER_ID AND w.DEL_FLAG = 0
+ JOIN LX.T_FAULT f ON f.ID = w.FAULT_ID AND f.DEL_FLAG = 0
+ WHERE ci.DEL_FLAG = 0 AND f.REPORT_DATE IS NOT NULL
+ GROUP BY EXTRACT(YEAR FROM f.REPORT_DATE)
),
report_years AS (
SELECT REPORT_YEAR FROM fault_agg
--
Gitblit v1.9.1