| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262 |
- -- ============================================================================
- -- 1.0.562 · 中立标准层:4 张新表 + 既有表补列 + 库存事务码迁移 + 宽表改名
- -- 幂等。AutoVersionUpdate 按 ; 拆句、无事务。语句内不得再嵌套分号。
- -- 口径:approved_flag 默认 1(源系统不提供审核标记时视为已审核)。
- -- ============================================================================
- CREATE TABLE IF NOT EXISTS mdp_std_work_order_line (
- id BIGINT AUTO_INCREMENT PRIMARY KEY,
- tenant_id BIGINT NOT NULL DEFAULT 0,
- factory_id BIGINT NULL DEFAULT 1,
- source_system VARCHAR(50) NOT NULL DEFAULT 'AIDOP',
- domain VARCHAR(80) NULL,
- doc_type VARCHAR(32) NOT NULL,
- src_doc_type_raw VARCHAR(64) NULL,
- order_no VARCHAR(120) NOT NULL,
- line_no VARCHAR(50) NULL,
- task_no VARCHAR(80) NULL,
- item_code VARCHAR(100) NULL,
- qty_planned DECIMAL(18,6) NULL DEFAULT 0,
- qty_completed DECIMAL(18,6) NULL DEFAULT 0,
- plan_finish_date DATETIME NULL,
- release_time DATETIME NULL,
- closed_flag TINYINT NOT NULL DEFAULT 0,
- closed_time DATETIME NULL,
- approved_flag TINYINT NOT NULL DEFAULT 1,
- void_flag TINYINT NOT NULL DEFAULT 0,
- source_row_id VARCHAR(100) NOT NULL,
- source_biz_key VARCHAR(200) NOT NULL,
- sync_batch_id VARCHAR(100) NOT NULL,
- sync_time DATETIME NOT NULL,
- create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
- update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- UNIQUE KEY uk_std_wo_line (tenant_id, source_system, source_biz_key),
- KEY idx_std_wo_line_order (tenant_id, doc_type, order_no, line_no),
- KEY idx_std_wo_line_task (tenant_id, task_no),
- KEY idx_std_wo_line_plan (tenant_id, plan_finish_date),
- KEY idx_std_wo_line_closed (tenant_id, closed_flag, closed_time)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='中立任务/订单行';
- CREATE TABLE IF NOT EXISTS mdp_std_work_order_bom (
- id BIGINT AUTO_INCREMENT PRIMARY KEY,
- tenant_id BIGINT NOT NULL DEFAULT 0,
- factory_id BIGINT NULL DEFAULT 1,
- source_system VARCHAR(50) NOT NULL DEFAULT 'AIDOP',
- domain VARCHAR(80) NULL,
- order_no VARCHAR(120) NOT NULL,
- order_line_no VARCHAR(50) NULL,
- task_no VARCHAR(80) NULL,
- item_code VARCHAR(100) NULL,
- qty_required DECIMAL(18,6) NULL DEFAULT 0,
- unit VARCHAR(50) NULL,
- source_row_id VARCHAR(100) NOT NULL,
- source_biz_key VARCHAR(200) NOT NULL,
- sync_batch_id VARCHAR(100) NOT NULL,
- sync_time DATETIME NOT NULL,
- update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- UNIQUE KEY uk_std_wo_bom (tenant_id, source_system, source_biz_key),
- KEY idx_std_wo_bom_order (tenant_id, order_no),
- KEY idx_std_wo_bom_item (tenant_id, item_code)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='中立任务用料清单';
- CREATE TABLE IF NOT EXISTS mdp_std_employee (
- id BIGINT AUTO_INCREMENT PRIMARY KEY,
- tenant_id BIGINT NOT NULL DEFAULT 0,
- factory_id BIGINT NULL DEFAULT 1,
- source_system VARCHAR(50) NOT NULL DEFAULT 'AIDOP',
- domain VARCHAR(80) NOT NULL,
- employee_no VARCHAR(100) NOT NULL,
- employee_name VARCHAR(100) NULL,
- department_code VARCHAR(50) NULL,
- department_name VARCHAR(200) NULL,
- position_code VARCHAR(32) NOT NULL DEFAULT 'OTHER',
- src_position_raw VARCHAR(100) NULL,
- employment_status VARCHAR(32) NOT NULL DEFAULT 'ACTIVE',
- src_employment_status_raw VARCHAR(100) NULL,
- source_row_id VARCHAR(100) NOT NULL,
- source_biz_key VARCHAR(200) NOT NULL,
- sync_batch_id VARCHAR(100) NOT NULL,
- sync_time DATETIME NOT NULL,
- update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- UNIQUE KEY uk_std_employee (tenant_id, source_system, domain, employee_no),
- KEY idx_std_employee_pos (tenant_id, position_code, employment_status)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='中立人员与岗位';
- CREATE TABLE IF NOT EXISTS mdp_std_inventory_balance_monthly (
- id BIGINT AUTO_INCREMENT PRIMARY KEY,
- tenant_id BIGINT NOT NULL DEFAULT 0,
- factory_id BIGINT NULL DEFAULT 1,
- source_system VARCHAR(50) NOT NULL DEFAULT 'AIDOP',
- domain VARCHAR(80) NULL,
- period_ym VARCHAR(6) NOT NULL,
- category_code VARCHAR(50) NOT NULL DEFAULT '',
- category_name VARCHAR(200) NULL,
- warehouse_code VARCHAR(50) NOT NULL DEFAULT '',
- warehouse_name VARCHAR(200) NULL,
- item_code VARCHAR(100) NOT NULL DEFAULT '',
- avg_balance_amount DECIMAL(18,6) NOT NULL DEFAULT 0,
- issue_cost_amount DECIMAL(18,6) NOT NULL DEFAULT 0,
- source_biz_key VARCHAR(200) NOT NULL,
- sync_batch_id VARCHAR(100) NOT NULL,
- sync_time DATETIME NOT NULL,
- update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- UNIQUE KEY uk_std_inv_bal_m (tenant_id, source_system, period_ym, category_code, warehouse_code, item_code),
- KEY idx_std_inv_bal_m_period (tenant_id, period_ym)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='月度库存金额(成本口径)';
- -- mdp_std_inv_trans 补列
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='mdp_std_inv_trans' AND COLUMN_NAME='biz_doc_type')=0, 'ALTER TABLE `mdp_std_inv_trans` ADD COLUMN `biz_doc_type` VARCHAR(32) NOT NULL DEFAULT ''OTHER'' COMMENT ''中立业务单据类型''', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='mdp_std_inv_trans' AND COLUMN_NAME='src_biz_doc_type_raw')=0, 'ALTER TABLE `mdp_std_inv_trans` ADD COLUMN `src_biz_doc_type_raw` VARCHAR(100) NULL', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='mdp_std_inv_trans' AND COLUMN_NAME='src_trans_type_raw')=0, 'ALTER TABLE `mdp_std_inv_trans` ADD COLUMN `src_trans_type_raw` VARCHAR(64) NULL', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='mdp_std_inv_trans' AND COLUMN_NAME='approved_time')=0, 'ALTER TABLE `mdp_std_inv_trans` ADD COLUMN `approved_time` DATETIME NULL', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='mdp_std_inv_trans' AND COLUMN_NAME='approved_flag')=0, 'ALTER TABLE `mdp_std_inv_trans` ADD COLUMN `approved_flag` TINYINT NOT NULL DEFAULT 1', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='mdp_std_inv_trans' AND COLUMN_NAME='void_flag')=0, 'ALTER TABLE `mdp_std_inv_trans` ADD COLUMN `void_flag` TINYINT NOT NULL DEFAULT 0', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='mdp_std_inv_trans' AND COLUMN_NAME='summary_flag')=0, 'ALTER TABLE `mdp_std_inv_trans` ADD COLUMN `summary_flag` TINYINT NOT NULL DEFAULT 0', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='mdp_std_inv_trans' AND COLUMN_NAME='ref_task_no')=0, 'ALTER TABLE `mdp_std_inv_trans` ADD COLUMN `ref_task_no` VARCHAR(80) NULL', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='mdp_std_inv_trans' AND COLUMN_NAME='doc_qty')=0, 'ALTER TABLE `mdp_std_inv_trans` ADD COLUMN `doc_qty` DECIMAL(18,6) NULL COMMENT ''单据数量,供完工判定与计划量比较''', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='mdp_std_inv_trans' AND COLUMN_NAME='line_closed_flag')=0, 'ALTER TABLE `mdp_std_inv_trans` ADD COLUMN `line_closed_flag` TINYINT NOT NULL DEFAULT 0', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='mdp_std_inv_trans' AND COLUMN_NAME='line_closed_time')=0, 'ALTER TABLE `mdp_std_inv_trans` ADD COLUMN `line_closed_time` DATETIME NULL', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- -- 原始事务码迁到 src_trans_type_raw,trans_type 只留中立阶段码
- UPDATE mdp_std_inv_trans
- SET src_trans_type_raw = trans_type
- WHERE src_trans_type_raw IS NULL
- AND trans_type IS NOT NULL
- AND trans_type NOT IN ('MAT_RECEIPT','MAT_IQC_RELEASE','MAT_PUTAWAY','MAT_PICK','MAT_ISSUE','MAT_LINE','FG_RECEIPT','FG_PUTAWAY','FG_PICK','FG_SHIP','FG_PROD_RECEIPT','FG_FQC_RELEASE');
- UPDATE mdp_std_inv_trans
- SET trans_type = CASE src_trans_type_raw
- WHEN 'iss-wo' THEN 'MAT_ISSUE'
- WHEN 'rct-po' THEN 'MAT_RECEIPT'
- WHEN 'rct-unp' THEN 'MAT_RECEIPT'
- WHEN 'MAT_RECEIPT' THEN 'MAT_RECEIPT'
- WHEN 'MAT_IQC_RELEASE' THEN 'MAT_IQC_RELEASE'
- WHEN 'MAT_PUTAWAY' THEN 'MAT_PUTAWAY'
- WHEN 'MAT_PICK' THEN 'MAT_PICK'
- WHEN 'MAT_ISSUE' THEN 'MAT_ISSUE'
- WHEN 'MAT_LINE' THEN 'MAT_LINE'
- WHEN 'FG_RECEIPT' THEN 'FG_RECEIPT'
- WHEN 'FG_PUTAWAY' THEN 'FG_PUTAWAY'
- WHEN 'FG_PICK' THEN 'FG_PICK'
- WHEN 'FG_SHIP' THEN 'FG_SHIP'
- WHEN 'FG_PROD_RECEIPT' THEN 'FG_PROD_RECEIPT'
- WHEN 'FG_FQC_RELEASE' THEN 'FG_FQC_RELEASE'
- ELSE NULL END,
- biz_doc_type = CASE src_trans_type_raw
- WHEN 'iss-wo' THEN 'PROD_ISSUE'
- WHEN 'rct-wo' THEN 'PROD_RECEIPT'
- WHEN 'rct-po' THEN 'PUR_RECEIPT'
- WHEN 'rct-unp' THEN 'PUR_RECEIPT'
- WHEN 'iss-so' THEN 'SALES_SHIP'
- ELSE biz_doc_type END
- WHERE src_trans_type_raw IS NOT NULL
- AND (trans_type IS NULL OR trans_type NOT IN ('MAT_RECEIPT','MAT_IQC_RELEASE','MAT_PUTAWAY','MAT_PICK','MAT_ISSUE','MAT_LINE','FG_RECEIPT','FG_PUTAWAY','FG_PICK','FG_SHIP','FG_PROD_RECEIPT','FG_FQC_RELEASE'));
- -- 工单排程补列,并把唯一键扩成(租户、单据类型、单号),避免生产任务与销售订单重号覆盖
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='mdp_std_work_order_schedule' AND COLUMN_NAME='doc_type')=0, 'ALTER TABLE `mdp_std_work_order_schedule` ADD COLUMN `doc_type` VARCHAR(32) NOT NULL DEFAULT ''PROD_TASK''', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='mdp_std_work_order_schedule' AND COLUMN_NAME='approved_flag')=0, 'ALTER TABLE `mdp_std_work_order_schedule` ADD COLUMN `approved_flag` TINYINT NOT NULL DEFAULT 1', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='mdp_std_work_order_schedule' AND COLUMN_NAME='void_flag')=0, 'ALTER TABLE `mdp_std_work_order_schedule` ADD COLUMN `void_flag` TINYINT NOT NULL DEFAULT 0', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.STATISTICS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='mdp_std_work_order_schedule' AND INDEX_NAME='uk_std_work_order_schedule')>0 AND (SELECT COUNT(*) FROM information_schema.STATISTICS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='mdp_std_work_order_schedule' AND INDEX_NAME='uk_std_wo_sched_type')=0, 'ALTER TABLE `mdp_std_work_order_schedule` DROP INDEX `uk_std_work_order_schedule`, ADD UNIQUE KEY `uk_std_wo_sched_type` (`tenant_id`,`doc_type`,`work_order`)', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='mdp_std_production_receipt' AND COLUMN_NAME='closed_flag')=0, 'ALTER TABLE `mdp_std_production_receipt` ADD COLUMN `closed_flag` TINYINT NOT NULL DEFAULT 0', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='mdp_std_production_receipt' AND COLUMN_NAME='closed_time')=0, 'ALTER TABLE `mdp_std_production_receipt` ADD COLUMN `closed_time` DATETIME NULL', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='mdp_std_production_receipt' AND COLUMN_NAME='task_no')=0, 'ALTER TABLE `mdp_std_production_receipt` ADD COLUMN `task_no` VARCHAR(80) NULL', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='mdp_std_purchase_receipt' AND COLUMN_NAME='approved_flag')=0, 'ALTER TABLE `mdp_std_purchase_receipt` ADD COLUMN `approved_flag` TINYINT NOT NULL DEFAULT 1', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='mdp_std_purchase_receipt' AND COLUMN_NAME='approved_time')=0, 'ALTER TABLE `mdp_std_purchase_receipt` ADD COLUMN `approved_time` DATETIME NULL', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='mdp_std_s6_report' AND COLUMN_NAME='start_work_date')=0, 'ALTER TABLE `mdp_std_s6_report` ADD COLUMN `start_work_date` DATETIME NULL', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='mdp_std_s6_report' AND COLUMN_NAME='task_no')=0, 'ALTER TABLE `mdp_std_s6_report` ADD COLUMN `task_no` VARCHAR(80) NULL', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='mdp_std_s6_report' AND COLUMN_NAME='domain')=0, 'ALTER TABLE `mdp_std_s6_report` ADD COLUMN `domain` VARCHAR(80) NULL', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='mdp_std_fqc_task' AND COLUMN_NAME='sales_order_no')=0, 'ALTER TABLE `mdp_std_fqc_task` ADD COLUMN `sales_order_no` VARCHAR(100) NULL', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='mdp_std_fqc_task' AND COLUMN_NAME='sales_order_line')=0, 'ALTER TABLE `mdp_std_fqc_task` ADD COLUMN `sales_order_line` VARCHAR(50) NULL', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='mdp_std_fqc_task' AND COLUMN_NAME='apply_flag')=0, 'ALTER TABLE `mdp_std_fqc_task` ADD COLUMN `apply_flag` TINYINT NOT NULL DEFAULT 0', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='mdp_std_fqc_task' AND COLUMN_NAME='domain')=0, 'ALTER TABLE `mdp_std_fqc_task` ADD COLUMN `domain` VARCHAR(80) NULL', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='mdp_std_so' AND COLUMN_NAME='line_closed_flag')=0, 'ALTER TABLE `mdp_std_so` ADD COLUMN `line_closed_flag` TINYINT NOT NULL DEFAULT 0', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='mdp_std_so' AND COLUMN_NAME='line_closed_time')=0, 'ALTER TABLE `mdp_std_so` ADD COLUMN `line_closed_time` DATETIME NULL', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- -- 九张宽表去掉 t8 前缀,旧名保留为视图
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='dwd_t8_material_online_cycle' AND TABLE_TYPE='BASE TABLE')=1, 'RENAME TABLE `dwd_t8_material_online_cycle` TO `dwd_material_online_cycle`', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='dwd_material_online_cycle' AND TABLE_TYPE='BASE TABLE')=1 AND (SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='dwd_t8_material_online_cycle')=0, 'CREATE VIEW `dwd_t8_material_online_cycle` AS SELECT * FROM `dwd_material_online_cycle`', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='dwd_t8_material_online_fulfillment' AND TABLE_TYPE='BASE TABLE')=1, 'RENAME TABLE `dwd_t8_material_online_fulfillment` TO `dwd_material_online_fulfillment`', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='dwd_material_online_fulfillment' AND TABLE_TYPE='BASE TABLE')=1 AND (SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='dwd_t8_material_online_fulfillment')=0, 'CREATE VIEW `dwd_t8_material_online_fulfillment` AS SELECT * FROM `dwd_material_online_fulfillment`', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='dwd_t8_material_warehouse_efficiency' AND TABLE_TYPE='BASE TABLE')=1, 'RENAME TABLE `dwd_t8_material_warehouse_efficiency` TO `dwd_material_warehouse_efficiency`', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='dwd_material_warehouse_efficiency' AND TABLE_TYPE='BASE TABLE')=1 AND (SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='dwd_t8_material_warehouse_efficiency')=0, 'CREATE VIEW `dwd_t8_material_warehouse_efficiency` AS SELECT * FROM `dwd_material_warehouse_efficiency`', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='dwd_t8_material_inventory_turnover' AND TABLE_TYPE='BASE TABLE')=1, 'RENAME TABLE `dwd_t8_material_inventory_turnover` TO `dwd_material_inventory_turnover`', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='dwd_material_inventory_turnover' AND TABLE_TYPE='BASE TABLE')=1 AND (SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='dwd_t8_material_inventory_turnover')=0, 'CREATE VIEW `dwd_t8_material_inventory_turnover` AS SELECT * FROM `dwd_material_inventory_turnover`', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='dwd_t8_work_order_mfg_fulfillment' AND TABLE_TYPE='BASE TABLE')=1, 'RENAME TABLE `dwd_t8_work_order_mfg_fulfillment` TO `dwd_work_order_mfg_fulfillment`', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='dwd_work_order_mfg_fulfillment' AND TABLE_TYPE='BASE TABLE')=1 AND (SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='dwd_t8_work_order_mfg_fulfillment')=0, 'CREATE VIEW `dwd_t8_work_order_mfg_fulfillment` AS SELECT * FROM `dwd_work_order_mfg_fulfillment`', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='dwd_t8_work_order_mfg_efficiency' AND TABLE_TYPE='BASE TABLE')=1, 'RENAME TABLE `dwd_t8_work_order_mfg_efficiency` TO `dwd_work_order_mfg_efficiency`', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='dwd_work_order_mfg_efficiency' AND TABLE_TYPE='BASE TABLE')=1 AND (SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='dwd_t8_work_order_mfg_efficiency')=0, 'CREATE VIEW `dwd_t8_work_order_mfg_efficiency` AS SELECT * FROM `dwd_work_order_mfg_efficiency`', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='dwd_t8_order_shipment_cycle' AND TABLE_TYPE='BASE TABLE')=1, 'RENAME TABLE `dwd_t8_order_shipment_cycle` TO `dwd_order_shipment_cycle`', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='dwd_order_shipment_cycle' AND TABLE_TYPE='BASE TABLE')=1 AND (SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='dwd_t8_order_shipment_cycle')=0, 'CREATE VIEW `dwd_t8_order_shipment_cycle` AS SELECT * FROM `dwd_order_shipment_cycle`', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='dwd_t8_order_shipment_fulfillment' AND TABLE_TYPE='BASE TABLE')=1, 'RENAME TABLE `dwd_t8_order_shipment_fulfillment` TO `dwd_order_shipment_fulfillment`', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='dwd_order_shipment_fulfillment' AND TABLE_TYPE='BASE TABLE')=1 AND (SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='dwd_t8_order_shipment_fulfillment')=0, 'CREATE VIEW `dwd_t8_order_shipment_fulfillment` AS SELECT * FROM `dwd_order_shipment_fulfillment`', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='dwd_t8_finished_warehouse_efficiency' AND TABLE_TYPE='BASE TABLE')=1, 'RENAME TABLE `dwd_t8_finished_warehouse_efficiency` TO `dwd_finished_warehouse_efficiency`', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- SET @sql := IF((SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='dwd_finished_warehouse_efficiency' AND TABLE_TYPE='BASE TABLE')=1 AND (SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='dwd_t8_finished_warehouse_efficiency')=0, 'CREATE VIEW `dwd_t8_finished_warehouse_efficiency` AS SELECT * FROM `dwd_finished_warehouse_efficiency`', 'DO 0');
- PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
- UPDATE ado_smart_ops_kpi_dimension_config
- SET SqlScript = REPLACE(SqlScript, 'dwd_t8_', 'dwd_'),
- BusinessSqlSource = REPLACE(BusinessSqlSource, 'dwd_t8_', 'dwd_')
- WHERE SqlScript LIKE '%dwd_t8_%' OR BusinessSqlSource LIKE '%dwd_t8_%';
- UPDATE ado_smart_ops_kpi_calc_config
- SET SqlScript = REPLACE(SqlScript, 'dwd_t8_', 'dwd_')
- WHERE SqlScript LIKE '%dwd_t8_%';
|