WorkCamera/client/WorkCameraExport/Services/Interfaces/IExportService.cs
2026-01-05 23:58:56 +08:00

71 lines
2.4 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using WorkCameraExport.Models;
namespace WorkCameraExport.Services.Interfaces
{
/// <summary>
/// 导出服务接口 - 负责在客户端本地生成 Excel 和 ZIP 文件
/// </summary>
public interface IExportService
{
#region
/// <summary>
/// 导出工作记录到 Excel按查询条件导出全部
/// </summary>
/// <param name="query">查询条件</param>
/// <param name="outputPath">输出文件路径</param>
/// <param name="progress">进度回调</param>
/// <param name="cancellationToken">取消令牌</param>
Task ExportWorkRecordsAsync(
WorkRecordQueryDto query,
string outputPath,
IProgress<ExportProgress>? progress = null,
CancellationToken cancellationToken = default);
/// <summary>
/// 导出指定 ID 的工作记录到 Excel
/// </summary>
/// <param name="ids">记录 ID 列表</param>
/// <param name="outputPath">输出文件路径</param>
/// <param name="progress">进度回调</param>
/// <param name="cancellationToken">取消令牌</param>
Task ExportWorkRecordsByIdsAsync(
List<int> ids,
string outputPath,
IProgress<ExportProgress>? progress = null,
CancellationToken cancellationToken = default);
#endregion
#region
/// <summary>
/// 导出月报表到 Excel
/// </summary>
/// <param name="data">月报表数据</param>
/// <param name="outputPath">输出文件路径</param>
Task ExportMonthlyReportAsync(
List<MonthlyReportDto> data,
string outputPath);
#endregion
#region ZIP
/// <summary>
/// 下载指定月份的照片并打包成 ZIP
/// </summary>
/// <param name="yearMonth">月份YYYY-MM 格式)</param>
/// <param name="outputPath">输出文件路径</param>
/// <param name="progress">进度回调</param>
/// <param name="cancellationToken">取消令牌</param>
Task DownloadPhotosZipAsync(
string yearMonth,
string outputPath,
IProgress<DownloadProgress>? progress = null,
CancellationToken cancellationToken = default);
#endregion
}
}