package com.tofly.xrtygis.custom.service;

import com.tofly.xrtygis.custom.entity.vo.CollectionRateVo;
import com.tofly.xrtygis.custom.entity.vo.LargeUseWaterVo;

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

public interface LscreenService {
    /**
     * 用户统计
     * @return
     */
    Map<String, Object> getUseWater();

    /**
     * 近12月用户总数和增长数
     * @return
     */
    List<Map<String, Object>> getUserCount();


    /**
     * 售水量统计
     * @return
     */
    List<Map<String, Object>>  getNearNumber();


    /**
     * 大用户用水排名统计
     * @param num
     * @return
     */
    List<LargeUseWaterVo> getLargeUseWater(Integer num);

    /**
     * 上月多种分类用水性质统计/收费数据收入情况统计
     * @return
     */
    List<Map<String, Object>> getUserYsXzAndMoney();


    /**
     * 欠费超过3个月数据统计
     * @return
     */
    List<Map<String, Object>> getQf3Data();

    /**
     * 上月收费，欠费统计
     * @return
     */
    Map<String, Object> getLastSfQf();


    /**
     * 抄表率统计
     * @param num
     * @return
     */
    List<Map<String, Object>> GetMeterReadingRate(Integer num);

    /**
     * 回款率统计
     * @return
     */
    List<CollectionRateVo> GetCollectionRate();

    /**
     * 收费金额统计
     * @return
     */
    List<Map<String, Object>> getNearPay();

    /**
     * 近12月收费方式
     * @return
     */
    List<Map<String, Object>>  getqdPay(Integer month);

    /**
     * 同步营销有效用户总数
     * @param recordMonth
     * @return
     */
    boolean saveCustomerData(String recordMonth);

    /**
     * 领导驾驶舱_用水类型占比统计
     * @return
     */
    List<Map<String, Object>> getUserWaterType();

    /**
     * 智慧决策_售水量构成统计
     * @return
     */

    List<Map<String, Object>> getSalesWaterTotal();

    /**
     * 智慧决策_今年收费数据展示
     * @return
     */
    Map<String, Object> getPayInfo();

    List<Map<String, Object>> getPayMoneyInfo();

    List<Map<String, Object>>  getPayUserInfo();

    /**
     * 智慧运营_用户水表类型占比统计
     * @return
     */
    List<Map<String, Object>>getWaterType();

    /**
     * 智慧决策_近12月生产销售水量
     * @return
     */
    List<Map<String, Object>>getSalesWaterCount(Integer month);

    /**
     * 智慧决策_上月生产销售水量
     * @return
     */
    Map<String, Object>getLastMonthSalesWater();

    /**
     * 领导驾驶舱_今年，去年同期，营收总额；当前/去年同期用户数量
     * @return
     */
    Map<String, Object> getUserAndMoneyReport();
}
