package com.tofly.watermeter.custom.mapper.statisticanalysis;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.tofly.watermeter.custom.bo.MonthReadMeterDataBO;
import com.tofly.watermeter.custom.entity.statisticanalysis.WaterQuantityInfo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.*;

@Repository
public interface WaterStatisticsMapper {

    /**
     * 水量分析
     */
/*    List<HashMap<String, String>> getYWaterAnalysisByPqAndYearMonth(@Param("cbpq") String cbpq,
                                                                    @Param("queryDate") String queryDate);*/
    HashMap<String, String> getYWaterAnalysisByPqAndYearMonth(@Param("cbpq") String cbpq,
                                                                    @Param("queryDate") String queryDate);

    /**
     * 水量分析详情
     */
    Page<HashMap<String,String>> getWaterAnalysisDetail(Page page,
                                                        @Param("cbpq") String cbpq,
                                                        @Param("queryDate") String queryDate,
                                                        @Param("isPass") String isPass);

    /**
     * 水量趋势
     * @param cbpq 抄表片区
     * @param startDate 查询开始年月
     * @param endDate 查询结束年月
     * @return
     */
    List<HashMap<String,String>> getWaterTrend(@Param("cbpq") String cbpq,
                                               @Param("startDate") String startDate,
                                               @Param("endDate") String endDate);

    /**
     * 单个区域获取各区域段水量趋势
     * @param cbpq 抄表片区
     * @param startDate 查询开始年月
     * @param endDate 查询结束年月
     * @return
     */
    List<HashMap<String, String>> getWaterTrendByQyd(@Param("cbpq") String cbpq,
                                                     @Param("startDate") String startDate,
                                                     @Param("endDate") String endDate);

    List<HashMap<String,String>> getWaterTrendDetail(@Param("cbpq") String cbpq,
                                                     @Param("queryDate") String queryDate);

    Page<HashMap<String,String>> getWaterTrendWaterDetail(Page page,
                                                          @Param("cbpq") String cbpq,
                                                          @Param("cbqyd") String cbqyd,
                                                          @Param("queryDate") String queryDate);

    List<HashMap<String,String>> getYoYWaterByKHBH(@Param("khbh") String khbh,@Param("startDate") String startDate,
                                                   @Param("endDate") String endDate);

    List<HashMap<String,String>> getMoMWaterByKHBH(@Param("khbh") String khbh,
                                                   @Param("startDate") String startDate,
                                                   @Param("endDate") String endDate);

    List<MonthReadMeterDataBO> getMonthReadMeterData(@Param("queryDate") String queryDate,
                                                     @Param("upOrDown") String upOrDown,
                                                     @Param("numberParam") String numberParam);

    List<HashMap<String,String>> getWaterFluctuationDetail(@Param("khbh")String khbh,@Param("queryDate") String queryDate);

    Page<HashMap<String,Object>> getFuzzyQueryUsers(Page page,@Param("yhbh") String yhbh);

    /**
     * 水量查询
     * @param yhbh 用户编号
     * @param start 开始范围
     * @param end 结束范围
     * @return
     */
    List<HashMap<String,String>> getWaterInquire(@Param("yhbh")String yhbh,@Param("start") String start,@Param("end") String end);

    String getCWRQMaxTime();

    int insertWaterQuantity(@Param("list") List<WaterQuantityInfo> list);

    Long getMaxId();

    int insertQfcbycslData(@Param("cwrq") String cwrq);

    int deleteQfcbywlsCwrq(@Param("cwrq") String cwrq);
}
