using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using YunDa.SOMS.Entities.DataMonitoring; namespace YunDa.SOMS.DataTransferObject.DataMonitoring.SecondaryCircuitInspection { /// /// 二次回路巡检计划创建输入DTO /// public class SecondaryCircuitInspectionPlanCreateInput { /// /// 计划名称 /// [Required(ErrorMessage = "计划名称不能为空")] [StringLength(200, ErrorMessage = "计划名称长度不能超过200个字符")] public string Name { get; set; } /// /// 计划描述 /// [StringLength(1000, ErrorMessage = "计划描述长度不能超过1000个字符")] public string Description { get; set; } /// /// 变电站ID /// [Required(ErrorMessage = "变电站ID不能为空")] public Guid TransformerSubstationId { get; set; } /// /// 巡检计划类型 /// [Required(ErrorMessage = "巡检计划类型不能为空")] public SecondaryCircuitInspectionPlanType PlanType { get; set; } /// /// 巡检优先级 /// [Required(ErrorMessage = "巡检优先级不能为空")] public SecondaryCircuitInspectionPriority Priority { get; set; } = SecondaryCircuitInspectionPriority.Medium; /// /// 是否启用 /// [Required] public bool IsActive { get; set; } = true; /// /// 定时执行的小时(0-23) /// [Range(0, 23, ErrorMessage = "执行小时必须在0-23之间")] public int? ScheduledHour { get; set; } /// /// 定时执行的分钟(0-59) /// [Range(0, 59, ErrorMessage = "执行分钟必须在0-59之间")] public int? ScheduledMinute { get; set; } /// /// 定时执行的星期列表 /// public List ScheduledWeekDaysList { get; set; } /// /// 间隔执行的间隔分钟数 /// [Range(1, 10080, ErrorMessage = "间隔分钟数必须在1-10080之间")] public int? IntervalMinutes { get; set; } /// /// 检修状态遥信配置ID /// public Guid? MaintenanceStatusConfigId { get; set; } /// /// 执行超时时间(秒) /// [Range(10, 3600, ErrorMessage = "执行超时时间必须在10-3600秒之间")] public int ExecutionTimeoutSeconds { get; set; } = 300; /// /// 重试次数 /// [Range(0, 5, ErrorMessage = "重试次数必须在0-5之间")] public int RetryCount { get; set; } = 1; /// /// 备注 /// [StringLength(1000, ErrorMessage = "备注长度不能超过1000个字符")] public string Remark { get; set; } /// /// 巡检子项列表 /// public List InspectionItems { get; set; } /// /// 事件驱动配置列表 /// public List EventDrivenConfigs { get; set; } public SecondaryCircuitInspectionPlanCreateInput() { InspectionItems = new List(); EventDrivenConfigs = new List(); ScheduledWeekDaysList = new List(); } } }