using System;
using System.Collections.Generic;

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

/// <summary>
/// 班次连续性检查结果
/// </summary>
public class ShiftContinuityCheckResult
{
    /// <summary>
    /// 是否存在连续性冲突
    /// </summary>
    public bool HasContinuityConflict { get; set; }

    /// <summary>
    /// 冲突类型
    /// </summary>
    public string ConflictType { get; set; }

    /// <summary>
    /// 冲突描述
    /// </summary>
    public string ConflictDescription { get; set; }

    /// <summary>
    /// 冲突的班次分配列表
    /// </summary>
    public List<ShiftAssignmentInfo> ConflictingAssignments { get; set; } = new List<ShiftAssignmentInfo>();

    /// <summary>
    /// 建议的解决方案
    /// </summary>
    public string Suggestion { get; set; }
}

/// <summary>
/// 班次分配信息
/// </summary>
public class ShiftAssignmentInfo
{
    /// <summary>
    /// 班次ID
    /// </summary>
    public long ShiftId { get; set; }

    /// <summary>
    /// 班次名称
    /// </summary>
    public string ShiftName { get; set; }

    /// <summary>
    /// 分配日期
    /// </summary>
    public DateTime AssignmentDate { get; set; }

    /// <summary>
    /// 班次编号
    /// </summary>
    public int ShiftNumber { get; set; }
} 