namespace NPP.SmartSchedue.Api.Contracts.Core.Enums;

/// <summary>
/// 班次规则类型枚举
/// </summary>
public enum ShiftRuleTypeEnum
{
    /// <summary>
    /// 优先指定人员班次
    /// </summary>
    PrioritizeSpecifiedPersonnel = 1,

    /// <summary>
    /// 按班次分组计算总任务数
    /// </summary>
    CalculateTasksByShiftGroup = 2,

    /// <summary>
    /// 个人周最大任务数限制
    /// </summary>
    IndividualWeeklyTaskLimit = 3,

    /// <summary>
    /// 班次连续性限制
    /// </summary>
    ShiftContinuityRestriction = 4,

    /// <summary>
    /// 周末连续工作限制
    /// </summary>
    WeekendConsecutiveRestriction = 5,

    /// <summary>
    /// 连续工作天数限制
    /// </summary>
    ConsecutiveWorkDaysLimit = 6,

    /// <summary>
    /// 班次后强制休息
    /// </summary>
    MandatoryRestAfterShift = 7,

    /// <summary>
    /// 年度班次平均分配
    /// </summary>
    YearlyShiftAverageDistribution = 8,

    /// <summary>
    /// 人员资质匹配
    /// </summary>
    PersonnelQualificationMatch = 9,

    /// <summary>
    /// 设备可用性检查
    /// </summary>
    EquipmentAvailabilityCheck = 10
} 