From 1b09f886a2c8dc47c4945dace5bd649a7b4ef0ad Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期三, 09 七月 2025 17:15:01 +0800
Subject: [PATCH] bug修改

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/ReportController.java |   23 ++++++++++++++---------
 1 files changed, 14 insertions(+), 9 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/ReportController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/ReportController.java
index babec9d..b0570e3 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/ReportController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/ReportController.java
@@ -24,6 +24,7 @@
 import io.swagger.annotations.ApiOperation;
 import io.swagger.models.auth.In;
 import org.apache.poi.ss.usermodel.Workbook;
+import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
@@ -210,7 +211,8 @@
                     record.setTemplateDate(stringBuilder.toString());
                 }
             }
-            if (record.getNum2() != 0) {
+
+            if (record.getNum1() != 0) {
                 record.setNum4(new BigDecimal((double) record.getNum2() / (double) record.getNum1() * 100).setScale(2, RoundingMode.HALF_DOWN));
             } else {
                 record.setNum4(new BigDecimal(0));
@@ -383,6 +385,9 @@
         }
         List<ProjectDeptDetailsVO> res = new ArrayList<>();
         List<TTask> tasks = taskCleanerService.list(tTaskLambdaQueryWrapper);
+        if(CollectionUtils.isEmpty(tasks)){
+            return R.ok(res);
+        }
         List<TTaskDetail> taskDetails = taskDetailService.lambdaQuery().orderByDesc(BaseModel::getCreateTime).list();
         List<String> collect = tasks.stream().map(TTask::getProjectId).distinct().collect(Collectors.toList());
         List<TProjectDept> projectDepts = projectDeptService.list();
@@ -785,7 +790,7 @@
             patrolInspectorVO.setTotal(taskList.size());
             patrolInspectorVO.setNum1(clearStatus1.size());
             patrolInspectorVO.setNum2(clearStatus2.size());
-            patrolInspectorVO.setNum3(clearStatus1.size()+clearStatus2.size()!=0?
+            patrolInspectorVO.setNum3(!clearStatus1.isEmpty() ?
                     (new BigDecimal(clearStatus1.size()).add(new BigDecimal(clearStatus2.size())))
                             .divide(new BigDecimal(clearStatus1.size()), 2, RoundingMode.HALF_DOWN)
                             .multiply(new BigDecimal(100)):BigDecimal.ZERO);
@@ -801,11 +806,11 @@
             patrolInspectorVO.setNum6(status3.size());
             patrolInspectorVO.setNum7(status4.size());
             patrolInspectorVO.setNum8(status5.size());
-            patrolInspectorVO.setNum9(!status5.isEmpty()?new BigDecimal(status5.size())
+            patrolInspectorVO.setNum9(!status5.isEmpty()||!status4.isEmpty()?new BigDecimal(status5.size())
                     .divide(new BigDecimal(status4.size()).add(new BigDecimal(status5.size())),2,RoundingMode.HALF_DOWN)
                     .multiply(new BigDecimal(100)):BigDecimal.ZERO);
             patrolInspectorVO.setNum10(status6.size());
-            patrolInspectorVO.setNum11(!status6.isEmpty()?new BigDecimal(status6.size()).divide(new BigDecimal(taskList.size()),2,RoundingMode.HALF_DOWN):BigDecimal.ZERO);
+            patrolInspectorVO.setNum11(!taskList.isEmpty()?new BigDecimal(status6.size()).divide(new BigDecimal(taskList.size()),2,RoundingMode.HALF_DOWN):BigDecimal.ZERO);
             List<TLeave> collect1 = leaves.stream().filter(e -> e.getLeavePerson().equals(sysUser.getUserId()+"")).collect(Collectors.toList());
             patrolInspectorVO.setNum12(collect1.size());
             res.add(patrolInspectorVO);
@@ -902,7 +907,7 @@
             patrolInspectorVO.setTotal(taskList.size());
             patrolInspectorVO.setNum1(clearStatus1.size());
             patrolInspectorVO.setNum2(clearStatus2.size());
-            patrolInspectorVO.setNum3(clearStatus1.size()+clearStatus2.size()!=0?
+            patrolInspectorVO.setNum3(!clearStatus1.isEmpty() ?
                     (new BigDecimal(clearStatus1.size()).add(new BigDecimal(clearStatus2.size())))
                             .divide(new BigDecimal(clearStatus1.size()), 2, RoundingMode.HALF_DOWN)
                             .multiply(new BigDecimal(100)):BigDecimal.ZERO);
@@ -918,11 +923,11 @@
             patrolInspectorVO.setNum6(status3.size());
             patrolInspectorVO.setNum7(status4.size());
             patrolInspectorVO.setNum8(status5.size());
-            patrolInspectorVO.setNum9(!status5.isEmpty()?new BigDecimal(status5.size())
+            patrolInspectorVO.setNum9(!status5.isEmpty()||!status4.isEmpty()?new BigDecimal(status5.size())
                     .divide(new BigDecimal(status4.size()).add(new BigDecimal(status5.size())),2,RoundingMode.HALF_DOWN)
                     .multiply(new BigDecimal(100)):BigDecimal.ZERO);
             patrolInspectorVO.setNum10(status6.size());
-            patrolInspectorVO.setNum11(!status6.isEmpty()?new BigDecimal(status6.size()).divide(new BigDecimal(taskList.size()),2,RoundingMode.HALF_DOWN):BigDecimal.ZERO);
+            patrolInspectorVO.setNum11(!taskList.isEmpty()?new BigDecimal(status6.size()).divide(new BigDecimal(taskList.size()),2,RoundingMode.HALF_DOWN):BigDecimal.ZERO);
             List<TLeave> collect1 = leaves.stream().filter(e -> e.getLeavePerson().equals(sysUser.getUserId()+"")).collect(Collectors.toList());
             patrolInspectorVO.setNum12(collect1.size());
             res.add(patrolInspectorVO);
@@ -1026,11 +1031,11 @@
 
             inspectorVO.setNum1(status1.size());
             inspectorVO.setNum2(status2.size());
-            inspectorVO.setNum3(!status1.isEmpty()?new BigDecimal(status1.size()).divide(new BigDecimal(status2.size()+status1.size()),2,RoundingMode.HALF_DOWN).multiply(new BigDecimal(100)):BigDecimal.ZERO);
+            inspectorVO.setNum3(!status1.isEmpty()||!status2.isEmpty()?new BigDecimal(status1.size()).divide(new BigDecimal(status2.size()+status1.size()),2,RoundingMode.HALF_DOWN).multiply(new BigDecimal(100)):BigDecimal.ZERO);
             inspectorVO.setNum4(status4.size());
             inspectorVO.setNum5(status5.size());
             inspectorVO.setNum6(status6.size());
-            inspectorVO.setNum7(!status6.isEmpty()?new BigDecimal(status6.size()).divide(new BigDecimal(status5.size()+status6.size()),2,RoundingMode.HALF_DOWN).multiply(new BigDecimal(100)):new BigDecimal(0));
+            inspectorVO.setNum7(!status6.isEmpty()||!status5.isEmpty()?new BigDecimal(status6.size()).divide(new BigDecimal(status5.size()+status6.size()),2,RoundingMode.HALF_DOWN).multiply(new BigDecimal(100)):new BigDecimal(0));
             res.add(inspectorVO);
         }
         return R.ok(res);

--
Gitblit v1.7.1