04_dwd_s4_s8_foundation.sql 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. -- dop_bi 逻辑域:L2 主题宽表(方案 §6.2)
  2. -- S4 采购执行:核心消费 dwd_po_trans;S8 异常监控:可联接 dwd_po_trans / dwd_qc_trans 等做根因与关联分析。
  3. -- 与 S3 试点表 dwd_supplier_delivery 可并存,后续由 ETL 对齐或汇总。
  4. SET NAMES utf8mb4;
  5. CREATE TABLE IF NOT EXISTS dwd_wo_trans (
  6. id BIGINT AUTO_INCREMENT PRIMARY KEY,
  7. tenant_id BIGINT NOT NULL,
  8. wo_no VARCHAR(50),
  9. item_code VARCHAR(50),
  10. item_name VARCHAR(200),
  11. line_code VARCHAR(50),
  12. line_name VARCHAR(100),
  13. op_seq INT,
  14. workcenter_code VARCHAR(50),
  15. emp_code VARCHAR(50),
  16. shift_code VARCHAR(20),
  17. plan_qty DECIMAL(12,3),
  18. actual_qty DECIMAL(12,3),
  19. scrap_qty DECIMAL(12,3),
  20. work_minutes INT,
  21. setup_minutes INT,
  22. downtime_minutes INT,
  23. trans_date DATE,
  24. trans_week VARCHAR(10),
  25. trans_month VARCHAR(7),
  26. source_system VARCHAR(20),
  27. sync_time DATETIME,
  28. INDEX idx_tenant_date (tenant_id, trans_date),
  29. INDEX idx_tenant_wo (tenant_id, wo_no),
  30. INDEX idx_tenant_line_date (tenant_id, line_code, trans_date),
  31. INDEX idx_tenant_item_date (tenant_id, item_code, trans_date)
  32. ) COMMENT='工单执行明细宽表';
  33. CREATE TABLE IF NOT EXISTS dwd_inv_trans (
  34. id BIGINT AUTO_INCREMENT PRIMARY KEY,
  35. tenant_id BIGINT NOT NULL,
  36. item_code VARCHAR(50),
  37. item_name VARCHAR(200),
  38. wh_code VARCHAR(50),
  39. location_code VARCHAR(50),
  40. trans_type VARCHAR(20),
  41. qty DECIMAL(12,3),
  42. trans_date DATE,
  43. trans_week VARCHAR(10),
  44. trans_month VARCHAR(7),
  45. source_system VARCHAR(20),
  46. sync_time DATETIME,
  47. INDEX idx_tenant_date (tenant_id, trans_date),
  48. INDEX idx_tenant_item (tenant_id, item_code),
  49. INDEX idx_tenant_wh (tenant_id, wh_code)
  50. ) COMMENT='库存交易明细宽表';
  51. CREATE TABLE IF NOT EXISTS dwd_qc_trans (
  52. id BIGINT AUTO_INCREMENT PRIMARY KEY,
  53. tenant_id BIGINT NOT NULL,
  54. item_code VARCHAR(50),
  55. supplier_code VARCHAR(50),
  56. batch_no VARCHAR(50),
  57. sample_qty INT,
  58. defect_qty INT,
  59. result ENUM('PASS','FAIL','CONCESSION'),
  60. trans_date DATE,
  61. source_system VARCHAR(20),
  62. sync_time DATETIME,
  63. INDEX idx_tenant_date (tenant_id, trans_date),
  64. INDEX idx_tenant_item (tenant_id, item_code),
  65. INDEX idx_tenant_supplier (tenant_id, supplier_code)
  66. ) COMMENT='质检交易明细宽表';
  67. CREATE TABLE IF NOT EXISTS dwd_po_trans (
  68. id BIGINT AUTO_INCREMENT PRIMARY KEY,
  69. tenant_id BIGINT NOT NULL,
  70. po_no VARCHAR(50),
  71. supplier_code VARCHAR(50),
  72. item_code VARCHAR(50),
  73. order_qty DECIMAL(12,3),
  74. received_qty DECIMAL(12,3),
  75. trans_date DATE,
  76. source_system VARCHAR(20),
  77. sync_time DATETIME,
  78. INDEX idx_tenant_date (tenant_id, trans_date),
  79. INDEX idx_tenant_supplier (tenant_id, supplier_code)
  80. ) COMMENT='采购交易明细宽表';
  81. CREATE TABLE IF NOT EXISTS dwd_ship_trans (
  82. id BIGINT AUTO_INCREMENT PRIMARY KEY,
  83. tenant_id BIGINT NOT NULL,
  84. so_no VARCHAR(50),
  85. customer_code VARCHAR(50),
  86. item_code VARCHAR(50),
  87. ship_qty DECIMAL(12,3),
  88. ship_date DATE,
  89. source_system VARCHAR(20),
  90. sync_time DATETIME,
  91. INDEX idx_tenant_date (tenant_id, ship_date),
  92. INDEX idx_tenant_customer (tenant_id, customer_code)
  93. ) COMMENT='发货交易明细宽表';