From 66e943c91e133eec5a0822ea22fd92cbc04bc9f3 Mon Sep 17 00:00:00 2001
From: zhuguifei <312353457@qq.com>
Date: 星期三, 12 三月 2025 16:04:14 +0800
Subject: [PATCH] 保养工单汇总

---
 eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsMaintOrderMapper.xml |   26 ++++++++++++++++++++++++++
 1 files changed, 26 insertions(+), 0 deletions(-)

diff --git a/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsMaintOrderMapper.xml b/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsMaintOrderMapper.xml
index 5497c48..40acd9e 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsMaintOrderMapper.xml
+++ b/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsMaintOrderMapper.xml
@@ -5,6 +5,9 @@
 <mapper namespace="org.dromara.eims.mapper.EimsMaintOrderMapper">
     <resultMap type="org.dromara.eims.domain.vo.EimsMaintOrderVo" id="EimsMaintOrderResult">
     </resultMap>
+
+    <resultMap type="org.dromara.eims.domain.vo.MaintOrdeGroupVo" id="MaintOrdeGroupVoResult">
+    </resultMap>
     <select id="selectMaintOrderList" resultMap="EimsMaintOrderResult">
         SELECT mo.*,equ.equ_name equName,equ.equ_code equCode,equ.asset_no assetNo,equ.model_no modelNo,mo.create_time createTime,
                pl.maint_name maintName,
@@ -19,4 +22,27 @@
                  LEFT JOIN sys_dict_data dd on dd.dict_type = 'maint_cycle_unit' and dd.dict_value = mo.maint_cycle_unit
             ${ew.getCustomSqlSegment}
     </select>
+    <select id="selectMaintOrderGroupList" resultMap="MaintOrdeGroupVoResult">
+        SELECT
+            mo.equ_id,
+            mo.plan_time,
+            MAX(equ.equ_name) AS equName,
+            MAX(equ.equ_code) AS equCode,
+            MAX(equ.asset_no) AS assetNo,
+            MAX(equ.model_no) AS modelNo,
+            GROUP_CONCAT(us.nick_name SEPARATOR ', ') AS maintUserNames,
+            GROUP_CONCAT(ue.nick_name SEPARATOR ', ') AS verifyUserNames,
+            COUNT(mo.id) AS orderCount, -- 缁存姢璁㈠崟鐨勬�绘暟
+            SUM(CASE WHEN mo.status = 0 THEN 1 ELSE 0 END) AS dbyCount,
+            SUM(CASE WHEN mo.status = 1 THEN 1 ELSE 0 END) AS byCount,
+            SUM(CASE WHEN mo.status = 2 THEN 1 ELSE 0 END) AS dyzCount,
+            SUM(CASE WHEN mo.status = 3 THEN 1 ELSE 0 END) AS wcCount
+        FROM eims_maint_order mo
+                 LEFT JOIN eims_equ equ ON mo.equ_id = equ.equ_id
+                 LEFT JOIN sys_user us ON mo.maint_user = us.user_id
+                 LEFT JOIN sys_user ue ON mo.verify_user = ue.user_id
+                 LEFT JOIN sys_dept dp ON mo.maint_dept = dp.dept_id
+                 LEFT JOIN eims_maint_plan pl ON pl.id = mo.plan_id
+            ${ew.getCustomSqlSegment}
+    </select>
 </mapper>

--
Gitblit v1.9.3