package cn.cecep.talroad.mapper;

import cn.cecep.talroad.domain.SEnvGasReal;
import cn.cecep.talroad.vo.analysis.FactoryOutletStaticsVo;
import cn.cecep.talroad.vo.homepage.MonitoringPointWarningVo;
import cn.cecep.talroad.vo.homepage.OverviewUnorganizedMonitorsVo;
import cn.cecep.talroad.vo.homepage.RegionalOnlineMonitoringVo;
import cn.cecep.talroad.vo.query.EffectiveMonitoringRateQuery;
import cn.hutool.core.date.DateTime;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 无组织监控数据Mapper接口
 *
 * @author szhpt
 * @date 2023-01-10*/
@Mapper
public interface SEnvGasRealMapper extends BaseMapper<SEnvGasReal>
{
    /**
     * 查询无组织监控数据列表
     *
     * @param sEnvGasReal 无组织监控数据
     * @return 无组织监控数据集合
     */
    public List<SEnvGasReal> selectSEnvGasRealList(SEnvGasReal sEnvGasReal);

    OverviewUnorganizedMonitorsVo overviewUnorganizedMonitors(@Param("regionCodes") List<String> regionCodes);

    MonitoringPointWarningVo monitoringPointWarning(EffectiveMonitoringRateQuery query);

    List<RegionalOnlineMonitoringVo> numberMonitoringPoints(EffectiveMonitoringRateQuery query);

    List<RegionalOnlineMonitoringVo> monitoringRate(EffectiveMonitoringRateQuery query);

    List<RegionalOnlineMonitoringVo> excessRate(EffectiveMonitoringRateQuery query);

    List<RegionalOnlineMonitoringVo> exceedingStandardPoints(EffectiveMonitoringRateQuery query);

    List<RegionalOnlineMonitoringVo> exceedingIndustryPoints(EffectiveMonitoringRateQuery query);

    List<FactoryOutletStaticsVo> selectLastDayData(@Param("lastDayBegin") DateTime queryBeginTime, @Param("lastDayEnd") DateTime queryEndTime);
}
