package com.ruoyi.ems.record.service;

import java.util.List;
import com.ruoyi.ems.record.domain.EmsRecordAlarmData;

/**
 * 异常数据记录Service接口
 * 
 * @author Yinq
 * @date 2024-05-15
 */
public interface IEmsRecordAlarmDataService 
{
    /**
     * 查询异常数据记录
     * 
     * @param objId 异常数据记录主键
     * @return 异常数据记录
     */
    public EmsRecordAlarmData selectEmsRecordAlarmDataByObjId(Long objId);

    /**
     * 查询异常数据记录列表
     * 
     * @param emsRecordAlarmData 异常数据记录
     * @return 异常数据记录集合
     */
    public List<EmsRecordAlarmData> selectEmsRecordAlarmDataList(EmsRecordAlarmData emsRecordAlarmData);

    /**
     * 新增异常数据记录
     * 
     * @param emsRecordAlarmData 异常数据记录
     * @return 结果
     */
    public int insertEmsRecordAlarmData(EmsRecordAlarmData emsRecordAlarmData);

    /**
     * 修改异常数据记录
     * 
     * @param emsRecordAlarmData 异常数据记录
     * @return 结果
     */
    public int updateEmsRecordAlarmData(EmsRecordAlarmData emsRecordAlarmData);

    /**
     * 批量删除异常数据记录
     * 
     * @param objIds 需要删除的异常数据记录主键集合
     * @return 结果
     */
    public int deleteEmsRecordAlarmDataByObjIds(Long[] objIds);

    /**
     * 删除异常数据记录信息
     * 
     * @param objId 异常数据记录主键
     * @return 结果
     */
    public int deleteEmsRecordAlarmDataByObjId(Long objId);

    /**
     * 处理异常数据
     * @param objIds
     * @return
     */
    public int handleExceptionsAlarmData(Long[] objIds);

    /**
     * 采集设备告警定时任务
     */
    public void collectDeviceAlarmsTask();

    /**
     * 超过电阈值定时任务
     */
    public void exceedDnbThresholdAlarmsTask();

    /**
     * 小时耗量告警定时任务
     */
    public void hourlyConsumptionAlarmsTask();

}
