From b74f5166371803f163d9ced66678deadf802bad1 Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期二, 22 四月 2025 17:18:47 +0800
Subject: [PATCH] 维修工单维修报修

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamRepairOrderServiceImpl.java |   37 ++++++++++++++++++++-----------------
 1 files changed, 20 insertions(+), 17 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 f0cefb9..f216734 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
@@ -37,10 +37,7 @@
 import org.jeecg.modules.flowable.service.IFlowTaskService;
 import org.jeecg.modules.mdc.util.DateUtils;
 import org.jeecg.modules.system.service.ISysBusinessCodeRuleService;
-import org.jeecg.modules.system.service.ISysUserService;
-import org.jeecg.modules.system.vo.UserSelector;
 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;
@@ -82,9 +79,6 @@
     private IFlowTaskService flowTaskService;
 
     @Resource
-    private ISysUserService sysUserService;
-
-    @Resource
     private IEamEquipmentExtendService eamEquipmentExtendService;
 
     /**
@@ -119,8 +113,9 @@
         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());
+        eamRepairOrder.setRepairer(user.getUsername());
         super.save(eamRepairOrder);
         EamEquipment eamEquipment = eamEquipmentService.getById(eamReportRepair.getEquipmentId());
         // 鍚姩缁翠慨娴佺▼
@@ -159,6 +154,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("瀹℃壒鐨勬暟鎹凡鍒犻櫎锛岃鍒锋柊閲嶈瘯锛�");
         }
@@ -186,7 +182,7 @@
             throw new JeecgBootException("璁惧涓嶅瓨鍦紝璇锋鏌ワ紒");
         }
 
-        ReportRepairEnum status = ReportRepairEnum.getInstance(request.getRepairStatus());
+        ReportRepairEnum status = ReportRepairEnum.getInstance(eamRepairOrder.getRepairStatus());
         if (status == null) {
             return null;
         }
@@ -195,31 +191,33 @@
         switch (status) {
             case UNDER_REPAIR:
                 //缁翠慨涓細涓嬩竴姝� 鍒ゆ柇鏄惁闇�瑕佸浠�, 闇�瑕佸浠惰浆璁惧绠$悊鍛橀鐢ㄥ浠�, 涓嶉渶瑕佸垯杞埌璁惧鎶ヤ慨鍛樼‘璁ょ淮淇畬鎴�
-                if (request.getStatus() == 1) {
+                if (request.getIsUseSpare() == 1) {
                     // 闇�瑕�
-                    List<UserSelector> userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getOrgId(), BusinessCodeConst.PCR0004);
-                    if (CollectionUtil.isEmpty(userSelectors)) {
+                    if (StringUtils.isBlank(equipment.getEquipmentManager())) {
                         throw new JeecgBootException("璁惧鏈垎閰嶈澶囩鐞嗗憳锛屾棤娉曡繘鍏ヤ笅绾у鎵癸紒");
                     }
                     values.put("dataId", eamRepairOrder.getId());
                     values.put("organization", "缁翠慨宸ュ崟杩涘叆绛夊浠剁姸鎬�");
                     values.put("comment", "缁翠慨宸ュ崟杩涘叆绛夊浠剁姸鎬�");
-                    values.put("NextAssignee", userSelectors);
+                    values.put("NextAssignee", Arrays.asList(equipment.getEquipmentManager().split(",")));
                     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", "缁翠慨宸ュ崟杩涘叆鎶ヤ慨鍛樼‘璁ら樁娈�");
-                    values.put("NextAssignee", eamReportRepair.getCreateBy());
+                    values.put("NextAssignee", Arrays.asList(eamReportRepair.getCreateBy().split(",")));
                     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();
@@ -240,21 +238,23 @@
                 values.put("dataId", eamRepairOrder.getId());
                 values.put("organization", "缁翠慨宸ュ崟杩涘叆缁翠慨鍛樼户缁淮淇樁娈�");
                 values.put("comment", "缁翠慨宸ュ崟杩涘叆缁翠慨鍛樼户缁淮淇樁娈�");
-                values.put("NextAssignee", eamRepairOrder.getRepairer());
+                values.put("NextAssignee", Arrays.asList(eamRepairOrder.getRepairer().split(",")));
                 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", "缁翠慨宸ュ崟娴佺▼缁撴潫");
-                values.put("NextAssignee", eamReportRepair.getCreateBy());
+                values.put("NextAssignee", Arrays.asList(eamReportRepair.getCreateBy().split(",")));
                 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());
@@ -269,6 +269,8 @@
         }
         //淇濆瓨宸ュ崟
         this.baseMapper.updateById(eamRepairOrder);
+        // 鍚屾鏇存柊鎶ヤ慨琛ㄧ姸鎬�
+        eamReportRepairService.updateById(eamReportRepair);
         return eamRepairOrder;
     }
 
@@ -280,6 +282,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