From de775139ac660c9d2e38ae54364f25e6724ca668 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期五, 28 八月 2026 15:41:38 +0800
Subject: [PATCH] feat(device): 1.添加设备导入导出功能并优化数据库关联查询 2.计量溯源性-标准物质清单导入导出

---
 cnas-device/src/main/resources/mapper/DeviceMapper.xml |   18 +++++++++---------
 1 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/cnas-device/src/main/resources/mapper/DeviceMapper.xml b/cnas-device/src/main/resources/mapper/DeviceMapper.xml
index 2c2436a..5460a17 100644
--- a/cnas-device/src/main/resources/mapper/DeviceMapper.xml
+++ b/cnas-device/src/main/resources/mapper/DeviceMapper.xml
@@ -98,22 +98,22 @@
         cmr.next_calibration_date as next_calibration_date_two,
         GROUP_CONCAT(distinct inspection_item SEPARATOR ';') AS insProductItem,
         u.name ,
-        l.laboratory_name
+        sd.dept_name AS laboratory_name
         FROM
         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 sys_dept sd ON sd.dept_id = d.subordinate_departments_id AND sd.del_flag = '0'
         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
+                sd.dept_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
+        u.name, sd.dept_name
         ) a
         <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
             ${ew.customSqlSegment}
@@ -149,14 +149,14 @@
     <select id="treeDevice" resultMap="treeDeviceDto">
         select
         d.id,
-        case when l.laboratory_name is null || l.laboratory_name ='' then '鍏朵粬' else l.laboratory_name end as laboratory_name,
+        case when sd.dept_name is null || sd.dept_name ='' then '鍏朵粬' else sd.dept_name end as laboratory_name,
         case when d.storage_point is null || d.storage_point ='' then '鍏朵粬' else d.storage_point end as storage_point,
         d.device_name,
         d.management_number,
         null as value,
         d.activation_date
         from device d
-        LEFT JOIN laboratory l ON l.id = d.subordinate_departments_id
+        LEFT JOIN sys_dept sd ON sd.dept_id = d.subordinate_departments_id AND sd.del_flag = '0'
         <where>
             <if test="deviceName!=null and deviceName!=''">
                 and device_name like concat('%',#{deviceName},'%')
@@ -167,18 +167,18 @@
     <select id="selectDeviceByCode" resultType="com.ruoyi.device.dto.DeviceDto">
         SELECT d.*,
                GROUP_CONCAT(DISTINCT inspection_item SEPARATOR ';') AS ins_product_item,
-               l.laboratory_name,
+               sd.dept_name AS 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 sys_dept sd ON d.subordinate_departments_id = sd.dept_id AND sd.del_flag = '0'
                  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,
+                 sd.dept_name,
                  u1.name,
                  u2.name
     </select>

--
Gitblit v1.9.3