using System; using System.Collections.Generic; using NPP.SmartSchedue.Api.Contracts.Domain.Personnel; using NPP.SmartSchedue.Api.Contracts.Domain.Work; using NPP.SmartSchedue.Api.Contracts.Services.Integration.Input; using NPP.SmartSchedue.Api.Contracts.Services.Integration.Output; namespace NPP.SmartSchedue.Api.Contracts.Services.Integration.Models; public class AllocationContext { public AllocationContext() { // 初始化所有集合属性,避免空引用异常 WorkOrders = new List(); WeightConfiguration = new Dictionary(); AvailablePersonnel = new List(); ProcessingLog = new List(); Errors = new List(); ConstraintResults = new Dictionary>(); FilteredCandidates = new Dictionary>(); Metrics = new Dictionary(); OptimizationResults = new Dictionary>(); } public string ContextId { get; set; } public DateTime CreatedAt { get; set; } public List WorkOrders { get; set; } public PersonnelAllocationStrategy Strategy { get; set; } public Dictionary WeightConfiguration { get; set; } public List AvailablePersonnel { get; set; } public List ProcessingLog { get; set; } public List Errors { get; set; } public Dictionary> ConstraintResults { get; set; } public Dictionary> FilteredCandidates { get; set; } /// /// 性能指标字典 /// 存储分配过程中各阶段的性能数据,如执行时间、处理数量等 /// Key: 指标名称,Value: 指标值 /// public Dictionary Metrics { get; set; } /// /// 优化决策结果字典 /// 存储每个工作任务的优化决策详细结果 /// Key: 工作任务ID, Value: 优化评分结果列表 /// public Dictionary> OptimizationResults { get; set; } }