namespace Admin.NET.Plugin.AiDOP.Entity.S8; /// /// S8 监控对象字典(订单交付/订单变更/供应商交付/IQC 检验/生产工单/库存等)。 /// 全局基线 + 工厂覆盖:tenant_id=0/factory_id=0 表示 baseline,可按 (tenant_id,factory_id) 覆盖。 /// CONFIG-MONITOR-DICT-READONLY-SEED-1:本轮只读字典,前端 wizard 替代 BUSINESS_MONITOR_OPTIONS。 /// [SugarTable("ado_s8_monitor_object", "S8 监控对象字典")] [SugarIndex("uk_s8_monitor_object_tenant_factory_code", nameof(TenantId), OrderByType.Asc, nameof(FactoryId), OrderByType.Asc, nameof(ObjectCode), OrderByType.Asc, IsUnique = true)] [SugarIndex("idx_s8_monitor_object_tfe", nameof(TenantId), OrderByType.Asc, nameof(FactoryId), OrderByType.Asc, nameof(Enabled), OrderByType.Asc)] public class AdoS8MonitorObject { [SugarColumn(ColumnName = "id", IsPrimaryKey = true, IsIdentity = true, ColumnDataType = "bigint")] public long Id { get; set; } [SugarColumn(ColumnName = "tenant_id", ColumnDataType = "bigint")] public long TenantId { get; set; } [SugarColumn(ColumnName = "factory_id", ColumnDataType = "bigint")] public long FactoryId { get; set; } /// 对象编码(业务唯一),如 ORDER_DELIVERY / ORDER_CHANGE / PURCHASE_DELIVERY。 [SugarColumn(ColumnName = "object_code", Length = 64)] public string ObjectCode { get; set; } = string.Empty; /// 对象类型分组:ORDER / PURCHASE_ORDER / WORK_ORDER / IQC / INVENTORY 等。 [SugarColumn(ColumnName = "object_type", Length = 64)] public string ObjectType { get; set; } = string.Empty; /// 对象中文名(订单交付/订单变更/供应商交付/...)。 [SugarColumn(ColumnName = "object_name", Length = 128)] public string ObjectName { get; set; } = string.Empty; /// 规则执行时的物理源表名(demo_test_order 等);为空时表达式生成器走 WHERE 1=0 占位。 [SugarColumn(ColumnName = "source_table", Length = 128, IsNullable = true)] public string? SourceTable { get; set; } [SugarColumn(ColumnName = "enabled", ColumnDataType = "boolean")] public bool Enabled { get; set; } = true; [SugarColumn(ColumnName = "sort_no")] public int SortNo { get; set; } [SugarColumn(ColumnName = "remark", Length = 512, IsNullable = true)] public string? Remark { get; set; } [SugarColumn(ColumnName = "created_at")] public DateTime CreatedAt { get; set; } = DateTime.Now; [SugarColumn(ColumnName = "updated_at", IsNullable = true)] public DateTime? UpdatedAt { get; set; } }