| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- using Admin.NET.Core;
- using SqlSugar;
- namespace Admin.NET.Plugin.AiDOP.Entity;
- /// <summary>
- /// KPI 业务来源与准备状态(KPI 级,一 KPI 一行)。独立于 ado_smart_ops_kpi_calc_config(版本模型)——
- /// 业务来源/准备是"指标级"元信息,无配置版本的 PENDING KPI 也要能登记,故不塞进版本表。
- /// 唯一键 (TenantId, MetricCode):MetricCode 已含模块身份(Sx_Ly_nnn),ModuleCode 仅冗余展示、由后端解析生成。
- /// BusinessInputStatus 决定 CONFIG_SQL 的试算/发布/激活门禁:仅 READY_FOR_CONFIG 放行。
- /// </summary>
- [SugarTable("ado_smart_ops_kpi_business_input", "KPI 业务来源与准备状态")]
- [SugarIndex("uk_kpi_biz_input_tenant_metric", nameof(TenantId), OrderByType.Asc, nameof(MetricCode), OrderByType.Asc, true)]
- public class AdoSmartOpsKpiBusinessInput : ITenantIdFilter
- {
- [SugarColumn(ColumnDescription = "主键", IsPrimaryKey = true, IsIdentity = true, ColumnDataType = "bigint")]
- public long Id { get; set; }
- [SugarColumn(ColumnDescription = "租户 ID(KPI 数据租户,后端解析)", ColumnDataType = "bigint", IsNullable = true)]
- public long? TenantId { get; set; }
- [SugarColumn(ColumnDescription = "指标编码 如 S5_L2_007", Length = 50)]
- public string MetricCode { get; set; } = string.Empty;
- [SugarColumn(ColumnDescription = "模块 S1~S9(由 MetricCode 解析,不信任前端)", Length = 20)]
- public string ModuleCode { get; set; } = string.Empty;
- [SugarColumn(ColumnDescription = "业务准备状态 PENDING_BUSINESS_FIELDS / PENDING_BUSINESS_SQL / READY_FOR_CONFIG", Length = 30)]
- public string BusinessInputStatus { get; set; } = "PENDING_BUSINESS_FIELDS";
- [SugarColumn(ColumnDescription = "来源系统 如 T8 / DOP-aidopdev / API", Length = 200, IsNullable = true)]
- public string? SourceSystem { get; set; }
- [SugarColumn(ColumnDescription = "来源表(逗号分隔)", Length = 500, IsNullable = true)]
- public string? SourceTables { get; set; }
- [SugarColumn(ColumnDescription = "来源字段", ColumnDataType = "text", IsNullable = true)]
- public string? SourceFields { get; set; }
- [SugarColumn(ColumnDescription = "SQL 来源 如 方老师提供 / DOP 内部自决", Length = 200, IsNullable = true)]
- public string? BusinessSqlSource { get; set; }
- [SugarColumn(ColumnDescription = "SQL 来源/业务口径说明", ColumnDataType = "text", IsNullable = true)]
- public string? BusinessSqlRemark { get; set; }
- [SugarColumn(ColumnDescription = "业务负责人(SQL 提供人)", Length = 100, IsNullable = true)]
- public string? BusinessOwner { get; set; }
- [SugarColumn(ColumnDescription = "字段负责人(字段提供人)", Length = 100, IsNullable = true)]
- public string? FieldOwner { get; set; }
- [SugarColumn(ColumnDescription = "备注", ColumnDataType = "text", IsNullable = true)]
- public string? Remark { get; set; }
- [SugarColumn(ColumnDescription = "创建人", Length = 100, IsNullable = true)]
- public string? CreatedBy { get; set; }
- [SugarColumn(ColumnDescription = "创建时间")]
- public DateTime CreatedAt { get; set; }
- [SugarColumn(ColumnDescription = "更新人", Length = 100, IsNullable = true)]
- public string? UpdatedBy { get; set; }
- [SugarColumn(ColumnDescription = "更新时间", IsNullable = true)]
- public DateTime? UpdatedAt { get; set; }
- }
|