using System;
using System.Collections.Generic;

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

/// <summary>
/// 人员详细信息输出模型
/// 用于人员状态检查和详细信息查询
/// </summary>
public class PersonnelDetailOutput
{
    /// <summary>
    /// 人员ID
    /// </summary>
    public long Id { get; set; }

    /// <summary>
    /// 人员编号
    /// </summary>
    public string PersonnelCode { get; set; } = "";

    /// <summary>
    /// 人员姓名
    /// </summary>
    public string PersonnelName { get; set; } = "";

    /// <summary>
    /// 部门ID
    /// </summary>
    public long? DepartmentId { get; set; }

    /// <summary>
    /// 部门名称
    /// </summary>
    public string DepartmentName { get; set; } = "";

    /// <summary>
    /// 职位
    /// </summary>
    public string Position { get; set; } = "";

    /// <summary>
    /// 是否激活
    /// </summary>
    public bool IsActive { get; set; }

    /// <summary>
    /// 联系方式
    /// </summary>
    public string Contact { get; set; } = "";

    /// <summary>
    /// 人员资质列表
    /// </summary>
    public List<PersonnelQualificationGetPageOutput> Qualifications { get; set; } = new();

    /// <summary>
    /// 人员工作限制列表
    /// </summary>
    public List<PersonnelWorkLimitGetPageOutput> WorkLimitations { get; set; } = new();

    /// <summary>
    /// 备注
    /// </summary>
    public string Remarks { get; set; } = "";

    /// <summary>
    /// 创建时间
    /// </summary>
    public DateTime? CreatedTime { get; set; }

    /// <summary>
    /// 修改时间
    /// </summary>
    public DateTime? ModifiedTime { get; set; }

    /// <summary>
    /// 当前状态描述
    /// </summary>
    public string StatusDescription { get; set; } = "";

    /// <summary>
    /// 最后活动时间
    /// </summary>
    public DateTime? LastActiveTime { get; set; }
}