using System.Collections.Generic;
namespace NPP.SmartSchedue.Api.Services.Integration.Models
{
///
/// 冲突类型枚举
///
public enum ConflictType
{
///
/// 时间重叠冲突
///
TimeOverlap = 1,
///
/// 资质不匹配冲突
///
QualificationMismatch = 2,
///
/// 工作负载超限冲突
///
WorkloadOverflow = 3,
///
/// 人员不可用冲突
///
PersonnelUnavailable = 4,
///
/// 设备资源冲突
///
EquipmentConflict = 5
}
///
/// 分配冲突信息
///
public class AllocationConflict
{
///
/// 冲突类型
///
public ConflictType ConflictType { get; set; }
///
/// 受影响的任务ID列表
///
public List AffectedTaskIds { get; set; } = new List();
///
/// 受影响的人员ID
///
public long? AffectedPersonnelId { get; set; }
///
/// 冲突描述
///
public string Description { get; set; } = "";
///
/// 影响评分 (1-10, 10为最高)
///
public int ImpactScore { get; set; }
///
/// 冲突详细信息
///
public List ConflictDetails { get; set; } = new List();
}
///
/// 分配冲突分析结果
///
public class AllocationConflictAnalysis
{
///
/// 是否存在冲突
///
public bool HasConflicts { get; set; }
///
/// 冲突列表
///
public List Conflicts { get; set; } = new List();
///
/// 冲突总数
///
public int TotalConflictCount { get; set; }
///
/// 严重冲突数量
///
public int CriticalConflictCount { get; set; }
}
///
/// 冲突解决结果
///
public class ConflictResolutionResult
{
///
/// 是否已解决
///
public bool IsResolved { get; set; }
///
/// 调整方案列表
///
public List Adjustments { get; set; } = new List();
///
/// 解决方案描述
///
public string ResolutionDescription { get; set; } = "";
}
///
/// 分配调整方案
///
public class AllocationAdjustment
{
///
/// 任务ID
///
public long TaskId { get; set; }
///
/// 原人员ID
///
public long? OldPersonnelId { get; set; }
///
/// 新人员ID (null表示取消分配)
///
public long? NewPersonnelId { get; set; }
///
/// 调整原因
///
public string AdjustmentReason { get; set; } = "";
}
}