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 }