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 |   24 ++++++++++--
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamRepairOrder.java            |    0 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamReportRepairService.java         |   11 ++++-
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamRepairOrderServiceImpl.java  |   15 +++++--
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java |   51 +++++++++++++++++++++++--
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportRepairController.java    |   15 +------
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamReportRepair.java           |    0 
 7 files changed, 90 insertions(+), 26 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 a1f4835..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
@@ -9,11 +9,9 @@
 import org.jeecg.modules.eam.aspect.annotation.EquipmentHistoryLog;
 import org.jeecg.modules.eam.constant.EquipmentOperationTagEnum;
 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.EamEquipment;
-import org.jeecg.modules.eam.entity.EamEquipmentHistoryLog;
-import org.jeecg.modules.eam.entity.EamInspectionOrder;
-import org.jeecg.modules.eam.entity.EamWeekMaintenanceOrder;
+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;
@@ -107,8 +105,26 @@
             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;
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamRepairOrder.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamRepairOrder.java
similarity index 100%
rename from lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamRepairOrder.java
rename to lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamRepairOrder.java
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamReportRepair.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamReportRepair.java
similarity index 100%
rename from lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamReportRepair.java
rename to lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamReportRepair.java
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportRepairController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportRepairController.java
index f09ad51..af0bc11 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportRepairController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportRepairController.java
@@ -71,19 +71,10 @@
     @ApiOperation(value = "鏁呴殰鎶ヤ慨-娣诲姞", notes = "鏁呴殰鎶ヤ慨-娣诲姞")
     @PostMapping(value = "/add")
     public Result<?> add(@RequestBody EamReportRepair eamReportRepair) {
-        eamReportRepair.setReportStatus(ReportRepairEnum.WAIT_REPAIR.name());
-        eamReportRepair.setDelFlag(CommonConstant.DEL_FLAG_0);
-        if (eamReportRepair.getImageFilesResult() != null) {
-            List<FileUploadResult> imageFilesResult = eamReportRepair.getImageFilesResult();
-            ObjectMapper mapper = new ObjectMapper();
-            try {
-                String referenceFile = mapper.writeValueAsString(imageFilesResult);
-                eamReportRepair.setImageFiles(referenceFile);
-            } catch (JsonProcessingException e) {
-                return Result.OK("娣诲姞澶辫触锛�");
-            }
+        EamReportRepair b = eamReportRepairService.add(eamReportRepair);
+        if(b == null) {
+            return Result.error("娣诲姞澶辫触锛�");
         }
-        eamReportRepairService.save(eamReportRepair);
         return Result.OK("娣诲姞鎴愬姛锛�");
     }
 
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamReportRepairService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamReportRepairService.java
index b952b85..5c303dc 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamReportRepairService.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamReportRepairService.java
@@ -30,7 +30,7 @@
      * @param detailList
      * @return
      */
-    boolean reportRepairFromMaintenance(String equipmentId, String reportUser, List<EamWeekMaintenanceOrderDetail> detailList);
+    EamReportRepair reportRepairFromMaintenance(String equipmentId, String reportUser, List<EamWeekMaintenanceOrderDetail> detailList);
 
 
     /**
@@ -38,5 +38,12 @@
      * @param detailList
      * @return
      */
-    boolean reportRepairFromInspection(String equipmentId, String reportUser, List<EamInspectionOrderDetail> detailList);
+    EamReportRepair reportRepairFromInspection(String equipmentId, String reportUser, List<EamInspectionOrderDetail> detailList);
+
+    /**
+     * 鏁呴殰淇濅慨
+     * @param eamReportRepair
+     * @return
+     */
+    EamReportRepair add(EamReportRepair eamReportRepair);
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamRepairOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamRepairOrderServiceImpl.java
index d3f73f0..f0cefb9 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamRepairOrderServiceImpl.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamRepairOrderServiceImpl.java
@@ -17,10 +17,7 @@
 import org.jeecg.common.exception.JeecgBootException;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.modules.eam.aspect.annotation.EquipmentHistoryLog;
-import org.jeecg.modules.eam.constant.BusinessCodeConst;
-import org.jeecg.modules.eam.constant.EquipmentOperationTagEnum;
-import org.jeecg.modules.eam.constant.ReportRepairEnum;
-import org.jeecg.modules.eam.constant.WeekMaintenanceStatusEnum;
+import org.jeecg.modules.eam.constant.*;
 import org.jeecg.modules.eam.entity.EamEquipment;
 import org.jeecg.modules.eam.entity.EamRepairOrder;
 import org.jeecg.modules.eam.entity.EamReportRepair;
@@ -28,6 +25,7 @@
 import org.jeecg.modules.eam.request.EamRepairOrderQuery;
 import org.jeecg.modules.eam.request.EamRepairOrderRequest;
 import org.jeecg.modules.eam.request.EamRepairOrderResponse;
+import org.jeecg.modules.eam.service.IEamEquipmentExtendService;
 import org.jeecg.modules.eam.service.IEamEquipmentService;
 import org.jeecg.modules.eam.service.IEamRepairOrderService;
 import org.jeecg.modules.eam.service.IEamReportRepairService;
@@ -86,6 +84,9 @@
     @Resource
     private ISysUserService sysUserService;
 
+    @Resource
+    private IEamEquipmentExtendService eamEquipmentExtendService;
+
     /**
      * 鍒嗛〉鍒楄〃
      *
@@ -142,6 +143,8 @@
         } else {
             eamReportRepair.setReportStatus(ReportRepairEnum.UNDER_REPAIR.name());
             eamReportRepairService.updateById(eamReportRepair);
+            //鏇存柊璁惧缁翠慨鐘舵��
+            eamEquipmentExtendService.updateEquipmentRepairStatus(eamReportRepair.getEquipmentId(), EquipmentRepairStatus.UNDER_REPAIR.name());
         }
     }
 
@@ -228,6 +231,8 @@
                             log.error("JSON杞崲澶辫触锛�" + e.getMessage(), e);
                         }
                     }
+                    //鏇存柊璁惧缁翠慨鐘舵��
+                    eamEquipmentExtendService.updateEquipmentRepairStatus(eamReportRepair.getEquipmentId(), EquipmentRepairStatus.WAIT_CONFIRM.name());
                 }
                 break;
             case WAIT_SPARES:
@@ -251,6 +256,8 @@
                 request.setComment("缁翠慨宸ュ崟杩涘叆鎶ヤ慨鍛樼‘璁ら樁娈�");
                 eamRepairOrder.setRepairStatus(ReportRepairEnum.COMPLETE.name());
                 eamRepairOrder.setActualEndTime(new Date());
+                //鏇存柊璁惧缁翠慨鐘舵��
+                eamEquipmentExtendService.updateEquipmentRepairStatus(eamReportRepair.getEquipmentId(), EquipmentRepairStatus.NORMAL.name());
                 break;
         }
         request.setValues(values);
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java
index 1e28e3a..91045ef 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java
@@ -2,22 +2,33 @@
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.api.vo.FileUploadResult;
+import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.modules.eam.aspect.annotation.EquipmentHistoryLog;
+import org.jeecg.modules.eam.constant.EquipmentMaintenanceStatus;
+import org.jeecg.modules.eam.constant.EquipmentOperationTagEnum;
+import org.jeecg.modules.eam.constant.EquipmentRepairStatus;
 import org.jeecg.modules.eam.constant.ReportRepairEnum;
 import org.jeecg.modules.eam.entity.EamInspectionOrderDetail;
 import org.jeecg.modules.eam.entity.EamReportRepair;
 import org.jeecg.modules.eam.entity.EamWeekMaintenanceOrderDetail;
 import org.jeecg.modules.eam.mapper.EamReportRepairMapper;
 import org.jeecg.modules.eam.request.EamReportRepairQuery;
+import org.jeecg.modules.eam.service.IEamEquipmentExtendService;
 import org.jeecg.modules.eam.service.IEamReportRepairService;
+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.util.ArrayList;
 import java.util.Arrays;
 import java.util.Date;
@@ -30,6 +41,9 @@
  */
 @Service
 public class EamReportRepairServiceImpl extends ServiceImpl<EamReportRepairMapper, EamReportRepair> implements IEamReportRepairService {
+
+    @Resource
+    private IEamEquipmentExtendService eamEquipmentExtendService;
 
     /**
      * 鍒嗛〉鍒楄〃
@@ -55,7 +69,8 @@
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public boolean reportRepairFromMaintenance(String equipmentId, String reportUser, List<EamWeekMaintenanceOrderDetail> detailList) {
+    @EquipmentHistoryLog(operationTag = EquipmentOperationTagEnum.REPORT_REPAIR, businessTable = "eam_report_repair")
+    public EamReportRepair reportRepairFromMaintenance(String equipmentId, String reportUser, List<EamWeekMaintenanceOrderDetail> detailList) {
         StringBuilder sb = new StringBuilder();
         detailList.forEach(detail -> {
             sb.append(detail.getItemCode()).append("銆�");
@@ -72,12 +87,15 @@
         entity.setFaultType(CommonConstant.DEFAULT_1);
         entity.setReportStatus(ReportRepairEnum.WAIT_REPAIR.name());
         this.baseMapper.insert(entity);
-        return true;
+        //鏇存柊璁惧缁翠慨鐘舵��
+        eamEquipmentExtendService.updateEquipmentRepairStatus(entity.getEquipmentId(), EquipmentRepairStatus.WAIT_REPAIR.name());
+        return entity;
     }
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public boolean reportRepairFromInspection(String equipmentId, String reportUser, List<EamInspectionOrderDetail> detailList) {
+    @EquipmentHistoryLog(operationTag = EquipmentOperationTagEnum.REPORT_REPAIR, businessTable = "eam_report_repair")
+    public EamReportRepair reportRepairFromInspection(String equipmentId, String reportUser, List<EamInspectionOrderDetail> detailList) {
         StringBuilder sb = new StringBuilder();
         detailList.forEach(detail -> {
             sb.append(detail.getItemCode()).append("銆�");
@@ -94,6 +112,31 @@
         entity.setFaultType(CommonConstant.DEFAULT_1);
         entity.setReportStatus(ReportRepairEnum.WAIT_REPAIR.name());
         this.baseMapper.insert(entity);
-        return true;
+        //鏇存柊璁惧缁翠慨鐘舵��
+        eamEquipmentExtendService.updateEquipmentRepairStatus(entity.getEquipmentId(), EquipmentRepairStatus.WAIT_REPAIR.name());
+        return entity;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    @EquipmentHistoryLog(operationTag = EquipmentOperationTagEnum.REPORT_REPAIR, businessTable = "eam_report_repair")
+    public EamReportRepair add(EamReportRepair eamReportRepair) {
+        eamReportRepair.setReportStatus(ReportRepairEnum.WAIT_REPAIR.name());
+        eamReportRepair.setDelFlag(CommonConstant.DEL_FLAG_0);
+        // 闄勪欢澶勭悊
+        if (eamReportRepair.getImageFilesResult() != null) {
+            List<FileUploadResult> imageFilesResult = eamReportRepair.getImageFilesResult();
+            ObjectMapper mapper = new ObjectMapper();
+            try {
+                String referenceFile = mapper.writeValueAsString(imageFilesResult);
+                eamReportRepair.setImageFiles(referenceFile);
+            } catch (JsonProcessingException e) {
+                return null;
+            }
+        }
+        this.baseMapper.insert(eamReportRepair);
+        //鏇存柊璁惧缁翠慨鐘舵��
+        eamEquipmentExtendService.updateEquipmentRepairStatus(eamReportRepair.getEquipmentId(), EquipmentRepairStatus.WAIT_REPAIR.name());
+        return eamReportRepair;
     }
 }

--
Gitblit v1.9.3