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/service/impl/DeviceUsageServiceImpl.java |   61 ++++++++++++++++++++----------
 1 files changed, 41 insertions(+), 20 deletions(-)

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());
         }

--
Gitblit v1.7.1