using System; using System.Collections.Generic; using NPP.SmartSchedue.Api.Contracts.Services.Time.Output; using NPP.SmartSchedue.Api.Contracts.Services.Work.Output; namespace NPP.SmartSchedue.Api.Contracts.Services.Integration.Output; /// /// 撤销整合记录结果 /// 包含撤销操作的详细结果和状态信息 /// public class CancelIntegrationRecordResult { /// /// 撤销是否成功 /// public bool IsSuccess { get; set; } /// /// 撤销成功消息 /// public string SuccessMessage { get; set; } = string.Empty; /// /// 撤销失败消息 /// public string ErrorMessage { get; set; } = string.Empty; /// /// 整合记录ID /// public long IntegrationRecordId { get; set; } /// /// 撤销时间 /// public DateTime CancelledTime { get; set; } /// /// 撤销的批次编码 /// public string IntegrationBatchCode { get; set; } = string.Empty; /// /// 成功撤销的任务详情 /// public List CancelledTasks { get; set; } = new(); /// /// 撤销失败的任务详情 /// public List FailedCancelTasks { get; set; } = new(); /// /// 任务状态回滚结果 /// public TaskStatusRollbackResult TaskStatusRollbackResult { get; set; } = new(); /// /// 撤销前验证结果 /// public CancelValidationResult ValidationResult { get; set; } = new(); /// /// 通知发送结果 /// public List NotificationResults { get; set; } = new(); /// /// 撤销统计信息 /// public CancelStatistics Statistics { get; set; } = new(); /// /// 警告信息列表 /// public List WarningMessages { get; set; } = new(); } /// /// 已撤销任务详情 /// public class CancelledTaskDetail { /// /// 任务ID /// public long TaskId { get; set; } /// /// 任务代码 /// public string TaskCode { get; set; } = string.Empty; /// /// 撤销前分配的人员ID /// public long? PreviousAssignedPersonnelId { get; set; } /// /// 撤销前分配的人员姓名 /// public string PreviousAssignedPersonnelName { get; set; } = string.Empty; /// /// 撤销前分配的设备ID /// public long? PreviousAssignedEquipmentId { get; set; } /// /// 撤销前分配的设备名称 /// public string PreviousAssignedEquipmentName { get; set; } = string.Empty; /// /// 撤销前状态 /// public string PreviousStatus { get; set; } = string.Empty; /// /// 撤销后状态 /// public string CurrentStatus { get; set; } = string.Empty; /// /// 任务撤销时间 /// public DateTime CancelTime { get; set; } } /// /// 撤销失败任务详情 /// public class FailedCancelTaskDetail { /// /// 任务ID /// public long TaskId { get; set; } /// /// 任务代码 /// public string TaskCode { get; set; } = string.Empty; /// /// 失败原因 /// public string FailureReason { get; set; } = string.Empty; /// /// 详细错误信息 /// public List DetailedErrors { get; set; } = new(); /// /// 解决建议 /// public List Suggestions { get; set; } = new(); /// /// 当前任务状态 /// public string CurrentTaskStatus { get; set; } = string.Empty; } /// /// 任务状态回滚结果 /// public class TaskStatusRollbackResult { /// /// 回滚是否完全成功 /// public bool IsFullySuccessful { get; set; } /// /// 成功回滚的任务数量 /// public int SuccessfulRollbackCount { get; set; } /// /// 回滚失败的任务数量 /// public int FailedRollbackCount { get; set; } /// /// 回滚详细结果 /// public List RollbackDetails { get; set; } = new(); /// /// 回滚耗时(毫秒) /// public long RollbackElapsedMilliseconds { get; set; } } /// /// 任务回滚详情 /// public class TaskRollbackDetail { /// /// 任务ID /// public long TaskId { get; set; } /// /// 任务代码 /// public string TaskCode { get; set; } = string.Empty; /// /// 回滚是否成功 /// public bool IsRollbackSuccessful { get; set; } /// /// 原始状态 /// public string OriginalStatus { get; set; } = string.Empty; /// /// 目标状态 /// public string TargetStatus { get; set; } = string.Empty; /// /// 实际状态 /// public string ActualStatus { get; set; } = string.Empty; /// /// 回滚错误信息 /// public string RollbackError { get; set; } = string.Empty; /// /// 回滚时间 /// public DateTime RollbackTime { get; set; } } /// /// 撤销验证结果 /// public class CancelValidationResult { /// /// 验证是否通过 /// public bool IsValid { get; set; } /// /// 验证执行时间 /// public DateTime ValidationTime { get; set; } /// /// 阻塞性错误(会阻止撤销) /// public List BlockingErrors { get; set; } = new(); /// /// 警告性问题(不阻止撤销但需要注意) /// public List Warnings { get; set; } = new(); /// /// 验证详情 /// public string ValidationDetails { get; set; } = string.Empty; /// /// 发现的进行中任务数量 /// public int InProgressTaskCount { get; set; } /// /// 需要强制撤销的任务列表 /// public List TasksRequiringForceCancel { get; set; } = new(); } /// /// 撤销统计信息 /// public class CancelStatistics { /// /// 总任务数 /// public int TotalTaskCount { get; set; } /// /// 成功撤销任务数 /// public int SuccessfulCancelCount { get; set; } /// /// 撤销失败任务数 /// public int FailedCancelCount { get; set; } /// /// 涉及人员数量 /// public int InvolvedPersonnelCount { get; set; } /// /// 涉及设备数量 /// public int InvolvedEquipmentCount { get; set; } /// /// 撤销成功率 /// public decimal CancelSuccessRate { get; set; } /// /// 撤销总耗时(毫秒) /// public long TotalElapsedMilliseconds { get; set; } }