using WorkCameraExport.Models;
namespace WorkCameraExport.Services.Interfaces
{
///
/// 导出服务接口 - 负责在客户端本地生成 Excel 和 ZIP 文件
///
public interface IExportService
{
#region 工作记录导出
///
/// 导出工作记录到 Excel(按查询条件导出全部)
///
/// 查询条件
/// 输出文件路径
/// 进度回调
/// 取消令牌
Task ExportWorkRecordsAsync(
WorkRecordQueryDto query,
string outputPath,
IProgress? progress = null,
CancellationToken cancellationToken = default);
///
/// 导出指定的工作记录数据到 Excel(直接使用内存数据,无需再次请求服务器)
///
/// 工作记录数据列表
/// 输出文件路径
/// 进度回调
/// 取消令牌
Task ExportWorkRecordsByDataAsync(
List records,
string outputPath,
IProgress? progress = null,
CancellationToken cancellationToken = default);
#endregion
#region 月报表导出
///
/// 导出月报表到 Excel
///
/// 月报表数据
/// 输出文件路径
Task ExportMonthlyReportAsync(
List data,
string outputPath);
#endregion
#region 照片 ZIP 下载
///
/// 下载指定月份的照片并打包成 ZIP
///
/// 月份(YYYY-MM 格式)
/// 输出文件路径
/// 进度回调
/// 取消令牌
Task DownloadPhotosZipAsync(
string yearMonth,
string outputPath,
IProgress? progress = null,
CancellationToken cancellationToken = default);
#endregion
}
}