Developer 058d8edffa 添加通知系统和工作任务分配功能
- 新增通知系统完整架构,包含通知设置、历史记录、任务管理等核心功能
- 实现工作任务分配服务,支持人员和设备的智能分配
- 添加人员分组管理功能,支持灵活的通知目标配置
- 完善相关枚举定义和数据传输对象

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-05 08:34:01 +08:00

78 lines
2.1 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
}