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

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 org.apache.ibatis.annotations.Mapper;

import java.util.List;

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

    /**
     * 客户来源统计
     *
     * @return java.util.List<cn.iocoder.yudao.module.base.vo.RepairStatisticsVO>
     * @author PQZ
     * @date 13:57 2024/10/21
     **/
    List<RepairStatisticsVO> customerSource();

    /**
     * 月工单数量走势
     *
     * @return java.util.List<cn.iocoder.yudao.module.base.vo.RepairStatisticsVO>
     * @author PQZ
     * @date 14:25 2024/10/21
     **/
    List<RepairStatisticsVO> ticketCountTrend();

    /**
     * 月工单金额走势
     *
     * @return java.util.List<cn.iocoder.yudao.module.base.vo.RepairStatisticsVO>
     * @author PQZ
     * @date 14:31 2024/10/21
     **/
    List<RepairStatisticsVO> ticketAmountTrend();

    /**
     * 按照支付方式统计
     *
     * @return java.util.List<cn.iocoder.yudao.module.base.vo.RepairStatisticsVO>
     * @author PQZ
     * @date 14:41 2024/10/21
     **/
    List<RepairStatisticsVO> paymentWay();

    /**
     * 维修方式统计饼图
     *
     * @return java.util.List<cn.iocoder.yudao.module.base.vo.RepairStatisticsVO>
     * @author PQZ
     * @date 14:52 2024/10/21
     **/
    List<RepairStatisticsVO> repairTypeStatistics();

    /**
     * 工单总数、今日工单、工单总金额、今日工单金额
     *
     * @return cn.iocoder.yudao.module.base.vo.RepairTicketStatisticsVO
     * @author PQZ
     * @date 15:31 2024/10/21
     **/
    RepairTicketStatisticsVO ticketStatistics();

    /**
     * 工单状态数量统计
     *
     * @return java.util.List<cn.iocoder.yudao.module.base.vo.RepairStatisticsVO>
     * @author PQZ
     * @date 15:44 2024/10/21
     **/
    List<RepairStatisticsVO> ticketStatusCount();

    /**
     * 今日工单
     *
     * @return java.util.List<cn.iocoder.yudao.module.tickets.vo.DlRepairTicketsRespVO>
     * @author PQZ
     * @date 15:50 2024/10/21
     **/
    List<DlRepairTicketsRespVO> listTicketToday();


    /**
     * 维修工人排行
     * @author PQZ
     * @date 16:13 2024/10/21
     * @return java.util.List<cn.iocoder.yudao.module.base.vo.RepairStatisticsVO>
    **/
    List<RepairStatisticsVO> listWorks();

}
