using System; using System.Collections.Generic; namespace NPP.SmartSchedue.Api.Contracts.Services.Integration.Models { /// /// 人员工作负载分析 /// 用于智能分配算法中的人员工作量评估和负载均衡 /// public class PersonnelWorkloadAnalysis { /// /// 人员ID /// public long PersonnelId { get; set; } /// /// 人员姓名 /// public string PersonnelName { get; set; } = string.Empty; /// /// 已分配任务数量 /// public int AssignedTaskCount { get; set; } /// /// 计划工作小时数 /// public decimal ScheduledWorkHours { get; set; } /// /// 工作负载百分比 (0-100) /// 相对于标准工作量的百分比 /// public double WorkloadPercentage { get; set; } /// /// 负载状态描述 /// public string WorkloadStatus { get; set; } = string.Empty; /// /// 是否超负荷 /// public bool IsOverloaded => WorkloadPercentage > 100; /// /// 剩余可分配容量 /// public decimal RemainingCapacity { get; set; } /// /// 技能匹配度平均分 /// public decimal AverageSkillMatchScore { get; set; } /// /// 分配的任务列表 /// public List AssignedTasks { get; set; } = new(); /// /// 工作时间段分布 /// Key: 日期, Value: 工作小时数 /// public Dictionary DailyWorkHoursDistribution { get; set; } = new(); /// /// 负载均衡评分 (0-100) /// 评估当前负载是否合理均衡 /// public int LoadBalanceScore { get; set; } /// /// 最后更新时间 /// public DateTime LastUpdated { get; set; } = DateTime.Now; public List WorkDates { get; set; } /// /// 计算连续工作天数 /// public int ContinuousWorkDays { get; set; } /// /// 总工时 /// public decimal? TotalEstimatedHours { get; set; } } /// /// 已分配任务信息 /// public class AssignedTaskInfo { /// /// 任务ID /// public long TaskId { get; set; } /// /// 任务编码 /// public string TaskCode { get; set; } = string.Empty; /// /// 预计工作小时数 /// public decimal EstimatedWorkHours { get; set; } /// /// 任务优先级 /// public int Priority { get; set; } /// /// 计划开始时间 /// public DateTime ScheduledStartTime { get; set; } /// /// 计划结束时间 /// public DateTime ScheduledEndTime { get; set; } /// /// 技能匹配度 /// public decimal SkillMatchScore { get; set; } } }