package cn.iocoder.yudao.module.base.service;

import cn.iocoder.yudao.module.base.vo.RepairStatisticsVO;
import cn.iocoder.yudao.module.base.vo.RepairTicketStatisticsVO;
import cn.iocoder.yudao.module.tickets.vo.DlRepairTicketsRespVO;

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

/**
 * 维修数据统计
 *
 * @author pqz
 */
public interface RepairStatisticsService {

    /**
     * 客户来源分析饼图
     *
     * @return java.util.List<cn.iocoder.yudao.module.base.vo.RepairStatisticsVO>
     * @author PQZ
     * @date 14:01 2024/10/21
     **/
    List<RepairStatisticsVO> customerSource();

    /**
     * 月工单数量、金额走势、支付渠道统计
     * @author PQZ
     * @date 14:32 2024/10/21
     * @param type 'amount:金额，count：数量'，payWay：支付渠道
     * @return java.util.Map<java.lang.String,java.lang.Object>
    **/
    Map<String, Object> ticketMain(String type);

    /**
     * 维修类型相关统计分析饼图
     *
     * @return java.util.Map<java.lang.String, java.lang.String>
     * @author PQZ
     * @date 13:25 2024/10/21
     **/
    List<RepairStatisticsVO> repairTypeStatistics();


    /**
     * 工单总数、今日工单、工单总金额、今日工单金额
     *
     * @return java.util.Map<java.lang.String, java.lang.String>
     * @author PQZ
     * @date 13:23 2024/10/21
     **/
    RepairTicketStatisticsVO ticketStatistics();

    /**
     * 工单状态数量统计
     *
     * @return java.util.Map<java.lang.String, java.lang.String>
     * @author PQZ
     * @date 13:28 2024/10/21
     **/
    List<RepairStatisticsVO> ticketStatusCount();


    /**
     * 今日工单
     *
     * @return java.util.List<com.alibaba.fastjson.JSONObject>
     * @author PQZ
     * @date 13:25 2024/10/21
     **/
    List<DlRepairTicketsRespVO> listTicketToday();



    /**
     * 维修工人排行
     *
     * @return java.util.List<com.alibaba.fastjson.JSONObject>
     * @author PQZ
     * @date 13:26 2024/10/21
     **/
    List<RepairStatisticsVO> listWorks();


}
