using System;
using System.Collections.Generic;
using NPP.SmartSchedue.Api.Contracts.Core.Enums;
namespace NPP.SmartSchedue.Api.Contracts.Services.Notification.Output;
///
/// 人员组输出
///
public class PersonnelGroupOutput
{
#region 基础信息
///
/// 人员组ID
///
public long Id { get; set; }
///
/// 人员组名称
///
public string GroupName { get; set; } = "";
///
/// 人员组描述
///
public string Description { get; set; } = "";
///
/// 人员组类型
///
public PersonnelGroupTypeEnum GroupType { get; set; } = PersonnelGroupTypeEnum.Mixed;
///
/// 是否启用
///
public bool IsEnabled { get; set; } = true;
#endregion
#region 静态人员配置
///
/// 静态人员ID列表
///
public List StaticPersonnelIds { get; set; } = new List();
#endregion
#region 动态规则配置
///
/// 动态规则:部门ID列表
///
public List DynamicDepartmentIds { get; set; } = new List();
///
/// 动态规则:职位列表
///
public List DynamicPositions { get; set; } = new List();
///
/// 动态规则:是否仅包含激活人员
///
public bool OnlyActivePersonnel { get; set; } = true;
#endregion
#region 排除规则
///
/// 排除人员ID列表
///
public List ExcludePersonnelIds { get; set; } = new List();
#endregion
#region 计算属性
///
/// 当前有效人员总数(计算得出)
///
public int TotalPersonnelCount { get; set; } = 0;
///
/// 静态人员数量
///
public int StaticPersonnelCount { get; set; } = 0;
///
/// 动态人员数量
///
public int DynamicPersonnelCount { get; set; } = 0;
#endregion
#region 时间信息
///
/// 创建时间
///
public DateTime CreatedTime { get; set; }
///
/// 修改时间
///
public DateTime? ModifiedTime { get; set; }
///
/// 最后修改时间
///
public DateTime? LastModifiedTime { get; set; }
#endregion
}