From 8d85246f061e3da623c7b9eb4e323ee724b4de0b Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期一, 13 一月 2025 13:20:01 +0800
Subject: [PATCH] 设备cnas代码搬迁

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

diff --git a/cnas-server/src/main/resources/mapper/DeviceMapper.xml b/cnas-server/src/main/resources/mapper/DeviceMapper.xml
index b9f80a9..f4c9e77 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
@@ -127,23 +134,35 @@
 
 
     <resultMap id="treeDeviceDto" type="map">
-        <result property="largeCategory" column="large_category"/>
-        <collection property="children" resultMap="DeviceDto" javaType="List"/>
+        <result property="label" column="laboratory_name"/>
+        <result property="value" column="value" />
+        <collection property="children" resultMap="storagePointMap" javaType="List"/>
     </resultMap>
 
-    <resultMap id="DeviceDto" type="map">
-        <id property="id" column="id"/>
-        <result property="deviceName" column="device_name"/>
+    <resultMap id="storagePointMap" type="map">
+        <result property="value" column="value"/>
+        <result property="label" column="storage_point"/>
+        <collection property="children" resultMap="deviceNameMap" javaType="List"/>
+    </resultMap>
+
+    <resultMap id="deviceNameMap" type="map">
+        <result property="value" column="id"/>
+        <result property="label" column="device_name"/>
     </resultMap>
     <select id="treeDevice" resultMap="treeDeviceDto">
-        select id,
-        case  when large_category is null || large_category ='' then '鍏朵粬'
-        else large_category end  as large_category, device_name
-        from device
+        select
+        d.id,
+        case when l.laboratory_name is null || l.laboratory_name ='' then '鍏朵粬' else l.laboratory_name end as laboratory_name,
+        case when d.large_category is null || d.large_category ='' then '鍏朵粬' else d.large_category end as storage_point,
+        d.device_name,
+        null as value
+        from device d
+        LEFT JOIN laboratory l ON l.id = d.subordinate_departments_id
         <where>
             <if test="deviceName!=null and deviceName!=''">
                 and device_name like concat('%',#{deviceName},'%')
             </if>
         </where>
+        order by l.laboratory_name desc, d.large_category desc
     </select>
 </mapper>

--
Gitblit v1.9.3