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

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.tofly.watermeter.entity.Cbqydwater;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 区域段抄表水量汇总
 *
 * @author wangjieliu
 * @date Wed Dec 08 00:00:00 CST 2021
 */
@Mapper
public interface CbqydwaterMapper extends BaseMapper<Cbqydwater> {
    List<Cbqydwater> getTrendCollectOne(@Param("startDate") String startDate, @Param("endDate") String endDate,
                                        @Param("isGeneral") String isGeneral, @Param("yearMonth") String yearMonth,
                                        @Param("list") List<String> qybmList);

    List<Cbqydwater> trendCollectOne(@Param("startDate") String startDate, @Param("endDate") String endDate,
                                     @Param("isGeneral") String isGeneral, @Param("yearMonth") String yearMonth,
                                     @Param("list") List<String> qybmList);

    List<Cbqydwater> getTrendCollectTwo(@Param("startDate") String startDate, @Param("endDate") String endDate,
                                        @Param("isGeneral") String isGeneral, @Param("qybm") String qybm,
                                        @Param("yearMonth") String yearMonth, @Param("list") List<String> qydbmList);

    List<Cbqydwater> trendCollectTwo(@Param("startDate") String startDate, @Param("endDate") String endDate,
                                     @Param("isGeneral") String isGeneral, @Param("qybm") String qybm,
                                     @Param("yearMonth") String yearMonth, @Param("list") List<String> qydbmList);

    List<Cbqydwater> getTrendCollectThree(@Param("startDate") String startDate, @Param("endDate") String endDate,
                                          @Param("isGeneral") String isGeneral, @Param("yearMonth") String yearMonth,
                                          @Param("qybmList") List<String> qybmList, @Param("qydbmList") List<String> qydbmList);

    List<Cbqydwater> trendCollectThree(@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("qybmList") List<String> qybmList, @Param("qydbmList") List<String> qydbmList);

    List<Cbqydwater> getTrendCollectOneHistory(@Param("startDate") String startDate, @Param("endDate") String endDate,
                                               @Param("yearMonth") String yearMonth, @Param("list") List<String> qybmList,
                                               @Param("quaryType") String quaryType);

    List<Cbqydwater> getTrendCollectTwoHistory(@Param("startDate") String startDate, @Param("endDate") String endDate,
                                               @Param("yearMonth") String yearMonth, @Param("list") List<String> qydbmList,
                                               @Param("quaryType") String quaryType, @Param("qybm") String qybm);

    List<Cbqydwater> getTrendCollectThreeHistory(@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("yearMonth") String yearMonth,
                                                 @Param("qybmList") List<String> qybmList, @Param("qydbmList") List<String> qydbmList,
                                                 @Param("quaryType") String quaryType);


    IPage<Object> getTrendCollectFourHistory(Page page, @Param("qybmList") List<String> qybmList,
                                             @Param("qydbmList") List<String> qydbmList, @Param("yearMonth") String yearMonth);

    IPage<Object> getTrendCollectFour(Page page, @Param("qybmList") List<String> qybmList, @Param("qydbmList") List<String> qydbmList,
                                      @Param("yearMonth") String yearMonth, @Param("isGeneral") String isGeneral);

    IPage<Object> trendCollectFour(Page page, @Param("qybmList") List<String> qybmList, @Param("qydbmList") List<String> qydbmList,
                                      @Param("yearMonth") String yearMonth, @Param("isGeneral") String isGeneral);
}
