| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- -- 1.0.574 开通 S1–S4 / C-4 推送实体与授权。
- -- 只新增登记。不删除行,不改已有实体的来源、蛇形贴源表和游标,不改 mdp_tenant_std_source。
- -- 唯一的既有行改动:把报工实体的 Pascal 列改成与蛇形列一致。
- -- 模板取现有 S5_INVENTORY_TXN 的最早一行;没有模板则本脚本不插入,避免造出一个没有来源的实体。
- INSERT INTO mdp_entity (
- `tenant_id`, `source_id`, `entity_code`, `entity_name`, `entity_type`, `source_table_name`, `source_api_path`, `api_config_id`, `target_table_name`,
- `sync_mode`, `incr_column`, `batch_size`, `response_data_path`, `dedup_key_path`, `last_cursor`, `last_sync_to`, `job_id`, `status`, `remark`, `create_time`, `update_time`,
- `TenantId`, `SourceId`, `EntityCode`, `EntityName`, `EntityType`, `SourceTableName`, `SourceApiPath`, `ApiConfigId`, `TargetTableName`,
- `SyncMode`, `IncrColumn`, `BatchSize`, `ResponseDataPath`, `DedupKeyPath`, `LastCursor`,
- `biz_key_expr`, `file_config_json`, `is_public_template`, `inbound_enabled`, `inbound_max_rows`, `stale_guard_enabled`, `silence_calendar`, `silence_alert_hours`)
- SELECT
- src.tenant_id, src.source_id, d.entity_code, d.entity_name, src.entity_type, d.entity_code, src.source_api_path, src.api_config_id, d.target_table,
- src.sync_mode, src.incr_column, src.batch_size, src.response_data_path, src.dedup_key_path, NULL, NULL, NULL, 1, d.remark, NOW(), NOW(),
- src.TenantId, src.SourceId, d.entity_code, d.entity_name, src.EntityType, d.entity_code, src.SourceApiPath, src.ApiConfigId, d.target_table,
- src.SyncMode, src.IncrColumn, src.BatchSize, src.ResponseDataPath, src.DedupKeyPath, NULL,
- d.biz_key, src.file_config_json, src.is_public_template, 1, 500, 1, NULL, NULL
- FROM (
- SELECT * FROM (
- SELECT * FROM mdp_entity WHERE entity_code='S5_INVENTORY_TXN' ORDER BY id LIMIT 1
- ) tmpl
- ) src
- JOIN (
- SELECT 'S2_WORK_ORDER_SCHEDULE' AS entity_code, '排程工单' AS entity_name, 'mdp_stg_schedule' AS target_table, 'WorkOrder,ItemCode' AS biz_key, '推送契约,不改既有来源登记' AS remark
- UNION ALL SELECT 'S3_PURCHASE_ORDER', '采购订单', 'mdp_stg_purchase_order', 'PoNo,PoLine', '推送契约,不改既有来源登记'
- UNION ALL SELECT 'S3_PURCHASE_RECEIPT', '采购收货', 'mdp_stg_purchase_receipt', 'Domain,Receiver,Line', '推送契约,不改既有来源登记'
- UNION ALL SELECT 'S4_SHIPMENT', '供应商发货', 'mdp_stg_s4_shipment', 'ShipmentNo', '推送契约,不改既有来源登记'
- UNION ALL SELECT 'S4_IQC', '来料检验', 'mdp_stg_s4_iqc', 'PoNo,PoLine,ItemCode', '推送契约,不改既有来源登记'
- UNION ALL SELECT 'S4_RETURN', '采购退货', 'mdp_stg_s4_return', 'PoNo,PoLine,ItemCode', '推送契约,不改既有来源登记'
- UNION ALL SELECT 'S4_SHORTAGE', '缺料', 'mdp_stg_s4_shortage', 'WorkOrder,ItemCode', '推送契约,不改既有来源登记'
- UNION ALL SELECT 'S6_WORK_ORDER_LINE', '生产工单行', 'mdp_stg_wo_line', 'Domain,OrderNo', '推送契约,不改既有来源登记'
- UNION ALL SELECT 'S7_SALES_ORDER_LINE', '销售订单行', 'mdp_stg_wo_line', 'Domain,OrderNo,LineNo', '推送契约,不改既有来源登记'
- UNION ALL SELECT 'S5_WORK_ORDER_BOM', '工单用料', 'mdp_stg_wo_bom', 'Domain,OrderNo,ItemCode', '推送契约,不改既有来源登记'
- UNION ALL SELECT 'S6_REPORT_TXN', '报工', 'mdp_stg_s6_report', 'Domain,ReportId', '推送契约,不改既有来源登记'
- UNION ALL SELECT 'S7_FQC_TASK_TXN', 'FQC任务', 'mdp_stg_fqc_pull', 'BillNo', '推送契约,不改既有来源登记'
- UNION ALL SELECT 'S5_INVENTORY_BALANCE_MONTHLY', '月度库存金额', 'mdp_stg_inv_bal_monthly', 'PeriodYm,ItemCode', '推送契约,不改既有来源登记'
- ) d
- WHERE NOT EXISTS (SELECT 1 FROM mdp_entity e WHERE e.entity_code = d.entity_code);
- INSERT INTO mdp_inbound_grant
- (tenant_id, access_key, entity_code, factory_id, source_code, rate_limit_per_min, batch_row_limit, status, remark, create_time, update_time)
- SELECT g.tenant_id, g.access_key, d.entity_code, g.factory_id, g.source_code, g.rate_limit_per_min, g.batch_row_limit, 1, '沿用已有入站密钥', NOW(), NOW()
- FROM mdp_inbound_grant g
- JOIN (
- SELECT 'S2_WORK_ORDER_SCHEDULE' AS entity_code
- UNION ALL SELECT 'S3_PURCHASE_ORDER'
- UNION ALL SELECT 'S3_PURCHASE_RECEIPT'
- UNION ALL SELECT 'S4_SHIPMENT'
- UNION ALL SELECT 'S4_IQC'
- UNION ALL SELECT 'S4_RETURN'
- UNION ALL SELECT 'S4_SHORTAGE'
- UNION ALL SELECT 'S6_WORK_ORDER_LINE'
- UNION ALL SELECT 'S7_SALES_ORDER_LINE'
- UNION ALL SELECT 'S5_WORK_ORDER_BOM'
- UNION ALL SELECT 'S6_REPORT_TXN'
- UNION ALL SELECT 'S7_FQC_TASK_TXN'
- UNION ALL SELECT 'S5_INVENTORY_BALANCE_MONTHLY'
- ) d
- WHERE g.entity_code='S5_INVENTORY_TXN' AND g.status=1
- AND NOT EXISTS (
- SELECT 1 FROM mdp_inbound_grant x
- WHERE x.access_key=g.access_key AND x.entity_code=d.entity_code);
- UPDATE mdp_entity
- SET inbound_enabled=1, update_time=NOW()
- WHERE entity_code IN ('MDM_CUSTOMER', 'MDM_SUPPLIER', 'MDM_LOCATION')
- AND inbound_enabled=0;
- UPDATE mdp_entity
- SET EntityCode = entity_code,
- EntityName = entity_name,
- SourceTableName = source_table_name,
- TargetTableName = target_table_name,
- update_time = NOW()
- WHERE entity_code = 'S6_EMP_WORK_ORD_TRANS_SQLSERVER'
- AND (
- IFNULL(EntityCode, '') <> entity_code
- OR IFNULL(SourceTableName, '') <> IFNULL(source_table_name, '')
- OR IFNULL(TargetTableName, '') <> IFNULL(target_table_name, '')
- );
|