zhaowei
2025-04-24 807e49bb82d42c1fd7226dbf042131609f368fb1
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;
    /**
@@ -121,7 +115,7 @@
        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());
        // 启动维修流程
@@ -202,15 +196,40 @@
                    if (StringUtils.isBlank(equipment.getEquipmentManager())) {
                        throw new JeecgBootException("设备未分配设备管理员,无法进入下级审批!");
                    }
                    values.put("dataId", eamRepairOrder.getId());
                    values.put("organization", "维修工单进入等备件状态");
                    values.put("comment", "维修工单进入等备件状态");
                    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);
                    if (StringUtils.isBlank(eamRepairOrder.getSparePartDescription())) {
                        values.put("dataId", eamRepairOrder.getId());
                        values.put("organization", "维修工单进入等备件状态");
                        values.put("comment", "维修工单进入等备件状态");
                        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 {
                        values.put("dataId", eamRepairOrder.getId());
                        values.put("organization", "维修工单进入报修员确认阶段");
                        values.put("comment", "维修工单进入报修员确认阶段");
                        values.put("NextAssignee", Arrays.asList(eamReportRepair.getCreateBy().split(",")));
                        request.setComment("维修工单进入等备件状态");
                        eamRepairOrder.setRepairStatus(ReportRepairEnum.WAIT_CONFIRM.name());
                        eamReportRepair.setReportStatus(ReportRepairEnum.WAIT_CONFIRM.name());
                        eamRepairOrder.setFaultReason(request.getFaultReason());
                        eamRepairOrder.setRepairDescription(request.getRepairDescription());
                        // 处理附件
                        if (CollectionUtil.isNotEmpty(request.getImageFilesResult())) {
                            List<FileUploadResult> fileUploadResultList = request.getImageFilesResult();
                            ObjectMapper mapper = new ObjectMapper();
                            try {
                                String referenceFile = mapper.writeValueAsString(fileUploadResultList);
                                eamRepairOrder.setImageFiles(referenceFile);
                            } catch (JsonProcessingException e) {
                                log.error("JSON转换失败:" + e.getMessage(), e);
                            }
                        }
                        //更新设备维修状态
                        eamEquipmentExtendService.updateEquipmentRepairStatus(eamReportRepair.getEquipmentId(), EquipmentRepairStatus.WAIT_CONFIRM.name());
                    }
                } else {
                    // 不需要
                    values.put("dataId", eamRepairOrder.getId());