package com.aucma.dms.service;

import com.aucma.dms.domain.DmsRecordShutDown;

import java.util.List;

/**
 * 停机记录Service接口
 * 
 * @author Open Platform
 * @date 2024-01-15
 */
public interface IDmsRecordShutDownService 
{
    /**
     * 查询停机记录
     * 
     * @param recordShutDownId 停机记录主键
     * @return 停机记录
     */
    public DmsRecordShutDown selectDmsRecordShutDownByRecordShutDownId(Long recordShutDownId);

    /**
     * 查询停机记录列表
     * 
     * @param dmsRecordShutDown 停机记录
     * @return 停机记录集合
     */
    public List<DmsRecordShutDown> selectDmsRecordShutDownList(DmsRecordShutDown dmsRecordShutDown);

    /**
     * 新增停机记录
     * 
     * @param dmsRecordShutDown 停机记录
     * @return 结果
     */
    public int insertDmsRecordShutDown(DmsRecordShutDown dmsRecordShutDown);

    /**
     * 修改停机记录
     * 
     * @param dmsRecordShutDown 停机记录
     * @return 结果
     */
    public int updateDmsRecordShutDown(DmsRecordShutDown dmsRecordShutDown);

    /**
     * 批量删除停机记录
     * 
     * @param recordShutDownIds 需要删除的停机记录主键集合
     * @return 结果
     */
    public int deleteDmsRecordShutDownByRecordShutDownIds(Long[] recordShutDownIds);

    /**
     * 删除停机记录信息
     * 
     * @param recordShutDownId 停机记录主键
     * @return 结果
     */
    public int deleteDmsRecordShutDownByRecordShutDownId(Long recordShutDownId);

    /**
     * 查询PDA待处理停机记录（结束时间为空 或 停机原因ID=1）
     *
     * @return 停机记录集合
     */
    public List<DmsRecordShutDown> selectPdaShutDownList();

    /**
     * 批量更新停机原因
     *
     * @param recordShutDownIds 停机记录ID集合
     * @param shutReasonId 停机原因ID
     * @return 结果
     */
    public int batchUpdateShutReason(Long[] recordShutDownIds, Long shutReasonId);
}
