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.dto.SupplyYhYfDto;
import com.tofly.watermeter.custom.entity.meterRead.AuditQuality;
import com.tofly.watermeter.custom.entity.meterRead.ReadSearch;
import com.tofly.watermeter.entity.Bwrksbdatail;
import org.springframework.web.multipart.MultipartFile;

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

/**
 * @author FlashWJL
 * @date 2021/4/15 13:38
 */
public interface ReadMeterService{

    boolean generateReadPlan();

    boolean generateReadPlanRewrite();

    IPage getReadHistory(Page page, String yhbh , String startTime , String endTime , String isGeneral , String isCollect);

    IPage getAuditCbData(Page page, ReadSearch search);

    /**
     * 卡表、机械表
     * @return ResultRespone
     */
    ResultRespone auditCbData(AuditQuality auditQuality , List<MultipartFile> fileList);
    ResultRespone auditYcbData(AuditQuality auditQuality , List<MultipartFile> fileList);

    Bwrksbdatail getSbByRFID(String rfid);

    boolean generateWaterNature();

    boolean generateWaterXFNature();

    boolean generateHistory();

    boolean genClientInfo();

//    IPage<AppRead> getReadDataApp(Page page, ReadSearch search);

    List<Map> getStatisAudit(String yearMonth , String isGeneral);

    Boolean getHistoryWaterData(Boolean again);

    boolean  supplyQfcbqfmxls(List<SupplyYhYfDto> dtos);

    void updateQfcbqfmxls(SupplyYhYfDto dto);

    String getNewCbsl(String yhbh);

    /**
     * 获取营收金额统计
     * @param startMonth 开始月份
     * @param endMonth 结束月份
     * @return map
     */
    Map getRevenueStatistics(String startMonth, String endMonth);
}
