1.0.146.sql 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. -- 1.0.146.sql
  2. -- S2-MDP-SCHEDULE-KPI-1
  3. -- 为 S2 生产排程建立 stg -> std -> dwd -> KPI 链路的基础表与实体配置。
  4. CREATE TABLE IF NOT EXISTS mdp_stg_schedule (
  5. id BIGINT AUTO_INCREMENT PRIMARY KEY,
  6. tenant_id BIGINT NOT NULL DEFAULT 0,
  7. factory_id VARCHAR(64) NULL,
  8. source_system VARCHAR(50) NOT NULL DEFAULT 'AIDOP',
  9. source_table VARCHAR(100) NOT NULL,
  10. source_row_id VARCHAR(100) NOT NULL,
  11. source_biz_key VARCHAR(200) NULL,
  12. sync_batch_id VARCHAR(100) NOT NULL,
  13. sync_time DATETIME NOT NULL,
  14. process_status VARCHAR(20) NOT NULL DEFAULT 'PENDING',
  15. raw_data JSON NOT NULL,
  16. update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  17. UNIQUE KEY uk_mdp_stg_schedule (tenant_id, source_table, source_row_id),
  18. KEY idx_mdp_stg_schedule_batch (sync_batch_id),
  19. KEY idx_mdp_stg_schedule_biz (source_biz_key)
  20. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='S2生产排程贴源层';
  21. CREATE TABLE IF NOT EXISTS mdp_std_work_order_schedule (
  22. id BIGINT AUTO_INCREMENT PRIMARY KEY,
  23. tenant_id BIGINT NOT NULL DEFAULT 0,
  24. factory_id BIGINT NULL,
  25. source_system VARCHAR(50) NOT NULL DEFAULT 'AIDOP',
  26. work_order VARCHAR(100) NOT NULL,
  27. sales_order_no VARCHAR(100) NULL,
  28. item_code VARCHAR(100) NULL,
  29. item_name VARCHAR(200) NULL,
  30. site_code VARCHAR(50) NULL,
  31. status VARCHAR(50) NULL,
  32. priority DECIMAL(18,6) NULL,
  33. urgent_flag TINYINT NOT NULL DEFAULT 0,
  34. qty_ordered DECIMAL(18,6) NULL,
  35. qty_completed DECIMAL(18,6) NULL,
  36. order_date DATETIME NULL,
  37. due_date DATETIME NULL,
  38. release_date DATETIME NULL,
  39. prod_line VARCHAR(100) NULL,
  40. source_biz_key VARCHAR(200) NULL,
  41. sync_batch_id VARCHAR(100) NOT NULL,
  42. sync_time DATETIME NOT NULL,
  43. update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  44. UNIQUE KEY uk_std_work_order_schedule (tenant_id, work_order),
  45. KEY idx_std_work_order_schedule_batch (sync_batch_id),
  46. KEY idx_std_work_order_schedule_due (tenant_id, due_date)
  47. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='S2标准工单排程';
  48. CREATE TABLE IF NOT EXISTS mdp_std_operation_schedule (
  49. id BIGINT AUTO_INCREMENT PRIMARY KEY,
  50. tenant_id BIGINT NOT NULL DEFAULT 0,
  51. factory_id BIGINT NULL,
  52. source_system VARCHAR(50) NOT NULL DEFAULT 'AIDOP',
  53. work_order VARCHAR(100) NOT NULL,
  54. op_no VARCHAR(50) NULL,
  55. work_center VARCHAR(100) NULL,
  56. line_code VARCHAR(100) NULL,
  57. item_code VARCHAR(100) NULL,
  58. plan_date DATETIME NULL,
  59. prod_date DATETIME NULL,
  60. start_time DATETIME NULL,
  61. end_time DATETIME NULL,
  62. ord_qty DECIMAL(18,6) NULL,
  63. comp_qty DECIMAL(18,6) NULL,
  64. run_crew DECIMAL(18,6) NULL,
  65. employee VARCHAR(200) NULL,
  66. source_biz_key VARCHAR(200) NULL,
  67. sync_batch_id VARCHAR(100) NOT NULL,
  68. sync_time DATETIME NOT NULL,
  69. update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  70. UNIQUE KEY uk_std_operation_schedule (tenant_id, source_biz_key),
  71. KEY idx_std_operation_schedule_work_order (tenant_id, work_order),
  72. KEY idx_std_operation_schedule_batch (sync_batch_id)
  73. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='S2标准工序排程';
  74. CREATE TABLE IF NOT EXISTS dwd_order_schedule_trans (
  75. id BIGINT AUTO_INCREMENT PRIMARY KEY,
  76. tenant_id BIGINT NOT NULL DEFAULT 0,
  77. factory_id BIGINT NOT NULL DEFAULT 1,
  78. stat_date DATE NOT NULL,
  79. work_order VARCHAR(100) NOT NULL,
  80. sales_order_no VARCHAR(100) NULL,
  81. item_code VARCHAR(100) NULL,
  82. item_name VARCHAR(200) NULL,
  83. site_code VARCHAR(50) NULL,
  84. prod_line VARCHAR(100) NULL,
  85. status VARCHAR(50) NULL,
  86. urgent_flag TINYINT NOT NULL DEFAULT 0,
  87. qty_ordered DECIMAL(18,6) NULL,
  88. qty_completed DECIMAL(18,6) NULL,
  89. order_date DATETIME NULL,
  90. due_date DATETIME NULL,
  91. release_date DATETIME NULL,
  92. first_plan_date DATETIME NULL,
  93. last_plan_date DATETIME NULL,
  94. first_start_time DATETIME NULL,
  95. last_end_time DATETIME NULL,
  96. operation_count INT NOT NULL DEFAULT 0,
  97. scheduled_qty DECIMAL(18,6) NULL,
  98. completed_op_qty DECIMAL(18,6) NULL,
  99. schedule_cycle_days DECIMAL(18,6) NULL,
  100. schedule_satisfaction_flag TINYINT NOT NULL DEFAULT 0,
  101. wip_qty DECIMAL(18,6) NULL,
  102. resource_person_count DECIMAL(18,6) NULL,
  103. calc_batch_id VARCHAR(100) NOT NULL,
  104. calc_time DATETIME NOT NULL,
  105. update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  106. UNIQUE KEY uk_dwd_order_schedule_trans (tenant_id, work_order, calc_batch_id),
  107. KEY idx_dwd_order_schedule_trans_batch (calc_batch_id),
  108. KEY idx_dwd_order_schedule_trans_stat (tenant_id, stat_date),
  109. KEY idx_dwd_order_schedule_trans_order (tenant_id, sales_order_no)
  110. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='S2订单工单排程DWD';
  111. INSERT INTO mdp_entity
  112. (tenant_id, source_id, entity_code, entity_name, entity_type, source_table_name, target_table_name, sync_mode, batch_size, status, remark)
  113. SELECT 0, s.id, v.entity_code, v.entity_name, 'TABLE', v.source_table_name, 'mdp_stg_schedule', 'FULL', 5000, 1, v.remark
  114. FROM mdp_source s
  115. JOIN (
  116. SELECT 'S2_WORK_ORDER_MASTER' AS entity_code, 'S2工单主数据' AS entity_name, 'WorkOrdMaster' AS source_table_name, '工单主数据进入 S2 贴源层' AS remark
  117. UNION ALL SELECT 'S2_WORK_ORDER_ROUTING', 'S2工单工艺路线', 'WorkOrdRouting', '工单工艺路线进入 S2 贴源层'
  118. UNION ALL SELECT 'S2_WORK_ORDER_DETAIL', 'S2工单物料明细', 'WorkOrdDetail', '工单物料需求进入 S2 贴源层'
  119. UNION ALL SELECT 'S2_PERIOD_SEQUENCE_DET', 'S2工序排程计划', 'PeriodSequenceDet', '工序间衔接与排程计划进入 S2 贴源层'
  120. UNION ALL SELECT 'S2_SCHEDULE_RESULT_OP', 'S2工序排产结果', 'ScheduleResultOpMaster', '工序排产结果进入 S2 贴源层'
  121. ) v
  122. WHERE s.tenant_id=0 AND s.source_code='AIDOPDEV_MYSQL'
  123. ON DUPLICATE KEY UPDATE
  124. source_id=VALUES(source_id),
  125. entity_name=VALUES(entity_name),
  126. entity_type=VALUES(entity_type),
  127. source_table_name=VALUES(source_table_name),
  128. target_table_name=VALUES(target_table_name),
  129. sync_mode=VALUES(sync_mode),
  130. batch_size=VALUES(batch_size),
  131. status=VALUES(status),
  132. remark=VALUES(remark),
  133. update_time=CURRENT_TIMESTAMP;