From 8ad863082097ffdcab4a8e7f426d344a1fe6f892 Mon Sep 17 00:00:00 2001
From: 吴羡 <16976746+Xian-TT3@user.noreply.gitee.com>
Date: 星期六, 07 十一月 2026 00:27:02 +0800
Subject: [PATCH] 修复人员管理接口校验与导出,完善设备保养计划与文件受控功能

---
 cnas-device/src/main/resources/mapper/DeviceMaintenancePlanDetailsMapper.xml |   13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/cnas-device/src/main/resources/mapper/DeviceMaintenancePlanDetailsMapper.xml b/cnas-device/src/main/resources/mapper/DeviceMaintenancePlanDetailsMapper.xml
index f772a03..6ec5d4a 100644
--- a/cnas-device/src/main/resources/mapper/DeviceMaintenancePlanDetailsMapper.xml
+++ b/cnas-device/src/main/resources/mapper/DeviceMaintenancePlanDetailsMapper.xml
@@ -11,10 +11,17 @@
             d.management_number device_number,
             d.specification_model,
             d.management_number,
-            d.storage_point
+            d.storage_point,
+            (select count(*) from device_maintenance dm
+             where dm.maintenance_plan_detail_id = dmpd.maintenance_plan_detail_id) has_record
         from device_maintenance_plan_details dmpd
         left join device d on dmpd.device_id = d.id
         where dmpd.maintenance_plan_id = #{maintenancePlanId}
+        order by has_record desc,
+                 (select count(*) from device_maintenance dm2
+                  where dm2.maintenance_plan_detail_id = dmpd.maintenance_plan_detail_id
+                    and dm2.review_status = 1) desc,
+                 dmpd.maintenance_plan_detail_id desc
     </select>
 
     <!-- 璁惧淇濆吇璁″垝璇︽儏鍒楄〃锛堝惈鍒扮偣鏍囩孩銆佸叧鑱旂殑淇濆吇璁板綍涓庡鏍哥姸鎬侊級 -->
@@ -53,7 +60,9 @@
             case when d.next_maintenance_date is not null
                 and d.next_maintenance_date &lt;= date_add(curdate(), interval 1 month)
                 and (d.last_maintenance_date is null or d.last_maintenance_date &lt; dmpd.maintenance_date)
-                then 1 else 0 end as red_flag
+                then 1 else 0 end as red_flag,
+            (select count(*) from device_maintenance_attachment a
+             where a.maintenance_plan_detail_id = dmpd.maintenance_plan_detail_id) attachment_count
         from device_maintenance_plan_details dmpd
         left join device d on dmpd.device_id = d.id
         left join device_maintenance dm on dm.maintenance_plan_detail_id = dmpd.maintenance_plan_detail_id

--
Gitblit v1.9.3