package com.hw.dms.service;

import java.util.List;
import com.hw.dms.domain.DmsRepairInstance;

/**
 * 检修工单;一是根据检修计划自动创建的检修工单，二是手工创建故障报修工单Service接口
 *
 * @author Open Platform
 * @date 2024-01-24
 */
public interface IDmsRepairInstanceService
{
    /**
     * 查询检修工单;一是根据检修计划自动创建的检修工单，二是手工创建故障报修工单
     *
     * @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 repairInstanceIds 需要删除的检修工单;一是根据检修计划自动创建的检修工单，二是手工创建故障报修工单主键集合
     * @return 结果
     */
    public int deleteDmsRepairInstanceByRepairInstanceIds(Long[] repairInstanceIds);

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

    int insertDmsRepairInstancePDA(DmsRepairInstance dmsRepairInstance);
}
