using System; using System.Collections.Generic; namespace NPP.SmartSchedue.Api.Contracts.Services.Integration.Output { /// /// 任务变更分析结果 /// 包含变更检测、影响评估和处理建议 /// public class TaskChangeAnalysisResult { /// /// 分析ID /// public string AnalysisId { get; set; } = Guid.NewGuid().ToString(); /// /// 任务ID /// public long TaskId { get; set; } /// /// 变更类型 /// public TaskChangeTypeEnum ChangeType { get; set; } /// /// 变更影响级别 /// public TaskChangeImpactLevel ImpactLevel { get; set; } /// /// 变更详情描述 /// public string ChangeDescription { get; set; } /// /// 影响评估 /// public ChangeImpactAssessment ImpactAssessment { get; set; } = new(); /// /// 当前任务状态分析 /// public CurrentTaskStateAnalysis CurrentStateAnalysis { get; set; } = new(); /// /// 建议的处理方案 /// public List RecommendedActions { get; set; } = new(); /// /// 分析时间 /// public DateTime AnalysisTime { get; set; } = DateTime.Now; /// /// 分析深度 /// public TaskChangeAnalysisDepth AnalysisDepth { get; set; } /// /// 是否需要人工干预 /// public bool RequiresManualIntervention { get; set; } /// /// 预计处理时长(分钟) /// public int EstimatedProcessingTimeMinutes { get; set; } /// /// 检测到的详细变更列表 /// public List DetectedChanges { get; set; } = new(); } /// /// 任务变更分析深度枚举 /// public enum TaskChangeAnalysisDepth { /// /// 基础分析 - 只检查直接影响 /// Basic = 1, /// /// 标准分析 - 包含关联任务检查 /// Standard = 2, /// /// 详细分析 - 包含详细的变更信息 /// Detailed = 3, /// /// 深度分析 - 包含全面的影响评估 /// Deep = 4, /// /// 全量分析 - 最全面的分析,包含性能优化建议 /// Comprehensive = 5 } /// /// 任务变更影响级别枚举 /// public enum TaskChangeImpactLevel { /// /// 无影响 /// None = 0, /// /// 低影响 - 轻微影响,对现有安排影响很小 /// Low = 1, /// /// 轻微影响 - 对现有安排影响很小 /// Minor = 1, /// /// 中等影响 - 需要局部调整 /// Medium = 2, /// /// 中等影响 - 需要局部调整 /// Moderate = 2, /// /// 高影响 - 需要大范围调整 /// High = 3, /// /// 重大影响 - 需要大范围调整 /// Major = 3, /// /// 严重影响 - 需要重新规划 /// Critical = 4 } /// /// 变更影响评估 /// public class ChangeImpactAssessment { /// /// 受影响的任务数量 /// public int AffectedTaskCount { get; set; } /// /// 受影响的人员数量 /// public int AffectedPersonnelCount { get; set; } /// /// 受影响的设备数量 /// public int AffectedEquipmentCount { get; set; } /// /// 时间窗口冲突数量 /// public int TimeConflictCount { get; set; } /// /// 资源冲突数量 /// public int ResourceConflictCount { get; set; } /// /// 预计影响时长(小时) /// public decimal EstimatedImpactHours { get; set; } /// /// 详细影响说明 /// public List DetailedImpactDescriptions { get; set; } = new(); } /// /// 当前任务状态分析 /// public class CurrentTaskStateAnalysis { /// /// 任务当前状态 /// public string CurrentStatus { get; set; } /// /// 完成百分比 /// public decimal CompletionPercentage { get; set; } /// /// 剩余工作量(小时) /// public decimal RemainingWorkHours { get; set; } /// /// 当前分配的人员 /// public List AssignedPersonnel { get; set; } = new(); /// /// 当前使用的设备 /// public List AssignedEquipment { get; set; } = new(); /// /// 是否处于关键路径 /// public bool IsOnCriticalPath { get; set; } /// /// 状态分析备注 /// public string AnalysisNotes { get; set; } /// /// 是否可重新分配 /// public bool CanReallocate { get; set; } = true; /// /// 阻塞原因 /// public string BlockingReason { get; set; } = string.Empty; /// /// 阻塞任务ID列表 /// public List BlockingTaskIds { get; set; } = new(); /// /// 已分析的任务列表 /// public List AnalyzedTasks { get; set; } = new(); } }