Lius
2025-04-25 8e9471d884fe129a1b36310d19771d087952ab57
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