From 4f45f29e6b53f4c01b414409c5000ff4e212b3d9 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期五, 05 六月 2026 13:36:54 +0800
Subject: [PATCH] 增加eip

---
 report-server/src/main/resources/mapper/ReportDeviceRecordMapper.xml |   73 ++++++++++++++++++++++++++++++++++++
 1 files changed, 73 insertions(+), 0 deletions(-)

diff --git a/report-server/src/main/resources/mapper/ReportDeviceRecordMapper.xml b/report-server/src/main/resources/mapper/ReportDeviceRecordMapper.xml
new file mode 100644
index 0000000..312c187
--- /dev/null
+++ b/report-server/src/main/resources/mapper/ReportDeviceRecordMapper.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.report.mapper.ReportDeviceRecordMapper">
+
+    <!-- 鍒嗛〉鏌ヨ璁惧浣跨敤璁板綍 -->
+    <select id="pageDeviceRecord" resultType="com.ruoyi.report.vo.DeviceRecordVo">
+        SELECT
+            r.id AS id,
+            d.id AS deviceId,
+            d.management_number AS deviceCode,
+            d.device_name AS deviceName,
+            r.sample_code AS sampleCode,
+            r.use_person AS useUser,
+            r.use_start_date AS startTime,
+            r.use_end_date AS endTime,
+            r.temperature,
+            r.humidity,
+            r.use_before AS useBefore,
+            r.use_after AS useAfter,
+            r.abnormal,
+            r.remark
+        FROM device_record r
+        LEFT JOIN device d ON r.device_id = d.id
+        WHERE 1=1
+        <if test="dto.deviceCode != null and dto.deviceCode != ''">
+            AND d.management_number LIKE CONCAT('%', #{dto.deviceCode}, '%')
+        </if>
+        <if test="dto.deviceName != null and dto.deviceName != ''">
+            AND d.device_name LIKE CONCAT('%', #{dto.deviceName}, '%')
+        </if>
+        <if test="dto.useUser != null and dto.useUser != ''">
+            AND r.use_person LIKE CONCAT('%', #{dto.useUser}, '%')
+        </if>
+        <if test="dto.sampleCode != null and dto.sampleCode != ''">
+            AND r.sample_code LIKE CONCAT('%', #{dto.sampleCode}, '%')
+        </if>
+        <if test="dto.startTime != null and dto.startTime != ''">
+            AND r.use_start_date >= #{dto.startTime}
+        </if>
+        <if test="dto.endTime != null and dto.endTime != ''">
+            AND r.use_end_date &lt;= #{dto.endTime}
+        </if>
+        ORDER BY r.use_start_date DESC
+    </select>
+
+    <!-- 璁惧浣跨敤缁熻 -->
+    <select id="getStatistics" resultType="java.util.Map">
+        SELECT
+            d.device_name AS deviceName,
+            d.management_number AS deviceCode,
+            COUNT(*) AS useCount,
+            COUNT(DISTINCT r.sample_code) AS sampleCount,
+            COUNT(DISTINCT r.use_person_id) AS userCount
+        FROM device_record r
+        LEFT JOIN device d ON r.device_id = d.id
+        WHERE 1=1
+        <if test="dto.deviceCode != null and dto.deviceCode != ''">
+            AND d.management_number LIKE CONCAT('%', #{dto.deviceCode}, '%')
+        </if>
+        <if test="dto.deviceName != null and dto.deviceName != ''">
+            AND d.device_name LIKE CONCAT('%', #{dto.deviceName}, '%')
+        </if>
+        <if test="dto.startTime != null and dto.startTime != ''">
+            AND r.use_start_date >= #{dto.startTime}
+        </if>
+        <if test="dto.endTime != null and dto.endTime != ''">
+            AND r.use_end_date &lt;= #{dto.endTime}
+        </if>
+        GROUP BY d.id
+        ORDER BY useCount DESC
+    </select>
+
+</mapper>
\ No newline at end of file

--
Gitblit v1.9.3