From c964d3043846a0459b8d2aacdf2f76bf5be2ad79 Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期二, 02 九月 2025 18:03:13 +0800
Subject: [PATCH] 三级保养工作计划单

---
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentExtendServiceImpl.java |  100 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 100 insertions(+), 0 deletions(-)

diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentExtendServiceImpl.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentExtendServiceImpl.java
index b7c322d..f75386d 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentExtendServiceImpl.java
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentExtendServiceImpl.java
@@ -1,14 +1,27 @@
 package org.jeecg.modules.eam.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import org.apache.commons.lang3.StringUtils;
+import org.jeecg.common.constant.CommonConstant;
+import org.jeecg.common.util.DateUtils;
+import org.jeecg.modules.eam.entity.EamEquipment;
 import org.jeecg.modules.eam.entity.EamEquipmentExtend;
+import org.jeecg.modules.eam.entity.EamThirdMaintenanceWorkPlanSheet;
 import org.jeecg.modules.eam.mapper.EamEquipmentExtendMapper;
+import org.jeecg.modules.eam.mapper.EamEquipmentMapper;
 import org.jeecg.modules.eam.service.IEamEquipmentExtendService;
+import org.jeecg.modules.eam.service.IEamThirdMaintenanceWorkPlanSheetService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.time.LocalDate;
+import java.time.temporal.TemporalAdjusters;
+import java.util.Date;
 
 /**
  * @Description: 璁惧鍙拌处鎵╁睍琛�
@@ -21,6 +34,13 @@
 
     @Resource
     private EamEquipmentExtendMapper eamEquipmentExtendMapper;
+
+    @Autowired
+    private IEamThirdMaintenanceWorkPlanSheetService eamThirdMaintenanceWorkPlanSheetService;
+
+    @Resource
+    private EamEquipmentMapper eamEquipmentMapper;
+
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -45,4 +65,84 @@
         eamEquipmentExtendMapper.updateById(entity);
         return true;
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean updateTechnologyParam(String equipmentId, String status, Date evaluationDate, String technologyGenerateFlag) {
+        if (StringUtils.isBlank(status) && StringUtils.isBlank(technologyGenerateFlag) && evaluationDate == null) {
+            return false;
+        }
+        EamEquipmentExtend entity = this.getBaseMapper().selectById(equipmentId);
+        UpdateWrapper<EamEquipmentExtend> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.eq("id", equipmentId);
+        if (StringUtils.isNotBlank(status)) {
+            entity.setTechnologyStatus(status);
+        }
+        if (StringUtils.isNotBlank(technologyGenerateFlag)) {
+            entity.setTechnologyGenerateFlag(technologyGenerateFlag);
+        }
+        if (evaluationDate != null) {
+            entity.setLatestTechnologyCheck(evaluationDate);
+            if (entity.getTechnologyCheckPeriod() != null) {
+                entity.setNextTechnologyCheck(DateUtils.addYear(entity.getLatestTechnologyCheck(), entity.getTechnologyCheckPeriod()));
+            }
+        }
+        return this.getBaseMapper().updateById(entity) > 0;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean updateThirdMaintenanceParam(String equipmentId, String status, Date evaluationDate, String thirdMaintenanceGenerateFlag) {
+        if (StringUtils.isBlank(status) && StringUtils.isBlank(thirdMaintenanceGenerateFlag) && evaluationDate == null) {
+            return false;
+        }
+        EamEquipmentExtend entity = this.getBaseMapper().selectById(equipmentId);
+        UpdateWrapper<EamEquipmentExtend> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.eq("id", equipmentId);
+        if (StringUtils.isNotBlank(status)) {
+            entity.setMaintenanceStatus(status);
+        }
+        if (StringUtils.isNotBlank(thirdMaintenanceGenerateFlag)) {
+            entity.setThirdMaintenanceGenerateFlag(thirdMaintenanceGenerateFlag);
+        }
+        if (evaluationDate != null) {
+            entity.setLatestThirdMaintenance(evaluationDate);
+            if (entity.getThirdMaintenancePeriod() != null) {
+                entity.setNextThirdMaintenance(DateUtils.addYear(entity.getLatestThirdMaintenance(), entity.getThirdMaintenancePeriod()));
+            }
+        }
+
+        EamEquipment eamEquipment = eamEquipmentMapper.selectById(equipmentId);
+        EamThirdMaintenanceWorkPlanSheet eamThirdMaintenanceWorkPlanSheet=new EamThirdMaintenanceWorkPlanSheet();
+        BeanUtils.copyProperties(eamEquipment,eamThirdMaintenanceWorkPlanSheet);
+        eamThirdMaintenanceWorkPlanSheet.setId(null);
+        eamThirdMaintenanceWorkPlanSheet.setMaintenanceDate(eamEquipment.getLatestThirdMaintenance());
+        eamThirdMaintenanceWorkPlanSheetService.add(eamThirdMaintenanceWorkPlanSheet);
+
+        return this.getBaseMapper().updateById(entity) > 0;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean updateSecondMaintenanceParam(String equipmentId, String status,String secondMaintenanceGenerateFlag){
+        if (StringUtils.isBlank(status) && StringUtils.isBlank(secondMaintenanceGenerateFlag)) {
+            return false;
+        }
+        EamEquipmentExtend entity = this.getBaseMapper().selectById(equipmentId);
+        UpdateWrapper<EamEquipmentExtend> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.eq("id", equipmentId);
+        if (StringUtils.isNotBlank(status)) {
+            entity.setMaintenanceStatus(status);
+        }
+        //浜屼繚榛樿鐢熸垚鍏釜鏈堝悗
+        // 杞崲涓篖ocalDate澶勭悊鏃ユ湡
+        LocalDate localDate = DateUtils.dateToLocalDate(entity.getLatestSecondMaintenance());
+        // 璁$畻鍏釜鏈堝悗鐨勬棩鏈�
+        LocalDate sixMonthsLater = localDate.plusMonths(6);
+        // 璋冩暣鍒板綋鏈堢殑鏈�鍚庝竴澶�
+        LocalDate lastDayOfMonth = sixMonthsLater.with(TemporalAdjusters.lastDayOfMonth());
+        entity.setNextSecondMaintenance(DateUtils.localDateToDate(lastDayOfMonth));
+
+        return this.getBaseMapper().updateById(entity) > 0;
+    }
 }

--
Gitblit v1.9.3