From 2f74a0e6c101edc69de6d5e19e7c071e09a9c3ea Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期三, 01 四月 2026 10:44:41 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/DeviceUsageServiceImpl.java |  182 ++++++++++++++++++++++++---------------------
 1 files changed, 96 insertions(+), 86 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 11da042..2654f53 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
@@ -154,7 +154,7 @@
                         .isNotNull(ClientParam::getUnderConstructionProject))
                 .stream().collect(Collectors.toMap(ClientParam::getClientId, ClientParam::getUnderConstructionProject));
         Map<Integer, String> assetParamMap = clientParamMapper.selectList(new LambdaQueryWrapper<ClientParam>()
-                .isNotNull(ClientParam::getAssetProject))
+                        .isNotNull(ClientParam::getAssetProject))
                 .stream().collect(Collectors.toMap(ClientParam::getClientId, ClientParam::getAssetProject));
         Map<Integer, List<Task>> taskMap = taskMapper.selectList(new LambdaQueryWrapper<Task>()
                         .ge(Task::getCreateTime, startTime)
@@ -228,8 +228,10 @@
 
                 // 查询重大隐患记录(level 表示隐患等级,0 表示重大隐患)
                 LambdaQueryWrapper<Record> recordWrapperPro = new LambdaQueryWrapper<>();
-                recordWrapperPro.eq(Record::getDeleted, false)
-                        .in(Record::getCheckTaskId, checkTaskIdsPro)
+                if(checkTaskIdsPro.size()>0){
+                    recordWrapperPro.eq(Record::getDeleted, false)
+                            .in(Record::getCheckTaskId, checkTaskIdsPro);
+                }
                 ; // 重大隐患等级
                 List<Record> records1 = recordMapper.selectList(recordWrapperPro);
 //                long c1 = records1.stream().filter(e -> e.getLevel() != null && e.getLevel() == 0).count();
@@ -288,7 +290,7 @@
 
 //                List<Record> recordList = records.stream().filter(e -> taskIds.contains(e.getCheckTaskId())).toList();
 //                Record record = recordList.stream().max(Comparator.comparing(Record::getCreateTime)).orElse(null);
-                if (task1 != null && task1.getState()==3) {
+                if (task1 != null && task1.getState() == 3) {
                     deviceListVo.setCheckTime(task1.getDate().atStartOfDay());
                     deviceListVo.setCheckResult("已检查");
                 } else {
@@ -506,32 +508,34 @@
             startTime = "";
         }
         LambdaQueryWrapper<Project> projectWrapper = new LambdaQueryWrapper<>();
-        switch (query.getCategory()) {
-            case 1:
-                // 查询在建资产项目
-                projectWrapper.eq(Project::getDeleted, false)
-                        .ne(Project::getType, 2) // 在建工程
-                        .and(wrapper -> wrapper
-                                .eq(Project::getStatus, 1)  // 在建项目
-                                .or(w -> w
-                                        .eq(Project::getStatus, 2)  // 已完成项目
+        if(query.getCategory()!=null) {
+            switch (query.getCategory()) {
+                case 1:
+                    // 查询在建资产项目
+                    projectWrapper.eq(Project::getDeleted, false)
+                            .ne(Project::getType, 2) // 在建工程
+                            .and(wrapper -> wrapper
+                                    .eq(Project::getStatus, 1)  // 在建项目
+                                    .or(w -> w
+                                            .eq(Project::getStatus, 2)  // 已完成项目
 
-                                        .between(StringUtils.hasLength(startTime), Project::getSuccessTime, startTime, endTime)  // 完成时间 >= 开始日期// 完成时间 <= 结束日期
-                                )
-                        );
-                break;
-            case 2:
-                // 查询固定资产项目
-                projectWrapper.eq(Project::getDeleted, false)
-                        .eq(Project::getType, 2) // 在建工程
-                        .and(wrapper -> wrapper
-                                .eq(Project::getStatus, 1)  // 在建项目
-                                .or(w -> w
-                                        .eq(Project::getStatus, 2)  // 已完成项目
-                                        .between(StringUtils.hasLength(startTime), Project::getSuccessTime, startTime, endTime)  // 完成时间 >= 开始日期// 完成时间 <= 结束日期
-                                )
-                        );
-                break;
+                                            .between(StringUtils.hasLength(startTime), Project::getSuccessTime, startTime, endTime)  // 完成时间 >= 开始日期// 完成时间 <= 结束日期
+                                    )
+                            );
+                    break;
+                case 2:
+                    // 查询固定资产项目
+                    projectWrapper.eq(Project::getDeleted, false)
+                            .eq(Project::getType, 2) // 在建工程
+                            .and(wrapper -> wrapper
+                                    .eq(Project::getStatus, 1)  // 在建项目
+                                    .or(w -> w
+                                            .eq(Project::getStatus, 2)  // 已完成项目
+                                            .between(StringUtils.hasLength(startTime), Project::getSuccessTime, startTime, endTime)  // 完成时间 >= 开始日期// 完成时间 <= 结束日期
+                                    )
+                            );
+                    break;
+            }
         }
         if (query.getClientId() != null) {
             projectWrapper.eq(Project::getClientId, query.getClientId());
@@ -572,32 +576,36 @@
             startTime = "";
         }
         LambdaQueryWrapper<Project> projectWrapper = new LambdaQueryWrapper<>();
-        switch (query.getCategory()) {
-            case 1:
-                // 查询在建资产项目
-                projectWrapper.eq(Project::getDeleted, false)
-                        .ne(Project::getType, 2) // 在建工程
-                        .and(wrapper -> wrapper
-                                .eq(Project::getStatus, 1)  // 在建项目
-                                .or(w -> w
-                                        .eq(Project::getStatus, 2)  // 已完成项目
+        if (query.getCategory() != null) {
 
-                                        .between(StringUtils.hasLength(startTime), Project::getSuccessTime, startTime, endTime)  // 完成时间 >= 开始日期// 完成时间 <= 结束日期
-                                )
-                        );
-                break;
-            case 2:
-                // 查询固定资产项目
-                projectWrapper.eq(Project::getDeleted, false)
-                        .eq(Project::getType, 2) // 在建工程
-                        .and(wrapper -> wrapper
-                                .eq(Project::getStatus, 1)  // 在建项目
-                                .or(w -> w
-                                        .eq(Project::getStatus, 2)  // 已完成项目
-                                        .between(StringUtils.hasLength(startTime), Project::getSuccessTime, startTime, endTime)  // 完成时间 >= 开始日期// 完成时间 <= 结束日期
-                                )
-                        );
-                break;
+
+            switch (query.getCategory()) {
+                case 1:
+                    // 查询在建资产项目
+                    projectWrapper.eq(Project::getDeleted, false)
+                            .ne(Project::getType, 2) // 在建工程
+                            .and(wrapper -> wrapper
+                                    .eq(Project::getStatus, 1)  // 在建项目
+                                    .or(w -> w
+                                            .eq(Project::getStatus, 2)  // 已完成项目
+
+                                            .between(StringUtils.hasLength(startTime), Project::getSuccessTime, startTime, endTime)  // 完成时间 >= 开始日期// 完成时间 <= 结束日期
+                                    )
+                            );
+                    break;
+                case 2:
+                    // 查询固定资产项目
+                    projectWrapper.eq(Project::getDeleted, false)
+                            .eq(Project::getType, 2) // 在建工程
+                            .and(wrapper -> wrapper
+                                    .eq(Project::getStatus, 1)  // 在建项目
+                                    .or(w -> w
+                                            .eq(Project::getStatus, 2)  // 已完成项目
+                                            .between(StringUtils.hasLength(startTime), Project::getSuccessTime, startTime, endTime)  // 完成时间 >= 开始日期// 完成时间 <= 结束日期
+                                    )
+                            );
+                    break;
+            }
         }
         if (query.getClientId() != null) {
             projectWrapper.eq(Project::getClientId, query.getClientId());
@@ -637,41 +645,43 @@
             startTime = "";
         }
         LambdaQueryWrapper<Project> projectWrapper = new LambdaQueryWrapper<>();
-        switch (query.getCategory()) {
-            case 1:
-                // 查询在建资产项目
-                projectWrapper
+        if(query.getCategory()!=null) {
+            switch (query.getCategory()) {
+                case 1:
+                    // 查询在建资产项目
+                    projectWrapper
 //                        .eq(Project::getDeleted, false)
-                        .ne(Project::getType, 2) // 在建工程
-                        .and(wrapper -> wrapper
-                                .eq(Project::getStatus, 1)  // 在建项目
-                                .or(w -> w
-                                        .eq(Project::getStatus, 2)  // 已完成项目
-                                        .between(StringUtils.hasLength(startTime), Project::getSuccessTime, startTime, endTime)  // 完成时间 >= 开始日期// 完成时间 <= 结束日期
-                                )
-                                .or(w -> w
-                                        .isNull(Project::getStatus)  // 已完成项目
-                                        .between(StringUtils.hasLength(startTime), Project::getSuccessTime, startTime, endTime)  // 完成时间 >= 开始日期// 完成时间 <= 结束日期
-                                )
-                        );
-                break;
-            case 2:
-                // 查询固定资产项目
-                projectWrapper
+                            .ne(Project::getType, 2) // 在建工程
+                            .and(wrapper -> wrapper
+                                    .eq(Project::getStatus, 1)  // 在建项目
+                                    .or(w -> w
+                                            .eq(Project::getStatus, 2)  // 已完成项目
+                                            .between(StringUtils.hasLength(startTime), Project::getSuccessTime, startTime, endTime)  // 完成时间 >= 开始日期// 完成时间 <= 结束日期
+                                    )
+                                    .or(w -> w
+                                            .isNull(Project::getStatus)  // 已完成项目
+                                            .between(StringUtils.hasLength(startTime), Project::getSuccessTime, startTime, endTime)  // 完成时间 >= 开始日期// 完成时间 <= 结束日期
+                                    )
+                            );
+                    break;
+                case 2:
+                    // 查询固定资产项目
+                    projectWrapper
 //                        .eq(Project::getDeleted, false)
-                        .eq(Project::getType, 2) // 在建工程
-                        .and(wrapper -> wrapper
-                                        .eq(Project::getStatus, 1)  // 在建项目
-                                        .or(w -> w
-                                                .eq(Project::getStatus, 2)  // 已完成项目
-                                                .between(StringUtils.hasLength(startTime), Project::getSuccessTime, startTime, endTime)  // 完成时间 >= 开始日期// 完成时间 <= 结束日期
-                                        )
-                                        .or(w -> w
-                                                        .isNull(Project::getStatus)  // 已完成项目
+                            .eq(Project::getType, 2) // 在建工程
+                            .and(wrapper -> wrapper
+                                            .eq(Project::getStatus, 1)  // 在建项目
+                                            .or(w -> w
+                                                    .eq(Project::getStatus, 2)  // 已完成项目
+                                                    .between(StringUtils.hasLength(startTime), Project::getSuccessTime, startTime, endTime)  // 完成时间 >= 开始日期// 完成时间 <= 结束日期
+                                            )
+                                            .or(w -> w
+                                                            .isNull(Project::getStatus)  // 已完成项目
 //                                        .between(StringUtils.hasLength(startTime),Project::getSuccessTime, startTime, endTime)  // 完成时间 >= 开始日期// 完成时间 <= 结束日期
-                                        )
-                        );
-                break;
+                                            )
+                            );
+                    break;
+            }
         }
         if (query.getClientId() != null) {
             projectWrapper.eq(Project::getClientId, query.getClientId());

--
Gitblit v1.7.1