From 6d4fefd106c908c674bf6b43ca8369d549d0a097 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期四, 29 一月 2026 17:40:57 +0800
Subject: [PATCH] bug修改

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/DeviceUsageServiceImpl.java |   59 ++++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 40 insertions(+), 19 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..3bb7836 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;
@@ -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