/*
 * 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.dto.AmountOrWaterVolumeDto;
import com.tofly.watermeter.custom.dto.ForeignYhInfoDto;
import com.tofly.watermeter.custom.entity.KhSearch;
import com.tofly.watermeter.custom.entity.quality.QualityStatis;
import com.tofly.watermeter.custom.entity.webserverbean.InstallCustom;
import com.tofly.watermeter.entity.Gjgl;
import com.tofly.watermeter.entity.Gjglxq;
import com.tofly.watermeter.entity.Qfkhjbxx;

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

/**
 * 营销档案客户基本信息表
 *
 * @author wangjieliu
 * @date Fri Mar 19 00:00:00 CST 2021
 */
public interface QfkhjbxxService extends IService<Qfkhjbxx> {

    List<Qfkhjbxx> getZjData(String presentMonth);

    List<Map> getIdByFid(Integer fid);

    List<Map> getCodeByFids();

    String getCodeById(Long id);

    Map synKH(String inputContent);

    boolean deleteAll();

    Qfkhjbxx getKhInfoByYhbh(String jbNum);

    Long getIdByCode(int pcid, String sbcj);

    boolean updateBatchCustom(List<InstallCustom> newInstallList);

    boolean getUpdateAndInsert();

    IPage<Qfkhjbxx>  getKhLike(Page page , String phone, String yhbh, String yhxm , String inputcontent,String yhdz,String sbbh,String sfzh);

    Object saveYhInfo(ForeignYhInfoDto dto);

    Object updateYhAmountOrWaterVolume(AmountOrWaterVolumeDto dto);

    IPage<Qfkhjbxx> commonKh(Page<Qfkhjbxx> page , KhSearch khSearch, HttpServletResponse response);

    IPage<Qfkhjbxx> allotInfo(Page<Qfkhjbxx> page, KhSearch khSearch, String collectionNumber, String isWatchType);

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

    List<Map> collectAnalyzeTwo(String startDate, String endDate, String collectionNumber, HttpServletResponse response);

    IPage<Map> collectAnalyzeThree(Page<Gjglxq> page, String startDate, String endDate, String collectionNumber, HttpServletResponse response);
}
