06_kpi_atomic_agg_layer.sql 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. -- 全局业务对象域 · KPI 最小颗粒度原子聚合层(日粒度)
  2. -- 只存可二次聚合的基础量,不存模块/客户/产品/时间范围等二次汇总结果。
  3. -- API 根据前端查询条件动态 SUM/GROUP BY 计算最终 KPI。
  4. SET NAMES utf8mb4;
  5. CREATE TABLE IF NOT EXISTS ado_smart_ops_kpi_atomic_day (
  6. id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
  7. tenant_id BIGINT NOT NULL COMMENT '租户ID',
  8. factory_id BIGINT NOT NULL DEFAULT 1 COMMENT '工厂ID',
  9. domain_code VARCHAR(50) NOT NULL COMMENT '业务对象域 order_delivery/supply_purchase/work_schedule/inventory',
  10. metric_code VARCHAR(50) NOT NULL COMMENT '指标编码',
  11. metric_level TINYINT NOT NULL DEFAULT 1 COMMENT '指标层级 1-4',
  12. stat_date DATE NOT NULL COMMENT '统计日期',
  13. customer_code VARCHAR(100) NOT NULL DEFAULT '' COMMENT '客户编码',
  14. product_code VARCHAR(100) NOT NULL DEFAULT '' COMMENT '产品/物料编码',
  15. order_no VARCHAR(100) NOT NULL DEFAULT '' COMMENT '订单号',
  16. production_line VARCHAR(100) NOT NULL DEFAULT '' COMMENT '产线',
  17. supplier_code VARCHAR(100) NOT NULL DEFAULT '' COMMENT '供应商编码',
  18. material_code VARCHAR(100) NOT NULL DEFAULT '' COMMENT '物料编码',
  19. po_no VARCHAR(100) NOT NULL DEFAULT '' COMMENT '采购单号',
  20. warehouse_code VARCHAR(100) NOT NULL DEFAULT '' COMMENT '仓库编码',
  21. work_order_no VARCHAR(100) NOT NULL DEFAULT '' COMMENT '工单号',
  22. equipment_code VARCHAR(100) NOT NULL DEFAULT '' COMMENT '设备编码',
  23. outbound_no VARCHAR(100) NOT NULL DEFAULT '' COMMENT '出库单号',
  24. sum_value DECIMAL(18, 6) NULL COMMENT '可累加值',
  25. numerator_value DECIMAL(18, 6) NULL COMMENT '比率分子',
  26. denominator_value DECIMAL(18, 6) NULL COMMENT '比率分母',
  27. sample_count INT NULL COMMENT '样本数(平均类)',
  28. min_value DECIMAL(18, 6) NULL COMMENT '最小值',
  29. max_value DECIMAL(18, 6) NULL COMMENT '最大值',
  30. batch_id VARCHAR(100) NULL COMMENT 'MDP批次',
  31. calc_time DATETIME(3) NULL COMMENT '计算时间',
  32. grain VARCHAR(20) NOT NULL DEFAULT 'day' COMMENT '统计粒度 day/hour',
  33. is_deleted TINYINT NOT NULL DEFAULT 0 COMMENT '删除标识',
  34. PRIMARY KEY (id),
  35. UNIQUE KEY uk_atomic_grain (
  36. tenant_id, factory_id, domain_code, metric_code, stat_date,
  37. customer_code, product_code, order_no, production_line,
  38. supplier_code, material_code, po_no, warehouse_code,
  39. work_order_no, equipment_code, outbound_no
  40. ),
  41. KEY idx_tenant_domain_metric_date (tenant_id, domain_code, metric_code, stat_date),
  42. KEY idx_tenant_module_lookup (tenant_id, factory_id, metric_code, stat_date)
  43. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='KPI原子聚合层(日)';