From 4e12d97ffef5d0a76867dd6518641f871ed4db6b Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期一, 21 四月 2025 16:50:50 +0800
Subject: [PATCH] 维修工单和维修报修状态同步

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamRepairOrderServiceImpl.java |   29 +++++++++++++++++++++++------
 1 files changed, 23 insertions(+), 6 deletions(-)

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..f76aff8 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;
+
     /**
      * 鍒嗛〉鍒楄〃
      *
@@ -118,6 +119,7 @@
         eamRepairOrder.setEquipmentId(eamReportRepair.getEquipmentId());
         eamRepairOrder.setRepairStatus(ReportRepairEnum.UNDER_REPAIR.name());
         eamRepairOrder.setActualStartTime(DateUtils.getNow());
+        eamRepairOrder.setIsUseSpare(0);
         LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         eamRepairOrder.setRepairer(user.getRealname());
         super.save(eamRepairOrder);
@@ -142,6 +144,8 @@
         } else {
             eamReportRepair.setReportStatus(ReportRepairEnum.UNDER_REPAIR.name());
             eamReportRepairService.updateById(eamReportRepair);
+            //鏇存柊璁惧缁翠慨鐘舵��
+            eamEquipmentExtendService.updateEquipmentRepairStatus(eamReportRepair.getEquipmentId(), EquipmentRepairStatus.UNDER_REPAIR.name());
         }
     }
 
@@ -156,6 +160,7 @@
     @EquipmentHistoryLog(operationTag = EquipmentOperationTagEnum.REPAIRED, businessTable = "eam_repair_order")
     public EamRepairOrder perform(EamRepairOrderRequest request) {
         EamRepairOrder eamRepairOrder = this.baseMapper.selectById(request.getId());
+        EamReportRepair eamReportRepair = eamReportRepairService.getById(eamRepairOrder.getReportId());
         if (eamRepairOrder == null) {
             throw new JeecgBootException("瀹℃壒鐨勬暟鎹凡鍒犻櫎锛岃鍒锋柊閲嶈瘯锛�");
         }
@@ -205,9 +210,10 @@
                     values.put("status", 1);
                     request.setComment("缁翠慨宸ュ崟杩涘叆绛夊浠剁姸鎬�");
                     eamRepairOrder.setRepairStatus(ReportRepairEnum.WAIT_SPARES.name());
+                    eamReportRepair.setReportStatus(ReportRepairEnum.WAIT_SPARES.name());
+                    eamRepairOrder.setIsUseSpare(1);
                 } else {
                     // 涓嶉渶瑕�
-                    EamReportRepair eamReportRepair = eamReportRepairService.getById(eamRepairOrder.getReportId());
                     values.put("dataId", eamRepairOrder.getId());
                     values.put("organization", "缁翠慨宸ュ崟杩涘叆鎶ヤ慨鍛樼‘璁ら樁娈�");
                     values.put("comment", "缁翠慨宸ュ崟杩涘叆鎶ヤ慨鍛樼‘璁ら樁娈�");
@@ -215,8 +221,10 @@
                     values.put("status", 0);
                     request.setComment("缁翠慨宸ュ崟杩涘叆鎶ヤ慨鍛樼‘璁ら樁娈�");
                     eamRepairOrder.setRepairStatus(ReportRepairEnum.WAIT_CONFIRM.name());
+                    eamReportRepair.setReportStatus(ReportRepairEnum.WAIT_CONFIRM.name());
                     eamRepairOrder.setFaultReason(request.getFaultReason());
                     eamRepairOrder.setRepairDescription(request.getRepairDescription());
+                    eamRepairOrder.setIsUseSpare(0);
                     // 澶勭悊闄勪欢
                     if (CollectionUtil.isNotEmpty(request.getImageFilesResult())) {
                         List<FileUploadResult> fileUploadResultList = request.getImageFilesResult();
@@ -228,6 +236,8 @@
                             log.error("JSON杞崲澶辫触锛�" + e.getMessage(), e);
                         }
                     }
+                    //鏇存柊璁惧缁翠慨鐘舵��
+                    eamEquipmentExtendService.updateEquipmentRepairStatus(eamReportRepair.getEquipmentId(), EquipmentRepairStatus.WAIT_CONFIRM.name());
                 }
                 break;
             case WAIT_SPARES:
@@ -239,10 +249,11 @@
                 values.put("status", 0);
                 request.setComment("缁翠慨宸ュ崟杩涘叆缁翠慨鍛樼户缁淮淇樁娈�");
                 eamRepairOrder.setRepairStatus(ReportRepairEnum.UNDER_REPAIR.name());
+                eamReportRepair.setReportStatus(ReportRepairEnum.UNDER_REPAIR.name());
+                eamRepairOrder.setSparePartDescription(request.getSparePartDescription());
                 break;
             case WAIT_CONFIRM:
                 // 寰呯‘璁�, 缁翠慨鍛樼淮淇畬鎴愶紝鎶ヤ慨浜虹‘璁ょ粨鏉熸祦绋�
-                EamReportRepair eamReportRepair = eamReportRepairService.getById(eamRepairOrder.getReportId());
                 values.put("dataId", eamRepairOrder.getId());
                 values.put("organization", "缁翠慨宸ュ崟娴佺▼缁撴潫");
                 values.put("comment", "缁翠慨宸ュ崟娴佺▼缁撴潫");
@@ -250,7 +261,10 @@
                 values.put("status", 0);
                 request.setComment("缁翠慨宸ュ崟杩涘叆鎶ヤ慨鍛樼‘璁ら樁娈�");
                 eamRepairOrder.setRepairStatus(ReportRepairEnum.COMPLETE.name());
+                eamReportRepair.setReportStatus(ReportRepairEnum.COMPLETE.name());
                 eamRepairOrder.setActualEndTime(new Date());
+                //鏇存柊璁惧缁翠慨鐘舵��
+                eamEquipmentExtendService.updateEquipmentRepairStatus(eamReportRepair.getEquipmentId(), EquipmentRepairStatus.NORMAL.name());
                 break;
         }
         request.setValues(values);
@@ -262,6 +276,8 @@
         }
         //淇濆瓨宸ュ崟
         this.baseMapper.updateById(eamRepairOrder);
+        // 鍚屾鏇存柊鎶ヤ慨琛ㄧ姸鎬�
+        eamReportRepairService.updateById(eamReportRepair);
         return eamRepairOrder;
     }
 
@@ -273,6 +289,7 @@
         EamReportRepair eamReportRepair = eamReportRepairService.getById(eamRepairOrder.getReportId());
         BeanUtils.copyProperties(eamReportRepair, eamRepairOrderResponse);
         eamRepairOrderResponse.setReportImageFiles(eamReportRepair.getImageFiles());
+        eamRepairOrderResponse.setImageFiles(eamRepairOrder.getImageFiles());
         return eamRepairOrderResponse;
     }
 

--
Gitblit v1.9.3