package com.yunfeiyun.agmp.fms.mapper;

import com.yunfeiyun.agmp.fms.domain.FmsWarn;
import com.yunfeiyun.agmp.fms.domain.dto.FmsWarnBySchedulerDto;
import com.yunfeiyun.agmp.fms.domain.reqvo.FmsWarnReqVo;
import com.yunfeiyun.agmp.fms.domain.resvo.FmsWarnResVo;

import java.util.List;


/**
 * 预警Mapper接口
 * 
 * @author 杨晓辉
 * @date 2023-05-29
 */
public interface FmsWarnMapper 
{
    /**
     * 查询预警
     * 
     * @param warnId 预警主键
     * @return 预警
     */
    public FmsWarnResVo selectFmsWarnByWarnId(String warnId);

    /**
     * 查询预警列表
     * 
     * @param fmsWarnReqVo 预警
     * @return 预警集合
     */
    public List<FmsWarnResVo> selectFmsWarnList(FmsWarnReqVo fmsWarnReqVo);

    /**
     * 查询预警列表
     *
     * @return 预警集合
     */
    public List<FmsWarnBySchedulerDto> selectFmsWarnListByScheduler();

    /**
     * 新增预警
     * 
     * @param fmsWarn 预警
     * @return 结果
     */
    public int insertFmsWarn(FmsWarn fmsWarn);

    /**
     * 批量新增预警
     *
     * @param fmsWarn 预警
     * @return 结果
     */
    public int insertFmsWarnBatch(List<FmsWarn> fmsWarn);

    /**
     * 修改预警
     * 
     * @param fmsWarn 预警
     * @return 结果
     */
    public int updateFmsWarn(FmsWarn fmsWarn);

    /**
     * 删除预警
     * 
     * @param warnId 预警主键
     * @return 结果
     */
    public int deleteFmsWarnByWarnId(String warnId);

    /**
     * 批量删除预警
     * 
     * @param warnIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteFmsWarnByWarnIds(String[] warnIds);

    public List<FmsWarnResVo> selectFmsWarnResVoByBlockManager(FmsWarnResVo fmsWarnResVo);
}
