using System; using System.Collections.Generic; namespace NPP.SmartSchedue.Api.Contracts.Services.Time.Output; /// /// 批量操作结果输出模型 /// 用于返回批量操作的执行结果和统计信息 /// public class BatchOperationResult { /// /// 操作是否成功 /// public bool IsSuccess { get; set; } /// /// 操作消息 /// public string Message { get; set; } /// /// 总记录数 /// public int TotalCount { get; set; } /// /// 成功处理的记录数量 /// public int ProcessedCount { get; set; } /// /// 成功操作数量 /// public int SuccessCount { get; set; } /// /// 跳过的记录数量(通常是已存在且不覆盖的记录) /// public int SkippedCount { get; set; } /// /// 失败的记录数量 /// public int FailedCount { get; set; } /// /// 错误消息列表 /// public List ErrorMessages { get; set; } = new(); /// /// 警告消息列表 /// public List WarningMessages { get; set; } = new(); /// /// 操作详细信息 /// public string OperationDetails { get; set; } /// /// 操作耗时(毫秒) /// public long ElapsedMilliseconds { get; set; } /// /// 操作开始时间 /// public DateTime StartTime { get; set; } /// /// 操作结束时间 /// public DateTime EndTime { get; set; } /// /// 失败项目详细信息列表 /// public List FailedItems { get; set; } = new(); /// /// 批量操作的统计摘要 /// public BatchOperationSummary Summary { get; set; } = new(); } /// /// 批量操作统计摘要 /// public class BatchOperationSummary { /// /// 总记录数 /// public int TotalRecords { get; set; } /// /// 成功率(百分比) /// public decimal SuccessRate { get; set; } /// /// 涉及的员工数量 /// public int AffectedPersonnelCount { get; set; } /// /// 涉及的日期范围 /// public string DateRange { get; set; } /// /// 涉及的班次数量 /// public int AffectedShiftCount { get; set; } /// /// 操作类型描述 /// public string OperationType { get; set; } } /// /// 批量操作失败项目详细信息 /// 记录单个失败项目的具体信息 /// public class BatchOperationFailedItem { /// /// 日期 /// public DateTime Date { get; set; } /// /// 班次ID /// public long ShiftId { get; set; } /// /// 班次名称 /// public string ShiftName { get; set; } /// /// 员工ID /// public long? PersonnelId { get; set; } /// /// 员工姓名 /// public string PersonnelName { get; set; } /// /// 失败原因 /// public string Reason { get; set; } /// /// 错误代码 /// public string ErrorCode { get; set; } }