namespace Admin.NET.Plugin.AiDOP.Dto.SmartOps; // ── 查询 ── public class KpiMasterQueryDto { public string? ModuleCode { get; set; } public string? Keyword { get; set; } public int? MetricLevel { get; set; } } // ── 新增 / 编辑 ── public class KpiMasterUpsertDto { public string ModuleCode { get; set; } = string.Empty; public int MetricLevel { get; set; } public long? ParentId { get; set; } public string MetricName { get; set; } = string.Empty; public string? Description { get; set; } public string? Formula { get; set; } public string? CalcRule { get; set; } public string? DataSource { get; set; } public string? StatFrequency { get; set; } public string? Department { get; set; } public string? DopFields { get; set; } public string? Unit { get; set; } public string Direction { get; set; } = "higher_is_better"; public decimal? YellowThreshold { get; set; } public decimal? RedThreshold { get; set; } public bool IsHomePage { get; set; } public int SortNo { get; set; } public string? Remark { get; set; } public bool IsEnabled { get; set; } = true; } // ── 树节点(前端左侧树用) ── public class KpiMasterTreeNodeDto { public long Id { get; set; } public string MetricCode { get; set; } = string.Empty; public string ModuleCode { get; set; } = string.Empty; public int MetricLevel { get; set; } public string MetricName { get; set; } = string.Empty; public long? ParentId { get; set; } public int SortNo { get; set; } public bool IsEnabled { get; set; } public List Children { get; set; } = new(); } // ── 详情(右侧面板用) ── public class KpiMasterDetailDto { public long Id { get; set; } public string MetricCode { get; set; } = string.Empty; public string ModuleCode { get; set; } = string.Empty; public int MetricLevel { get; set; } public long? ParentId { get; set; } public string? ParentName { get; set; } public string MetricName { get; set; } = string.Empty; public string? Description { get; set; } public string? Formula { get; set; } public string? CalcRule { get; set; } public string? DataSource { get; set; } public string? StatFrequency { get; set; } public string? Department { get; set; } public string? DopFields { get; set; } public string? Unit { get; set; } public string Direction { get; set; } = string.Empty; public decimal? YellowThreshold { get; set; } public decimal? RedThreshold { get; set; } public bool IsHomePage { get; set; } public int SortNo { get; set; } public string? Remark { get; set; } public bool IsEnabled { get; set; } public long TenantId { get; set; } public DateTime CreatedAt { get; set; } public DateTime? UpdatedAt { get; set; } } // ── 排序 ── public class KpiMasterSortItemDto { public long Id { get; set; } public int SortNo { get; set; } } // ── 移动(拖拽) ── public class KpiMasterMoveDto { public long? NewParentId { get; set; } public int NewSortNo { get; set; } }