| | |
| | | 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"> |
| | |
| | | ',' || 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 <= ( |
| | |
| | | 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), '、'), |
| | |
| | | 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 |
| | |
| | | <select id="selectByTeam" resultMap="teamResultMap"> |
| | | WITH fault_agg AS ( |
| | | SELECT CASE |
| | | WHEN TRIM(TEAM_MAJOR) IS NULL OR TRIM(TEAM_MAJOR) = '' THEN '未填写T队专业' |
| | | WHEN TRIM(TEAM_MAJOR) IS NULL OR TRIM(TEAM_MAJOR) = '' THEN '未填写rk_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 '未填写T队专业' |
| | | FROM LX.T_FAULT |
| | | WHERE DEL_FLAG = 0 |
| | | GROUP BY CASE |
| | | WHEN TRIM(TEAM_MAJOR) IS NULL OR TRIM(TEAM_MAJOR) = '' THEN '未填写rk_T队专业' |
| | | ELSE TRIM(TEAM_MAJOR) |
| | | END |
| | | ), |
| | | parts_agg AS ( |
| | | SELECT CASE |
| | | WHEN f.TEAM_MAJOR IS NULL OR TRIM(f.TEAM_MAJOR) = '' THEN '未填写T队专业' |
| | | WHEN f.TEAM_MAJOR IS NULL OR TRIM(f.TEAM_MAJOR) = '' THEN '未填写rk_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 '未填写T队专业' |
| | | 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 '未填写rk_T队专业' |
| | | ELSE TRIM(f.TEAM_MAJOR) |
| | | END |
| | | ), |
| | |
| | | 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> |
| | | |
| | |
| | | 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 |