From 5fad000e32ddbebcf83faae0cb57c5005734fe33 Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期一, 21 四月 2025 15:37:19 +0800
Subject: [PATCH] 维修流程处理

---
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/aspect/EquipmentHistoryLogAspect.java |   53 +++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 49 insertions(+), 4 deletions(-)

diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/aspect/EquipmentHistoryLogAspect.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/aspect/EquipmentHistoryLogAspect.java
index 1bde718..3175021 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/aspect/EquipmentHistoryLogAspect.java
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/aspect/EquipmentHistoryLogAspect.java
@@ -1,14 +1,17 @@
 package org.jeecg.modules.eam.aspect;
 
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.aspectj.lang.JoinPoint;
 import org.aspectj.lang.ProceedingJoinPoint;
 import org.aspectj.lang.annotation.*;
 import org.aspectj.lang.reflect.MethodSignature;
 import org.jeecg.modules.eam.aspect.annotation.EquipmentHistoryLog;
 import org.jeecg.modules.eam.constant.EquipmentOperationTagEnum;
-import org.jeecg.modules.eam.entity.EamEquipment;
-import org.jeecg.modules.eam.entity.EamEquipmentHistoryLog;
+import org.jeecg.modules.eam.constant.InspectionStatus;
+import org.jeecg.modules.eam.constant.ReportRepairEnum;
+import org.jeecg.modules.eam.constant.WeekMaintenanceStatusEnum;
+import org.jeecg.modules.eam.entity.*;
 import org.jeecg.modules.eam.service.IEamEquipmentHistoryLogService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -54,7 +57,9 @@
             log.setBusinessTable(syslog.businessTable());
             log.setOperationTag(syslog.operationTag().name());
             convertResult(log, syslog.operationTag(), result);
-            equipmentHistoryLogService.save(log);
+            if (StringUtils.isNotBlank(log.getEquipmentId())) {
+                equipmentHistoryLogService.save(log);
+            }
         }
     }
 
@@ -62,7 +67,7 @@
     private void convertResult(EamEquipmentHistoryLog log, EquipmentOperationTagEnum operationTag, Object result) {
         switch (operationTag) {
             case ACCEPTANCE:
-                if(result instanceof EamEquipment) {
+                if (result instanceof EamEquipment) {
                     EamEquipment equipment = (EamEquipment) result;
                     log.setEquipmentId(equipment.getId());
                     log.setBusinessId(equipment.getId());
@@ -72,14 +77,54 @@
                 }
                 break;
             case POINT_INSPECTION:
+                if (result instanceof EamInspectionOrder) {
+                    EamInspectionOrder order = (EamInspectionOrder) result;
+                    if (InspectionStatus.COMPLETE.name().equals(order.getInspectionStatus())) {
+                        log.setEquipmentId(order.getEquipmentId());
+                        log.setBusinessId(order.getId());
+                        log.setOperator(order.getOperator());
+                        log.setDescription(order.getConfirmComment());
+                        log.setCreateTime(order.getOperateTime());
+                    }
+                }
+                break;
+            case WEEK_MAINTENANCE:
+                if (result instanceof EamWeekMaintenanceOrder) {
+                    EamWeekMaintenanceOrder order = (EamWeekMaintenanceOrder) result;
+                    if (WeekMaintenanceStatusEnum.COMPLETE.name().equals(order.getMaintenanceStatus())) {
+                        log.setEquipmentId(order.getEquipmentId());
+                        log.setBusinessId(order.getId());
+                        log.setOperator(order.getOperator());
+                        log.setDescription(order.getFinalAcceptanceComment());
+                        log.setCreateTime(order.getActualEndTime());
+                    }
+                }
                 break;
             case SECOND_MAINTENANCE:
                 break;
             case THIRD_MAINTENANCE:
                 break;
             case REPORT_REPAIR:
+                if (result instanceof EamReportRepair) {
+                    EamReportRepair repair = (EamReportRepair) result;
+                    log.setEquipmentId(repair.getEquipmentId());
+                    log.setBusinessId(repair.getId());
+                    log.setOperator(repair.getCreateBy());
+                    log.setDescription(repair.getFaultDescription());
+                    log.setCreateTime(repair.getFaultStartTime());
+                }
                 break;
             case REPAIRED:
+                if (result instanceof EamRepairOrder) {
+                    EamRepairOrder order = (EamRepairOrder) result;
+                    if (ReportRepairEnum.COMPLETE.name().equals(order.getRepairStatus())) {
+                        log.setEquipmentId(order.getEquipmentId());
+                        log.setBusinessId(order.getId());
+                        log.setOperator(order.getRepairer());
+                        log.setDescription(order.getRepairDescription());
+                        log.setCreateTime(order.getActualEndTime());
+                    }
+                }
                 break;
             case MAJOR_REPAIR:
                 break;

--
Gitblit v1.9.3