package com.tofly.watermeter.custom.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.tofly.common.core.entity.ResultRespone;
import com.tofly.watermeter.custom.entity.meterRead.ReadSearch;
import com.tofly.watermeter.custom.entity.meterRead.readstatic.AccuracyCollect;
import com.tofly.watermeter.custom.entity.meterRead.readstatic.AuditMap;
import com.tofly.watermeter.custom.entity.quality.*;
import com.tofly.watermeter.entity.Cbqydwater;
import com.tofly.watermeter.entity.Qfkhjbxx;
import com.tofly.watermeter.entity.Readmeterhis;

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

/**
 * @author FlashWJL
 * @date 2021/12/9 9:44
 */
public interface QualityStatisService {
    List<Map<String, Object>> inspectCollect(QualityStatis qualityStatis , HttpServletResponse response);

    IPage<Readmeterhis> inspectCollectDeatils(Page page, QualityStatis qualityStatis, HttpServletResponse response);

    List<QualityResult> analyzeCollect(QualityStatis qualityStatis, HttpServletResponse response);

    List<QualityResult> analyzeAbnromal(QualityStatis qualityStatis, HttpServletResponse response);

    IPage<Readmeterhis> analyzeCollectDetails(Page page, QualityStatis qualityStatis, HttpServletResponse response);

    List<Cbqydwater> trendCollectOne(QualityStatis qualityStatis, HttpServletResponse response);

    List<Cbqydwater> trendCollectTwo(QualityStatis qualityStatis, HttpServletResponse response);

    Object trendCollectThree(QualityStatis qualityStatis, HttpServletResponse response);

    IPage<Object> trendCollectFour(Page page, QualityStatis qualityStatis, HttpServletResponse response);

    IPage<Map> queryCollect(Page page, QualityStatis qualityStatis, HttpServletResponse response);

    Object queryCollectDeatil(QualityStatis qualityStatis, HttpServletResponse response);

    Map<String , List<QualityFluctuate>> fluctuateCollect(QualityStatis qualityStatis, HttpServletResponse response);

    IPage<Readmeterhis> fluctuateCollectDeatil(Page page, QualityStatis qualityStatis, HttpServletResponse response);

    ResultRespone<List<AccuracyCollect>> accuracyCollect(QualityStatis qualityStatis, HttpServletResponse response);

    ResultRespone<IPage<AuditMap>> accuracyCollectDeatil(Page page, ReadSearch search, HttpServletResponse response);


    ResultRespone<IPage<QualityEvent>> eventCollect(Page page, ReadSearch search, HttpServletResponse response);

    ResultRespone<List<QualityEventInfo>> eventCollectInfo(ReadSearch search, HttpServletResponse response);

    ResultRespone<Object> eventById(String eventid, String eventtype, String qwxid, HttpServletResponse response);

    Boolean inspectRatio(String ratio);

    List<QualityHouse> householdsCollect(String jsonString);

    IPage<Qfkhjbxx> householdsCollectDeatil(Page page, String cbqy, String cbqyd, String sbkj, String ysxz, String sbcj , String inputcontent);

    Map cardDataAnalyeCollect(ReadSearch search);

    List<AccuracyCollect> cardUpdateCollect(String isGeneral, String yearMonth, String cbry);

    IPage<AuditMap> cardUpdateTwo(Page page, ReadSearch search, HttpServletResponse response);
}
