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

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.tofly.watermeter.custom.entity.file.FileInfo;
import com.tofly.watermeter.custom.entity.meterRead.AppRead;
import com.tofly.watermeter.custom.entity.meterRead.readstatic.AuditMap;
import com.tofly.watermeter.entity.Qfcbqfmx;
import com.tofly.watermeter.entity.Readmeterhis;

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

/**
 * 抄表业务抄表欠费明细表
 *
 * @author wangjieliu
 * @date Wed Apr 14 00:00:00 CST 2021
 */
public interface QfcbqfmxService extends IService<Qfcbqfmx> {

//    List<Map> getReadAppPlan(Page page, ReadSearch search);

    boolean updateReadPlan(String cwRq, List<String> yhbhList);

    List<Map> staPlanByCbb(List<String> cbbList, String cwRq);

    /**
     * 抄表数据
     *
     * @return
     */
    IPage<AppRead> getListByYhbh(Page page, Integer day, String month, String isGeneral, Long cbry, Long planId,String type,String zone);

    /**
     * 查询客户基本信息
     *
     * @param byKhjbxxList 用户
     * @return
     */
    List<AppRead> getKhjbxx(List<Readmeterhis> byKhjbxxList, String month, String isGeneral);

    boolean updateCb(List<Qfcbqfmx> collect);

    IPage<AuditMap> getAuditCbData(Page page, String startTime, String cbpq, String cbb,
                                   String cbry, String isDis, String isGeneral);

    IPage<AuditMap> getOfflineInfo(Page page, String cwyf, List<String> sspq, List<String> cbb,
                                   List<String> cbry, String isDis, String isGeneral, String state,
                                   String isEstimate, String issyn, List<String> cbfsList,
                                   String inputContent , String isUpdate);

    List<AuditMap> getOfflineInfoList(String cwyf, List<String> qybmList, List<String> qydbmList,
                                      List<String> cbryList, String isDis, String isGeneral, String state,
                                      String isEstimate, String issyn , List<String> cbfsList,String inputContent , String isUpdate);

    int insertOrUpdate(List<Qfcbqfmx> qfcbqfmxes);

    List<FileInfo> getFileByIds(String fileid);


    AppRead getOfflineByYhbh(String yearMonth, String yhbh, String isGeneral, Long cbryId , String soleSign);

    List<AuditMap> getOfflineInfoList2(String cwyf, List<String> qybmList, List<String> qydbmList, List<String> cbryList, String isDis, String isGeneral,
                                       String state, String isEstimate, String issyn , List<String> cbfsList);

    IPage<AuditMap> getOfflineInfo2(Page page, String cwyf, List<String> qybmList, List<String> qydbmList, List<String> cbryList, String isDis, String isGeneral,
                                    String state, String isEstimate, String issyn , List<String> cbfsList);

    IPage<AuditMap> cardUpdateTwo(Page page, String cwyf, List<String> qybmList, List<String> qydbmList, List<String> cbryList,
                                  String isGeneral, String state, String inputContent, String isUpdate);

    AppRead queryOfflineByYhbh(String cbrq, String yhbh);
}
