using System;
using System.Collections.Generic;

namespace NPP.SmartSchedue.Api.Contracts.Services.Time.Input;

/// <summary>
/// 班次推荐输入
/// </summary>
public class ShiftRecommendationInput
{
    /// <summary>
    /// 推荐日期范围开始
    /// </summary>
    public DateTime StartDate { get; set; }

    /// <summary>
    /// 推荐日期范围结束
    /// </summary>
    public DateTime EndDate { get; set; }

    /// <summary>
    /// 人员ID列表
    /// </summary>
    public List<long> PersonnelIds { get; set; } = new List<long>();

    /// <summary>
    /// 班次ID列表
    /// </summary>
    public List<long> ShiftIds { get; set; } = new List<long>();

    /// <summary>
    /// 是否考虑指定人员优先
    /// </summary>
    public bool ConsiderSpecifiedPriority { get; set; } = true;

    /// <summary>
    /// 是否考虑年度平均分配
    /// </summary>
    public bool ConsiderYearlyAverage { get; set; } = true;

    /// <summary>
    /// 是否考虑周工作量限制
    /// </summary>
    public bool ConsiderWeeklyLimit { get; set; } = true;
} 