From 75d26035001d85c12dc3ca93455b0fee477c3f77 Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期一, 03 三月 2025 16:47:58 +0800
Subject: [PATCH] 看板设备状态概况及月利用路趋势接口

---
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/util/DateUtils.java |   40 ++++++++++++++++++++++++++++++++++++++--
 1 files changed, 38 insertions(+), 2 deletions(-)

diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/util/DateUtils.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/util/DateUtils.java
index 2c31126..0129bd6 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/util/DateUtils.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/util/DateUtils.java
@@ -1,8 +1,6 @@
 package org.jeecg.modules.mdc.util;
 
 
-import io.swagger.models.auth.In;
-
 import java.math.BigDecimal;
 import java.text.DecimalFormat;
 import java.text.ParseException;
@@ -10,6 +8,8 @@
 import java.time.DayOfWeek;
 import java.time.LocalDate;
 import java.time.ZoneId;
+import java.time.format.DateTimeFormatter;
+import java.time.format.TextStyle;
 import java.time.temporal.ChronoField;
 import java.time.temporal.ChronoUnit;
 import java.util.*;
@@ -1098,4 +1098,40 @@
 
         return formattedHours + "灏忔椂" + formattedMinutes + "鍒�" + formattedSeconds + "绉�";
     }
+
+
+    public static List<String[]> generateMonthlyDateRanges(String inputDate) {
+        List<String[]> dateRanges = new ArrayList<>();
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
+
+        // 瑙f瀽浼犲叆鐨勬棩鏈�
+        LocalDate date = LocalDate.parse(inputDate, formatter);
+
+        // 濡傛灉褰撳墠鏃ユ湡鏄�18鍙锋垨涔嬪墠锛岀粨鏉熸棩鏈熸槸涓婁釜鏈堢殑18鍙�
+        LocalDate endDate = date.getDayOfMonth() <= 18
+                ? date.minusMonths(1).withDayOfMonth(18)
+                : date.withDayOfMonth(18);
+
+        // 寰幆鐢熸垚12涓湀鐨勬棩鏈熻寖鍥�
+        for (int i = 0; i < 12; i++) {
+            // 寮�濮嬫棩鏈燂細涓婁笂涓湀鐨�19鍙�
+            LocalDate startDate = endDate.minusMonths(1).withDayOfMonth(19);
+            String startDateStr = startDate.format(formatter);
+            String endDateStr = endDate.format(formatter);
+
+            // 鑾峰彇鏈堜唤鍚嶇О锛堝锛�2鏈堬級
+            String monthName = endDate.getMonth().getDisplayName(TextStyle.FULL, Locale.CHINA);
+
+            // 灏嗘棩鏈熻寖鍥村拰鏈堜唤鍚嶇О娣诲姞鍒伴泦鍚堜腑锛堝�掑簭鎻掑叆锛�
+            dateRanges.add(0, new String[]{startDateStr, endDateStr, monthName});
+
+            // 鍥為��鍒颁笂涓湀鐨�18鍙�
+            endDate = endDate.minusMonths(1).withDayOfMonth(18);
+        }
+
+        return dateRanges;
+    }
+
+
+
 }

--
Gitblit v1.9.3