/*
 * Author: wangjian
 * 生成mapper
 */
package com.tofly.xrtygis.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.tofly.xrtygis.custom.entity.dataquery.WaterReality;
import com.tofly.xrtygis.entity.Costbgwater;
import com.tofly.xrtygis.entity.Costrlwater;
import org.apache.ibatis.annotations.Param;

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

/**
 * 实际制水指标填报信息表
 *
 * @author admin
 * @date Wed Mar 10 00:00:00 CST 2021
 */
public interface CostrlwaterMapper extends BaseMapper<Costrlwater> {
    /**
     * 下面是是水量查询
     * @param startYear
     * @param endYear
     * @return
     */
    List<Map> getWaterDataMonth(@Param("typet") String type ,@Param("startYear") String startYear, @Param("endYear") String endYear);

    List<Map> getWaterDataQuarter(@Param("typet") String type ,@Param("startYear") String startYear
            , @Param("endYear") String endYear ,@Param("sumType") String sumType);

    List<Map> getWaterDataYear(@Param("typet") String type ,@Param("startYear") String startYear
            , @Param("endYear") String endYear ,@Param("sumType") String sumType);

    /**
     * 下面是用电量查询
     * @param startYear
     * @param endYear
     * @return
     */
    List<Map> getElectricityDataMonth(@Param("typet") String type ,@Param("startYear") String startYear, @Param("endYear") String endYear ,
                                      @Param("tableName") String tableName);

    List<Map> getElectricityDataQuarter(@Param("typet") String type ,@Param("startYear") String startYear, @Param("endYear") String endYear,
                                        @Param("tableName") String tableName,@Param("sumType") String sumType);

    List<Map> getElectricityDataYear(@Param("typet") String type ,@Param("startYear") String startYear, @Param("endYear") String endYear,
                                     @Param("tableName") String tableName,@Param("sumType") String sumType);

    /**
     * 下面是材料单耗查询
     * @param startYear
     * @param endYear
     * @return
     */
    List<Map> getMaterialsDataMonth(@Param("typet") String type ,@Param("startYear") String startYear, @Param("endYear") String endYear);

    List<Map> getMaterialsDataQuarter(@Param("typet") String type ,@Param("startYear") String startYear,
                                      @Param("endYear") String endYear ,@Param("sumType") String sumType);

    List<Map> getMaterialsDataYear(@Param("typet") String type ,@Param("startYear") String startYear,
                                   @Param("endYear") String endYear ,@Param("sumType") String sumType);


    /**
     * 下面是指标单价查询
     * @param type
     * @param startYear
     * @param endYear
     * @return
     */
    List<Map> getPriceDataMonth(@Param("typet") String type ,@Param("startYear") String startYear, @Param("endYear") String endYear);
    List<Map> getPriceDataQuarter(@Param("typet") String type ,@Param("startYear") String startYear, @Param("endYear") String endYear);
    List<Map> getPriceDataYear(@Param("typet") String type ,@Param("startYear") String startYear, @Param("endYear") String endYear);



    /**
     * 下面是生产数据
     * @param startYear
     * @return
     */
    List<WaterReality> getProduceDataYearReality(@Param("startYear") String startYear);
    List<WaterReality> getProduceDataMonthByYearReality(@Param("year") String year);
    List<WaterReality> getProduceDataMonthReality( @Param("month")String month , @Param("year") String yearDay);

    /**
     * 下面是供水量
     * @param year
     * @return
     */
    List<Map> getQuarterDataOffer(@Param("year") String year);
    List<Map> getMonthDataOffer(@Param("year") String year , @Param("month") String month);
    List<Map> getYearDataOffer(@Param("year") String year);

    /**
     * 趋势分析第二种查询（就是没有多类别查询的）
     * @param type
     * @param startYear
     * @param endYear
     * @return
     */
    List<Map> getWaterDataMonthTwo(@Param("typet") String type ,@Param("startYear") String startYear, @Param("endYear") String endYear);
    List<Map> getWaterDataQuarterTwo(@Param("typet") String type ,@Param("startYear") String startYear, @Param("endYear") String endYear);
    List<Map> getWaterDataYearTwo(@Param("typet") String type ,@Param("startYear") String startYear, @Param("endYear") String endYear);

    List<Map> getElectricityDataMonthTwo(@Param("typet") String type ,@Param("startYear") String startYear,
                                         @Param("endYear") String endYear , @Param("tableName") String tableName);
    List<Map> getElectricityDataQuarterTwo(@Param("typet") String type ,@Param("startYear") String startYear,
                                           @Param("endYear") String endYear , @Param("tableName") String tableName);
    List<Map> getElectricityDataYearTwo(@Param("typet") String type ,@Param("startYear") String startYear,
                                        @Param("endYear") String endYear , @Param("tableName") String tableName);

    List<Map> getMaterialsDataMonthTwo(@Param("typet") String type ,@Param("startYear") String startYear, @Param("endYear") String endYear);
    List<Map> getMaterialsDataQuarterTwo(@Param("typet") String type ,@Param("startYear") String startYear, @Param("endYear") String endYear);
    List<Map> getMaterialsDataYearTwo(@Param("typet") String type ,@Param("startYear") String startYear, @Param("endYear") String endYear);

    List<Map> getPriceDataMonthTwo(@Param("typet") String type ,@Param("startYear") String startYear, @Param("endYear") String endYear);
    List<Map> getPriceDataQuarterTwo(@Param("typet") String type ,@Param("startYear") String startYear, @Param("endYear") String endYear);
    List<Map> getPriceDataYearTwo(@Param("typet") String type ,@Param("startYear") String startYear, @Param("endYear") String endYear);
}
