| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464 |
- -- 1.0.125.sql
- -- S1-MDP-FOUNDATION-1
- -- 为 S1 产销协同首批数据中台试点补齐基础落库对象与 mdp_entity 登记。
- --
- -- 范围:
- -- 1) 兜底创建通用 MDP 配置/日志表:mdp_source / mdp_entity / mdp_field_mapping / mdp_sync_log / mdp_transform_run_log。
- -- 2) 新增 S1 贴源层:mdp_stg_so / mdp_stg_ship_trans。
- -- 3) 新增 S1 标准层:mdp_std_so / mdp_std_ship_trans。
- -- 4) 新增 S1 DWD 明细宽表:dwd_ship_trans。
- -- 5) 登记 S1 首批源实体到 mdp_entity,并写入基础血缘字段映射。
- --
- -- 安全边界:
- -- * 仅 CREATE TABLE IF NOT EXISTS、INSERT ... ON DUPLICATE KEY UPDATE 和 TEMPORARY TABLE。
- -- * 不删除、不清空、不改写业务运行表;不切换任何接口读路径。
- -- * 不修改 S2/S3/S4/S7 既有业务写入规则和数据口径。
- --
- -- 幂等性:
- -- * 表结构使用 CREATE TABLE IF NOT EXISTS。
- -- * mdp_source / mdp_entity / mdp_field_mapping 使用唯一键 upsert。
- -- * 重复执行不会重复登记实体或字段映射。
- --
- -- 执行入口:AutoVersionUpdate.UseAutoVersionUpdate(),csproj Version=1.0.125 主节点首次启动时触发。
- -- 2026-05-25
- SET @tenant_id := 0;
- SET @source_code := 'AIDOPDEV_MYSQL';
- -- ─── 1) MDP 通用底座兜底 ───
- CREATE TABLE IF NOT EXISTS mdp_source (
- id BIGINT AUTO_INCREMENT PRIMARY KEY,
- tenant_id BIGINT NOT NULL,
- source_code VARCHAR(50) NOT NULL,
- source_name VARCHAR(100) NOT NULL,
- source_type ENUM('DB','API') NOT NULL,
- status TINYINT DEFAULT 1,
- db_type ENUM('MySQL','SQLServer','Oracle','PostgreSQL'),
- db_host VARCHAR(200),
- db_port INT,
- db_name VARCHAR(100),
- db_user VARCHAR(100),
- db_password_enc VARCHAR(500),
- db_extra_params VARCHAR(500),
- api_base_url VARCHAR(500),
- api_auth_type ENUM('NONE','TOKEN','OAUTH2','APIKEY'),
- api_auth_config JSON,
- last_health_check DATETIME,
- health_status TINYINT DEFAULT 0,
- health_msg VARCHAR(500),
- remark VARCHAR(500),
- create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
- update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- UNIQUE KEY uk_tenant_source (tenant_id, source_code)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='MDP数据源配置';
- CREATE TABLE IF NOT EXISTS mdp_entity (
- id BIGINT AUTO_INCREMENT PRIMARY KEY,
- tenant_id BIGINT NOT NULL,
- source_id BIGINT NOT NULL,
- entity_code VARCHAR(100) NOT NULL,
- entity_name VARCHAR(200) NOT NULL,
- entity_type ENUM('TABLE','VIEW','API') NOT NULL DEFAULT 'TABLE',
- source_table_name VARCHAR(200),
- source_api_path VARCHAR(500),
- api_config_id BIGINT,
- target_table_name VARCHAR(200),
- sync_mode ENUM('FULL','INCR','CDC','PAGE','CURSOR','TIME_WINDOW','NONE') DEFAULT 'INCR',
- incr_column VARCHAR(100),
- batch_size INT DEFAULT 5000,
- response_data_path VARCHAR(200),
- dedup_key_path VARCHAR(200),
- last_cursor VARCHAR(500),
- last_sync_to DATETIME,
- job_id VARCHAR(100),
- status TINYINT DEFAULT 1,
- remark VARCHAR(500),
- create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
- update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- UNIQUE KEY uk_tenant_entity (tenant_id, entity_code),
- KEY idx_source (source_id),
- KEY idx_api_config (api_config_id)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='MDP同步实体配置';
- CREATE TABLE IF NOT EXISTS mdp_field_mapping (
- id BIGINT AUTO_INCREMENT PRIMARY KEY,
- entity_id BIGINT NOT NULL,
- source_field VARCHAR(200) NOT NULL,
- target_field VARCHAR(200) NOT NULL,
- field_type ENUM('DIRECT','JSONPATH','SCRIPT','CONST','LOOKUP') DEFAULT 'DIRECT',
- transform_script TEXT,
- const_value VARCHAR(500),
- lookup_table VARCHAR(200),
- is_required TINYINT DEFAULT 0,
- default_value VARCHAR(500),
- sort_order INT DEFAULT 0,
- create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
- UNIQUE KEY uk_entity_field (entity_id, target_field)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='MDP字段映射配置';
- CREATE TABLE IF NOT EXISTS mdp_sync_log (
- id BIGINT AUTO_INCREMENT PRIMARY KEY,
- tenant_id BIGINT NOT NULL,
- entity_id BIGINT NOT NULL,
- source_code VARCHAR(50) NOT NULL,
- entity_name VARCHAR(200),
- sync_batch_id VARCHAR(50) NOT NULL,
- sync_type ENUM('FULL','INCR') NOT NULL,
- trigger_type ENUM('AUTO','MANUAL') DEFAULT 'AUTO',
- sync_start DATETIME,
- sync_end DATETIME,
- duration_ms INT,
- rows_read BIGINT DEFAULT 0,
- rows_insert BIGINT DEFAULT 0,
- rows_update BIGINT DEFAULT 0,
- rows_skip BIGINT DEFAULT 0,
- rows_error BIGINT DEFAULT 0,
- status ENUM('RUNNING','SUCCESS','PARTIAL','FAILED') DEFAULT 'RUNNING',
- error_msg TEXT,
- error_sample JSON,
- KEY idx_tenant_entity_time (tenant_id, entity_id, sync_start),
- KEY idx_batch (sync_batch_id),
- KEY idx_status (status)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='MDP同步执行日志';
- CREATE TABLE IF NOT EXISTS mdp_transform_run_log (
- id BIGINT AUTO_INCREMENT PRIMARY KEY,
- tenant_id BIGINT NOT NULL DEFAULT 0,
- job_code VARCHAR(100) NOT NULL,
- job_name VARCHAR(200) NOT NULL,
- trigger_type VARCHAR(30) NOT NULL DEFAULT 'AUTO',
- batch_id VARCHAR(100) NOT NULL,
- status VARCHAR(30) NOT NULL DEFAULT 'RUNNING',
- start_time DATETIME NOT NULL,
- end_time DATETIME NULL,
- duration_ms INT NULL,
- stage_rows INT NOT NULL DEFAULT 0,
- standard_rows INT NOT NULL DEFAULT 0,
- dwd_rows INT NOT NULL DEFAULT 0,
- error_message TEXT NULL,
- summary_json JSON NULL,
- create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
- update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- UNIQUE KEY uk_batch (batch_id),
- KEY idx_job_start (job_code, start_time),
- KEY idx_status_start (status, start_time)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='MDP整轮同步转换运行日志';
- -- ─── 2) S1 贴源层 ───
- CREATE TABLE IF NOT EXISTS mdp_stg_so (
- id BIGINT AUTO_INCREMENT PRIMARY KEY,
- tenant_id BIGINT NULL,
- factory_id BIGINT NULL,
- company_id BIGINT NULL,
- source_system VARCHAR(50) NOT NULL,
- source_table VARCHAR(100) NOT NULL,
- source_row_id VARCHAR(200) NULL,
- source_biz_key VARCHAR(300) NOT NULL,
- sync_batch_id VARCHAR(64) NOT NULL,
- sync_time DATETIME NOT NULL,
- process_status VARCHAR(20) NOT NULL DEFAULT 'PENDING',
- process_message VARCHAR(1000) NULL,
- raw_data JSON NULL,
- create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
- update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- KEY idx_batch_status (sync_batch_id, process_status),
- UNIQUE KEY uk_source_key (source_system, source_table, source_biz_key),
- KEY idx_tenant_time (tenant_id, sync_time)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='S1订单/评审贴源表';
- CREATE TABLE IF NOT EXISTS mdp_stg_ship_trans LIKE mdp_stg_so;
- ALTER TABLE mdp_stg_ship_trans COMMENT='S1发货/ASN/联动贴源表';
- -- ─── 3) S1 标准层 ───
- CREATE TABLE IF NOT EXISTS mdp_std_so (
- id BIGINT AUTO_INCREMENT PRIMARY KEY,
- tenant_id BIGINT NOT NULL,
- factory_id BIGINT NULL,
- company_id BIGINT NULL,
- source_system VARCHAR(50) NOT NULL,
- order_id BIGINT NULL,
- order_entry_id BIGINT NULL,
- order_no VARCHAR(100) NOT NULL,
- order_line VARCHAR(50) NULL,
- order_type VARCHAR(50) NULL,
- customer_id BIGINT NULL,
- customer_no VARCHAR(100) NULL,
- customer_name VARCHAR(200) NULL,
- customer_order_no VARCHAR(100) NULL,
- country VARCHAR(100) NULL,
- item_code VARCHAR(100) NULL,
- item_name VARCHAR(200) NULL,
- item_spec VARCHAR(300) NULL,
- map_number VARCHAR(300) NULL,
- map_name VARCHAR(300) NULL,
- bom_number VARCHAR(300) NULL,
- unit VARCHAR(50) NULL,
- order_qty DECIMAL(18,6) NULL,
- delivered_notice_qty DECIMAL(18,6) NULL,
- delivered_qty DECIMAL(18,6) NULL,
- price DECIMAL(18,6) NULL,
- tax_price DECIMAL(18,6) NULL,
- amount DECIMAL(18,6) NULL,
- total_amount DECIMAL(18,6) NULL,
- order_date DATETIME NULL,
- customer_request_date DATETIME NULL,
- plan_delivery_date DATETIME NULL,
- promised_delivery_date DATETIME NULL,
- capacity_date DATETIME NULL,
- material_ready_date DATETIME NULL,
- planner_no VARCHAR(100) NULL,
- planner_name VARCHAR(100) NULL,
- order_status VARCHAR(50) NULL,
- review_status VARCHAR(50) NULL,
- review_stage VARCHAR(100) NULL,
- flow_state VARCHAR(100) NULL,
- progress VARCHAR(50) NULL,
- urgent TINYINT NULL,
- closed TINYINT NULL,
- deleted_flag TINYINT NOT NULL DEFAULT 0,
- source_table VARCHAR(100) NOT NULL,
- source_row_id VARCHAR(200) NULL,
- source_biz_key VARCHAR(300) NOT NULL,
- sync_batch_id VARCHAR(64) NOT NULL,
- sync_time DATETIME NOT NULL,
- create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
- update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- UNIQUE KEY uk_source_key (tenant_id, source_system, source_table, source_biz_key),
- KEY idx_order_line (tenant_id, order_no, order_line),
- KEY idx_customer_date (tenant_id, customer_no, plan_delivery_date),
- KEY idx_item_date (tenant_id, item_code, plan_delivery_date),
- KEY idx_status_date (tenant_id, order_status, review_status, plan_delivery_date)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='S1标准销售订单/评审对象';
- CREATE TABLE IF NOT EXISTS mdp_std_ship_trans (
- id BIGINT AUTO_INCREMENT PRIMARY KEY,
- tenant_id BIGINT NOT NULL,
- factory_id BIGINT NULL,
- company_id BIGINT NULL,
- source_system VARCHAR(50) NOT NULL,
- trans_type VARCHAR(50) NOT NULL,
- plan_id BIGINT NULL,
- plan_no VARCHAR(100) NULL,
- plan_line VARCHAR(50) NULL,
- shipper_rec_id BIGINT NULL,
- shipper_no VARCHAR(100) NULL,
- shipper_line VARCHAR(50) NULL,
- order_id BIGINT NULL,
- order_entry_id BIGINT NULL,
- order_no VARCHAR(100) NULL,
- order_line VARCHAR(50) NULL,
- customer_no VARCHAR(100) NULL,
- customer_name VARCHAR(200) NULL,
- country VARCHAR(100) NULL,
- item_code VARCHAR(100) NULL,
- item_name VARCHAR(200) NULL,
- item_spec VARCHAR(300) NULL,
- qty DECIMAL(18,6) NULL,
- plan_qty DECIMAL(18,6) NULL,
- qty_to_ship DECIMAL(18,6) NULL,
- picking_qty DECIMAL(18,6) NULL,
- real_qty DECIMAL(18,6) NULL,
- weight DECIMAL(18,6) NULL,
- gross_weight DECIMAL(18,6) NULL,
- net_weight DECIMAL(18,6) NULL,
- volume DECIMAL(18,6) NULL,
- order_date DATETIME NULL,
- plan_ship_date DATETIME NULL,
- actual_ship_date DATETIME NULL,
- site VARCHAR(100) NULL,
- shipping_site VARCHAR(200) NULL,
- shipping_address VARCHAR(500) NULL,
- consignee VARCHAR(200) NULL,
- telephone VARCHAR(100) NULL,
- status VARCHAR(50) NULL,
- confirm_status VARCHAR(50) NULL,
- linkage_status VARCHAR(50) NULL,
- source_table VARCHAR(100) NOT NULL,
- source_row_id VARCHAR(200) NULL,
- source_biz_key VARCHAR(300) NOT NULL,
- sync_batch_id VARCHAR(64) NOT NULL,
- sync_time DATETIME NOT NULL,
- create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
- update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- UNIQUE KEY uk_source_key (tenant_id, source_system, source_table, source_biz_key),
- KEY idx_order_line (tenant_id, order_no, order_line),
- KEY idx_plan (tenant_id, plan_no, plan_line),
- KEY idx_shipper (tenant_id, shipper_no, shipper_line),
- KEY idx_ship_date (tenant_id, actual_ship_date, plan_ship_date),
- KEY idx_status_date (tenant_id, status, plan_ship_date)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='S1标准发货/ASN/联动对象';
- -- ─── 4) S1 DWD 明细宽表 ───
- CREATE TABLE IF NOT EXISTS dwd_ship_trans (
- id BIGINT AUTO_INCREMENT PRIMARY KEY,
- tenant_id BIGINT NOT NULL,
- factory_id BIGINT NULL,
- company_id BIGINT NULL,
- stat_date DATE NOT NULL,
- order_id BIGINT NULL,
- order_entry_id BIGINT NULL,
- order_no VARCHAR(100) NOT NULL,
- order_line VARCHAR(50) NULL,
- customer_no VARCHAR(100) NULL,
- customer_name VARCHAR(200) NULL,
- country VARCHAR(100) NULL,
- item_code VARCHAR(100) NULL,
- item_name VARCHAR(200) NULL,
- item_spec VARCHAR(300) NULL,
- order_qty DECIMAL(18,6) NULL,
- planned_ship_qty DECIMAL(18,6) NULL,
- shipped_qty DECIMAL(18,6) NULL,
- remaining_qty DECIMAL(18,6) NULL,
- order_date DATETIME NULL,
- customer_request_date DATETIME NULL,
- plan_delivery_date DATETIME NULL,
- promised_delivery_date DATETIME NULL,
- plan_ship_date DATETIME NULL,
- actual_ship_date DATETIME NULL,
- review_status VARCHAR(50) NULL,
- order_status VARCHAR(50) NULL,
- delivery_status VARCHAR(50) NULL,
- linkage_status VARCHAR(50) NULL,
- risk_level VARCHAR(50) NULL,
- source_system VARCHAR(50) NULL,
- source_table VARCHAR(100) NULL,
- source_row_id VARCHAR(200) NULL,
- source_biz_key VARCHAR(300) NULL,
- sync_batch_id VARCHAR(64) NULL,
- calc_batch_id VARCHAR(64) NOT NULL,
- calc_time DATETIME NOT NULL,
- create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
- update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- UNIQUE KEY uk_order_line_stat (tenant_id, stat_date, order_no, order_line, item_code),
- KEY idx_order_line (tenant_id, order_no, order_line),
- KEY idx_customer_date (tenant_id, customer_no, stat_date),
- KEY idx_item_date (tenant_id, item_code, stat_date),
- KEY idx_status_date (tenant_id, delivery_status, risk_level, stat_date),
- KEY idx_batch (tenant_id, calc_batch_id)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='S1订单交付发货DWD宽表';
- -- ─── 5) S1 数据源与实体登记 ───
- INSERT INTO mdp_source
- (tenant_id, source_code, source_name, source_type, status, db_type, db_host, db_port, db_name, db_user, db_password_enc, remark)
- VALUES
- (@tenant_id, @source_code, 'aidopdev 当前项目库', 'DB', 1, 'MySQL', NULL, 3306, 'aidopdev', NULL, NULL, 'S1产销协同首批迁移数据源,不在配置表保存明文密码')
- ON DUPLICATE KEY UPDATE
- source_name = VALUES(source_name),
- source_type = VALUES(source_type),
- status = VALUES(status),
- db_type = VALUES(db_type),
- db_port = VALUES(db_port),
- db_name = VALUES(db_name),
- remark = VALUES(remark),
- update_time = CURRENT_TIMESTAMP;
- SELECT @source_id := id
- FROM mdp_source
- WHERE tenant_id = @tenant_id
- AND source_code = @source_code
- LIMIT 1;
- CREATE TEMPORARY TABLE tmp_s1_mdp_entity (
- entity_code VARCHAR(100) PRIMARY KEY,
- entity_name VARCHAR(200) NOT NULL,
- source_table_name VARCHAR(200) NOT NULL,
- target_table_name VARCHAR(200) NOT NULL,
- sync_mode VARCHAR(20) NOT NULL,
- incr_column VARCHAR(100) NULL,
- source_row_id_expr VARCHAR(200) NULL,
- source_biz_key_expr VARCHAR(500) NOT NULL,
- remark VARCHAR(500) NULL
- );
- INSERT INTO tmp_s1_mdp_entity
- (entity_code, entity_name, source_table_name, target_table_name, sync_mode, incr_column, source_row_id_expr, source_biz_key_expr, remark)
- VALUES
- ('S1_SEORDER', 'S1销售订单主表', 'crm_seorder', 'mdp_stg_so', 'INCR', 'update_time', 'Id', 'COALESCE(bill_no, CAST(Id AS CHAR))', '订单主表,进入订单标准层'),
- ('S1_SEORDER_ENTRY', 'S1销售订单明细', 'crm_seorderentry', 'mdp_stg_so', 'INCR', 'update_time', 'Id', 'CONCAT(COALESCE(bill_no, ''''), '':'', COALESCE(CAST(entry_seq AS CHAR), CAST(Id AS CHAR)))', '订单明细,进入订单标准层'),
- ('S1_SEORDER_CHANGE', 'S1销售订单变更', 'crm_seorder_change', 'mdp_stg_so', 'INCR', 'update_time', 'Id', 'CONCAT(COALESCE(bill_no, ''''), '':'', CAST(Id AS CHAR))', '订单变更,进入订单评审/状态上下文'),
- ('S1_CONTRACT_REVIEW', 'S1合同评审主表', 'ado_contract_review', 'mdp_stg_so', 'INCR', 'UpdateTime', 'RecID', 'COALESCE(BillNo, CAST(RecID AS CHAR))', '合同评审主表,进入订单评审上下文'),
- ('S1_CONTRACT_REVIEW_FLOW', 'S1合同评审流程节点', 'ado_contract_review_flow', 'mdp_stg_so', 'FULL', NULL, 'RecID', 'CONCAT(COALESCE(ReviewBillNo, ''''), '':'', CAST(StageNo AS CHAR), '':'', CAST(RecID AS CHAR))', '合同评审节点,空表或全量同步均应成功'),
- ('S1_SHIPPING_PLAN', 'S1发货计划主表', 'ShippingPlan', 'mdp_stg_ship_trans', 'INCR', 'UpdateTime', 'RecID', 'COALESCE(LotSerial, CAST(RecID AS CHAR))', '发货计划主表,进入发货标准层'),
- ('S1_SHIPPING_PLAN_DETAIL', 'S1发货计划明细', 'ShippingPlanDetail', 'mdp_stg_ship_trans', 'INCR', 'UpdateTime', 'RecID', 'CONCAT(COALESCE(CAST(plan_id AS CHAR), ''''), '':'', COALESCE(OrdNbr, ''''), '':'', CAST(RecID AS CHAR))', '发货计划明细,进入发货标准层'),
- ('S1_ASN_SHIPPER_MASTER', 'S1 ASN发货主表', 'ASNBOLShipperMaster', 'mdp_stg_ship_trans', 'INCR', 'UpdateTime', 'RecID', 'COALESCE(Id, CONCAT(COALESCE(OrdNbr, ''''), '':'', CAST(RecID AS CHAR)))', 'ASN发货主表,进入发货标准层'),
- ('S1_ASN_SHIPPER_DETAIL', 'S1 ASN发货明细', 'ASNBOLShipperDetail', 'mdp_stg_ship_trans', 'INCR', 'UpdateTime', 'RecID', 'CONCAT(COALESCE(Id, ''''), '':'', COALESCE(CAST(Line AS CHAR), CAST(RecID AS CHAR)))', 'ASN发货明细,进入发货标准层'),
- ('S1_LINKAGE_PLAN', 'S1计划联动看板', 'LinkagePlan', 'mdp_stg_ship_trans', 'INCR', 'update_time', 'id', 'CONCAT(COALESCE(bill_no, ''''), '':'', COALESCE(item_number, ''''), '':'', CAST(id AS CHAR))', '计划联动事实,进入订单交付DWD上下文');
- INSERT INTO mdp_entity
- (tenant_id, source_id, entity_code, entity_name, entity_type, source_table_name, target_table_name, sync_mode, incr_column, batch_size, status, remark)
- SELECT
- @tenant_id,
- @source_id,
- entity_code,
- entity_name,
- 'TABLE',
- source_table_name,
- target_table_name,
- sync_mode,
- incr_column,
- 5000,
- 1,
- remark
- FROM tmp_s1_mdp_entity
- ON DUPLICATE KEY UPDATE
- source_id = VALUES(source_id),
- entity_name = VALUES(entity_name),
- entity_type = VALUES(entity_type),
- source_table_name = VALUES(source_table_name),
- target_table_name = VALUES(target_table_name),
- sync_mode = VALUES(sync_mode),
- incr_column = VALUES(incr_column),
- batch_size = VALUES(batch_size),
- status = VALUES(status),
- remark = VALUES(remark),
- update_time = CURRENT_TIMESTAMP;
- INSERT INTO mdp_field_mapping
- (entity_id, source_field, target_field, field_type, transform_script, const_value, is_required, sort_order)
- SELECT e.id, 'tenant_id', 'tenant_id', 'DIRECT', NULL, NULL, 0, 10
- FROM mdp_entity e
- JOIN tmp_s1_mdp_entity t ON e.entity_code = t.entity_code
- WHERE e.tenant_id = @tenant_id
- ON DUPLICATE KEY UPDATE source_field=VALUES(source_field), field_type=VALUES(field_type), sort_order=VALUES(sort_order);
- INSERT INTO mdp_field_mapping
- (entity_id, source_field, target_field, field_type, transform_script, const_value, is_required, sort_order)
- SELECT e.id, 'CONST:AIDOP', 'source_system', 'CONST', NULL, 'AIDOP', 1, 20
- FROM mdp_entity e
- JOIN tmp_s1_mdp_entity t ON e.entity_code = t.entity_code
- WHERE e.tenant_id = @tenant_id
- ON DUPLICATE KEY UPDATE source_field=VALUES(source_field), field_type=VALUES(field_type), const_value=VALUES(const_value), is_required=VALUES(is_required), sort_order=VALUES(sort_order);
- INSERT INTO mdp_field_mapping
- (entity_id, source_field, target_field, field_type, transform_script, const_value, is_required, sort_order)
- SELECT e.id, CONCAT('CONST:', t.source_table_name), 'source_table', 'CONST', NULL, t.source_table_name, 1, 30
- FROM mdp_entity e
- JOIN tmp_s1_mdp_entity t ON e.entity_code = t.entity_code
- WHERE e.tenant_id = @tenant_id
- ON DUPLICATE KEY UPDATE source_field=VALUES(source_field), field_type=VALUES(field_type), const_value=VALUES(const_value), is_required=VALUES(is_required), sort_order=VALUES(sort_order);
- INSERT INTO mdp_field_mapping
- (entity_id, source_field, target_field, field_type, transform_script, const_value, is_required, sort_order)
- SELECT e.id, IFNULL(t.source_row_id_expr, ''), 'source_row_id', 'SCRIPT', t.source_row_id_expr, NULL, 0, 40
- FROM mdp_entity e
- JOIN tmp_s1_mdp_entity t ON e.entity_code = t.entity_code
- WHERE e.tenant_id = @tenant_id
- ON DUPLICATE KEY UPDATE source_field=VALUES(source_field), field_type=VALUES(field_type), transform_script=VALUES(transform_script), sort_order=VALUES(sort_order);
- INSERT INTO mdp_field_mapping
- (entity_id, source_field, target_field, field_type, transform_script, const_value, is_required, sort_order)
- SELECT e.id, t.source_biz_key_expr, 'source_biz_key', 'SCRIPT', t.source_biz_key_expr, NULL, 1, 50
- FROM mdp_entity e
- JOIN tmp_s1_mdp_entity t ON e.entity_code = t.entity_code
- WHERE e.tenant_id = @tenant_id
- ON DUPLICATE KEY UPDATE source_field=VALUES(source_field), field_type=VALUES(field_type), transform_script=VALUES(transform_script), is_required=VALUES(is_required), sort_order=VALUES(sort_order);
- INSERT INTO mdp_field_mapping
- (entity_id, source_field, target_field, field_type, transform_script, const_value, is_required, sort_order)
- SELECT e.id, 'TO_JSON(row)', 'raw_data', 'SCRIPT', 'TO_JSON(row)', NULL, 0, 60
- FROM mdp_entity e
- JOIN tmp_s1_mdp_entity t ON e.entity_code = t.entity_code
- WHERE e.tenant_id = @tenant_id
- ON DUPLICATE KEY UPDATE source_field=VALUES(source_field), field_type=VALUES(field_type), transform_script=VALUES(transform_script), sort_order=VALUES(sort_order);
- DROP TEMPORARY TABLE tmp_s1_mdp_entity;
|