using System; using System.Collections.Generic; using FreeSql.DataAnnotations; using ZhonTai.Admin.Core.Entities; using NPP.SmartSchedue.Api.Contracts.Core.Consts; namespace NPP.SmartSchedue.Api.Contracts.Domain.Time; /// /// 班次规则配置 /// [Table(Name = DbConsts.TableNamePrefix + "shift_rule")] [Index("ix_shiftrule_type_enabled", nameof(RuleType))] [Index("ix_shiftrule_effective_time", nameof(EffectiveStartTime))] public partial class ShiftRuleEntity : EntityTenant { /// /// 规则名称 /// [Column(StringLength = 100)] public string RuleName { get; set; } /// /// 规则类型 /// [Column(StringLength = 50)] public string RuleType { get; set; } /// /// 规则描述 /// [Column(StringLength = 500)] public string Description { get; set; } /// /// 是否启用 /// public bool IsEnabled { get; set; } = true; /// /// 规则参数 (JSON格式) /// [Column(StringLength = 2000)] public string RuleParameters { get; set; } /// /// 默认优先级 /// public int DefaultPriority { get; set; } = 1; /// /// 规则生效开始时间 /// public DateTime? EffectiveStartTime { get; set; } /// /// 规则生效结束时间 /// public DateTime? EffectiveEndTime { get; set; } /// /// 规则版本号 /// [Column(StringLength = 20)] public string Version { get; set; } = "1.0"; /// /// 规则映射集合 /// [Navigate(nameof(ShiftRuleMappingEntity.RuleId))] public virtual List ShiftRuleMappings { get; set; } }