新增基于MCP协议的制造业数据智能体服务器,支持从JSON配置文件动态生成查询工具, 具备灵活配置、完整日志、中文支持等功能特性,专注于制造业数据分析与智能决策场景。 包含详细的README文档、依赖配置和使用示例。
60 KiB
60 KiB
manufacturing_data_model_v1.0.0
需求概述
本模型基于 module/ 目录下 52 份业务导出 Excel,面向制造企业端到端经营与生产分析(线索→商机→合同→订单→采购/生产→入出库→质检→开票/收付款/核销→资金流→分佣),抽象形成可扩展的分析型数据模型。
设计目标:
- 兼容 ISA-95 / IEC 62264:区分 Level 3(生产执行)与 Level 4(经营管理)数据边界
- 分析型优先:星型模型 + 事实星座(Conformed Dimensions)
- 主数据一致性:维度表按 SCD Type 2 管理(
RowValidFrom/RowValidTo/IsCurrent) - 事务可追溯:事实表以
EventTimeUTC作为事件时间分区/水印字段
范围说明:
- 当前 Excel 以“编号/名称”作为主要业务键(例如
产品编码、合同编号、工单编号)。分析层统一引入代理主键{Entity}Id。 - 多数单据缺少“行明细”粒度(例如销售订单/采购订单仅见单头字段),模型保留单头事实为主,后续如补充明细可平滑扩展。
术语表
| 术语 | 含义 |
|---|---|
| 业务键(Business Key) | 来自源系统的编码/编号/单号等唯一标识,如 ProductCode、ContractNumber |
| 代理键(Surrogate Key) | 分析层自增/雪花主键,如 ProductId |
| SCD Type 2 | 维度历史保留:通过 RowValidFrom/RowValidTo/IsCurrent 记录有效期 |
| 退化维度(Degenerate Dimension) | 直接保存在事实表中的单据号、状态等维度属性 |
| EventTimeUTC | 统一事件时间(UTC),作为事实表分区/增量水印字段 |
主题域总览(ISA-95 视角)
| 主题域 | ISA-95 层级 | 覆盖 Excel |
|---|---|---|
| 主数据(产品/BOM/工艺/资源) | L3/L4 共用 | 产品列表、物料清单、工艺路线、工序、仓库、供应商、客户、设备、质检原因 |
| 生产执行 | Level 3 | 工单、任务、报工、装配工单 |
| 质量 | Level 3 | 质检记录、质检不通过原因 |
| 库存与仓储作业 | Level 3 | 出入库明细、盘点、调拨、其他出入库、报废 |
| 销售与履约 | Level 4 | 销售报价、销售订单、销售出库、销售退货 |
| 采购与供应 | Level 4 | 采购申请、采购订单、采购入库、采购退货 |
| 财务与资金 | Level 4 | 发票、回款、收款/付款、预收/预付、核销、资金流向、资金转账、其他收支、分佣 |
| CRM(市场到合同) | Level 4 | 线索、商机、合同 |
实体清单(维度/事实)
维度(SCD2):
DimPerson(人员维度)DimProduct(产品维度)DimCustomer(客户维度)DimSupplier(供应商维度)DimWarehouse(仓库维度)DimBom(物料清单维度)DimRouting(工艺路线维度)DimOperation(工序维度)DimEquipment(设备维度)DimQcReason(质检不通过原因维度)DimContract(合同维度,可选:合同也可作为事实)
事实(按 EventTimeUTC 分区):
FactInventoryMovement(出入库流水事实)FactWorkOrder(工单事实)FactOperationTask(工序任务事实)FactLaborReport(报工事实)FactQualityInspection(质检事实)FactSalesOrder(销售订单事实)FactSalesShipment(销售出库事实)FactSalesReturn(销售退货事实)FactPurchaseRequest(采购申请事实)FactPurchaseOrder(采购订单事实)FactPurchaseReceipt(采购入库事实)FactPurchaseReturn(采购退货事实)FactInventoryTransfer(库存调拨事实)FactInventoryCount(库存盘点事实)FactScrap(报废事实)FactArReceipt(应收收款事实)FactApPayment(应付付款事实)FactInvoice(开票申请事实)FactWriteOff(核销事实)FactCashFlow(资金流水事实)FactCommission(分佣事实)FactLead(线索事实)FactOpportunity(商机事实)FactProductionPlan(生产计划/装配工单汇总事实,可选)
ER 图(事实星座)
erDiagram
DimProduct ||--o{ FactInventoryMovement : "by_product (关联产品)"
DimWarehouse ||--o{ FactInventoryMovement : "by_warehouse (关联仓库)"
DimBom ||--o{ FactInventoryMovement : "by_bom (关联BOM)"
DimPerson ||--o{ FactInventoryMovement : "operated_by (操作人)"
DimProduct ||--o{ FactWorkOrder : "produces (生产产品)"
DimSupplier ||--o{ FactWorkOrder : "outsourced_to (委外供应商)"
DimRouting ||--o{ FactWorkOrder : "uses_routing (使用工艺)"
DimPerson ||--o{ FactWorkOrder : "managed_by (生产主管)"
DimOperation ||--o{ FactOperationTask : "executes (执行工序)"
DimProduct ||--o{ FactOperationTask : "for_product (关联产品)"
DimPerson ||--o{ FactOperationTask : "worker (执行工人)"
DimProduct ||--o{ FactLaborReport : "reports_on (报工产品)"
DimOperation ||--o{ FactLaborReport : "at_operation (报工工序)"
DimPerson ||--o{ FactLaborReport : "reported_by (报工人员)"
DimQcReason ||--o{ FactQualityInspection : "fail_reason (不合格原因)"
DimProduct ||--o{ FactQualityInspection : "inspects (质检产品)"
DimPerson ||--o{ FactQualityInspection : "inspected_by (质检员)"
DimCustomer ||--o{ FactSalesOrder : "buys (购买)"
DimPerson ||--o{ FactSalesOrder : "sold_by (销售员)"
DimCustomer ||--o{ FactSalesShipment : "receives (收货)"
DimPerson ||--o{ FactSalesShipment : "shipped_by (发货员)"
DimCustomer ||--o{ FactSalesReturn : "returns (退货)"
DimPerson ||--o{ FactSalesReturn : "handled_by (处理人)"
DimSupplier ||--o{ FactPurchaseOrder : "supplies (供应)"
DimPerson ||--o{ FactPurchaseOrder : "purchased_by (采购员)"
DimSupplier ||--o{ FactPurchaseReceipt : "delivers (送货)"
DimPerson ||--o{ FactPurchaseReceipt : "received_by (收货员)"
DimSupplier ||--o{ FactPurchaseReturn : "takes_back (退回)"
DimContract ||--o{ FactInvoice : "invoiced_for (开票合同)"
DimContract ||--o{ FactArReceipt : "cash_in (收款合同)"
DimContract ||--o{ FactApPayment : "cash_out (付款合同)"
DimContract ||--o{ FactWriteOff : "writeoff (核销合同)"
DimPerson ||--o{ FactContract : "owned_by (合同负责人)"
DimPerson ||--o{ FactLead : "owned_by (线索负责人)"
DimPerson ||--o{ FactOpportunity : "owned_by (商机负责人)"
业务数据流转全景图
本流程图展示了从商机线索到最终产品交付的端到端数据流转过程,以及各环节涉及的关键数据实体。
flowchart TD
%% 节点样式定义
classDef process fill:#e1f5fe,stroke:#01579b,stroke-width:2px;
classDef decision fill:#fff9c4,stroke:#fbc02d,stroke-width:2px;
classDef table fill:#f3e5f5,stroke:#7b1fa2,stroke-width:1px,stroke-dasharray: 5 5;
%% 1. CRM阶段
subgraph Stage_CRM [CRM与销售阶段]
direction TB
Node_Lead[("线索处理<br>In: FactLead<br>Logic: 线索清洗/转化")]:::process
Node_Opp[("商机确认<br>In: FactLead<br>Out: FactOpportunity")]:::process
Decision_Win{商机赢单?}:::decision
Node_Contract[("合同签订<br>In: FactOpportunity<br>Out: DimContract")]:::process
Node_SO[("销售订单生成<br>In: DimContract<br>Out: FactSalesOrder")]:::process
Table_Lead[("FactLead")]:::table
Table_Opp[("FactOpportunity")]:::table
Table_SO[("FactSalesOrder")]:::table
end
%% 2. 计划阶段
subgraph Stage_Plan [计划与排程阶段]
direction TB
Node_MPS[("主生产计划(MPS)<br>In: FactSalesOrder<br>Logic: 需求合并/产能平衡<br>Out: FactProductionPlan")]:::process
Node_MRP[("MRP运算/BOM展开<br>In: FactProductionPlan, DimBom<br>Logic: 净需求计算<br>Out: FactWorkOrder(Planned)")]:::process
Decision_MakeBuy{自制/外购?}:::decision
Node_PR[("采购申请生成<br>Out: FactPurchaseRequest")]:::process
Table_Plan[("FactProductionPlan")]:::table
Table_Bom[("DimBom")]:::table
Table_Stock[("FactInventoryMovement<br>(当前库存)")]:::table
end
%% 新增:3. 采购与供应阶段
subgraph Stage_Procure [采购与供应阶段]
direction TB
Node_PO[("采购订单(PO)<br>In: FactPurchaseRequest<br>Out: FactPurchaseOrder")]:::process
Node_Receive[("收货与IQC<br>Logic: 验收/质检<br>Out: FactQualityInspection")]:::process
Decision_IQC{IQC合格?}:::decision
Node_Return[("采购退货<br>Out: FactPurchaseReturn")]:::process
Node_Mat_In[("原材料入库<br>Logic: 批次录入/更新库存<br>Out: FactPurchaseReceipt<br>FactInventoryMovement")]:::process
Node_AP[("应付挂账(AP)<br>Logic: 三单匹配<br>Out: FactApPayment")]:::process
Table_PO[("FactPurchaseOrder")]:::table
Table_Receipt[("FactPurchaseReceipt")]:::table
end
%% 4. 生产执行阶段 (原 Stage_Make)
subgraph Stage_Make [生产执行阶段]
direction TB
Node_WO_Release[("工单下达<br>In: FactWorkOrder(Planned)<br>Logic: 物料齐套/锁定资源<br>Out: FactWorkOrder(Released)")]:::process
Node_Task[("工序任务派工<br>In: FactWorkOrder, DimRouting<br>Out: FactOperationTask")]:::process
Node_Labor[("生产报工<br>In: FactOperationTask<br>Logic: 投入/产出/工时记录<br>Out: FactLaborReport")]:::process
Table_WO[("FactWorkOrder")]:::table
Table_Task[("FactOperationTask")]:::table
Table_Labor[("FactLaborReport")]:::table
end
%% 5. 质量与入库阶段 (原 Stage_QC)
subgraph Stage_QC [质量与仓储阶段]
direction TB
Node_QC[("成品检验(FQC)<br>In: FactLaborReport<br>Logic: 检验标准比对<br>Out: FactQualityInspection")]:::process
Decision_Pass{质检合格?}:::decision
Node_Scrap[("报废处理<br>Logic: 记录不良原因<br>Out: FactScrap")]:::process
Node_FG_In[("成品入库<br>In: FactWorkOrder(Closed)<br>Logic: 更新库存余额<br>Out: FactInventoryMovement(IN)")]:::process
Table_QC[("FactQualityInspection")]:::table
Table_Inv[("FactInventoryMovement")]:::table
end
%% 6. 交付阶段 (原 Stage_Deliver)
subgraph Stage_Deliver [交付阶段]
direction TB
Node_Ship[("销售发货<br>In: FactSalesOrder, FactInventoryMovement<br>Logic: 拣货/出库扣减<br>Out: FactSalesShipment")]:::process
Node_End((交付完成))
Table_Ship[("FactSalesShipment")]:::table
end
%% 新增:7. 财务与资金阶段
subgraph Stage_Finance [财务与资金阶段]
direction TB
%% AR Flow
Node_Invoice[("销售开票<br>In: FactSalesShipment<br>Out: FactInvoice")]:::process
Node_ArRec[("销售收款<br>Out: FactArReceipt")]:::process
Node_ArOff[("应收核销<br>Logic: 核销发票与收款<br>Out: FactWriteOff")]:::process
%% AP Flow
Node_ApPay[("采购付款<br>Out: FactApPayment")]:::process
Node_ApOff[("应付核销<br>Logic: 核销应付与付款<br>Out: FactWriteOff")]:::process
%% Cash Flow
Node_Cash[("资金流水<br>Logic: 账户变动记录<br>Out: FactCashFlow")]:::process
Table_Inv[("FactInvoice")]:::table
Table_Ar[("FactArReceipt")]:::table
Table_Ap[("FactApPayment")]:::table
Table_Cash[("FactCashFlow")]:::table
end
%% 关系连线
Node_Lead --> Node_Opp
Node_Opp --> Decision_Win
Decision_Win -- Yes --> Node_Contract
Node_Contract --> Node_SO
Node_SO --> Node_MPS
Node_MPS --> Node_MRP
Node_MRP --> Decision_MakeBuy
Decision_MakeBuy -- 外购 --> Node_PR
Decision_MakeBuy -- 自制 --> Node_WO_Release
%% 采购流程连线
Node_PR --> Node_PO
Node_PO --> Node_Receive
Node_Receive --> Decision_IQC
Decision_IQC -- No --> Node_Return
Decision_IQC -- Yes --> Node_Mat_In
Node_Mat_In --> Node_AP
Node_Mat_In --> Node_WO_Release
Node_WO_Release --> Node_Task
Node_Task --> Node_Labor
Node_Labor --> Node_QC
Node_QC --> Decision_Pass
Decision_Pass -- No --> Node_Scrap
Decision_Pass -- Yes --> Node_FG_In
Node_FG_In --> Node_Ship
Node_Ship --> Node_End
%% 财务流程连线
Node_Ship --> Node_Invoice
Node_Invoice --> Node_ArRec
Node_ArRec --> Node_ArOff
Node_AP --> Node_ApPay
Node_ApPay --> Node_ApOff
Node_ArRec --> Node_Cash
Node_ApPay --> Node_Cash
%% 数据表关联(虚线)
Table_Lead -.-> Node_Lead
Node_Opp -.-> Table_Opp
Node_Contract -.-> Table_SO
Table_SO -.-> Node_MPS
Node_MPS -.-> Table_Plan
Table_Plan -.-> Node_MRP
Table_Bom -.-> Node_MRP
Table_Stock -.-> Node_MRP
Node_PR -.-> Table_PO
Node_PO -.-> Table_PO
Node_Mat_In -.-> Table_Receipt
Node_Mat_In -.-> Table_Inv
Node_WO_Release -.-> Table_WO
Node_Task -.-> Table_Task
Node_Labor -.-> Table_Labor
Node_QC -.-> Table_QC
Node_Receive -.-> Table_QC
Node_FG_In -.-> Table_Inv
Node_Ship -.-> Table_Ship
Node_Invoice -.-> Table_Inv
Node_ArRec -.-> Table_Ar
Node_ApPay -.-> Table_Ap
Node_Cash -.-> Table_Cash
关键业务规则说明
-
商机转订单:
- 当
FactOpportunity状态确认为“赢单”且DimContract签订后,系统生成FactSalesOrder。 - 此时确立销售对象(Customer)、产品(Product)及交付日期(DeliveryDate)。
- 当
-
计划运算 (MPS/MRP):
FactProductionPlan汇总销售订单需求,结合FactInventoryMovement计算出的当前库存快照,进行净需求计算。- 利用
DimBom展开物料清单,区分自制件(生成FactWorkOrder)与采购件(生成FactPurchaseRequest)。
-
采购闭环管理:
- 采购订单 (PO):
FactPurchaseOrder经审批后生效,明确供应商、价格、交期。 - 入库验收 (IQC):物料到达后必须进行 IQC(
FactQualityInspection),合格品方可办理入库(FactPurchaseReceipt)并增加库存(FactInventoryMovement)。 - 财务对接 (AP):系统自动匹配 PO(采购单)、Receipt(入库单)和供应商发票,生成应付账款(
FactApPayment),确保“三单一致”。 - 供应商管理:IQC 合格率与交期准确率回写至
DimSupplier,用于季度评估与优选名录维护。
- 采购订单 (PO):
-
生产执行闭环:
- 工单下达前需校验物料齐套性(依赖采购入库的
FactInventoryMovement)。 - 现场工人通过
FactLaborReport上报实际投入工时与产出数量,该数据是成本核算的核心依据。
- 工单下达前需校验物料齐套性(依赖采购入库的
-
质量控制 (FQC):
FactQualityInspection记录成品检验结果。- 质检合格触发成品入库,不合格则根据原因(
DimQcReason)触发返工或报废(FactScrap)。
-
库存与交付:
- 所有实物库存变动(入库、出库、报废)统一写入
FactInventoryMovement,确保库存台账的一致性。 FactSalesShipment记录发货动作,作为收入确认(Revenue Recognition)的前置事件。
- 所有实物库存变动(入库、出库、报废)统一写入
-
财务资金流转:
- 应收 (AR):销售发货后生成发票申请(
FactInvoice),回款后(FactArReceipt)进行核销(FactWriteOff)。 - 应付 (AP):采购入库确认应付后(
FactApPayment中的挂账状态),执行付款(FactApPayment中的实付)并核销。 - 资金 (Cash):所有收付款动作最终汇总至
FactCashFlow,提供实时的资金日记账分析。
- 应收 (AR):销售发货后生成发票申请(
表结构详设
类型说明(可按目标数据库微调):
bigint:代理主键/外键varchar(n):业务键、名称、状态等decimal(18,4):数量与金额(金额可按需要改decimal(18,2))datetime2:统一时间字段(UTC)
DimPerson(人员维度)
| 字段 | 类型 | 空 | 缺省 | 描述 | 枚举/单位 |
|---|---|---|---|---|---|
| PersonId | bigint | N | autoincr | 主键 | |
| PersonCode | varchar(64) | N | 人员编码(业务键) | 来源:用户ID/工号 | |
| PersonName | varchar(255) | N | 姓名 | ||
| Department | varchar(100) | Y | 部门 | ||
| Position | varchar(100) | Y | 职位/岗位 | ||
| Phone | varchar(32) | Y | 电话 | ||
| varchar(100) | Y | 邮箱 | |||
| Status | varchar(20) | Y | 状态 | ACTIVE, INACTIVE | |
| SourceSystem | varchar(50) | Y | 数据来源 | ||
| RowValidFrom | datetime2 | N | SCD2 生效时间(UTC) | ||
| RowValidTo | datetime2 | N | SCD2 失效时间(UTC) | ||
| IsCurrent | bit | N | 1 | 是否当前版本 | 0,1 |
| LastUpdatedUTC | datetime2 | N | sysutcdatetime | 行级更新时间 | |
| Birthday | date | Y | 出生日期 | ||
| Employment_day | date | Y | 入职日期 | ||
| Job_description | varchar(255) | Y | 职务描述 |
DimProduct(产品维度)
| 字段 | 类型 | 空 | 缺省 | 描述 | 枚举/单位 |
|---|---|---|---|---|---|
| ProductId | bigint | N | autoincr | 主键 | |
| ProductCode | varchar(64) | N | 产品编码(业务键) | 来源:产品列表.产品编码 | |
| ProductName | varchar(255) | N | 产品名称 | ||
| ProductSpec | varchar(255) | Y | 产品规格 | ||
| ProductCategory | varchar(100) | Y | 产品类别 | ||
| ProductType | varchar(100) | Y | 产品类型 | ||
| UomCode | varchar(16) | Y | 主单位 | kg,pcs,L,m | |
| Brand | varchar(100) | Y | 品牌 | ||
| Origin | varchar(100) | Y | 产地 | ||
| TransportCondition | varchar(100) | Y | 运输条件 | ||
| Barcode | varchar(64) | Y | 条形码 | ||
| DrawingNumber | varchar(64) | Y | 图号 | ||
| Material | varchar(100) | Y | 材料 | ||
| SurfaceTreatment | varchar(100) | Y | 表面处理 | ||
| MinStockQty | decimal(18,4) | Y | 最低库存数量 | ||
| SafetyStockQty | decimal(18,4) | Y | 安全库存数量 | ||
| MaxStockQty | decimal(18,4) | Y | 最高库存数量 | ||
| SourceSystem | varchar(50) | Y | 数据来源 | 来源:数据来源 | |
| RowValidFrom | datetime2 | N | SCD2 生效时间(UTC) | ||
| RowValidTo | datetime2 | N | SCD2 失效时间(UTC) | ||
| IsCurrent | bit | N | 1 | 是否当前版本 | 0,1 |
| LastUpdatedUTC | datetime2 | N | sysutcdatetime | 行级更新时间 |
DimCustomer(客户维度)
| 字段 | 类型 | 空 | 缺省 | 描述 | 枚举/单位 |
|---|---|---|---|---|---|
| CustomerId | bigint | N | autoincr | 主键 | |
| CustomerName | varchar(255) | N | 客户名称(业务键) | 来源:客户列表.客户名称 | |
| CustomerSource | varchar(100) | Y | 客户来源 | ||
| Phone | varchar(32) | Y | 手机 | ||
| Telephone | varchar(32) | Y | 电话 | ||
| varchar(100) | Y | 邮箱 | |||
| CustomerLevel | varchar(50) | Y | 客户级别 | ||
| Industry | varchar(100) | Y | 客户行业 | ||
| Address | varchar(500) | Y | 详细地址 | ||
| IsLocked | bit | Y | 锁定状态 | 0,1 | |
| DealStatus | varchar(50) | Y | 成交状态 | ||
| LastFollowUpTimeUTC | datetime2 | Y | 最后跟进时间(UTC) | ||
| SourceSystem | varchar(50) | Y | 数据来源 | ||
| RowValidFrom | datetime2 | N | SCD2 生效时间(UTC) | ||
| RowValidTo | datetime2 | N | SCD2 失效时间(UTC) | ||
| IsCurrent | bit | N | 1 | 是否当前版本 | 0,1 |
| LastUpdatedUTC | datetime2 | N | sysutcdatetime | 行级更新时间 |
DimSupplier(供应商维度)
| 字段 | 类型 | 空 | 缺省 | 描述 | 枚举/单位 |
|---|---|---|---|---|---|
| SupplierId | bigint | N | autoincr | 主键 | |
| SupplierCode | varchar(64) | N | 供应商编码(业务键) | 来源:供应商列表.供应商编码 | |
| SupplierName | varchar(255) | N | 供应商名称 | ||
| SupplierCategory | varchar(100) | Y | 供应商分类 | ||
| SupplierLevel | varchar(50) | Y | 供应商级别 | ||
| Address | varchar(500) | Y | 地址 | ||
| DefaultCurrencyCode | varchar(16) | Y | 默认币别 | CNY,USD,EUR | |
| SettlementTerm | varchar(50) | Y | 结算期限 | ||
| ContractExpiryDateUTC | datetime2 | Y | 合同到期日(UTC) | ||
| SourceSystem | varchar(50) | Y | 数据来源 | ||
| RowValidFrom | datetime2 | N | SCD2 生效时间(UTC) | ||
| RowValidTo | datetime2 | N | SCD2 失效时间(UTC) | ||
| IsCurrent | bit | N | 1 | 是否当前版本 | 0,1 |
| LastUpdatedUTC | datetime2 | N | sysutcdatetime | 行级更新时间 |
DimWarehouse(仓库维度)
| 字段 | 类型 | 空 | 缺省 | 描述 | 枚举/单位 |
|---|---|---|---|---|---|
| WarehouseId | bigint | N | autoincr | 主键 | |
| WarehouseCode | varchar(64) | N | 仓库编码(业务键) | 来源:仓库列表.仓库编码 | |
| WarehouseName | varchar(255) | N | 仓库名称 | ||
| WarehouseType | varchar(50) | Y | 仓库类型 | ||
| Status | varchar(20) | Y | 仓库状态 | ENABLED,DISABLED | |
| Address | varchar(500) | Y | 仓库地址 | ||
| SourceSystem | varchar(50) | Y | 数据来源 | ||
| RowValidFrom | datetime2 | N | SCD2 生效时间(UTC) | ||
| RowValidTo | datetime2 | N | SCD2 失效时间(UTC) | ||
| IsCurrent | bit | N | 1 | 是否当前版本 | 0,1 |
| LastUpdatedUTC | datetime2 | N | sysutcdatetime | 行级更新时间 |
DimBom(物料清单维度)
| 字段 | 类型 | 空 | 缺省 | 描述 | 枚举/单位 |
|---|---|---|---|---|---|
| BomId | bigint | N | autoincr | 主键 | |
| BomNumber | varchar(64) | N | 清单编号(业务键) | 来源:物料清单.清单编号 | |
| BomTopic | varchar(100) | Y | 清单主题 | 来源:清单主题 | |
| IsPrimary | bit | Y | 主辅清单标识 | 0,1 | |
| LevelNumber | int | Y | 层级 | ||
| ProductCode | varchar(64) | Y | 关联产品编码 | 来源:产品编号 | |
| UnitUsageQty | decimal(18,4) | Y | 单位用量 | ||
| UomCode | varchar(16) | Y | 产品单位 | ||
| SupplierName | varchar(255) | Y | 默认供应商(退化属性) | 来源:供应商 | |
| Remark | varchar(500) | Y | 备注 | ||
| SourceSystem | varchar(50) | Y | 数据来源 | ||
| RowValidFrom | datetime2 | N | SCD2 生效时间(UTC) | ||
| RowValidTo | datetime2 | N | SCD2 失效时间(UTC) | ||
| IsCurrent | bit | N | 1 | 是否当前版本 | 0,1 |
| LastUpdatedUTC | datetime2 | N | sysutcdatetime | 行级更新时间 |
DimRouting(工艺路线维度)
| 字段 | 类型 | 空 | 缺省 | 描述 | 枚举/单位 |
|---|---|---|---|---|---|
| RoutingId | bigint | N | autoincr | 主键 | |
| RoutingNumber | varchar(64) | N | 工艺路线编号(业务键) | 来源:工艺路线.工艺路线编号 | |
| RoutingName | varchar(255) | N | 工艺路线名称 | ||
| OperationListText | varchar(2000) | Y | 工序/工艺路线列表(原文) | ||
| SourceSystem | varchar(50) | Y | 数据来源 | ||
| RowValidFrom | datetime2 | N | SCD2 生效时间(UTC) | ||
| RowValidTo | datetime2 | N | SCD2 失效时间(UTC) | ||
| IsCurrent | bit | N | 1 | 是否当前版本 | 0,1 |
| LastUpdatedUTC | datetime2 | N | sysutcdatetime | 行级更新时间 |
DimOperation(工序维度)
| 字段 | 类型 | 空 | 缺省 | 描述 | 枚举/单位 |
|---|---|---|---|---|---|
| OperationId | bigint | N | autoincr | 主键 | |
| OperationNumber | varchar(64) | N | 工序编号(业务键) | 来源:工序.工序编号 | |
| OperationName | varchar(255) | N | 工序名称 | ||
| ReportPermission | varchar(50) | Y | 报工权限 | ||
| ReportRatio | decimal(18,6) | Y | 报工数配比 | ||
| SourceSystem | varchar(50) | Y | 数据来源 | ||
| RowValidFrom | datetime2 | N | SCD2 生效时间(UTC) | ||
| RowValidTo | datetime2 | N | SCD2 失效时间(UTC) | ||
| IsCurrent | bit | N | 1 | 是否当前版本 | 0,1 |
| LastUpdatedUTC | datetime2 | N | sysutcdatetime | 行级更新时间 |
DimEquipment(设备维度)
| 字段 | 类型 | 空 | 缺省 | 描述 | 枚举/单位 |
|---|---|---|---|---|---|
| EquipmentId | bigint | N | autoincr | 主键 | |
| EquipmentNumber | varchar(64) | N | 设备编号(业务键) | 来源:设备.设备编号 | |
| EquipmentName | varchar(255) | N | 设备名称 | ||
| SourceSystem | varchar(50) | Y | 数据来源 | ||
| RowValidFrom | datetime2 | N | SCD2 生效时间(UTC) | ||
| RowValidTo | datetime2 | N | SCD2 失效时间(UTC) | ||
| IsCurrent | bit | N | 1 | 是否当前版本 | 0,1 |
| LastUpdatedUTC | datetime2 | N | sysutcdatetime | 行级更新时间 |
DimQcReason(质检不通过原因维度)
| 字段 | 类型 | 空 | 缺省 | 描述 | 枚举/单位 |
|---|---|---|---|---|---|
| QcReasonId | bigint | N | autoincr | 主键 | |
| QcReasonNumber | varchar(64) | N | 不通过原因编号(业务键) | 来源:质检原因.不通过原因编号 | |
| QcReasonName | varchar(255) | N | 不通过原因 | ||
| SourceSystem | varchar(50) | Y | 数据来源 | ||
| RowValidFrom | datetime2 | N | SCD2 生效时间(UTC) | ||
| RowValidTo | datetime2 | N | SCD2 失效时间(UTC) | ||
| IsCurrent | bit | N | 1 | 是否当前版本 | 0,1 |
| LastUpdatedUTC | datetime2 | N | sysutcdatetime | 行级更新时间 |
DimContract(合同维度)
| 字段 | 类型 | 空 | 缺省 | 描述 | 枚举/单位 |
|---|---|---|---|---|---|
| ContractId | bigint | N | autoincr | 主键 | |
| ContractNumber | varchar(64) | N | 合同编号(业务键) | 来源:合同.合同编号 | |
| ContractName | varchar(255) | Y | 合同名称 | ||
| OwnerId | bigint | Y | 负责人 (外键 → DimPerson) | ||
| CustomerName | varchar(255) | Y | 客户名称(退化) | ||
| CustomerId | bigint | Y | 关联客户(外键 → DimCustomer) | ||
| ContractAmount | decimal(18,4) | Y | 合同金额 | ||
| OrderTimeUTC | datetime2 | Y | 下单时间(UTC) | ||
| PaidAmount | decimal(18,4) | Y | 回款金额 | ||
| UnpaidAmount | decimal(18,4) | Y | 未回款金额 | ||
| Stage | varchar(50) | Y | 当前阶段 | ||
| Result | varchar(50) | Y | 结果 | ||
| ContractType | varchar(50) | Y | 合同类型 | ||
| SourceSystem | varchar(50) | Y | 数据来源 | ||
| RowValidFrom | datetime2 | N | SCD2 生效时间(UTC) | ||
| RowValidTo | datetime2 | N | SCD2 失效时间(UTC) | ||
| IsCurrent | bit | N | 1 | 是否当前版本 | 0,1 |
| LastUpdatedUTC | datetime2 | N | sysutcdatetime | 行级更新时间 |
FactInventoryMovement(出入库流水事实)
| 字段 | 类型 | 空 | 缺省 | 描述 | 枚举/单位 |
|---|---|---|---|---|---|
| InventoryMovementId | bigint | N | autoincr | 主键 | |
| EventTimeUTC | datetime2 | N | 出入库事件时间(UTC) | 来源:出入库日期/入库时间/出库时间 | |
| ProductId | bigint | Y | 关联DimProduct (外键 → DimProduct) | ||
| WarehouseId | bigint | Y | 关联DimWarehouse (外键 → DimWarehouse) | ||
| BomId | bigint | Y | 关联DimBom (外键 → DimBom) | ||
| OperatorId | bigint | Y | 外键 → DimPerson(操作人) | ||
| SalesOrderId | bigint | Y | 关联FactSalesOrder (外键 → FactSalesOrder) | ||
| PurchaseOrderId | bigint | Y | 关联FactPurchaseOrder (外键 → FactPurchaseOrder) | ||
| DocNumber | varchar(64) | N | 出入库单号 | 来源:出入库单号/入库单编号/出库单编号 | |
| DocType | varchar(30) | N | 单据类型 | IN,OUT,TRANSFER,OTHER_IN,OTHER_OUT | |
| MovementQty | decimal(18,4) | N | 0 | 出入库数量(入为正,出为负) | |
| UomCode | varchar(16) | Y | 单位 | ||
| UnitPrice | decimal(18,4) | Y | 单价 | ||
| DiscountUnitPrice | decimal(18,4) | Y | 折后单价 | ||
| Amount | decimal(18,4) | Y | 总价 | ||
| DiscountAmount | decimal(18,4) | Y | 折后总价 | ||
| OnhandQtyAfter | decimal(18,4) | Y | 发生后库存量(源字段) | ||
| ResponsiblePerson | varchar(100) | Y | 负责人 | ||
| AuditStatus | varchar(20) | Y | 审核状态 | ||
| SourceSystem | varchar(50) | Y | 数据来源 | ||
| LastUpdatedUTC | datetime2 | N | sysutcdatetime | 行级更新时间 |
FactWorkOrder(工单事实)
| 字段 | 类型 | 空 | 缺省 | 描述 | 枚举/单位 |
|---|---|---|---|---|---|
| WorkOrderId | bigint | N | autoincr | 主键 | |
| WorkOrderNumber | varchar(64) | N | 工单编号(退化维度) | 来源:工单编号 | |
| ProductId | bigint | Y | 关联DimProduct (外键 → DimProduct) | ||
| SupplierId | bigint | Y | 外键 → DimSupplier(委外时) | ||
| RoutingId | bigint | Y | 外键 → DimRouting | ||
| ProductionManagerId | bigint | Y | 外键 → DimPerson(生产主管) | ||
| PlannedQty | decimal(18,4) | Y | 计划生产数 | ||
| CompletedQty | decimal(18,4) | Y | 完成数 | ||
| OperationGoodQty | decimal(18,4) | Y | 工序良品数 | ||
| OperationBadQty | decimal(18,4) | Y | 工序不良品数 | ||
| QcGoodQty | decimal(18,4) | Y | 工单质检良品数 | ||
| QcBadQty | decimal(18,4) | Y | 工单质检不良品数 | ||
| Status | varchar(30) | Y | 工单状态 | OPEN,STARTED,CLOSED,SCRAP | |
| EventTimeUTC | datetime2 | N | 工单状态变更/抽取时间(UTC) | ||
| SourceDocNumber | varchar(64) | Y | 单据编号(退化) | 来源:单据编号 | |
| SourceSystem | varchar(50) | Y | 数据来源 | ||
| LastUpdatedUTC | datetime2 | N | sysutcdatetime | 行级更新时间 |
FactOperationTask(工序任务事实)
| 字段 | 类型 | 空 | 缺省 | 描述 | 枚举/单位 |
|---|---|---|---|---|---|
| OperationTaskId | bigint | N | autoincr | 主键 | |
| WorkOrderNumber | varchar(64) | N | 工单编号(退化维度) | 来源:工单编号 | |
| OperationId | bigint | Y | 关联DimOperation (外键 → DimOperation) | ||
| ProductId | bigint | Y | 关联DimProduct (外键 → DimProduct) | ||
| PlannedStartTimeUTC | datetime2 | Y | 计划开始时间(UTC) | ||
| PlannedEndTimeUTC | datetime2 | Y | 计划结束时间(UTC) | ||
| ActualStartTimeUTC | datetime2 | Y | 实际开始时间(UTC) | ||
| ActualEndTimeUTC | datetime2 | Y | 实际结束时间(UTC) | ||
| PlannedQty | decimal(18,4) | Y | 计划数 | ||
| GoodQty | decimal(18,4) | Y | 良品数 | ||
| BadQty | decimal(18,4) | Y | 不良品数 | ||
| BadReasonText | varchar(500) | Y | 不良品项(原文) | ||
| EventTimeUTC | datetime2 | N | 任务事件时间(UTC) | ||
| SourceSystem | varchar(50) | Y | 数据来源 | ||
| LastUpdatedUTC | datetime2 | N | sysutcdatetime | 行级更新时间 |
FactLaborReport(报工事实)
| 字段 | 类型 | 空 | 缺省 | 描述 | 枚举/单位 |
|---|---|---|---|---|---|
| LaborReportId | bigint | N | autoincr | 主键 | |
| WorkOrderNumber | varchar(64) | N | 工单(退化维度) | 来源:报工列表.工单 | |
| TaskName | varchar(255) | Y | 任务(退化维度) | 来源:报工列表.任务 | |
| ProductId | bigint | Y | 关联DimProduct (外键 → DimProduct) | ||
| OperationStatus | varchar(30) | Y | 工序状态 | ||
| WorkerName | varchar(100) | Y | 生产人员 | ||
| ReportQty | decimal(18,4) | N | 0 | 报工数 | |
| GoodQty | decimal(18,4) | Y | 良品数 | ||
| BadQty | decimal(18,4) | Y | 良品数 | ||
| DurationMinutes | decimal(18,2) | Y | 报工时长(分钟) | ||
| UomCode | varchar(16) | Y | 单位 | ||
| BadReasonText | varchar(500) | Y | 不良品项(原文) | ||
| EventTimeUTC | datetime2 | N | 报工事件时间(UTC) | ||
| SupplierId | bigint | Y | 外键 → DimSupplier(委外时) | ||
| SourceSystem | varchar(50) | Y | 数据来源 | ||
| LastUpdatedUTC | datetime2 | N | sysutcdatetime | 行级更新时间 |
FactQualityInspection(质检事实)
| 字段 | 类型 | 空 | 缺省 | 描述 | 枚举/单位 |
|---|---|---|---|---|---|
| QualityInspectionId | bigint | N | autoincr | 主键 | |
| InspectionNumber | varchar(64) | N | 质检记录编号(退化维度) | 来源:质检记录编号 | |
| InspectionBatchNumber | varchar(64) | Y | 质检批次号 | ||
| WorkOrderNumber | varchar(64) | Y | 工单(退化维度) | ||
| ProductId | bigint | Y | 关联DimProduct (外键 → DimProduct) | ||
| SupplierId | bigint | Y | 外键 → DimSupplier | ||
| QcReasonId | bigint | Y | 外键 → DimQcReason(不通过原因) | ||
| InspectorId | bigint | Y | 质检员 (外键 → DimPerson) | ||
| QcType | varchar(30) | Y | 质检类型 | IN_PROCESS,FINAL,INCOMING | |
| PassQty | decimal(18,4) | Y | 通过数 | ||
| FailQty | decimal(18,4) | Y | 不通过数 | ||
| SalesOrderNumber | varchar(64) | Y | 销售订单(退化维度) | ||
| CustomerName | varchar(255) | Y | 客户(退化维度) | ||
| ShipQty | decimal(18,4) | Y | 发货数 | ||
| EventTimeUTC | datetime2 | N | 质检事件时间(UTC) | ||
| SourceSystem | varchar(50) | Y | 数据来源 | ||
| LastUpdatedUTC | datetime2 | N | sysutcdatetime | 行级更新时间 |
FactSalesOrder(销售订单事实)
| 字段 | 类型 | 空 | 缺省 | 描述 | 枚举/单位 |
|---|---|---|---|---|---|
| SalesOrderId | bigint | N | autoincr | 主键 | |
| SalesOrderNumber | varchar(64) | N | 订单编号(退化维度) | 来源:销售订单.订单编号 | |
| CustomerId | bigint | Y | 关联DimCustomer (外键 → DimCustomer) | ||
| SalesPersonId | bigint | Y | 关联销售员 (外键 → DimPerson) | ||
| ContractNumber | varchar(64) | Y | 合同编号(退化维度) | ||
| ContractId | bigint | Y | 关联合同 (外键 → DimContract) | ||
| CurrencyCode | varchar(16) | Y | 币别 | ||
| FxRate | decimal(18,6) | Y | 汇率 | ||
| OrderDateUTC | datetime2 | Y | 订单单据日期(UTC) | ||
| DeliveryDateUTC | datetime2 | Y | 交货日期(UTC) | ||
| DealAmount | decimal(18,4) | Y | 成交金额 | ||
| PaymentStatus | varchar(30) | Y | 收款状态/付款状态 | ||
| TransportMode | varchar(50) | Y | 运输方式 | ||
| Packaging | varchar(100) | Y | 包材 | ||
| CustomsNumber | varchar(64) | Y | 报关单号 | ||
| ProductionDocNumber | varchar(64) | Y | 生产单据编号 | ||
| Stage | varchar(50) | Y | 当前阶段 | ||
| Result | varchar(50) | Y | 结果 | ||
| EventTimeUTC | datetime2 | N | 订单事件时间(UTC) | ||
| SourceSystem | varchar(50) | Y | 数据来源 | ||
| LastUpdatedUTC | datetime2 | N | sysutcdatetime | 行级更新时间 |
FactSalesShipment(销售出库事实)
| 字段 | 类型 | 空 | 缺省 | 描述 | 枚举/单位 |
|---|---|---|---|---|---|
| SalesShipmentId | bigint | N | autoincr | 主键 | |
| ShipmentNumber | varchar(64) | N | 出库单编号(退化维度) | 来源:销售出库单.出库单编号 | |
| CustomerId | bigint | Y | 关联DimCustomer (外键 → DimCustomer) | ||
| SalesPersonId | bigint | Y | 关联销售员 (外键 → DimPerson) | ||
| OperatorId | bigint | Y | 外键 → DimPerson(发货员) | ||
| ContractNumber | varchar(64) | Y | 合同编号(退化维度) | ||
| ContractId | bigint | Y | 关联合同 (外键 → DimContract) | ||
| CurrencyCode | varchar(16) | Y | 币别 | ||
| FxRate | decimal(18,6) | Y | 汇率 | ||
| DocDateUTC | datetime2 | Y | 出库单单据日期(UTC) | ||
| DeliveryDateUTC | datetime2 | Y | 交货日期(UTC) | ||
| TransportMode | varchar(50) | Y | 运输方式 | ||
| CustomsNumber | varchar(64) | Y | 报关单号 | ||
| Amount | decimal(18,4) | Y | 成交金额/单据金额 | ||
| EventTimeUTC | datetime2 | N | 出库事件时间(UTC) | ||
| SourceSystem | varchar(50) | Y | 数据来源 | ||
| LastUpdatedUTC | datetime2 | N | sysutcdatetime | 行级更新时间 |
FactSalesReturn(销售退货事实)
| 字段 | 类型 | 空 | 缺省 | 描述 | 枚举/单位 |
|---|---|---|---|---|---|
| SalesReturnId | bigint | N | autoincr | 主键 | |
| SalesReturnNumber | varchar(64) | N | 销售退货单编号(退化维度) | ||
| CustomerId | bigint | Y | 关联DimCustomer (外键 → DimCustomer) | ||
| SalesPersonId | bigint | Y | 销售员 (外键 → DimPerson) | ||
| OperatorId | bigint | Y | 外键 → DimPerson(处理人) | ||
| ContractNumber | varchar(64) | Y | 合同编号(退化维度) | ||
| ReturnReason | varchar(255) | Y | 退货原因 | ||
| IsReship | bit | Y | 是否退货重发 | 0,1 | |
| CurrencyCode | varchar(16) | Y | 币别 | ||
| FxRate | decimal(18,6) | Y | 汇率 | ||
| DocDateUTC | datetime2 | Y | 单据日期(UTC) | ||
| Amount | decimal(18,4) | Y | 单据金额 | ||
| EventTimeUTC | datetime2 | N | 退货事件时间(UTC) | ||
| SourceSystem | varchar(50) | Y | 数据来源 | ||
| LastUpdatedUTC | datetime2 | N | sysutcdatetime | 行级更新时间 |
FactPurchaseRequest(采购申请事实)
| 字段 | 类型 | 空 | 缺省 | 描述 | 枚举/单位 |
|---|---|---|---|---|---|
| PurchaseRequestId | bigint | N | autoincr | 主键 | |
| PurchaseRequestNumber | varchar(64) | N | 采购申请单编号(退化维度) | ||
| SupplierId | bigint | Y | 建议供应商 (外键 → DimSupplier) | ||
| ApplicantId | bigint | Y | 申请人 (外键 → DimPerson) | ||
| CurrencyCode | varchar(16) | Y | 币别 | ||
| FxRate | decimal(18,6) | Y | 汇率 | ||
| DocDateUTC | datetime2 | Y | 单据日期(UTC) | ||
| DeliveryDateUTC | datetime2 | Y | 交货日期(UTC) | ||
| TotalAmount | decimal(18,4) | Y | 采购总价 | ||
| Status | varchar(30) | Y | 采购状态 | ||
| RelatedOrderNumber | varchar(64) | Y | 订单编号(退化) | ||
| ContractNumber | varchar(64) | Y | 合同编号(退化) | ||
| EventTimeUTC | datetime2 | N | 采购申请事件时间(UTC) | ||
| SourceSystem | varchar(50) | Y | 数据来源 | ||
| LastUpdatedUTC | datetime2 | N | sysutcdatetime | 行级更新时间 |
FactPurchaseOrder(采购订单事实)
| 字段 | 类型 | 空 | 缺省 | 描述 | 枚举/单位 |
|---|---|---|---|---|---|
| PurchaseOrderId | bigint | N | autoincr | 主键 | |
| PurchaseOrderNumber | varchar(64) | N | 采购订单编号(退化维度) | ||
| SupplierId | bigint | Y | 关联DimSupplier (外键 → DimSupplier) | ||
| BuyerId | bigint | Y | 关联采购员 (外键 → DimPerson) | ||
| CurrencyCode | varchar(16) | Y | 币别 | ||
| FxRate | decimal(18,6) | Y | 汇率 | ||
| DocDateUTC | datetime2 | Y | 单据日期(UTC) | ||
| DeliveryDateUTC | datetime2 | Y | 交货日期(UTC) | ||
| ContractNumber | varchar(64) | Y | 合同编号(退化) | ||
| ContractId | bigint | Y | 关联合同 (外键 → DimContract) | ||
| DeliveryNoteNumber | varchar(64) | Y | 送货单号 | ||
| SettlementDateUTC | datetime2 | Y | 结算日期(UTC) | ||
| SettlementTerm | varchar(50) | Y | 结算期限 | ||
| EventTimeUTC | datetime2 | N | 采购订单事件时间(UTC) | ||
| SourceSystem | varchar(50) | Y | 数据来源 | ||
| LastUpdatedUTC | datetime2 | N | sysutcdatetime | 行级更新时间 |
FactPurchaseReceipt(采购入库事实)
| 字段 | 类型 | 空 | 缺省 | 描述 | 枚举/单位 |
|---|---|---|---|---|---|
| PurchaseReceiptId | bigint | N | autoincr | 主键 | |
| PurchaseReceiptNumber | varchar(64) | N | 采购入库单编号(退化维度) | ||
| SupplierId | bigint | Y | 关联DimSupplier (外键 → DimSupplier) | ||
| BuyerId | bigint | Y | 外键 → DimPerson(采购员) | ||
| OperatorId | bigint | Y | 外键 → DimPerson(收货员) | ||
| PurchaseOrderNumber | varchar(64) | Y | 采购订单(退化维度) | ||
| CurrencyCode | varchar(16) | Y | 币别 | ||
| FxRate | decimal(18,6) | Y | 汇率 | ||
| DocDateUTC | datetime2 | Y | 单据日期(UTC) | ||
| DeliveryDateUTC | datetime2 | Y | 交货日期(UTC) | ||
| ContractNumber | varchar(64) | Y | 合同编号(退化) | ||
| Amount | decimal(18,4) | Y | 成交金额 | ||
| EstimatedCost | decimal(18,4) | Y | 预计采购费用 | ||
| ReceiptQtyTotal | decimal(18,4) | Y | 入库总数 | ||
| PaidAmount | decimal(18,4) | Y | 已付款金额 | ||
| UnpaidAmount | decimal(18,4) | Y | 未付款金额 | ||
| PaymentStatus | varchar(30) | Y | 付款状态 | ||
| ReturnedQty | decimal(18,4) | Y | 已退货数 | ||
| NotReturnedQty | decimal(18,4) | Y | 未退货数 | ||
| ReturnStatus | varchar(30) | Y | 退货状态 | ||
| EventTimeUTC | datetime2 | N | 入库事件时间(UTC) | ||
| SourceSystem | varchar(50) | Y | 数据来源 | ||
| LastUpdatedUTC | datetime2 | N | sysutcdatetime | 行级更新时间 |
FactPurchaseReturn(采购退货事实)
| 字段 | 类型 | 空 | 缺省 | 描述 | 枚举/单位 |
|---|---|---|---|---|---|
| PurchaseReturnId | bigint | N | autoincr | 主键 | |
| PurchaseReturnNumber | varchar(64) | N | 采购退货单编号(退化维度) | ||
| SupplierId | bigint | Y | 关联DimSupplier (外键 → DimSupplier) | ||
| BuyerId | bigint | Y | 采购员 (外键 → DimPerson) | ||
| OperatorId | bigint | Y | 处理人 (外键 → DimPerson) | ||
| CurrencyCode | varchar(16) | Y | 币别 | ||
| FxRate | decimal(18,6) | Y | 汇率 | ||
| DocDateUTC | datetime2 | Y | 单据日期(UTC) | ||
| ReturnReason | varchar(255) | Y | 退货原因 | ||
| ContractNumber | varchar(64) | Y | 合同编号(退化) | ||
| RelatedOrderNumber | varchar(64) | Y | 订单号(退化) | ||
| EventTimeUTC | datetime2 | N | 退货事件时间(UTC) | ||
| SourceSystem | varchar(50) | Y | 数据来源 | ||
| LastUpdatedUTC | datetime2 | N | sysutcdatetime | 行级更新时间 |
FactInventoryTransfer(库存调拨事实)
| 字段 | 类型 | 空 | 缺省 | 描述 | 枚举/单位 |
|---|---|---|---|---|---|
| InventoryTransferId | bigint | N | autoincr | 主键 | |
| TransferNumber | varchar(64) | N | 调拨单编号(退化维度) | ||
| OperatorId | bigint | Y | 操作人 (外键 → DimPerson) | ||
| TransferName | varchar(255) | Y | 调拨名称 | ||
| Tag | varchar(100) | Y | 单据标签 | ||
| TransferTimeUTC | datetime2 | Y | 调拨时间(UTC) | ||
| PlateNumber | varchar(32) | Y | 车牌号 | ||
| DeliveryMode | varchar(50) | Y | 交货方式 | ||
| EventTimeUTC | datetime2 | N | 调拨事件时间(UTC) | ||
| SourceSystem | varchar(50) | Y | 数据来源 | ||
| LastUpdatedUTC | datetime2 | N | sysutcdatetime | 行级更新时间 |
FactInventoryCount(库存盘点事实)
| 字段 | 类型 | 空 | 缺省 | 描述 | 枚举/单位 |
|---|---|---|---|---|---|
| InventoryCountId | bigint | N | autoincr | 主键 | |
| CountNumber | varchar(64) | N | 盘点编号(退化维度) | ||
| OperatorId | bigint | Y | 盘点人 (外键 → DimPerson) | ||
| WarehouseName | varchar(255) | Y | 盘点仓库(退化) | ||
| CountName | varchar(255) | Y | 盘点名称 | ||
| CountTimeUTC | datetime2 | Y | 盘点时间(UTC) | ||
| EventTimeUTC | datetime2 | N | 盘点事件时间(UTC) | ||
| SourceSystem | varchar(50) | Y | 数据来源 | ||
| LastUpdatedUTC | datetime2 | N | sysutcdatetime | 行级更新时间 |
FactScrap(报废事实)
| 字段 | 类型 | 空 | 缺省 | 描述 | 枚举/单位 |
|---|---|---|---|---|---|
| ScrapId | bigint | N | autoincr | 主键 | |
| ScrapNumber | varchar(64) | N | 报废编号(退化维度) | ||
| OperatorId | bigint | Y | 操作人 (外键 → DimPerson) | ||
| WarehouseName | varchar(255) | Y | 仓库(退化) | ||
| ScrapTimeUTC | datetime2 | Y | 报废日期(UTC) | ||
| EventTimeUTC | datetime2 | N | 报废事件时间(UTC) | ||
| SourceSystem | varchar(50) | Y | 数据来源 | ||
| LastUpdatedUTC | datetime2 | N | sysutcdatetime | 行级更新时间 |
FactArReceipt(应收收款事实)
| 字段 | 类型 | 空 | 缺省 | 描述 | 枚举/单位 |
|---|---|---|---|---|---|
| ArReceiptId | bigint | N | autoincr | 主键 | |
| DocNumber | varchar(64) | N | 单据编号(退化维度) | 来源:收款单/回款/预收/其他收入等 | |
| DocType | varchar(30) | N | 单据类型 | RECEIPT,REFUND,ADVANCE,ADVANCE_REFUND,OTHER_INCOME | |
| CustomerId | bigint | Y | 关联DimCustomer (外键 → DimCustomer) | ||
| ContractId | bigint | Y | 关联DimContract (外键 → DimContract) | ||
| DocDateUTC | datetime2 | Y | 单据日期(UTC) | ||
| CurrencyCode | varchar(16) | Y | 币别 | ||
| FxRate | decimal(18,6) | Y | 汇率 | ||
| Amount | decimal(18,4) | Y | 收款总金额/回款金额/应收金额 | ||
| AmountBase | decimal(18,4) | Y | 本位币金额 | 来源:本位币字段 | |
| FeeAmount | decimal(18,4) | Y | 手续费 | ||
| DiscountAmount | decimal(18,4) | Y | 优惠金额 | ||
| WriteOffAmount | decimal(18,4) | Y | 核销总金额 | ||
| WrittenOffAmount | decimal(18,4) | Y | 已核销金额 | ||
| UnwrittenOffAmount | decimal(18,4) | Y | 未核销金额 | ||
| RelatedDocNumber | varchar(64) | Y | 关联单编号/销售订单编号 | ||
| EventTimeUTC | datetime2 | N | 收款事件时间(UTC) | ||
| SourceSystem | varchar(50) | Y | 数据来源 | ||
| LastUpdatedUTC | datetime2 | N | sysutcdatetime | 行级更新时间 |
FactApPayment(应付付款事实)
| 字段 | 类型 | 空 | 缺省 | 描述 | 枚举/单位 |
|---|---|---|---|---|---|
| ApPaymentId | bigint | N | autoincr | 主键 | |
| DocNumber | varchar(64) | N | 单据编号(退化维度) | 来源:付款单/预付款/其他支出等 | |
| DocType | varchar(30) | N | 单据类型 | PAYMENT,REFUND,ADVANCE,ADVANCE_REFUND,OTHER_EXPENSE | |
| SupplierId | bigint | Y | 关联DimSupplier (外键 → DimSupplier) | ||
| ContractId | bigint | Y | 关联DimContract (外键 → DimContract) | ||
| DocDateUTC | datetime2 | Y | 单据日期(UTC) | ||
| CurrencyCode | varchar(16) | Y | 币别 | ||
| FxRate | decimal(18,6) | Y | 汇率 | ||
| Amount | decimal(18,4) | Y | 付款总金额/应付金额 | ||
| AmountBase | decimal(18,4) | Y | 本位币金额 | ||
| FeeAmount | decimal(18,4) | Y | 手续费 | ||
| DiscountAmount | decimal(18,4) | Y | 优惠金额 | ||
| WriteOffAmount | decimal(18,4) | Y | 核销总金额 | ||
| WrittenOffAmount | decimal(18,4) | Y | 已核销金额 | ||
| UnwrittenOffAmount | decimal(18,4) | Y | 未核销金额 | ||
| RelatedDocNumber | varchar(64) | Y | 关联单编号/采购订单编号 | ||
| EventTimeUTC | datetime2 | N | 付款事件时间(UTC) | ||
| SourceSystem | varchar(50) | Y | 数据来源 | ||
| LastUpdatedUTC | datetime2 | N | sysutcdatetime | 行级更新时间 |
FactInvoice(开票申请事实)
| 字段 | 类型 | 空 | 缺省 | 描述 | 枚举/单位 |
|---|---|---|---|---|---|
| InvoiceId | bigint | N | autoincr | 主键 | |
| InvoiceRequestNumber | varchar(64) | N | 发票申请编号(退化维度) | 来源:发票申请编号 | |
| ContractId | bigint | Y | 关联DimContract (外键 → DimContract) | ||
| ContractNumber | varchar(64) | Y | 合同编号(退化维度) | ||
| HandlerId | bigint | Y | 外键 → DimPerson(经办人) | ||
| CustomerId | bigint | Y | 外键 → DimCustomer | ||
| InvoiceAmount | decimal(18,4) | Y | 开票金额 | ||
| ContractAmount | decimal(18,4) | Y | 合同金额 | ||
| InvoiceDateUTC | datetime2 | Y | 开票日期(UTC) | ||
| ActualInvoiceDateUTC | datetime2 | Y | 开票日期(UTC) | ||
| InvoiceType | varchar(50) | Y | 开票类型 | ||
| Stage | varchar(50) | Y | 当前阶段 | ||
| Result | varchar(50) | Y | 结果 | ||
| EventTimeUTC | datetime2 | N | 开票事件时间(UTC) | ||
| SourceSystem | varchar(50) | Y | 数据来源 | ||
| LastUpdatedUTC | datetime2 | N | sysutcdatetime | 行级更新时间 |
FactWriteOff(核销事实)
| 字段 | 类型 | 空 | 缺省 | 描述 | 枚举/单位 |
|---|---|---|---|---|---|
| WriteOffId | bigint | N | autoincr | 主键 | |
| WriteOffNumber | varchar(64) | N | 核销单编号(退化维度) | 来源:核销单编号 | |
| DocDateUTC | datetime2 | Y | 单据日期(UTC) | ||
| ContractId | bigint | Y | 关联DimContract (外键 → DimContract) | ||
| HandlerId | bigint | Y | 经办人 (外键 → DimPerson) | ||
| CustomerId | bigint | Y | 关联DimCustomer (外键 → DimCustomer) | ||
| SupplierId | bigint | Y | 关联DimSupplier (外键 → DimSupplier) | ||
| WriteOffType | varchar(30) | Y | 核销类型 | AR,AP | |
| CurrencyCode | varchar(16) | Y | 币别 | ||
| FxRate | decimal(18,6) | Y | 汇率 | ||
| DiscountAmount | decimal(18,4) | Y | 优惠金额 | ||
| WriteOffAmount | decimal(18,4) | Y | 核销总金额 | ||
| EventTimeUTC | datetime2 | N | 核销事件时间(UTC) | ||
| SourceSystem | varchar(50) | Y | 数据来源 | ||
| LastUpdatedUTC | datetime2 | N | sysutcdatetime | 行级更新时间 |
FactCashFlow(资金流水事实)
| 字段 | 类型 | 空 | 缺省 | 描述 | 枚举/单位 |
|---|---|---|---|---|---|
| CashFlowId | bigint | N | autoincr | 主键 | |
| DocNumber | varchar(64) | Y | 单据编号(退化维度) | 来源:资金流向.单据编号/转账单编号 | |
| DocType | varchar(30) | N | 单据类型 | CASHFLOW,TRANSFER | |
| AccountName | varchar(255) | Y | 账户名称 | ||
| DocDateUTC | datetime2 | Y | 单据日期(UTC) | ||
| BusinessType | varchar(100) | Y | 业务类型 | ||
| IncomeAmount | decimal(18,4) | Y | 收入 | ||
| ExpenseAmount | decimal(18,4) | Y | 支出 | ||
| BalanceAmount | decimal(18,4) | Y | 余额 | ||
| Counterparty | varchar(255) | Y | 往来单位 | ||
| Remark | varchar(500) | Y | 单据备注 | ||
| EventTimeUTC | datetime2 | N | 资金事件时间(UTC) | ||
| SourceSystem | varchar(50) | Y | 数据来源 | ||
| LastUpdatedUTC | datetime2 | N | sysutcdatetime | 行级更新时间 |
FactCommission(分佣事实)
| 字段 | 类型 | 空 | 缺省 | 描述 | 枚举/单位 |
|---|---|---|---|---|---|
| CommissionId | bigint | N | autoincr | 主键 | |
| CommissionPerson | varchar(100) | N | 分佣人 | ||
| Department | varchar(100) | Y | 部门 | ||
| CommissionRatePct | decimal(9,4) | Y | 提成比例(%) | ||
| Coefficient | decimal(18,6) | Y | 系数 | ||
| ReceivableCommission | decimal(18,4) | Y | 应收佣金 | ||
| ReceivedCommission | decimal(18,4) | Y | 实收佣金 | ||
| ContractId | bigint | Y | 关联DimContract (外键 → DimContract) | ||
| CustomerId | bigint | Y | 关联DimCustomer (外键 → DimCustomer) | ||
| ProductName | varchar(255) | Y | 产品名称(退化) | ||
| OpportunityName | varchar(255) | Y | 商机名称(退化) | ||
| ContractAmount | decimal(18,4) | Y | 合同金额 | ||
| DealTimeUTC | datetime2 | Y | 成交时间(UTC) | ||
| IsInvoiced | bit | Y | 是否开票 | 0,1 | |
| EventTimeUTC | datetime2 | N | 分佣事件时间(UTC) | ||
| SourceSystem | varchar(50) | Y | 数据来源 | ||
| LastUpdatedUTC | datetime2 | N | sysutcdatetime | 行级更新时间 |
FactLead(线索事实)
| 字段 | 类型 | 空 | 缺省 | 描述 | 枚举/单位 |
|---|---|---|---|---|---|
| LeadId | bigint | N | autoincr | 主键 | |
| LeadName | varchar(255) | N | 线索名称 | ||
| OwnerId | bigint | Y | 负责人 (外键 → DimPerson) | ||
| LeadSource | varchar(100) | Y | 线索来源 | ||
| Phone | varchar(32) | Y | 手机 | ||
| Telephone | varchar(32) | Y | 电话 | ||
| varchar(100) | Y | 邮箱 | |||
| Address | varchar(500) | Y | 地址 | ||
| Industry | varchar(100) | Y | 客户行业 | ||
| CustomerLevel | varchar(50) | Y | 客户级别 | ||
| NextContactTimeUTC | datetime2 | Y | 下次联系时间(UTC) | ||
| FollowUpStatus | varchar(50) | Y | 跟进状态 | ||
| IsConverted | bit | Y | 是否已转化 | 0,1 | |
| Stage | varchar(50) | Y | 当前阶段 | ||
| Result | varchar(50) | Y | 结果 | ||
| EventTimeUTC | datetime2 | N | 线索事件时间(UTC) | ||
| SourceSystem | varchar(50) | Y | 数据来源 | ||
| LastUpdatedUTC | datetime2 | N | sysutcdatetime | 行级更新时间 |
FactOpportunity(商机事实)
| 字段 | 类型 | 空 | 缺省 | 描述 | 枚举/单位 |
|---|---|---|---|---|---|
| OpportunityId | bigint | N | autoincr | 主键 | |
| CustomerId | bigint | Y | 关联DimCustomer (外键 → DimCustomer) | ||
| OpportunityAmount | decimal(18,4) | Y | 商机金额 | ||
| ExpectedDealDateUTC | datetime2 | Y | 预计成交日期(UTC) | ||
| NextContactTimeUTC | datetime2 | Y | 下次联系时间(UTC) | ||
| StatusGroup | varchar(50) | Y | 商机状态组 | ||
| Stage | varchar(50) | Y | 当前阶段 | ||
| Result | varchar(50) | Y | 结果 | ||
| EventTimeUTC | datetime2 | N | 商机事件时间(UTC) | ||
| SourceSystem | varchar(50) | Y | 数据来源 | ||
| LastUpdatedUTC | datetime2 | N | sysutcdatetime | 行级更新时间 |
FactProductionPlan(生产计划_装配工单汇总事实)
| 字段 | 类型 | 空 | 缺省 | 描述 | 枚举/单位 |
|---|---|---|---|---|---|
| ProductionPlanId | bigint | N | autoincr | 主键 | |
| AssemblyWorkOrderNumber | varchar(64) | N | 装配工单编号(退化维度) | 来源:装配工单编号 | |
| WorkOrderCount | int | Y | 工单数 | ||
| FinishedCount | int | Y | 已结束数 | ||
| PlannedQty | decimal(18,4) | Y | 计划数 | ||
| CompletedQty | decimal(18,4) | Y | 完工数 | ||
| PlanStatus | varchar(50) | Y | 生产计划状态 | ||
| ProgressText | varchar(100) | Y | 工单生成/用料生成/单据进度(原文) | ||
| CustomerName | varchar(255) | Y | 客户(退化) | ||
| CustomerId | bigint | Y | 关联DimCustomer (外键 → DimCustomer) | ||
| ProductId | bigint | Y | 关联DimProduct (外键 → DimProduct) | ||
| SalesOrderId | bigint | Y | 关联FactSalesOrder (外键 → FactSalesOrder) | ||
| EventTimeUTC | datetime2 | N | 计划事件时间(UTC) | ||
| SourceSystem | varchar(50) | Y | 数据来源 | ||
| LastUpdatedUTC | datetime2 | N | sysutcdatetime | 行级更新时间 |
KPI 映射(示例)
| KPI | 口径 | 表/字段 |
|---|---|---|
| 报工良率 | sum(GoodQty) / nullif(sum(ReportQty),0) |
FactLaborReport.GoodQty/ReportQty |
| 质检良率 | sum(PassQty) / nullif(sum(PassQty+FailQty),0) |
FactQualityInspection.PassQty/FailQty |
| 采购未付款 | sum(UnpaidAmount) |
FactPurchaseReceipt.UnpaidAmount |
| AR 未核销 | sum(UnwrittenOffAmount) |
FactArReceipt.UnwrittenOffAmount |
| AP 未核销 | sum(UnwrittenOffAmount) |
FactApPayment.UnwrittenOffAmount |
数据字典
以下枚举值仅供参考,实际实施时应根据业务系统配置进行调整。
1. 通用类 (Common)
| 字典代码 | 字典名称 | 枚举值 (Code: Name) | 适用字段 |
|---|---|---|---|
| CurrencyCode | 币种 | CNY: 人民币 USD: 美元 EUR: 欧元 JPY: 日元 HKD: 港币 |
FactSalesOrder.CurrencyCodeFactPurchaseOrder.CurrencyCodeFactArReceipt.CurrencyCode... |
| UomCode | 计量单位 | pcs: 个/件 kg: 千克 m: 米 L: 升 box: 箱 set: 套 |
DimProduct.UomCodeDimBom.UomCodeFactInventoryMovement.UomCode |
| Boolean | 布尔标识 | 0: 否 (No/False) 1: 是 (Yes/True) |
IsCurrent, IsLocked, IsPrimary, IsReship, IsConverted, IsInvoiced |
2. 人员与组织 (Person & Org)
| 字典代码 | 字典名称 | 枚举值 | 适用字段 |
|---|---|---|---|
| PersonStatus | 人员状态 | ACTIVE: 在职 INACTIVE: 离职 LEAVE: 休假 |
DimPerson.Status |
| Department | 部门 | SALES: 销售部 MFG: 生产部 PUR: 采购部 WH: 仓储部 FIN: 财务部 QC: 质检部 |
DimPerson.Department |
| SupplierLevel | 供应商等级 | STRATEGIC: 战略供应商 PREFERRED: 优选供应商 APPROVED: 合格供应商 PROBATION: 考察供应商 EXIT: 淘汰供应商 |
DimSupplier.SupplierLevel |
| CustomerLevel | 客户等级 | KA: 重点客户 VIP: 重要客户 NORMAL: 普通客户 POTENTIAL: 潜在客户 |
DimCustomer.CustomerLevelFactLead.CustomerLevel |
| Industry | 行业 | MFG: 制造 RETAIL: 零售 IT: 互联网 FIN: 金融 EDU: 教育 |
DimCustomer.IndustryFactLead.Industry |
3. 生产与库存 (Production & Inventory)
| 字典代码 | 字典名称 | 枚举值 | 适用字段 |
|---|---|---|---|
| WorkOrderStatus | 工单状态 | PLANNED: 计划中 RELEASED: 已下达 STARTED: 生产中 PAUSED: 暂停 COMPLETED: 已完工 CLOSED: 已结案 SCRAP: 报废 |
FactWorkOrder.Status |
| MovementType | 出入库类型 | IN_PURCHASE: 采购入库 IN_FG: 完工入库 IN_RETURN: 销售退货入库 IN_OTHER: 其他入库 OUT_SALES: 销售出库 OUT_MATERIAL: 生产领料 OUT_RETURN: 采购退货出库 OUT_SCRAP: 报废出库 TRANSFER: 调拨 |
FactInventoryMovement.DocType |
| WarehouseType | 仓库类型 | RAW: 原材料仓 FG: 成品仓 WIP: 线边仓/半成品仓 SCRAP: 废品仓 VMI: 供应商库存仓 |
DimWarehouse.WarehouseType |
| QcType | 质检类型 | IQC: 来料检验 IPQC: 制程检验 FQC: 终检 OQC: 出货检验 |
FactQualityInspection.QcType |
| ProductType | 产品类型 | FINISHED: 成品 SEMI: 半成品 RAW: 原材料 SERVICE: 服务 |
DimProduct.ProductType |
| TransportCondition | 运输条件 | NORMAL: 常温 COLD: 冷链 FRAGILE: 易碎 HAZARDOUS: 危险品 |
DimProduct.TransportCondition |
| PlanStatus | 计划状态 | DRAFT: 草稿 CONFIRMED: 已确认 EXECUTING: 执行中 COMPLETED: 已完成 |
FactProductionPlan.PlanStatus |
4. 销售与采购 (Sales & Purchase)
| 字典代码 | 字典名称 | 枚举值 | 适用字段 |
|---|---|---|---|
| LeadSource | 线索来源 | WEB: 官网 REFERRAL: 推荐 EXHIBITION: 展会 COLD_CALL: 陌拜 OTHER: 其他 |
FactLead.LeadSource |
| SalesStage | 销售阶段 | NEW: 新建 QUOTED: 已报价 NEGOTIATING: 谈判中 WON: 赢单 LOST: 输单 |
FactOpportunity.StageFactLead.Stage |
| OppStatusGroup | 商机状态组 | OPEN: 开启 WON: 赢单 LOST: 输单 |
FactOpportunity.StatusGroup |
| PurchaseStatus | 采购状态 | DRAFT: 草稿 APPROVED: 已审批 SENT: 已发送 PARTIAL_RECEIVED: 部分收货 RECEIVED: 全部收货 CLOSED: 关闭 |
FactPurchaseRequest.Status |
| PaymentStatus | 支付状态 | UNPAID: 未付款 PARTIAL: 部分付款 PAID: 已付款 OVERDUE: 逾期 |
FactSalesOrder.PaymentStatusFactPurchaseReceipt.PaymentStatus |
| TransportMode | 运输方式 | LAND: 陆运 SEA: 海运 AIR: 空运 RAIL: 铁运 EXPRESS: 快递 |
FactSalesOrder.TransportModeFactSalesShipment.TransportMode |
5. 财务 (Finance)
| 字典代码 | 字典名称 | 枚举值 | 适用字段 |
|---|---|---|---|
| FinDocType | 财务单据类型 | RECEIPT: 收款单 PAYMENT: 付款单 INVOICE: 发票 REFUND: 退款 ADVANCE: 预收/预付 WRITEOFF: 核销 |
FactArReceipt.DocTypeFactApPayment.DocType |
| WriteOffType | 核销类型 | AR: 应收核销 AP: 应付核销 |
FactWriteOff.WriteOffType |
| InvoiceType | 发票类型 | VAT_SPECIAL: 增值税专票 VAT_NORMAL: 增值税普票 ELECTRONIC: 电子发票 |
FactInvoice.InvoiceType |
变更记录
| 版本 | 日期 | 作者 | 变更描述 | 脚本影响 |
|---|---|---|---|---|
| v1.0.0 | 2025-12-25 | GPT-5.2 | 首次输出:维度SCD2 + 事实星座 + ER图 + 字段清单 | 未生成 |
| v1.1.0 | 2025-12-28 | Trae | 新增 DimPerson(人员维度)并关联销售、采购、生产、审批等事实表 | 待生成 |
| v1.2.0 | 2025-12-29 | Trae | 新增「业务数据流转全景图」,包含商机-订单-计划-生产-交付全链路 Mermaid 流程图 | 无 |
| v1.3.0 | 2025-12-29 | Trae | 升级全景图,新增外部采购闭环(PO管理、入库验收IQC、三单匹配AP、供应商管理) | 无 |
| v1.4.0 | 2025-12-29 | Trae | 升级全景图,新增财务与资金阶段(开票Invoice、收付款AP/AR、核销WriteOff、资金CashFlow) | 无 |
| v1.5.0 | 2025-12-30 | Trae | 新增「数据字典」章节,规范化通用类、人员组织、生产库存、销售采购及财务类枚举值 | 无 |