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-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java |   40 ++++++++++++++++++++++++++++++++--------
 1 files changed, 32 insertions(+), 8 deletions(-)

diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java
index a3d1f87..452d3ab 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java
@@ -68,6 +68,8 @@
     private IBaseFactoryService baseFactoryService;
     @Autowired
     private IEamThirdMaintenanceWorkPlanSheetService eamThirdMaintenanceWorkPlanSheetService;
+    @Autowired
+    private IEamEquipmentExtendService iEamEquipmentExtendService;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -88,12 +90,9 @@
         eamEquipmentExtend.setRepairStatus(EquipmentRepairStatus.NORMAL.name());
         equipmentExtendService.save(eamEquipmentExtend);
 
-        //涓変繚
-        EamThirdMaintenanceWorkPlanSheet eamThirdMaintenanceWorkPlanSheet=new EamThirdMaintenanceWorkPlanSheet();
-        BeanUtils.copyProperties(eamEquipment,eamThirdMaintenanceWorkPlanSheet);
-        eamThirdMaintenanceWorkPlanSheet.setId(null);
-        eamThirdMaintenanceWorkPlanSheet.setMaintenanceDate(eamEquipment.getLatestThirdMaintenance());
-        eamThirdMaintenanceWorkPlanSheetService.add(eamThirdMaintenanceWorkPlanSheet);
+        // 澶勭悊涓変繚淇濆吇璁″垝锛堜笉鍐嶈繘琛屾棩鏈熸瘮杈冿級
+        eamThirdMaintenanceWorkPlanSheetService.createMaintenancePlan(eamEquipment, eamEquipment.getLatestThirdMaintenance());
+        eamThirdMaintenanceWorkPlanSheetService.createMaintenancePlan(eamEquipment, eamEquipment.getNextThirdMaintenance());
 
         //鎻掑叆璁惧灞ュ巻   @EquipmentHistoryLog
         return eamEquipment;
@@ -105,9 +104,34 @@
      */
     @Override
     public EamEquipment updateEquipment(EamEquipment eamEquipment){
-        if (eamEquipment == null) {
-            return null;
+        if (eamEquipment == null) return null;
+
+        if (eamEquipment.getNextThirdMaintenance() != null &&
+                eamEquipment.getThirdMaintenancePeriod() != null) {
+
+            org.jeecg.common.util.DateUtils.calculateMaintenanceDates(
+                    eamEquipment.getNextThirdMaintenance(),
+                    eamEquipment.getThirdMaintenancePeriod(),
+                    newDate -> eamEquipment.setNextThirdMaintenance(newDate),
+                    latestDate -> eamEquipment.setLatestThirdMaintenance(latestDate)
+            );
         }
+
+        // 鑾峰彇鏃ф暟鎹�
+        EamEquipmentExtend old = iEamEquipmentExtendService.getById(eamEquipment.getId());
+        if (old == null) return null;
+
+        // 鎻愬彇鏂版棫鏃ユ湡閬垮厤閲嶅璁块棶
+        Date newLatest = eamEquipment.getLatestThirdMaintenance();
+        Date newNext = eamEquipment.getNextThirdMaintenance();
+        Date oldLatest = old.getLatestThirdMaintenance();
+        Date oldNext = old.getNextThirdMaintenance();
+
+        // 澶勭悊淇濆吇鏃ユ湡鍙樻洿
+        eamThirdMaintenanceWorkPlanSheetService.processMaintenanceDateChange(eamEquipment, oldLatest, newLatest);
+        eamThirdMaintenanceWorkPlanSheetService.processMaintenanceDateChange(eamEquipment, oldNext, newNext);
+
+        // 鏇存柊涓昏〃鍜屾墿灞曡〃
         eamEquipmentMapper.updateById(eamEquipment);
         EamEquipmentExtend eamEquipmentExtend = new EamEquipmentExtend();
         BeanUtils.copyProperties(eamEquipment, eamEquipmentExtend);

--
Gitblit v1.9.3