/**
 * Copyright 2019 DH
 * All right reserved.
 * 项目名称: 大恒泰山系统
 * 创建日期:2022/8/24
 */
package org.springblade.modules.business.warning.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import org.springblade.modules.business.warning.dto.RtuWarningInfoDTO;
import org.springblade.modules.business.warning.entity.RtuWarningInfoEntity;
import org.springblade.modules.business.warning.vo.RtuWarningInfoVO;

import java.util.List;

/***
 * Date:2022/8/24
 * Title:文件所属模块（必须填写）
 * Description：对本文件的详细描述，原则上不能少于30字
 * @author dylan
 * @version 1.0
 * Remark：认为有必要的其他信息
 */
public interface RtuWarningMapper extends BaseMapper<RtuWarningInfoEntity> {
	/**
	 * 查询分页
	 * @param page
	 * @param rtuWarningInfoDTO
	 * @return
	 */
	List<RtuWarningInfoVO> selectPage(IPage page, @Param("rtuWarningInfoDTO") RtuWarningInfoDTO rtuWarningInfoDTO);

	List<RtuWarningInfoVO> selectOfflinePage(IPage page, @Param("rtuWarningInfoDTO") RtuWarningInfoDTO rtuWarningInfoDTO);

	List<RtuWarningInfoVO> selectClockPage(IPage page, @Param("rtuWarningInfoDTO") RtuWarningInfoDTO rtuWarningInfoDTO);

	List<RtuWarningInfoVO> selectHourMissOutPage(IPage page, @Param("rtuWarningInfoDTO") RtuWarningInfoDTO rtuWarningInfoDTO);
	List<RtuWarningInfoVO> selectRainHourMissOutPage(IPage page, @Param("rtuWarningInfoDTO") RtuWarningInfoDTO rtuWarningInfoDTO);
	List<RtuWarningInfoVO> selectRiverHourMissOutPage(IPage page, @Param("rtuWarningInfoDTO") RtuWarningInfoDTO rtuWarningInfoDTO);

	List<RtuWarningInfoVO> selectMinUpDelayPage(IPage page, @Param("rtuWarningInfoDTO") RtuWarningInfoDTO rtuWarningInfoDTO);

	List<RtuWarningInfoVO> selectHourUpDelayPage(IPage page, @Param("rtuWarningInfoDTO") RtuWarningInfoDTO rtuWarningInfoDTO);

	List<RtuWarningInfoVO> selectRainHourUpDelayPage(IPage page, @Param("rtuWarningInfoDTO") RtuWarningInfoDTO rtuWarningInfoDTO);
	List<RtuWarningInfoVO> selectRiverHourUpDelayPage(IPage page, @Param("rtuWarningInfoDTO") RtuWarningInfoDTO rtuWarningInfoDTO);

	List<RtuWarningInfoVO> selectOutlierValuePage(IPage page, @Param("rtuWarningInfoDTO") RtuWarningInfoDTO rtuWarningInfoDTO);

	/**
	 * 设备异常测站数量
	 * @param rtuWarningInfoDTO
	 * @return
	 */
	Long warningRtuCount(@Param("rtuWarningInfoDTO") RtuWarningInfoDTO rtuWarningInfoDTO);

	Long warningClockRtuCount(@Param("rtuWarningInfoDTO") RtuWarningInfoDTO rtuWarningInfoDTO);

	/**
	 * 离线测站数量
	 * @param rtuWarningInfoDTO
	 * @return
	 */
	Long warningOfflineRtuCount(@Param("rtuWarningInfoDTO") RtuWarningInfoDTO rtuWarningInfoDTO);

	/**
	 * 小时报漏报测站数量
	 * @param rtuWarningInfoDTO
	 * @return
	 */
	Long warningHourMissOutRtuCount(@Param("rtuWarningInfoDTO") RtuWarningInfoDTO rtuWarningInfoDTO);

	Long warningRainHourMissOutRtuCount(@Param("rtuWarningInfoDTO") RtuWarningInfoDTO rtuWarningInfoDTO);

	Long warningRiverHourMissOutRtuCount(@Param("rtuWarningInfoDTO") RtuWarningInfoDTO rtuWarningInfoDTO);

	/**
	 * 分钟报延时测站数量
	 * @param rtuWarningInfoDTO
	 * @return
	 */
	Long warningMinUpDelayRtuCount(@Param("rtuWarningInfoDTO") RtuWarningInfoDTO rtuWarningInfoDTO);

	/**
	 * 小时报延时测站数量
	 * @param rtuWarningInfoDTO
	 * @return
	 */
	Long warningHourUpDelayRtuCount(@Param("rtuWarningInfoDTO") RtuWarningInfoDTO rtuWarningInfoDTO);

	Long warningRainHourUpDelayRtuCount(@Param("rtuWarningInfoDTO") RtuWarningInfoDTO rtuWarningInfoDTO);

	Long warningRiverHourUpDelayRtuCount(@Param("rtuWarningInfoDTO") RtuWarningInfoDTO rtuWarningInfoDTO);

	Long warningOutlierValueRtuCount(@Param("rtuWarningInfoDTO") RtuWarningInfoDTO rtuWarningInfoDTO);

}
