using FoodLabeling.Application.Contracts.Dtos.Common;
using FoodLabeling.Application.Contracts.Dtos.Reports;
using FoodLabeling.Application.Contracts.Dtos.UsAppLabeling;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp.Application.Services;
namespace FoodLabeling.Application.Contracts.IServices;
///
/// Reports(Print Log / Label Report)管理端接口
///
public interface IReportsAppService : IApplicationService
{
///
/// Print Log 分页列表;角色 admin 可查全部,否则仅当前用户打印记录。
///
Task> GetPrintLogListAsync(ReportsPrintLogGetListInputVo input);
///
/// Print Log 导出 PDF(筛选与列表一致,最多 5000 条)
///
Task ExportPrintLogPdfAsync(ReportsPrintLogGetListInputVo input);
///
/// 根据历史任务重打(与 App 入参一致);admin 可重打任意用户任务,否则仅本人任务。
///
Task ReprintPrintLogAsync(UsAppLabelReprintInputVo input);
///
/// Label Report 统计(卡片 + 分类柱数据 + 7 日趋势 + Top 产品);admin 统计全部,否则仅当前用户。
///
Task GetLabelReportAsync(ReportsLabelReportQueryInputVo input);
///
/// Label Report 导出 PDF
///
Task ExportLabelReportPdfAsync(ReportsLabelReportQueryInputVo input);
}