
- 新增通知系统完整架构,包含通知设置、历史记录、任务管理等核心功能 - 实现工作任务分配服务,支持人员和设备的智能分配 - 添加人员分组管理功能,支持灵活的通知目标配置 - 完善相关枚举定义和数据传输对象 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
78 lines
2.1 KiB
C#
78 lines
2.1 KiB
C#
using System.Collections.Generic;
|
||
using System.ComponentModel.DataAnnotations;
|
||
using NPP.SmartSchedue.Api.Contracts.Core.Enums;
|
||
|
||
namespace NPP.SmartSchedue.Api.Contracts.Services.Notification.Input;
|
||
|
||
/// <summary>
|
||
/// 人员组创建输入
|
||
/// </summary>
|
||
public class PersonnelGroupCreateInput
|
||
{
|
||
#region 基础信息
|
||
|
||
/// <summary>
|
||
/// 人员组名称
|
||
/// </summary>
|
||
[Required(ErrorMessage = "人员组名称不能为空")]
|
||
[MaxLength(200, ErrorMessage = "人员组名称长度不能超过200个字符")]
|
||
public string GroupName { get; set; } = "";
|
||
|
||
/// <summary>
|
||
/// 人员组描述
|
||
/// </summary>
|
||
[MaxLength(500, ErrorMessage = "人员组描述长度不能超过500个字符")]
|
||
public string Description { get; set; } = "";
|
||
|
||
/// <summary>
|
||
/// 人员组类型
|
||
/// </summary>
|
||
public PersonnelGroupTypeEnum GroupType { get; set; } = PersonnelGroupTypeEnum.Mixed;
|
||
|
||
/// <summary>
|
||
/// 是否启用
|
||
/// </summary>
|
||
public bool IsEnabled { get; set; } = true;
|
||
|
||
#endregion
|
||
|
||
#region 静态人员配置
|
||
|
||
/// <summary>
|
||
/// 静态人员ID列表
|
||
/// </summary>
|
||
public List<long> StaticPersonnelIds { get; set; } = new List<long>();
|
||
|
||
#endregion
|
||
|
||
#region 动态规则配置
|
||
|
||
/// <summary>
|
||
/// 动态规则:部门ID列表
|
||
/// 当GroupType包含DynamicByDepartment时有效
|
||
/// </summary>
|
||
public List<long> DynamicDepartmentIds { get; set; } = new List<long>();
|
||
|
||
/// <summary>
|
||
/// 动态规则:职位列表
|
||
/// 当GroupType包含DynamicByPosition时有效
|
||
/// </summary>
|
||
public List<string> DynamicPositions { get; set; } = new List<string>();
|
||
|
||
/// <summary>
|
||
/// 动态规则:是否仅包含激活人员
|
||
/// </summary>
|
||
public bool OnlyActivePersonnel { get; set; } = true;
|
||
|
||
#endregion
|
||
|
||
#region 排除规则
|
||
|
||
/// <summary>
|
||
/// 排除人员ID列表
|
||
/// 在动态规则生成的人员列表中排除这些人员
|
||
/// </summary>
|
||
public List<long> ExcludePersonnelIds { get; set; } = new List<long>();
|
||
|
||
#endregion
|
||
} |