package com.crm.manager.service;

import com.crm.manager.dto.export.TradeSalesPerformanceExportDto;
import com.crm.rely.backend.core.dto.base.BaseReportResultDto;
import com.crm.rely.backend.core.dto.ib.trade.TradeSalesPerformanceDto;
import com.crm.rely.backend.core.dto.ib.trade.TradeSalesPerformanceSumDto;
import com.crm.rely.backend.core.entity.base.BaseIbReportListEntity;
import com.crm.rely.backend.core.entity.custom.info.InfoEntity;
import com.crm.rely.backend.core.entity.sales.SalesPerformanceListEntity;

import java.util.Date;
import java.util.List;

public interface SelesPerformanceService {

    void salesPerformanceTask(Date startDate,String salesNo) throws Exception;

    void salesPerformanceSendEmailTask(Date startDate, Date endDate) throws Exception;

    BaseReportResultDto<List<TradeSalesPerformanceDto>, TradeSalesPerformanceSumDto> tradePerformance(SalesPerformanceListEntity entity) throws Exception;

    List<TradeSalesPerformanceDto> tradePerformanceList(SalesPerformanceListEntity entity) throws Exception;

    List<List<TradeSalesPerformanceExportDto>> tradeSalesPerformanceExport(SalesPerformanceListEntity entity, List<String> sheetName) throws Exception;

    void tradePerformanceSendReport(SalesPerformanceListEntity entity) throws Exception;

    void tradePerformanceSendManagerReport(SalesPerformanceListEntity entity) throws Exception;

    void salesPerformanceStatistics(SalesPerformanceListEntity entity) throws Exception;

}
