package com.aucma.dms.mapper;

import com.aucma.dms.domain.DmsRepairInstance;

import java.util.List;

/**
 * 检修工单;一是根据检修计划自动创建的检修工单，二是手工创建故障报修工单Mapper接口
 *
 * @author Open Platform
 * @date 2024-01-24
 */
public interface DmsRepairInstanceMapper
{
    /**
     * 查询检修工单;一是根据检修计划自动创建的检修工单，二是手工创建故障报修工单
     *
     * @param repairInstanceId 检修工单;一是根据检修计划自动创建的检修工单，二是手工创建故障报修工单主键
     * @return 检修工单;一是根据检修计划自动创建的检修工单，二是手工创建故障报修工单
     */
    public DmsRepairInstance selectDmsRepairInstanceByRepairInstanceId(Long repairInstanceId);

    /**
     * 查询检修工单;一是根据检修计划自动创建的检修工单，二是手工创建故障报修工单列表
     *
     * @param dmsRepairInstance 检修工单;一是根据检修计划自动创建的检修工单，二是手工创建故障报修工单
     * @return 检修工单;一是根据检修计划自动创建的检修工单，二是手工创建故障报修工单集合
     */
    public List<DmsRepairInstance> selectDmsRepairInstanceList(DmsRepairInstance dmsRepairInstance);

    /**
     * 新增检修工单;一是根据检修计划自动创建的检修工单，二是手工创建故障报修工单
     *
     * @param dmsRepairInstance 检修工单;一是根据检修计划自动创建的检修工单，二是手工创建故障报修工单
     * @return 结果
     */
    public int insertDmsRepairInstance(DmsRepairInstance dmsRepairInstance);

    /**
     * 修改检修工单;一是根据检修计划自动创建的检修工单，二是手工创建故障报修工单
     *
     * @param dmsRepairInstance 检修工单;一是根据检修计划自动创建的检修工单，二是手工创建故障报修工单
     * @return 结果
     */
    public int updateDmsRepairInstance(DmsRepairInstance dmsRepairInstance);

    /**
     * 删除检修工单;一是根据检修计划自动创建的检修工单，二是手工创建故障报修工单
     *
     * @param repairInstanceId 检修工单;一是根据检修计划自动创建的检修工单，二是手工创建故障报修工单主键
     * @return 结果
     */
    public int deleteDmsRepairInstanceByRepairInstanceId(Long repairInstanceId);

    /**
     * 批量删除检修工单;一是根据检修计划自动创建的检修工单，二是手工创建故障报修工单
     *
     * @param repairInstanceIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteDmsRepairInstanceByRepairInstanceIds(Long[] repairInstanceIds);

    // ===== 审批流相关方法 - 已废弃 =====
    /**
     * @deprecated 审批流功能已废弃,不再使用
     * 原功能:通过工单流程id查询顺序为1的流程id
     */
    // @Deprecated
    // Long selectWfProcessActivityId(Long wfPorcessId);
    // ===== 审批流相关方法结束 =====
}
