package com.yunfeiyun.agmp.fms.service;

import com.yunfeiyun.agmp.common.enums.SysWarnEnum;
import com.yunfeiyun.agmp.fms.domain.SysWarn;
import com.yunfeiyun.agmp.fms.domain.reqvo.SelectCountOfScreenReqVo;
import com.yunfeiyun.agmp.fms.domain.reqvo.SysWarnReqVo;
import com.yunfeiyun.agmp.fms.domain.resvo.SysWarnResVo;

import java.util.List;

/**
 * 系统预警Service接口
 * 
 * @author 杨晓辉
 * @date 2023-07-05
 */
public interface ISysWarnService 
{
    /**
     * 查询系统预警
     * 
     * @param warnId 系统预警主键
     * @return 系统预警
     */
    public SysWarn selectSysWarnByWarnId(String warnId);

    /**
     * 查询系统预警列表
     * 
     * @param reqVo 系统预警
     * @return 系统预警集合
     */
    public List<SysWarnResVo> selectSysWarnList(SysWarnReqVo reqVo);
    public List<SysWarnResVo> selectSysWarnListOfScreen(SysWarnReqVo reqVo);

    /**
     * 统计数量
     * @param reqVo
     * @return
     */
    public List<SysWarnResVo> selectCountOfSysWarn(SysWarnReqVo reqVo);

    /**
     * 查询系统预警数量
     * @param reqVo
     * @return
     */
    public Integer selectCount(SelectCountOfScreenReqVo reqVo);

    /**
     * 已读
     *
     * @param sysWarn 系统预警
     * @return 结果
     */
    public int read(SysWarn sysWarn);

    public void genWarn(String warnJumpurl, String warnRemark, SysWarnEnum.SysWarnType warnType, SysWarnEnum.SysWarnClass warnClass);

    /**
     * 新增系统预警
     * 
     * @param sysWarn 系统预警
     * @return 结果
     */
    public int insertSysWarn(SysWarn sysWarn);

    /**
     * 修改系统预警
     * 
     * @param sysWarn 系统预警
     * @return 结果
     */
    public int updateSysWarn(SysWarn sysWarn);

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

    /**
     * 删除系统预警信息
     * 
     * @param warnId 系统预警主键
     * @return 结果
     */
    public int deleteSysWarnByWarnId(String warnId);
}
