package com.tofly.watermeter.custom.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.tofly.watermeter.custom.entity.meterRead.ReadSearch;
import com.tofly.watermeter.custom.entity.meterRead.ReadStatisticsDetail;
import com.tofly.watermeter.custom.entity.meterRead.readstatic.AllocationSta;
import com.tofly.watermeter.custom.entity.meterRead.readstatic.ReadOverTime;
import com.tofly.watermeter.custom.entity.meterRead.readstatic.ReadOverTimeDetail;
import com.tofly.watermeter.entity.Readmeterhis;

import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

/**
 * @author FlashWJL
 * @date 2021/6/12 17:21
 */
public interface ReadStatisticService {
    List<Map> getReadPercent(ReadSearch search , HttpServletResponse response);

    List<Map> getReadPercentByQy( ReadSearch search , HttpServletResponse response);

    List<Map> getReadPercentByCbry(ReadSearch search, HttpServletResponse response);

    List<Map> getReadPercentDay(ReadSearch search, HttpServletResponse response);

    IPage<Readmeterhis> getReadDayInfo(Page page, ReadSearch search, HttpServletResponse response);

    List<Map> getReadTimeDeatil(ReadSearch search , HttpServletResponse response);

    IPage<ReadStatisticsDetail> getReadQuery(Page page, ReadSearch search , HttpServletResponse response);


    List<AllocationSta> allocationClloect(ReadSearch search, HttpServletResponse response);

    IPage<Map> allocationInfo(Page page , ReadSearch search, HttpServletResponse response);


    List<ReadOverTime> getOvertimeCollect(ReadSearch search, HttpServletResponse response);

    List<ReadOverTimeDetail> getOvertimeCollectDeatil(ReadSearch search, HttpServletResponse response , Float overTimeRatio);

    IPage<Readmeterhis> getClient(Page page, ReadSearch search, HttpServletResponse response);

    List<ReadOverTime> getTimeAbnormalCollect(String cbry, String yearMonth, Integer overDiffTime, HttpServletResponse response , String isGeneral);

    IPage<ReadOverTimeDetail> getTimeAbnormalTwo(Page page , String cbry, String yearMonth, Integer overDiffTime, HttpServletResponse response , String isGeneral);
}
