From 8e9471d884fe129a1b36310d19771d087952ab57 Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期五, 25 四月 2025 09:48:29 +0800
Subject: [PATCH] 维修记录指派

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamRepairOrderServiceImpl.java |   45 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 45 insertions(+), 0 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 d65fb2a..b86ab14 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
@@ -25,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.request.EamReportRepairQuery;
 import org.jeecg.modules.eam.service.IEamEquipmentExtendService;
 import org.jeecg.modules.eam.service.IEamEquipmentService;
 import org.jeecg.modules.eam.service.IEamRepairOrderService;
@@ -144,6 +145,50 @@
     }
 
     /**
+     * 鎸囨淳
+     * @param eamReportRepairQuery
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void assign(EamReportRepairQuery eamReportRepairQuery) {
+        EamRepairOrder eamRepairOrder = new EamRepairOrder();
+        String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.REPAIR_ORDER_CODE_RULE);
+        eamRepairOrder.setRepairCode(codeSeq);
+        EamReportRepair eamReportRepair = eamReportRepairService.getById(eamReportRepairQuery.getId());
+        eamRepairOrder.setDelFlag(CommonConstant.DEL_FLAG_0);
+        eamRepairOrder.setEquipmentId(eamReportRepair.getEquipmentId());
+        eamRepairOrder.setRepairStatus(ReportRepairEnum.UNDER_REPAIR.name());
+        eamRepairOrder.setActualStartTime(DateUtils.getNow());
+        eamRepairOrder.setIsUseSpare(0);
+        eamRepairOrder.setRepairer(eamReportRepairQuery.getRepairer());
+        super.save(eamRepairOrder);
+        EamEquipment eamEquipment = eamEquipmentService.getById(eamReportRepair.getEquipmentId());
+        // 鍚姩缁翠慨娴佺▼
+        flowCommonService.initActBusiness("缁翠慨宸ュ崟鍙凤細" + codeSeq + ", 璁惧缂栧彿锛�" + eamEquipment.getEquipmentCode() + "寮�濮嬬淮淇�",
+                eamRepairOrder.getId(),
+                "IEamRepairOrderService",
+                "eam_repair",
+                null);
+        Map<String, Object> variables = new HashMap<>();
+        variables.put("dataId", eamRepairOrder.getId());
+        variables.put("organization", "缁翠慨宸ュ崟鍚姩娴佺▼");
+        variables.put("comment", "缁翠慨宸ュ崟鍚姩娴佺▼");
+        variables.put("proofreading", true);
+        List<String> usernames = new ArrayList<>();
+        usernames.add(eamReportRepairQuery.getRepairer());
+        variables.put("NextAssignee", usernames);
+        Result result = flowDefinitionService.startProcessInstanceByKey("eam_repair", variables);
+        if (!result.isSuccess()) {
+            super.removeById(eamRepairOrder);
+        } else {
+            eamReportRepair.setReportStatus(ReportRepairEnum.UNDER_REPAIR.name());
+            eamReportRepairService.updateById(eamReportRepair);
+            //鏇存柊璁惧缁翠慨鐘舵��
+            eamEquipmentExtendService.updateEquipmentRepairStatus(eamReportRepair.getEquipmentId(), EquipmentRepairStatus.UNDER_REPAIR.name());
+        }
+    }
+
+    /**
      * 娴佺▼鎿嶄綔
      *
      * @param request

--
Gitblit v1.9.3