package cn.cecep.talroad.mapper.effective;

import cn.cecep.talroad.domain.dto.AnalysisDto;
import cn.cecep.talroad.domain.dto.SequenceDto;
import cn.cecep.talroad.domain.effective.QEnvgasWqMonth;
import cn.cecep.talroad.vo.effective.AirParmaVo;
import cn.cecep.talroad.vo.effective.AirQualityData;
import cn.cecep.talroad.vo.effective.MonthDataVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 区域月数据表 Mapper 接口
 * </p>
 *
 * @author author
 * @since 2022-07-13
 */
public interface QEnvgasWqMonthMapper extends BaseMapper<QEnvgasWqMonth> {

    List<Map> selectByAverageData(SequenceDto sequenceDto);

    /**
     * 查询区域月数据
     * 以站点为主表，即使月无数据，也返回站点信息
     * @param airParmaVo
     * @return
     */
    List<AirQualityData> queryAreaMonthData(AirParmaVo airParmaVo);

    /**
     * 查询区域月数据
     * 以月数据表为主表，无数据则返回空
     * @param airParmaVo
     * @return
     */
    List<AirQualityData> queryAreaMonthDataNew(AirParmaVo airParmaVo);

    List<Map> selectByInterpolationData(SequenceDto sequenceDto);

    List<Map> selectByAerData(SequenceDto sequenceDto);

    List<Map> getCount(SequenceDto sequenceDto);

    List<Map> selectByInterpolationDataList(SequenceDto sequenceDto);

    /**
     * 通过年份查询月份数据集合
     * @param regionCode    区域code
     * @param year          年份 yyyy
     * @return
     */
    List<MonthDataVo> selectAreaYearData(@Param("regionCode") String regionCode , @Param("year") int year);

    Map findStandardMonitoringLastMonth(@Param("userRegionCode") String userRegionCode, @Param("type")String type);

    List<Map> findStandardDivisorMonth(@Param("userRegionCode")String userRegionCode,@Param("type") String s);

    List<AirQualityData> selectAnalysisMonthData(AnalysisDto analysisDto);

}
