From 60e43e1bc0785a7151fd050b20b04f2047df2727 Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期六, 12 七月 2025 10:18:14 +0800
Subject: [PATCH] 点检添加周报校验

---
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/util/DateUtils.java |   75 +++++++++++++++++++++++++++++++++++++
 1 files changed, 75 insertions(+), 0 deletions(-)

diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/util/DateUtils.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/util/DateUtils.java
index fd0d32f..b6dc8c5 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/util/DateUtils.java
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/util/DateUtils.java
@@ -9,6 +9,7 @@
 import java.time.DayOfWeek;
 import java.time.LocalDate;
 import java.time.ZoneId;
+import java.time.format.DateTimeFormatter;
 import java.time.temporal.ChronoField;
 import java.time.temporal.ChronoUnit;
 import java.util.*;
@@ -1086,4 +1087,78 @@
 
         return dateString;
     }
+
+    /**
+     * 鑾峰彇鏈懆鐨勭涓�澶╂棩鏈燂紝 鏍煎紡涓猴細yyyy-MM-dd
+     * @return
+     */
+    public static Date getFirstDayOfWeek(String date) {
+        // 灏� java.util.Date 杞崲涓� LocalDate
+        LocalDate localDate = LocalDate.parse(date);
+
+        // 鑾峰彇鏈懆绗竴澶╋紙鍛ㄤ竴锛�
+        LocalDate firstDayOfWeek = localDate.with(DayOfWeek.MONDAY);
+
+        // 杞崲鍥� Date 绫诲瀷
+        return Date.from(firstDayOfWeek.atStartOfDay(ZoneId.systemDefault()).toInstant());
+    }
+
+    /**
+     * 鑾峰彇鏈懆鐨勭涓�澶╂棩鏈燂紝 鏍煎紡涓猴細yyyy-MM-dd
+     * @return
+     */
+    public static Date getFirstDayOfWeek(Date date) {
+        // 灏� java.util.Date 杞崲涓� LocalDate
+        LocalDate localDate = date.toInstant()
+                .atZone(ZoneId.systemDefault())
+                .toLocalDate();
+
+        // 鑾峰彇鏈懆绗竴澶╋紙鍛ㄤ竴锛�
+        LocalDate firstDayOfWeek = localDate.with(DayOfWeek.MONDAY);
+
+        // 杞崲鍥� Date 绫诲瀷
+        return Date.from(firstDayOfWeek.atStartOfDay(ZoneId.systemDefault()).toInstant());
+    }
+
+    /**
+     * 鑾峰彇鏈懆鐨勬渶鍚庝竴澶╂棩鏈燂紝 鏍煎紡涓猴細yyyy-MM-dd
+     * @return
+     */
+    public static Date getLastDayOfWeek(String date) {
+        // 灏� java.util.Date 杞崲涓� LocalDate
+        LocalDate localDate = LocalDate.parse(date);
+
+        // 鑾峰彇鏈懆绗竴澶╋紙鍛ㄦ棩锛�
+        LocalDate lastDayOfWeek = localDate.with(DayOfWeek.SUNDAY);
+
+        // 杞崲鍥� Date 绫诲瀷
+        return Date.from(lastDayOfWeek.atStartOfDay(ZoneId.systemDefault()).toInstant());
+    }
+
+    /**
+     * 鑾峰彇鏈懆鐨勬渶鍚庝竴澶╂棩鏈燂紝 鏍煎紡涓猴細yyyy-MM-dd
+     * @return
+     */
+    public static Date getLastDayOfWeek(Date date) {
+        // 灏� java.util.Date 杞崲涓� LocalDate
+        LocalDate localDate = date.toInstant()
+                .atZone(ZoneId.systemDefault())
+                .toLocalDate();
+        // 鑾峰彇鏈懆绗竴澶╋紙鍛ㄦ棩锛�
+        LocalDate lastDayOfWeek = localDate.with(DayOfWeek.SUNDAY);
+
+        // 杞崲鍥� Date 绫诲瀷
+        return Date.from(lastDayOfWeek.atStartOfDay(ZoneId.systemDefault()).toInstant());
+    }
+
+    public static boolean isSameDay(Date date1, Date date2) {
+        if (date1 == null || date2 == null) {
+            return false;
+        }
+
+        LocalDate localDate1 = date1.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
+        LocalDate localDate2 = date2.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
+
+        return localDate1.equals(localDate2);
+    }
 }

--
Gitblit v1.9.3