package com.ruoyi.business.service;

import java.util.List;
import com.ruoyi.business.domain.HwAlarmInfo;
import com.ruoyi.business.domain.VO.AlarmTypeVo;

/**
 * 报警信息Service接口
 * 
 * @author xins
 * @date 2023-09-15
 */
public interface IHwAlarmInfoService 
{
    /**
     * 查询报警信息
     * 
     * @param alarmInfoId 报警信息主键
     * @return 报警信息
     */
    public HwAlarmInfo selectHwAlarmInfoByAlarmInfoId(Long alarmInfoId);

    /**
     * 查询报警信息列表
     * 
     * @param hwAlarmInfo 报警信息
     * @return 报警信息集合
     */
    public List<HwAlarmInfo> selectHwAlarmInfoList(HwAlarmInfo hwAlarmInfo);

    /**
     * 新增报警信息
     * 
     * @param hwAlarmInfo 报警信息
     * @return 结果
     */
    public int insertHwAlarmInfo(HwAlarmInfo hwAlarmInfo);

    /**
     * 修改报警信息
     * 
     * @param hwAlarmInfo 报警信息
     * @return 结果
     */
    public int updateHwAlarmInfo(HwAlarmInfo hwAlarmInfo);

    /**
     * 批量删除报警信息
     * 
     * @param alarmInfoIds 需要删除的报警信息主键集合
     * @return 结果
     */
    public int deleteHwAlarmInfoByAlarmInfoIds(Long[] alarmInfoIds);

    /**
     * 删除报警信息信息
     * 
     * @param alarmInfoId 报警信息主键
     * @return 结果
     */
    public int deleteHwAlarmInfoByAlarmInfoId(Long alarmInfoId);

    /**
     * @param: sceneId
     * @description 根据报警类型获取报警数量
     * @author xins
     * @date 2023-09-15 13:20
     * @return List<AlarmTypeVo>
     */
    public List<AlarmTypeVo> selectAlarmsByAlarmType(Long sceneId);
}
