| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- namespace Admin.NET.Plugin.AiDOP.Dto.SmartOps;
- /// <summary>维度配置读出 DTO。</summary>
- public sealed class KpiDimensionConfigDto
- {
- public long Id { get; set; }
- public long? TenantId { get; set; }
- public string MetricCode { get; set; } = string.Empty;
- public string ModuleCode { get; set; } = string.Empty;
- public long SummaryConfigId { get; set; }
- public int SummaryConfigVersion { get; set; }
- public int DimensionConfigVersion { get; set; }
- public string? DataSourceCode { get; set; }
- public string? SqlScript { get; set; }
- public string AggregationType { get; set; } = "SUMMARY_ONLY";
- public string? SupportedDimensionsJson { get; set; }
- public string? OutputContractJson { get; set; }
- public string? ParameterContractJson { get; set; }
- public int TimeoutSeconds { get; set; }
- public string PublishStatus { get; set; } = "DRAFT";
- public bool IsCurrent { get; set; }
- public string? BusinessSqlSource { get; set; }
- public string? ChangeRemark { get; set; }
- public string? Remark { get; set; }
- public string? CreatedBy { get; set; }
- public DateTime CreatedAt { get; set; }
- public string? PublishedBy { get; set; }
- public DateTime? PublishedAt { get; set; }
- }
- /// <summary>维度配置新增/编辑草稿 DTO。</summary>
- public sealed class KpiDimensionConfigUpsertDto
- {
- public string MetricCode { get; set; } = string.Empty;
- public string ModuleCode { get; set; } = string.Empty;
- public string? DataSourceCode { get; set; }
- public string? SqlScript { get; set; }
- public string AggregationType { get; set; } = "SUMMARY_ONLY";
- public string? SupportedDimensionsJson { get; set; }
- public string? OutputContractJson { get; set; }
- public string? ParameterContractJson { get; set; }
- public int TimeoutSeconds { get; set; }
- public string? BusinessSqlSource { get; set; }
- public string? ChangeRemark { get; set; }
- public string? Remark { get; set; }
- }
- /// <summary>维度试算入参。</summary>
- public sealed class KpiDimensionPreviewDto
- {
- public string MetricCode { get; set; } = string.Empty;
- public string ModuleCode { get; set; } = string.Empty;
- public string? DataSourceCode { get; set; }
- public string? SqlScript { get; set; }
- public string AggregationType { get; set; } = "SUMMARY_ONLY";
- public int TimeoutSeconds { get; set; }
- public DateTime? BizDate { get; set; }
- }
- /// <summary>维度试算结果(含前 N 行样本 + 契约校验)。</summary>
- public sealed class KpiDimensionPreviewResultDto
- {
- public bool Ok { get; set; }
- public string MetricCode { get; set; } = string.Empty;
- public string? DataSourceCode { get; set; }
- public string BizDate { get; set; } = string.Empty;
- public string ValidationStatus { get; set; } = string.Empty;
- public string ResultStatus { get; set; } = string.Empty;
- public long DurationMs { get; set; }
- public int RowCount { get; set; }
- public List<string> OutputColumns { get; set; } = new();
- public List<string> SupportedDimensions { get; set; } = new();
- public List<Dictionary<string, object?>> SampleRows { get; set; } = new();
- public string? ErrorCode { get; set; }
- public string? ErrorMessage { get; set; }
- public string ExecutedParameters { get; set; } = string.Empty;
- }
- /// <summary>KPI 维度能力(驱动前端筛选/下钻可用性)。</summary>
- public sealed class KpiDimensionCapabilityDto
- {
- public string MetricCode { get; set; } = string.Empty;
- public string ModuleCode { get; set; } = string.Empty;
- /// <summary>是否已配置并激活维度(PENDING_DIMENSION_SQL 时 false)。</summary>
- public bool Supported { get; set; }
- /// <summary>能力状态 PENDING_DIMENSION_SQL / CONFIGURED / SUMMARY_ONLY。</summary>
- public string CapabilityStatus { get; set; } = "PENDING_DIMENSION_SQL";
- public int? SummaryConfigVersion { get; set; }
- public int? DimensionConfigVersion { get; set; }
- public List<string> SupportedDimensions { get; set; } = new();
- public string? AggregationType { get; set; }
- public string? LastRunStatus { get; set; }
- public DateTime? LastRunAt { get; set; }
- }
- /// <summary>维度明细单行(只读查询)。</summary>
- public sealed class KpiDimensionDetailRowDto
- {
- public string ValueDate { get; set; } = string.Empty;
- public string DimensionType { get; set; } = string.Empty;
- public string DimensionCode { get; set; } = string.Empty;
- public string? DimensionName { get; set; }
- public decimal? MetricValue { get; set; }
- public decimal? Numerator { get; set; }
- public decimal? Denominator { get; set; }
- public decimal? SumValue { get; set; }
- public int? SampleCount { get; set; }
- public string? SourceKey { get; set; }
- public string? BatchId { get; set; }
- }
- /// <summary>维度明细只读查询结果(含按 AggregationType 复算的聚合值 + 分页明细)。</summary>
- public sealed class KpiDimensionDetailResultDto
- {
- public string MetricCode { get; set; } = string.Empty;
- /// <summary>OK / NOT_CONFIGURED。</summary>
- public string Status { get; set; } = "OK";
- public int? SummaryConfigVersion { get; set; }
- public int? DimensionConfigVersion { get; set; }
- public string? AggregationType { get; set; }
- /// <summary>当前筛选范围按 AggregationType 复算的聚合值(后端算,前端只展示)。</summary>
- public decimal? AggregateValue { get; set; }
- public int Total { get; set; }
- public List<KpiDimensionDetailRowDto> List { get; set; } = new();
- }
|