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