From ee256c062d4f7ebcf55202fb37371753cd23560d Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期四, 29 一月 2026 18:34:35 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/smart_screen

---
 ruoyi-system/src/main/java/com/ruoyi/system/query/ErrorListQuery.java                |    3 +
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/DeviceUsageServiceImpl.java |   61 ++++++++++++++++++++----------
 ruoyi-system/src/main/java/com/ruoyi/system/vo/EntrustDeviceListVo.java              |    2 +
 ruoyi-system/src/main/resources/mapper/system/DeviceUsageMapper.xml                  |    3 +
 4 files changed, 47 insertions(+), 22 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/ErrorListQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/ErrorListQuery.java
index 57e8ab5..4039536 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/query/ErrorListQuery.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/ErrorListQuery.java
@@ -11,7 +11,8 @@
 @Data
 @ApiModel("委托方端隐患列表查询query")
 public class ErrorListQuery extends BasePage {
-
+    @ApiModelProperty("1在建 2固定资产")
+    private Integer category;
     @ApiModelProperty("项目id")
     private Integer projectId;
     @ApiModelProperty("项目ids")
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/DeviceUsageServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/DeviceUsageServiceImpl.java
index dfb028b..1488291 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/DeviceUsageServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/DeviceUsageServiceImpl.java
@@ -101,21 +101,23 @@
                         .ne(Project::getType, 2) // 在建工程
                         .and(wrapper -> wrapper
                                 .eq(Project::getStatus, 1)  // 在建项目
+                                .between(Project::getCreateTime, startTime, endTime)
                                 .or(w -> w
                                         .eq(Project::getStatus, 2)  // 已完成项目
-                                        .ge(Project::getSuccessTime, startTime)  // 完成时间 >= 开始日期// 完成时间 <= 结束日期
+                                        .between(Project::getSuccessTime, startTime,endTime)  // 完成时间 >= 开始日期// 完成时间 <= 结束日期
                                 )
                         );
                 break;
             case 2:
                 // 查询固定资产项目
                 projectWrapper.eq(Project::getDeleted, false)
-                        .eq(Project::getType, 2) // 固定资产
+                        .eq(Project::getType, 2) // 在建工程
                         .and(wrapper -> wrapper
                                 .eq(Project::getStatus, 1)  // 在建项目
+                                .between(Project::getCreateTime, startTime, endTime)
                                 .or(w -> w
                                         .eq(Project::getStatus, 2)  // 已完成项目
-                                        .ge(Project::getSuccessTime, startTime)  // 完成时间 >= 开始日期
+                                        .between(Project::getSuccessTime, startTime,endTime)  // 完成时间 >= 开始日期// 完成时间 <= 结束日期
                                 )
                         );
                 break;
@@ -141,7 +143,7 @@
         recordWrapper.eq(Record::getDeleted, false)
                 .in(Record::getCheckTaskId, checkTaskIds)
                 .eq(Record::getLevel, 0); // 重大隐患等级
-        List<Integer> recordIds = recordMapper.selectList(recordWrapper).stream().map(Record::getId).toList();
+        List<Integer> recordIds = new ArrayList<>(recordMapper.selectList(recordWrapper).stream().map(Record::getId).toList());
         if (recordIds.isEmpty()){
             recordIds.add(-1);
         }
@@ -316,21 +318,23 @@
                         .ne(Project::getType, 2) // 在建工程
                         .and(wrapper -> wrapper
                                 .eq(Project::getStatus, 1)  // 在建项目
+                                .between(Project::getCreateTime, startTime, endTime)
                                 .or(w -> w
                                         .eq(Project::getStatus, 2)  // 已完成项目
-                                        .ge(Project::getSuccessTime, startTime)  // 完成时间 >= 开始日期// 完成时间 <= 结束日期
+                                        .between(Project::getSuccessTime, startTime,endTime)  // 完成时间 >= 开始日期// 完成时间 <= 结束日期
                                 )
                         );
                 break;
             case 2:
                 // 查询固定资产项目
                 projectWrapper.eq(Project::getDeleted, false)
-                        .eq(Project::getType, 2) // 固定资产
+                        .eq(Project::getType, 2) // 在建工程
                         .and(wrapper -> wrapper
                                 .eq(Project::getStatus, 1)  // 在建项目
+                                .between(Project::getCreateTime, startTime, endTime)
                                 .or(w -> w
                                         .eq(Project::getStatus, 2)  // 已完成项目
-                                        .ge(Project::getSuccessTime, startTime)  // 完成时间 >= 开始日期
+                                        .between(Project::getSuccessTime, startTime,endTime)  // 完成时间 >= 开始日期// 完成时间 <= 结束日期
                                 )
                         );
                 break;
@@ -377,20 +381,37 @@
     @Override
     public List<ErrorListVo> errorList(Page<ErrorListVo> page, ErrorListQuery query) throws ParseException {
         // 查询在建工程项目(usage_type 表示项目用途类型,假设 0 表示在建工程)
-        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-        if (StringUtils.hasLength(query.getStartTime())){
-            Date startTime = simpleDateFormat.parse(query.getStartTime());
-        }
+        String startTime = query.getStartTime().replace("年","-").replace("月","-").replace("日","-");
+        String endTime = query.getEndTime();
         LambdaQueryWrapper<Project> projectWrapper = new LambdaQueryWrapper<>();
-        projectWrapper.eq(Project::getDeleted, false)
-                .ne(Project::getType, 2) // 在建工程
-                .and(wrapper -> wrapper
-                        .eq(Project::getStatus, 1)  // 在建项目
-                        .or(w -> w
-                                .eq(Project::getStatus, 2)  // 已完成项目
-                                .ge(Project::getSuccessTime, "2026-01-01 00:00:00")  // 完成时间 >= 开始日期// 完成时间 <= 结束日期
-                        )
-                );
+        switch (query.getCategory()){
+            case 1:
+                // 查询在建资产项目
+                projectWrapper.eq(Project::getDeleted, false)
+                        .ne(Project::getType, 2) // 在建工程
+                        .and(wrapper -> wrapper
+                                .eq(Project::getStatus, 1)  // 在建项目
+                                .between(Project::getCreateTime, startTime, endTime)
+                                .or(w -> w
+                                        .eq(Project::getStatus, 2)  // 已完成项目
+                                        .between(Project::getSuccessTime, startTime,endTime)  // 完成时间 >= 开始日期// 完成时间 <= 结束日期
+                                )
+                        );
+                break;
+            case 2:
+                // 查询固定资产项目
+                projectWrapper.eq(Project::getDeleted, false)
+                        .eq(Project::getType, 2) // 在建工程
+                        .and(wrapper -> wrapper
+                                .eq(Project::getStatus, 1)  // 在建项目
+                                .between(Project::getCreateTime, startTime, endTime)
+                                .or(w -> w
+                                        .eq(Project::getStatus, 2)  // 已完成项目
+                                        .between(Project::getSuccessTime, startTime,endTime)  // 完成时间 >= 开始日期// 完成时间 <= 结束日期
+                                )
+                        );
+                break;
+        }
         if (query.getClientId() != null) {
             projectWrapper.eq(Project::getClientId, query.getClientId());
         }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/EntrustDeviceListVo.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/EntrustDeviceListVo.java
index dfd82ac..10796fe 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/EntrustDeviceListVo.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/EntrustDeviceListVo.java
@@ -12,6 +12,8 @@
 public class EntrustDeviceListVo {
 
     private Integer id;
+    @ApiModelProperty("项目id")
+    private String projectId;
     @ApiModelProperty("项目名称")
     private String projectName;
     @ApiModelProperty("委托方id")
diff --git a/ruoyi-system/src/main/resources/mapper/system/DeviceUsageMapper.xml b/ruoyi-system/src/main/resources/mapper/system/DeviceUsageMapper.xml
index 35a5a7b..3db10c8 100644
--- a/ruoyi-system/src/main/resources/mapper/system/DeviceUsageMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/DeviceUsageMapper.xml
@@ -46,7 +46,8 @@
         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
+        select t2.id, t2.name, t2.create_time, t2.properties, t2.type, latest.record_time as checkTime,t3.name as projectName,
+        t3.id as projectId
         from device_usage t1
         left join device t2 on t2.id = t1.device_id
         left join (

--
Gitblit v1.7.1