namespace Admin.NET.Plugin.AiDOP.Service.S8.Rules.DataAccess; /// /// 数据集状态。 /// /// 分两层,不要混用: /// · 声明状态(写在 里)只有 DEFINED / DISABLED, /// 表达"这个数据集定义本身是否还在用"; /// · 有效状态(诊断时计算)额外有 NOT_DEFINED / PROVIDER_MISSING / READY, /// 表达"结合当前 Provider 注册情况,它现在能不能用"。 /// /// 这样才能把 Batch 1 混为一谈的两件事分开: /// "数据集根本不存在" vs "数据集已定义但供数实现还没上线"。 /// public static class S8DatasetStatus { /// 声明状态:已定义且在用。 public const string Defined = "DEFINED"; /// 声明状态:定义仍在但已停用,不可用于规则执行。 public const string Disabled = "DISABLED"; /// 有效状态:Catalog 中查无此数据集。 public const string NotDefined = "NOT_DEFINED"; /// 有效状态:已定义、在用,但当前没有 Provider 实现。 public const string ProviderMissing = "PROVIDER_MISSING"; /// 有效状态:已定义、在用、Provider 已注册,可用于规则执行。 public const string Ready = "READY"; /// 声明状态是否合法。 public static bool IsDeclarable(string? status) => string.Equals(status, Defined, StringComparison.OrdinalIgnoreCase) || string.Equals(status, Disabled, StringComparison.OrdinalIgnoreCase); }