namespace WorkCameraExport.Models { /// /// 导出进度 /// public class ExportProgress { /// /// 总记录数 /// public int TotalRecords { get; set; } /// /// 已处理记录数 /// public int ProcessedRecords { get; set; } /// /// 总图片数 /// public int TotalImages { get; set; } /// /// 已下载图片数 /// public int DownloadedImages { get; set; } /// /// 当前状态描述 /// public string Status { get; set; } = ""; /// /// 进度百分比 (0-100) /// public int Percentage => TotalRecords > 0 ? (int)((ProcessedRecords * 100.0) / TotalRecords) : 0; } /// /// 下载进度 - 用于 ZIP 下载 /// public class DownloadProgress { /// /// 总图片数 /// public int TotalImages { get; set; } /// /// 已下载图片数 /// public int DownloadedImages { get; set; } /// /// 当前状态描述 /// public string Status { get; set; } = ""; /// /// 进度百分比 (0-100) /// public int Percentage => TotalImages > 0 ? (int)((DownloadedImages * 100.0) / TotalImages) : 0; } /// /// 导出任务 /// public class ExportTask { /// /// 任务 ID /// public string TaskId { get; set; } = Guid.NewGuid().ToString("N"); /// /// 任务类型 /// public ExportTaskType TaskType { get; set; } /// /// 输出路径 /// public string OutputPath { get; set; } = ""; /// /// 任务状态 /// public ExportTaskStatus Status { get; set; } = ExportTaskStatus.Pending; /// /// 开始时间 /// public DateTime? StartTime { get; set; } /// /// 完成时间 /// public DateTime? EndTime { get; set; } /// /// 错误信息 /// public string? ErrorMessage { get; set; } } /// /// 导出任务类型 /// public enum ExportTaskType { /// /// 工作记录 Excel 导出 /// WorkRecordExcel, /// /// 月报表 Excel 导出 /// MonthlyReportExcel, /// /// 照片 ZIP 下载 /// PhotosZip } /// /// 导出任务状态 /// public enum ExportTaskStatus { /// /// 等待中 /// Pending, /// /// 进行中 /// Running, /// /// 已完成 /// Completed, /// /// 已取消 /// Cancelled, /// /// 失败 /// Failed } }