-- 1.0.271：S5 生产退料 B-① 迁通用管线 + dopdemorq 双源入站实体登记（本库 status=1 / SQLSERVER status=0）
--
-- 背景：ProductionReturn 由 bespoke 直读 NbrMaster/NbrDetail 迁入通用管线
--       （源→mdp_stg_production_return[头/明细共表,source_table 区分]→transform→mdp_std_production_return(_detail)）。
--       登记 4 个入站实体（本库 master+detail、dopdemorq SQL Server master+detail），均落 mdp_stg_production_return、FULL。
-- 状态：正式脚本（1.0.271，已注册 csproj Copy，随 AutoVersionUpdate 执行）。
--
-- 硬约束：
--   1) 本库实体 S5_PRODUCTION_RETURN_MASTER/_DETAIL status=1：RunFullAsync 迁 stg 管线后依赖它（否则 s5-production-return-mdp/refresh 端点断）。
--   2) SQLSERVER 实体 status=0：就位不启用，合入后不改变现有运行行为；启用需带外注密码+受控切源。
--   3) 四实体均 sync_mode='FULL'（本批 FULL-only，规避增量边界；不启自动增量）。
--   4) source_table_name='NbrMaster'/'NbrDetail'（两库同名）；transform 按 Type='WOD' AND IsActive(判真) AND IsReturn(判假) 过滤（退料）。
--      tenant_id 由入站上下文赋值，本库源含该列（raw 保留），SQL Server 源无此列（回落上下文）。
-- 幂等：WHERE NOT EXISTS 守卫，可重复执行。

-- 本库入站实体（AIDOPDEV_MYSQL, status=1）
INSERT INTO mdp_entity
  (tenant_id, source_id, entity_code, entity_name, entity_type, source_table_name, target_table_name,
   sync_mode, batch_size, biz_key_expr, status, remark, create_time, update_time)
SELECT 0, (SELECT id FROM mdp_source WHERE source_code='AIDOPDEV_MYSQL'),
       'S5_PRODUCTION_RETURN_MASTER', 'S5生产退料主入站(本库)', 'TABLE',
       'NbrMaster', 'mdp_stg_production_return',
       'FULL', 5000, 'Domain,Nbr', 1, 'S5生产退料 B-① 本库头入站', NOW(), NOW()
WHERE NOT EXISTS (SELECT 1 FROM mdp_entity WHERE entity_code='S5_PRODUCTION_RETURN_MASTER');

INSERT INTO mdp_entity
  (tenant_id, source_id, entity_code, entity_name, entity_type, source_table_name, target_table_name,
   sync_mode, batch_size, biz_key_expr, status, remark, create_time, update_time)
SELECT 0, (SELECT id FROM mdp_source WHERE source_code='AIDOPDEV_MYSQL'),
       'S5_PRODUCTION_RETURN_DETAIL', 'S5生产退料明细入站(本库)', 'TABLE',
       'NbrDetail', 'mdp_stg_production_return',
       'FULL', 5000, 'Domain,Nbr,Line', 1, 'S5生产退料 B-① 本库明细入站', NOW(), NOW()
WHERE NOT EXISTS (SELECT 1 FROM mdp_entity WHERE entity_code='S5_PRODUCTION_RETURN_DETAIL');

-- dopdemorq SQL Server 入站实体（DOPDEMORQ_SQLSERVER, status=0 就位不启用）
INSERT INTO mdp_entity
  (tenant_id, source_id, entity_code, entity_name, entity_type, source_table_name, target_table_name,
   sync_mode, batch_size, biz_key_expr, status, remark, create_time, update_time)
SELECT 0, (SELECT id FROM mdp_source WHERE source_code='DOPDEMORQ_SQLSERVER'),
       'S5_PRODUCTION_RETURN_MASTER_SQLSERVER', 'S5生产退料主入站(SQLServer)', 'TABLE',
       'NbrMaster', 'mdp_stg_production_return',
       'FULL', 5000, 'Domain,Nbr', 0, 'S5生产退料 B-① 双源 disabled', NOW(), NOW()
WHERE NOT EXISTS (SELECT 1 FROM mdp_entity WHERE entity_code='S5_PRODUCTION_RETURN_MASTER_SQLSERVER');

INSERT INTO mdp_entity
  (tenant_id, source_id, entity_code, entity_name, entity_type, source_table_name, target_table_name,
   sync_mode, batch_size, biz_key_expr, status, remark, create_time, update_time)
SELECT 0, (SELECT id FROM mdp_source WHERE source_code='DOPDEMORQ_SQLSERVER'),
       'S5_PRODUCTION_RETURN_DETAIL_SQLSERVER', 'S5生产退料明细入站(SQLServer)', 'TABLE',
       'NbrDetail', 'mdp_stg_production_return',
       'FULL', 5000, 'Domain,Nbr,Line', 0, 'S5生产退料 B-① 双源 disabled', NOW(), NOW()
WHERE NOT EXISTS (SELECT 1 FROM mdp_entity WHERE entity_code='S5_PRODUCTION_RETURN_DETAIL_SQLSERVER');
