From 0d06048c5d560e301bf17fad476975c8ffffcb56 Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期五, 05 九月 2025 16:07:31 +0800
Subject: [PATCH] 添加三级保养工作计划单生成规则

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java |   46 +++-------------------------------------------
 1 files changed, 3 insertions(+), 43 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java
index a0a1d4e..4351669 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java
@@ -24,6 +24,7 @@
 import org.jeecg.modules.eam.request.EamEquipmentQuery;
 import org.jeecg.modules.eam.service.IEamEquipmentExtendService;
 import org.jeecg.modules.eam.service.IEamEquipmentService;
+import org.jeecg.modules.eam.service.IEamThirdMaintenanceWorkPlanSheetService;
 import org.jeecg.modules.eam.vo.EamEquipmentTree;
 import org.jeecg.modules.eam.vo.EquipmentSearchResult;
 import org.jeecg.modules.system.entity.BaseFactory;
@@ -335,7 +336,7 @@
                     if (eamEquipment.getNextThirdMaintenance() != null &&
                             eamEquipment.getThirdMaintenancePeriod() != null) {
 
-                        calculateMaintenanceDates(
+                        org.jeecg.common.util.DateUtils.calculateMaintenanceDates(
                                 eamEquipment.getNextThirdMaintenance(),
                                 eamEquipment.getThirdMaintenancePeriod(),
                                 newDate -> eamEquipment.setNextThirdMaintenance(newDate),
@@ -347,7 +348,7 @@
                     if (eamEquipment.getNextTechnologyCheck() != null &&
                             eamEquipment.getTechnologyCheckPeriod() != null) {
 
-                        calculateMaintenanceDates(
+                        org.jeecg.common.util.DateUtils.calculateMaintenanceDates(
                                 eamEquipment.getNextTechnologyCheck(),
                                 eamEquipment.getTechnologyCheckPeriod(),
                                 newDate -> eamEquipment.setNextTechnologyCheck(newDate),
@@ -444,47 +445,6 @@
             return Result.OK(items);
         }catch (Exception e) {
             return Result.error("鏁版嵁杞瘧澶辫触锛�");
-        }
-    }
-
-    // 鏃ユ湡璁$畻宸ュ叿鏂规硶
-    private void calculateMaintenanceDates(Date nextDate, Integer periodYears,
-                                           Consumer<Date> setNextMaintenance,
-                                           Consumer<Date> setLatestMaintenance) {
-        if (nextDate == null || periodYears == null || periodYears <= 0) {
-            return;
-        }
-
-        // 杞崲涓篔ava 8鏃ユ湡绫诲瀷
-        LocalDate nextLocal = nextDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
-        LocalDate today = LocalDate.now();
-
-        // 纭繚鏈夋晥鐨勮绠楀懆鏈�
-        int period = Math.max(1, periodYears); // 闃叉浼犲叆0鎴栬礋鍊�
-
-        if (nextLocal.isAfter(today)) {
-            // 鏈繃鏈燂細璁$畻鏈�杩戠淮鎶ゆ棩鏈�
-            setLatestMaintenance.accept(
-                    Date.from(nextLocal.minusYears(period).atStartOfDay()
-                            .atZone(ZoneId.systemDefault()).toInstant())
-            );
-        } else {
-            // 宸茶繃鏈燂細璁$畻鏂扮殑涓嬫缁存姢鏃ユ湡
-            while (!nextLocal.isAfter(today)) {
-                nextLocal = nextLocal.plusYears(period);
-            }
-
-            // 璁剧疆鏂版棩鏈�
-            setNextMaintenance.accept(
-                    Date.from(nextLocal.atStartOfDay()
-                            .atZone(ZoneId.systemDefault()).toInstant())
-            );
-
-            // 璁$畻鏈�杩戠淮鎶ゆ棩鏈�
-            setLatestMaintenance.accept(
-                    Date.from(nextLocal.minusYears(period).atStartOfDay()
-                            .atZone(ZoneId.systemDefault()).toInstant())
-            );
         }
     }
 

--
Gitblit v1.9.3