From 6211a4296e62e174d6df97644f25d5140c1161a4 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期四, 03 七月 2025 23:52:40 +0800
Subject: [PATCH] 保洁巡检本周代码

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/ReportController.java |   27 ++++++++++++++++++---------
 1 files changed, 18 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 a95a03e..00d2131 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
@@ -72,6 +72,8 @@
     @Resource
     private TDeptService deptService;
     @Resource
+    private TTemplateCountService templateCountService;
+    @Resource
     private ISysUserService sysUserService;
     @Resource
     private TDictDataService dictDataService;
@@ -167,6 +169,12 @@
             TTemplate tTemplate = templates.stream().filter(e -> e.getId().equals(record.getTemplateId())).findFirst().orElse(null);
             record.setNum1(1);
             if(Objects.nonNull(tTemplate)){
+                TTemplateCount templateCount = templateCountService.lambdaQuery().eq(TTemplateCount::getUserId, record.getUserId())
+                        .eq(TTemplateCount::getTemplateId, tTemplate.getId())
+                        .orderByDesc(TTemplateCount::getCreateTime).last("limit 1").one();
+                if (templateCount!=null){
+                    record.setNum1(templateCount.getTaskCount());
+                }
                 // todo 应生成计划数
                 LocalDateTime createTime = tTemplate.getCreateTime();
                 // 转化为yyyy-MM-dd字符串
@@ -202,7 +210,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));
@@ -777,7 +786,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);
@@ -793,11 +802,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);
@@ -894,7 +903,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);
@@ -910,11 +919,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);
@@ -1018,11 +1027,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