| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- namespace Admin.NET.Plugin.AiDOP.Dto.S8;
- /// <summary>
- /// 大屏卡片数据出参(GET /api/aidop/s8/dashboard/cell-data)。
- /// 结构平铺:value 为主指标;breakdown 为可选的明细分组(按部门或异常类型等)。
- /// </summary>
- public class AdoS8CellDataDto
- {
- public string CellCode { get; set; } = string.Empty;
- public string PageCode { get; set; } = string.Empty;
- /// <summary>卡片标题(来自配置 cell_title;若空由前端走组件默认)</summary>
- public string? Title { get; set; }
- /// <summary>binding_type:EXCEPTION_TYPE / AGGREGATE / CUSTOM</summary>
- public string BindingType { get; set; } = string.Empty;
- /// <summary>统计口径:OPEN_COUNT / FREQUENCY / AVG_DURATION / CLOSE_RATE</summary>
- public string StatMetric { get; set; } = string.Empty;
- /// <summary>时间窗:TODAY / LAST_24H / LAST_7D / LAST_30D</summary>
- public string TimeWindow { get; set; } = string.Empty;
- /// <summary>主指标值(按 stat_metric 语义:计数为 int 语义;百分比 0-100;时长为小时)</summary>
- public double Value { get; set; }
- /// <summary>附加明细(部门分组 / 类型分组 / 趋势等;CUSTOM 卡片可为空由前端保留原实现)</summary>
- public List<AdoS8CellBreakdownItem> Breakdown { get; set; } = new();
- /// <summary>未配置 / 未启用时的说明(便于前端区分"空数据"与"未配置")</summary>
- public string? Message { get; set; }
- }
- /// <summary>
- /// 卡片明细分组项。label 含义由 groupBy 决定(OWNER / OCCUR / TYPE 等)。
- /// </summary>
- public class AdoS8CellBreakdownItem
- {
- public string Label { get; set; } = string.Empty;
- public double Value { get; set; }
- public string? Code { get; set; }
- }
- /// <summary>卡片数据查询入参</summary>
- public class AdoS8CellDataQueryDto
- {
- public long TenantId { get; set; } = 1;
- public long FactoryId { get; set; } = 1;
- public string PageCode { get; set; } = string.Empty;
- public string CellCode { get; set; } = string.Empty;
- /// <summary>可选:ALL 或具体 orderId(预留未落地)</summary>
- public string? OrderScope { get; set; }
- /// <summary>可选:OWNER / OCCUR,覆盖配置中的 dept_group_by</summary>
- public string? DeptGroupBy { get; set; }
- }
|