using Admin.NET.Core;
namespace Admin.NET.Plugin.AiDOP.Entity;
///
/// 租户运营指标布局行(L1/L2),与 Catalog 中 metric_code 绑定。
///
[SugarTable("ado_smart_ops_layout_item", "智慧运营布局行")]
public class AdoSmartOpsLayoutItem : ITenantIdFilter
{
[SugarColumn(ColumnDescription = "主键", IsPrimaryKey = true, IsIdentity = true)]
public long Id { get; set; }
[SugarColumn(ColumnDescription = "租户")]
public long? TenantId { get; set; }
[SugarColumn(ColumnDescription = "工厂")]
public long FactoryId { get; set; }
[SugarColumn(ColumnDescription = "模块", Length = 8)]
public string ModuleCode { get; set; } = string.Empty;
/// 稳定行键,如 S4-L1-S4_CYCLE_L1
[SugarColumn(ColumnDescription = "行ID", Length = 96)]
public string RowId { get; set; } = string.Empty;
[SugarColumn(ColumnDescription = "1=L1 2=L2")]
public int MetricLevel { get; set; }
[SugarColumn(ColumnDescription = "指标编码", Length = 64)]
public string MetricCode { get; set; } = string.Empty;
[SugarColumn(ColumnDescription = "展示名覆盖", Length = 256, IsNullable = true)]
public string? DisplayName { get; set; }
[SugarColumn(ColumnDescription = "排序")]
public int SortNo { get; set; }
[SugarColumn(ColumnDescription = "L2 父行 RowId", Length = 96, IsNullable = true)]
public string? ParentRowId { get; set; }
[SugarColumn(ColumnDescription = "公式说明", ColumnDataType = "text", IsNullable = true)]
public string? FormulaText { get; set; }
/// S4 详情左右栏:left / right,其它模块可空
[SugarColumn(ColumnDescription = "详情分区", Length = 16, IsNullable = true)]
public string? PanelZone { get; set; }
[SugarColumn(ColumnDescription = "启用 0/1")]
public int IsEnabled { get; set; } = 1;
[SugarColumn(ColumnDescription = "更新时间")]
public DateTime UpdateTime { get; set; }
}