From 7d1feae71bfd79b9021e516916b79f918bfcbcd9 Mon Sep 17 00:00:00 2001
From: “mitao” <“2763622819@qq.com”>
Date: 星期四, 22 一月 2026 16:36:52 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-system/src/main/resources/mapper/system/DeviceUsageMapper.xml |  210 ++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 192 insertions(+), 18 deletions(-)

diff --git a/ruoyi-system/src/main/resources/mapper/system/DeviceUsageMapper.xml b/ruoyi-system/src/main/resources/mapper/system/DeviceUsageMapper.xml
index f887013..a3ea189 100644
--- a/ruoyi-system/src/main/resources/mapper/system/DeviceUsageMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/DeviceUsageMapper.xml
@@ -4,16 +4,16 @@
 
     <!-- 通用查询映射结果 -->
     <resultMap id="BaseResultMap" type="com.ruoyi.system.model.DeviceUsage">
-        <id column="id" property="id" />
-        <result column="create_time" property="createTime" />
-        <result column="deleted" property="deleted" />
-        <result column="name" property="name" />
-        <result column="update_time" property="updateTime" />
-        <result column="properties" property="properties" />
-        <result column="creator_id" property="creatorId" />
-        <result column="device_id" property="deviceId" />
-        <result column="project_id" property="projectId" />
-        <result column="disabled" property="disabled" />
+        <id column="id" property="id"/>
+        <result column="create_time" property="createTime"/>
+        <result column="deleted" property="deleted"/>
+        <result column="name" property="name"/>
+        <result column="update_time" property="updateTime"/>
+        <result column="properties" property="properties"/>
+        <result column="creator_id" property="creatorId"/>
+        <result column="device_id" property="deviceId"/>
+        <result column="project_id" property="projectId"/>
+        <result column="disabled" property="disabled"/>
     </resultMap>
     <select id="getDeviceUsageList" resultType="java.lang.String">
         select t2.properties from device_usage t1
@@ -22,14 +22,14 @@
     </select>
     <select id="getDeviceList" resultType="com.ruoyi.system.vo.DeviceListVo">
 
-        select t1.id, t1.name, t1.create_time, t1.properties,   t1.type, latest.record_time as checkTime
+        select t1.id, t1.name, t1.create_time, t1.properties, t1.type, latest.record_time as checkTime
         from device t1
-                 left join device_usage t2 on t1.id = t2.device_id
-                 left join (
-                     select device_id, max(create_time) as record_time
-                     from record
-                     group by device_id
-                 ) latest on t1.id = latest.device_id
+        left join device_usage t2 on t1.id = t2.device_id
+        left join (
+        select device_id, max(create_time) as record_time
+        from record
+        group by device_id
+        ) latest on t1.id = latest.device_id
         where t2.project_id = #{query.projectId} and t2.deleted = 0
         <if test="query.type != null">
             and t1.type = #{query.type}
@@ -41,10 +41,184 @@
             and latest.record_time >= #{query.startTime}
         </if>
         <if test="query.endTime != null and query.endTime != ''">
-            and   #{query.endTime} >=latest.record_time
+            and #{query.endTime} >=latest.record_time
         </if>
         order by latest.record_time desc
     </select>
+    <select id="deviceList" resultType="com.ruoyi.system.vo.EntrustDeviceListVo">
+        select t2.id, t2.name, t2.create_time, t2.properties, t2.type, latest.record_time as checkTime,t3.name as projectName
+        from device_usage t1
+        left join device t2 on t2.id = t1.device_id
+        left join (
+        select device_id, max(create_time) as record_time
+        from record
+        group by device_id
+        ) latest on t2.id = latest.device_id
+        left join project t3 on t1.project_id = t3.id
+        where t1.project_id = #{query.projectId} and t1.deleted = 0 and t1.disabled = 0
+        <if test="query.type != null">
+            and t2.type = #{query.type}
+        </if>
+        <if test="query.content!= null and query.content!=''">
+            and t2.name like CONCAT('%', #{query.content}, '%')
+        </if>
+        <if test="query.startTime != null and query.startTime != ''">
+            and latest.record_time >= #{query.startTime}
+        </if>
+        <if test="query.endTime != null and query.endTime != ''">
+            and #{query.endTime} >=latest.record_time
+        </if>
+        order by latest.record_time desc
+    </select>
+    <select id="projectList" resultType="com.ruoyi.system.vo.EntrustProjectVo">
+        select
+        t1.*, latest.record_time as checkTime,result.risk_level
+        from project t1
+        left join device_usage t2 on t1.id = t2.project_id
+        left join (
+        select device_id, max(create_time) as record_time
+        from record
+        group by device_id
+        ) latest on t2.device_id = latest.device_id
+        left join (
+        select score,project_id,risk_level
+        from eval_result
+        group by project_id
+        order by create_time desc
+        ) result on t1.id = result.project_id
+        where t1.deleted = 0 and t2.deleted = 0
+
+        <if test="query.projectId != null">
+            and t1.id = #{query.projectId}
+        </if>
+        <if test="query.type != null">
+            and t1.type = #{query.type}
+        </if>
+        <if test="query.riskLevel != null">
+            and result.risk_level = #{query.riskLevel}
+        </if>
+        <if test="query.name!= null and query.name!=''">
+            and t1.name like CONCAT('%', #{query.content}, '%')
+        </if>
+        <if test="query.startTime != null and query.startTime != ''">
+            and latest.record_time >= #{query.startTime}
+        </if>
+        <if test="query.endTime != null and query.endTime != ''">
+            and #{query.endTime} >=latest.record_time
+        </if>
+        GROUP BY t1.id
+        order by latest.record_time desc
+    </select>
+    <select id="projectReport" resultType="com.ruoyi.system.vo.EntrustProjectReportVo">
+        select t1.name,t1.type,t2.score,t2.risk_level,t3.time as checkTime
+        from plan t1
+        left join eval_result t2 on t1.id = t2.plan_id and t2.project_id = #{query.projectId}
+        left join check t3 on t1.id = t3.plan_id and t3.project_id = #{query.projectId}
+        where t1.deleted = 0 and t2.deleted = 0 and t2.deleted = 0
+
+    </select>
+    <select id="errorList" resultType="com.ruoyi.system.vo.ErrorListVo">
+        select t1.*,t2.project_id,t2.plan_id,t3.`name` as  projectName,t4.`name` as planName
+             ,t5.`name` as problemName,IF(t1.device_id is null ,1,2) as type,t1.create_time as checkTime
+        from record t1
+                 LEFT JOIN task t2 on t1.check_task_id = t2.id
+                 LEFT JOIN project t3 on t2.project_id = t3.id
+                 LEFT JOIN plan t4 on t2.plan_id = t4.id
+                 LEFT JOIN problem t5 ON t1.problem_id = t5.id
+        where t1.deleted = 0 and t2.deleted = 0  and t1.`level` =1
+          <if test="query.projectId != null">
+            and t2.project_id = #{query.projectId}
+        </if>
+        <if test="query.reformed != null">
+            and t1.reformed = #{query.reformed}
+        </if>
+        <if test="query.type != null and query.type == 1">
+            and t1.device_id is null
+        </if>
+        <if test="query.type != null and query.type == 2">
+            and t1.device_id is not null
+        </if>
+        <if test="query.startTime != null and query.startTime != ''">
+            and t1.create_time >= #{query.startTime}
+        </if>
+        <if test="query.endTime != null and query.endTime != ''">
+            and #{query.endTime} >=t1.create_time
+        </if>
+        <if test="query.content!= null and query.content!=''">
+            and (t3.name like CONCAT('%', #{query.content}, '%')
+                or
+            t5.name like CONCAT('%', #{query.content}, '%')
+                or
+            t1.remark like CONCAT('%', #{query.content}, '%')
+                )
+        </if>
+        order by t1.create_time desc
+    </select>
+    <select id="deviceErrorList" resultType="com.ruoyi.system.vo.ErrorListVo">
+        select t1.*,t2.project_id,t2.plan_id,t3.`name` as  projectName,t4.`name` as planName
+        ,t5.`name` as problemName,IF(t1.device_id is null ,1,2) as type,t1.create_time as checkTime
+        from record t1
+        LEFT JOIN task t2 on t1.check_task_id = t2.id
+        LEFT JOIN project t3 on t2.project_id = t3.id
+        LEFT JOIN plan t4 on t2.plan_id = t4.id
+        LEFT JOIN problem t5 ON t1.problem_id = t5.id
+        where t1.deleted = 0 and t2.deleted = 0  and t1.device_id is not null
+        <if test="query.projectId != null">
+            and t2.project_id = #{query.projectId}
+        </if>
+        <if test="query.reformed != null">
+            and t1.reformed = #{query.reformed}
+        </if>
+
+        <if test="query.startTime != null and query.startTime != ''">
+            and t1.create_time >= #{query.startTime}
+        </if>
+        <if test="query.endTime != null and query.endTime != ''">
+            and #{query.endTime} >=t1.create_time
+        </if>
+        <if test="query.content!= null and query.content!=''">
+            and (t3.name like CONCAT('%', #{query.content}, '%')
+            or
+            t5.name like CONCAT('%', #{query.content}, '%')
+            or
+            t1.remark like CONCAT('%', #{query.content}, '%')
+            )
+        </if>
+        order by t1.create_time desc
+    </select>
+    <select id="safetyErrorList" resultType="com.ruoyi.system.vo.ErrorListVo">
+        select t1.*,t2.project_id,t2.plan_id,t3.`name` as  projectName,t4.`name` as planName
+        ,t5.`name` as problemName,IF(t1.device_id is null ,1,2) as type,t1.create_time as checkTime
+        from record t1
+        LEFT JOIN task t2 on t1.check_task_id = t2.id
+        LEFT JOIN project t3 on t2.project_id = t3.id
+        LEFT JOIN plan t4 on t2.plan_id = t4.id
+        LEFT JOIN problem t5 ON t1.problem_id = t5.id
+        where t1.deleted = 0 and t2.deleted = 0  and t1.device_id is null
+        <if test="query.projectId != null">
+            and t2.project_id = #{query.projectId}
+        </if>
+        <if test="query.reformed != null">
+            and t1.reformed = #{query.reformed}
+        </if>
+
+        <if test="query.startTime != null and query.startTime != ''">
+            and t1.create_time >= #{query.startTime}
+        </if>
+        <if test="query.endTime != null and query.endTime != ''">
+            and #{query.endTime} >=t1.create_time
+        </if>
+        <if test="query.content!= null and query.content!=''">
+            and (t3.name like CONCAT('%', #{query.content}, '%')
+            or
+            t5.name like CONCAT('%', #{query.content}, '%')
+            or
+            t1.remark like CONCAT('%', #{query.content}, '%')
+            )
+        </if>
+        order by t1.create_time desc
+    </select>
+
     <select id="getProjectDeviceCount" resultType="com.ruoyi.system.vo.DeviceCountVo"
             parameterType="java.lang.Integer">
 

--
Gitblit v1.7.1