-- 1.0.276：S7 FQC 直读真表→通用管线全迁 std + dopdemorq 双源入站实体登记（本库 status=1 / SQLSERVER status=0）
--
-- 背景：FQC(task/result/detail) 由直读 qms_fqcbj/qms_qcpp_inspbill/qms_qcpp_inspbillst 迁入通用管线（CTO 拍板：可接受批次快照延迟、全迁 std）：
--       源经执行器灌 mdp_stg_fqc_pull（三表共表，source_table 区分）→ FqcMdpSyncService transform（MdpJsonSql 类型兼容 + WorkOrdMaster 本库富化 SAP）
--       → mdp_std_fqc_task / mdp_std_fqc_result / mdp_std_fqc_result_detail；Service 三读路径改读 std。
--       登记 6 个入站实体（本库 task/result/detail + dopdemorq SQL Server 三镜像），均落 mdp_stg_fqc_pull、FULL。
-- 状态：正式脚本（1.0.276，已注册 csproj Copy，随 AutoVersionUpdate 执行）。
--
-- 硬约束：
--   1) 本库实体 status=1：RunFullAsync 迁 stg 管线后依赖它（否则 S7FqcInspBill/mdp/refresh 端点断）。
--   2) SQLSERVER 实体 status=0：就位不启用，合入后不改变现有运行行为；启用需带外注密码+受控切源。
--   3) 六实体均 sync_mode='FULL'（qms_* 无 UpdateTime，FULL-only）。
--   4) source_table_name=qms_fqcbj/qms_qcpp_inspbill/qms_qcpp_inspbillst（两库同名）；transform 按 source_table 过滤，三表共 mdp_stg_fqc_pull。
--      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'), 'S7_FQC_TASK', 'S7 FQC检验任务入站(本库)', 'TABLE', 'qms_fqcbj', 'mdp_stg_fqc_pull', 'FULL', 5000, 'id', 1, 'S7 FQC 任务 本库入站', NOW(), NOW()
WHERE NOT EXISTS (SELECT 1 FROM mdp_entity WHERE entity_code='S7_FQC_TASK');

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'), 'S7_FQC_RESULT', 'S7 FQC检验单入站(本库)', 'TABLE', 'qms_qcpp_inspbill', 'mdp_stg_fqc_pull', 'FULL', 5000, 'id', 1, 'S7 FQC 结果 本库入站', NOW(), NOW()
WHERE NOT EXISTS (SELECT 1 FROM mdp_entity WHERE entity_code='S7_FQC_RESULT');

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'), 'S7_FQC_RESULT_DETAIL', 'S7 FQC检验单明细入站(本库)', 'TABLE', 'qms_qcpp_inspbillst', 'mdp_stg_fqc_pull', 'FULL', 5000, 'id', 1, 'S7 FQC 明细 本库入站', NOW(), NOW()
WHERE NOT EXISTS (SELECT 1 FROM mdp_entity WHERE entity_code='S7_FQC_RESULT_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'), 'S7_FQC_TASK_SQLSERVER', 'S7 FQC检验任务入站(SQLServer)', 'TABLE', 'qms_fqcbj', 'mdp_stg_fqc_pull', 'FULL', 5000, 'id', 0, 'S7 FQC 任务 双源 disabled', NOW(), NOW()
WHERE NOT EXISTS (SELECT 1 FROM mdp_entity WHERE entity_code='S7_FQC_TASK_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'), 'S7_FQC_RESULT_SQLSERVER', 'S7 FQC检验单入站(SQLServer)', 'TABLE', 'qms_qcpp_inspbill', 'mdp_stg_fqc_pull', 'FULL', 5000, 'id', 0, 'S7 FQC 结果 双源 disabled', NOW(), NOW()
WHERE NOT EXISTS (SELECT 1 FROM mdp_entity WHERE entity_code='S7_FQC_RESULT_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'), 'S7_FQC_RESULT_DETAIL_SQLSERVER', 'S7 FQC检验单明细入站(SQLServer)', 'TABLE', 'qms_qcpp_inspbillst', 'mdp_stg_fqc_pull', 'FULL', 5000, 'id', 0, 'S7 FQC 明细 双源 disabled', NOW(), NOW()
WHERE NOT EXISTS (SELECT 1 FROM mdp_entity WHERE entity_code='S7_FQC_RESULT_DETAIL_SQLSERVER');
