From 0f7254953cf629f4a6cbbf18c39292b5984d2b71 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期三, 02 七月 2025 18:14:00 +0800
Subject: [PATCH] bug修改

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/ReportController.java |   73 +++++++++++++++++++-----------------
 1 files changed, 38 insertions(+), 35 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 e7c7a31..9b5aceb 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
@@ -38,6 +38,7 @@
 import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
 /**
@@ -164,45 +165,47 @@
                 }
             }
             TTemplate tTemplate = templates.stream().filter(e -> e.getId().equals(record.getTemplateId())).findFirst().orElse(null);
-            // todo 应生成计划数
             record.setNum1(1);
-            LocalDateTime createTime = tTemplate.getCreateTime();
-            // 转化为yyyy-MM-dd字符串
-            StringBuilder stringBuilder = new StringBuilder();
-            stringBuilder.append(createTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))).append(" 至 ");
-            List<TTemplateDetail> tTemplateDetail = templateDetails.stream().filter(e -> e.getTemplateId().equals(record.getTemplateId())).collect(Collectors.toList());
-            int temp = 0;
-            if (!tTemplateDetail.isEmpty()) {
-                for (TTemplateDetail templateDetail : tTemplateDetail) {
-                    Integer cycle = templateDetail.getCycle();
-                    Integer cycleType = templateDetail.getCycleType();
-                    switch (cycleType) {
-                        case 1:
-                            temp = cycle;
-                            break;
-                        case 2:
-                            temp = cycle * 7;
+            if(Objects.nonNull(tTemplate)){
+                // todo 应生成计划数
+                LocalDateTime createTime = tTemplate.getCreateTime();
+                // 转化为yyyy-MM-dd字符串
+                StringBuilder stringBuilder = new StringBuilder();
+                stringBuilder.append(createTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))).append(" 至 ");
+                List<TTemplateDetail> tTemplateDetail = templateDetails.stream().filter(e -> e.getTemplateId().equals(record.getTemplateId())).collect(Collectors.toList());
+                int temp = 0;
+                if (!tTemplateDetail.isEmpty()) {
+                    for (TTemplateDetail templateDetail : tTemplateDetail) {
+                        Integer cycle = templateDetail.getCycle();
+                        Integer cycleType = templateDetail.getCycleType();
+                        switch (cycleType) {
+                            case 1:
+                                temp = cycle;
+                                break;
+                            case 2:
+                                temp = cycle * 7;
 
-                            break;
-                        case 3:
-                            temp = cycle * 30;
-                            break;
-                        case 4:
-                            temp = cycle * 90;
-                            break;
-                        case 5:
-                            temp = cycle * 365;
-                            break;
+                                break;
+                            case 3:
+                                temp = cycle * 30;
+                                break;
+                            case 4:
+                                temp = cycle * 90;
+                                break;
+                            case 5:
+                                temp = cycle * 365;
+                                break;
+                        }
                     }
+                    LocalDateTime localDateTime = tTemplate.getCreateTime().plusDays(temp);
+                    stringBuilder.append(localDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
+                    record.setTemplateDate(stringBuilder.toString());
                 }
-                LocalDateTime localDateTime = tTemplate.getCreateTime().plusDays(temp);
-                stringBuilder.append(localDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
-                record.setTemplateDate(stringBuilder.toString());
-                if (record.getNum2() != 0) {
-                    record.setNum4(new BigDecimal((double) record.getNum2() / (double) record.getNum1() * 100).setScale(2, RoundingMode.HALF_DOWN));
-                } else {
-                    record.setNum4(new BigDecimal(0));
-                }
+            }
+            if (record.getNum2() != 0) {
+                record.setNum4(new BigDecimal((double) record.getNum2() / (double) record.getNum1() * 100).setScale(2, RoundingMode.HALF_DOWN));
+            } else {
+                record.setNum4(new BigDecimal(0));
             }
             String templateId = record.getTemplateId();
             Long count = leaveService.lambdaQuery()

--
Gitblit v1.7.1