Bläddra i källkod

pms 瑞都看板 维保次数 修复bug

zhangcl 1 dag sedan
förälder
incheckning
c6ba22d93c

+ 20 - 0
yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/date/DateUtils.java

@@ -219,6 +219,26 @@ public class DateUtils {
         return result;
     }
 
+    /**
+     * 获取近6个月的日期范围
+     * @return
+     */
+    public static List<MonthRange> getRecentSixMonthRanges() {
+        List<MonthRange> result = new ArrayList<>();
+        YearMonth currentYearMonth = YearMonth.now();
+        YearMonth startYearMonth = currentYearMonth.minusMonths(5);
+
+        for (int i = 0; i < 6; i++) {
+            YearMonth yearMonth = startYearMonth.plusMonths(i);
+            String formattedMonth = yearMonth.toString(); // 格式为 yyyy-MM
+            LocalDateTime start = yearMonth.atDay(1).atStartOfDay();
+            LocalDateTime end = yearMonth.atEndOfMonth().atTime(LocalTime.MAX);
+            result.add(new MonthRange(formattedMonth, start, end, 0));
+        }
+
+        return result;
+    }
+
     public static class MonthRange {
         private  String yearMonth;
         private  LocalDateTime start;

+ 2 - 2
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/stat/IotStaticController.java

@@ -1795,14 +1795,14 @@ public class IotStaticController {
         LinkedList<String> mainResult = new LinkedList<>();
         lastYearMonthRanges.forEach(lastYearMonthRange -> {
             // 保养工单
-            OrderCount orderCount = orderCounts.stream().filter(e -> e.getMonth().equals(lastYearMonthRange)).findAny().orElse(null);
+            OrderCount orderCount = orderCounts.stream().filter(e -> lastYearMonthRange.equals(e.getMonth())).findAny().orElse(null);
             if (Objects.isNull(orderCount)) {
                 result.add("0");
             } else {
                 result.add(NumberUtils.formatNumber(orderCount.getOrderNum()));
             }
             // 维修工单
-            OrderCount mainCount = mainCounts.stream().filter(e -> e.getMonth().equals(lastYearMonthRange)).findAny().orElse(null);
+            OrderCount mainCount = mainCounts.stream().filter(e -> lastYearMonthRange.equals(e.getMonth())).findAny().orElse(null);
             if (Objects.isNull(mainCount)) {
                 mainResult.add("0");
             } else {