From 087991c76f078defe5eb55d84223021b4199fb3d Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期一, 17 二月 2025 11:22:50 +0800
Subject: [PATCH] 设备模块修改bug

---
 cnas-server/src/main/resources/mapper/DeviceMapper.xml |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/cnas-server/src/main/resources/mapper/DeviceMapper.xml b/cnas-server/src/main/resources/mapper/DeviceMapper.xml
index 1bb8478..6d1de4a 100644
--- a/cnas-server/src/main/resources/mapper/DeviceMapper.xml
+++ b/cnas-server/src/main/resources/mapper/DeviceMapper.xml
@@ -107,7 +107,14 @@
         device d
         LEFT JOIN `user` u ON u.id = d.equipment_manager
         LEFT JOIN laboratory l ON l.id = d.subordinate_departments_id
+        LEFT JOIN device_metric_record cmr ON d.id = cmr.device_id
         LEFT JOIN structure_item_parameter sip ON FIND_IN_SET(sip.id, d.ins_product_ids)
+        <where>
+            <if test="laboratoryNameIsNull != null and laboratoryNameIsNull == true">
+                l.laboratory_name is null
+            </if>
+            AND cmr.type = 'calibrate' or cmr.type is null or cmr.type = ''
+        </where>
         GROUP BY
         d.id,
         u.name, l.laboratory_name
@@ -158,4 +165,22 @@
         </where>
         order by l.laboratory_name desc, d.large_category desc
     </select>
+    <select id="selectDeviceByCode" resultType="com.yuanchu.mom.dto.DeviceDto">
+        SELECT d.*,
+               GROUP_CONCAT(DISTINCT inspection_item SEPARATOR ';') AS ins_product_item,
+               l.laboratory_name,
+               u1.name                                                 equipmentManager_name,
+               u2.name                                                 authorized_person_name
+        FROM device d
+                 LEFT JOIN structure_item_parameter sip ON FIND_IN_SET(sip.id, d.ins_product_ids)
+                 LEFT JOIN laboratory l ON d.subordinate_departments_id = l.id
+                 LEFT JOIN user u1 ON u1.id = d.equipment_manager
+                 LEFT JOIN user u2 ON u2.id = d.authorized_person
+        WHERE d.id = #{id}
+
+        GROUP BY d.id,
+                 l.laboratory_name,
+                 u1.name,
+                 u2.name
+    </select>
 </mapper>

--
Gitblit v1.9.3