zhangherong
2025-04-21 ebc4996578cc06cacda5561a45a4dfc2c951d070
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamWeekMaintenanceOrderServiceImpl.java
@@ -3,6 +3,7 @@
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -20,19 +21,15 @@
import org.jeecg.common.exception.JeecgBootException;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.common.util.oConvertUtils;
import org.jeecg.modules.eam.constant.BusinessCodeConst;
import org.jeecg.modules.eam.constant.OrderCreationMethodEnum;
import org.jeecg.modules.eam.constant.WeekMaintenanceStatusEnum;
import org.jeecg.modules.eam.aspect.annotation.EquipmentHistoryLog;
import org.jeecg.modules.eam.constant.*;
import org.jeecg.modules.eam.entity.EamEquipment;
import org.jeecg.modules.eam.entity.EamWeekMaintenanceOrder;
import org.jeecg.modules.eam.entity.EamWeekMaintenanceOrderDetail;
import org.jeecg.modules.eam.mapper.EamWeekMaintenanceOrderMapper;
import org.jeecg.modules.eam.request.EamWeekMaintenanceQuery;
import org.jeecg.modules.eam.request.EamWeekMaintenanceRequest;
import org.jeecg.modules.eam.service.IEamEquipmentService;
import org.jeecg.modules.eam.service.IEamReportRepairService;
import org.jeecg.modules.eam.service.IEamWeekMaintenanceOrderDetailService;
import org.jeecg.modules.eam.service.IEamWeekMaintenanceOrderService;
import org.jeecg.modules.eam.service.*;
import org.jeecg.modules.flowable.apithird.business.entity.FlowMyBusiness;
import org.jeecg.modules.flowable.apithird.business.service.IFlowMyBusinessService;
import org.jeecg.modules.flowable.apithird.service.FlowCallBackServiceI;
@@ -81,6 +78,8 @@
    private IEamEquipmentService eamEquipmentService;
    @Autowired
    private IEamReportRepairService eamReportRepairService;
    @Autowired
    private IEamEquipmentExtendService eamEquipmentExtendService;
    @Override
    @Transactional(rollbackFor = Exception.class)
@@ -94,7 +93,7 @@
        order.setRemark(request.getRemark());
        //状态初始化
        order.setMaintenanceStatus(WeekMaintenanceStatusEnum.WAIT_MAINTENANCE.name());
        order.setCreationMethod(OrderCreationMethodEnum.MANUAL.name());
        order.setCreationMethod(request.getCreationMethod());
        //删除标记
        order.setDelFlag(CommonConstant.DEL_FLAG_0);
        eamWeekMaintenanceOrderMapper.insert(order);
@@ -132,6 +131,8 @@
                eamWeekMaintenanceOrderMapper.updateById(order);
                return result.isSuccess();
            }
            //更新设备保养状态
            eamEquipmentExtendService.updateEquipmentMaintenanceStatus(order.getEquipmentId(), EquipmentMaintenanceStatus.UNDER_MAINTENANCE.name());
        }
        return true;
@@ -252,6 +253,8 @@
                eamWeekMaintenanceOrderMapper.updateById(entity);
                return result.isSuccess();
            }
            //更新设备保养状态
            eamEquipmentExtendService.updateEquipmentMaintenanceStatus(entity.getEquipmentId(), EquipmentMaintenanceStatus.UNDER_MAINTENANCE.name());
        }
        return true;
    }
@@ -290,6 +293,8 @@
        variables.put("NextAssignee", usernames);
        Result result = flowDefinitionService.startProcessInstanceByKey("week_maintenance_process", variables);
        if (result != null) {
            //更新设备保养状态
            eamEquipmentExtendService.updateEquipmentMaintenanceStatus(entity.getEquipmentId(), EquipmentMaintenanceStatus.UNDER_MAINTENANCE.name());
            return result.isSuccess();
        }
        return true;
@@ -297,7 +302,8 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public boolean approval(EamWeekMaintenanceRequest request) {
    @EquipmentHistoryLog(operationTag = EquipmentOperationTagEnum.WEEK_MAINTENANCE, businessTable = "eam_week_maintenance_order")
    public EamWeekMaintenanceOrder approval(EamWeekMaintenanceRequest request) {
        EamWeekMaintenanceOrder entity = eamWeekMaintenanceOrderMapper.selectById(request.getId());
        if (entity == null) {
            throw new JeecgBootException("审批的数据已删除,请刷新重试!");
@@ -330,7 +336,7 @@
        WeekMaintenanceStatusEnum status = WeekMaintenanceStatusEnum.getInstance(entity.getMaintenanceStatus());
        if (status == null) {
            return false;
            return null;
        }
        //流程变量
        Map<String, Object> values = new HashMap<>();
@@ -365,6 +371,8 @@
                if (CollectionUtil.isNotEmpty(request.getTableDetailList())) {
                    eamWeekMaintenanceOrderDetailService.updateBatchById(request.getTableDetailList());
                }
                //更新设备保养状态
                eamEquipmentExtendService.updateEquipmentMaintenanceStatus(entity.getEquipmentId(), EquipmentMaintenanceStatus.WAIT_CONFIRM.name());
                break;
            case WAIT_CONFIRM:
                if(StringUtils.isBlank(equipment.getEquipmentManager())) {
@@ -447,6 +455,8 @@
                        log.error("JSON转换失败:" + e.getMessage(), e);
                    }
                }
                //更新设备保养状态
                eamEquipmentExtendService.updateEquipmentMaintenanceStatus(entity.getEquipmentId(), EquipmentMaintenanceStatus.NORMAL.name());
                break;
        }
        request.setValues(values);
@@ -458,7 +468,19 @@
        }
        //保存工单
        eamWeekMaintenanceOrderMapper.updateById(entity);
        return true;
        return entity;
    }
    @Override
    public List<EamWeekMaintenanceOrder> selectUnCompleteOrder(String expiredDate) {
        LambdaQueryWrapper<EamWeekMaintenanceOrder> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.lt(EamWeekMaintenanceOrder::getMaintenanceDate, expiredDate);
        List<String> unCompleteStatus = new ArrayList<>();
        unCompleteStatus.add(WeekMaintenanceStatusEnum.WAIT_MAINTENANCE.name());
        unCompleteStatus.add(WeekMaintenanceStatusEnum.UNDER_MAINTENANCE.name());
        queryWrapper.in(EamWeekMaintenanceOrder::getMaintenanceStatus, unCompleteStatus);
        queryWrapper.orderByAsc(EamWeekMaintenanceOrder::getMaintenanceDate);
        return eamWeekMaintenanceOrderMapper.selectList(queryWrapper);
    }
    private boolean isUserAuthorized(FlowMyBusiness flowMyBusiness, LoginUser user) {