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 | 41 ++++++++++++++++++++++++-----------------
1 files changed, 24 insertions(+), 17 deletions(-)
diff --git a/cnas-device/src/main/resources/mapper/DeviceMapper.xml b/cnas-device/src/main/resources/mapper/DeviceMapper.xml
index 2d5c6c8..5460a17 100644
--- a/cnas-device/src/main/resources/mapper/DeviceMapper.xml
+++ b/cnas-device/src/main/resources/mapper/DeviceMapper.xml
@@ -89,13 +89,8 @@
, #{createUser}
, #{createTime})
</select>
- <select id="selectDevicePrincipal" resultType="com.ruoyi.device.pojo.Device">
- select id,
- equipment_manager
- from device
- </select>
- <select id="selectDeviceParameterPage" resultType="com.ruoyi.device.pojo.Device">
+ <select id="selectDeviceParameterPage" resultType="com.ruoyi.device.dto.DeviceDto">
select * from(
SELECT
d.*,
@@ -103,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}
@@ -147,43 +142,55 @@
<resultMap id="deviceNameMap" type="map">
<result property="value" column="id"/>
<result property="label" column="device_name"/>
+ <result property="activationDate" column="activation_date"/>
<result property="managementNumber" column="management_number"/>
</resultMap>
<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
+ 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},'%')
</if>
</where>
- order by l.laboratory_name desc, d.storage_point desc
</select>
<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>
+
+ <!-- 鏌ヨ鍒拌揪鏍″噯鏈夋晥鏈熺殑璁惧-鎻愬墠5澶� -->
+ <select id="selectOverdueDevice" resultType="com.ruoyi.device.pojo.Device">
+ SELECT *
+ FROM device
+ WHERE
+ -- 绛涢�夊嚭 activation_date 鍦ㄥ綋鍓嶆棩鏈熷墠浜斿ぉ鍐呯殑鏁版嵁
+ activation_date BETWEEN now() AND now() + INTERVAL 5 DAY
+ -- 绛涢�夊嚭 activation_date 宸茬粡瓒呰繃褰撳墠鏃ユ湡鐨勬暟鎹�
+ OR activation_date < now()
+ </select>
</mapper>
--
Gitblit v1.9.3