Lius
2025-04-21 4e12d97ffef5d0a76867dd6518641f871ed4db6b
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;
    }