From e0296ea7a882b58e8ff44d0288846279dc99b7e0 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期三, 14 十月 2026 14:48:25 +0800
Subject: [PATCH] fix: 周、月、季度计算修改

---
 src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java |   35 +++++++++++++----------------------
 1 files changed, 13 insertions(+), 22 deletions(-)

diff --git a/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java b/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
index 46c6f58..0f854d1 100644
--- a/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
+++ b/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
@@ -1159,7 +1159,6 @@
                         BigDecimal::add));
 
 
-
         Map<String, BigDecimal> expenseMap = expenseList.stream()
                 .collect(Collectors.toMap(
                         IncomeExpenseAnalysisDto::getDateStr,
@@ -1705,45 +1704,37 @@
         LocalDate endDate = range[1];
 
         String startStr = startDate.toString();
-        String endStr = endDate.toString();
+        String endStr = endDate.plusDays(1).toString();
 
         List<QualityInspect> list = qualityInspectMapper.selectList(
                 new LambdaQueryWrapper<QualityInspect>()
                         .eq(QualityInspect::getInspectType, inspectType)
                         .eq(QualityInspect::getInspectState, 1)
                         .ge(QualityInspect::getCheckTime, startStr)
-                        .le(QualityInspect::getCheckTime, endStr));
+                        .lt(QualityInspect::getCheckTime, endStr));
 
         return buildQualifiedAnalysis(list);
     }
 
     private LocalDate[] calcDateRange(Integer type) {
-        LocalDate today = LocalDate.now();
+        int rangeType = (type == null) ? 1 : type;
+        LocalDate anchor = LocalDate.now();
         LocalDate startDate;
-        LocalDate endDate;
 
-        switch (type) {
-            case 1: // 鍛�
-                startDate = today.with(DayOfWeek.MONDAY);
-                endDate = today.with(DayOfWeek.SUNDAY);
+        switch (rangeType) {
+            case 2: // 杩戜竴鏈�
+                startDate = anchor.minusMonths(1).plusDays(1);
                 break;
-            case 2: // 鏈�
-                startDate = today.with(TemporalAdjusters.firstDayOfMonth());
-                endDate = today.with(TemporalAdjusters.lastDayOfMonth());
+            case 3: // 杩戜竴瀛e害
+                startDate = anchor.minusMonths(3).plusDays(1);
                 break;
-            case 3: // 瀛e害
-                int currentMonth = today.getMonthValue();
-                int startMonth = ((currentMonth - 1) / 3) * 3 + 1;
-                startDate = LocalDate.of(today.getYear(), startMonth, 1);
-                endDate = LocalDate.of(today.getYear(), startMonth + 2, 1)
-                        .with(TemporalAdjusters.lastDayOfMonth());
-                break;
+            case 1: // 杩戜竴鍛�
             default:
-                startDate = today.with(DayOfWeek.MONDAY);
-                endDate = today.with(DayOfWeek.SUNDAY);
+                startDate = anchor.minusDays(6);
+                break;
         }
 
-        return new LocalDate[]{startDate, endDate};
+        return new LocalDate[]{startDate, anchor};
     }
 
     private QualityQualifiedAnalysisDto buildQualifiedAnalysis(List<QualityInspect> list) {

--
Gitblit v1.9.3