|
|
@@ -0,0 +1,377 @@
|
|
|
+-- =====================================================================================
|
|
|
+-- 1.0.508 · S0 MASTER DATA PLATFORM · PHASE 2 · C2 参考字典(8 个 ref_*)
|
|
|
+--
|
|
|
+-- C2-1 独立字典(各自 staging):
|
|
|
+-- BarCodeType → mdp_stg_s0_label_type → ref_label_type
|
|
|
+-- ImageType → mdp_stg_s0_sop_file_type → ref_sop_file_type
|
|
|
+-- qms_quality_base_type → mdp_stg_s0_quality_base_type → ref_quality_base_type
|
|
|
+-- C2-2 qms 字典族(**共用 mdp_stg_s0_qms_dict**,靠 source_table 隔离,同 Location/LocationShelf 范式):
|
|
|
+-- qms_sampscheme / qms_inspectionitems / qms_inspection_method
|
|
|
+-- qms_inspectionfreq / qms_inspectioninstru → ref_*
|
|
|
+--
|
|
|
+-- 身份口径(沿用 D-025):一律 tenant_id + 业务码;Domain/company/factory 均 LEGACY_SCOPE,不入唯一键。
|
|
|
+--
|
|
|
+-- 🔴 本组落地时实测出的两个框架地雷(写在这里免得下次重踩):
|
|
|
+-- ① bit(1) 源列若用 Int,对账每轮必挂:CAST(b'1' AS CHAR)=0x01 而 CAST(1 AS CHAR)=0x31。
|
|
|
+-- PriorityCode.OrderBy 正是 bit(1) —— 故 PriorityCode 整表本批缓做。
|
|
|
+-- ② qms 的 FSTATUS/FENABLE 是 varchar,值域含 `已审核`/`已启用`/`A`/`ENABLED`/`INVALID_STATUS`。
|
|
|
+-- 用 BoolTrue 会命中可辨识性守卫:4 张表整表归零;qms_inspectionfreq.FENABLE 恰好存活 8/13
|
|
|
+-- —— 部分静默丢失,最难发现。⇒ 10 个状态列一律 Str 原样透传。
|
|
|
+--
|
|
|
+-- 边界:不动源表、不动 S0 CRUD、不动前端、不碰 mdp_std_*、不复用任何 DOPDEMORQ staging。
|
|
|
+-- =====================================================================================
|
|
|
+
|
|
|
+-- ── 一、贴源表(4 张;UK 含 source_system,D-022 的结构性防串源前提)──
|
|
|
+
|
|
|
+CREATE TABLE IF NOT EXISTS `mdp_stg_s0_label_type` (
|
|
|
+ `id` bigint NOT NULL AUTO_INCREMENT,
|
|
|
+ `tenant_id` bigint NOT NULL DEFAULT 0,
|
|
|
+ `factory_id` bigint DEFAULT NULL,
|
|
|
+ `source_system` varchar(50) NOT NULL DEFAULT 'AIDOPDEV_MYSQL',
|
|
|
+ `source_table` varchar(100) NOT NULL,
|
|
|
+ `source_row_id` varchar(100) NOT NULL,
|
|
|
+ `source_biz_key` varchar(300) DEFAULT NULL,
|
|
|
+ `sync_batch_id` varchar(100) NOT NULL,
|
|
|
+ `sync_time` datetime NOT NULL,
|
|
|
+ `process_status` varchar(20) NOT NULL DEFAULT 'PENDING',
|
|
|
+ `raw_data` json NOT NULL,
|
|
|
+ `process_message` varchar(500) DEFAULT NULL,
|
|
|
+ `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
|
+ `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
|
|
|
+ PRIMARY KEY (`id`),
|
|
|
+ UNIQUE KEY `uk_stg_s0_label_type` (`tenant_id`,`source_system`,`source_table`,`source_row_id`),
|
|
|
+ KEY `idx_stg_s0_label_type_biz` (`source_biz_key`),
|
|
|
+ KEY `idx_stg_s0_label_type_batch` (`tenant_id`,`sync_batch_id`)
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='S0 贴源:标签类型(源 BarCodeType)';
|
|
|
+
|
|
|
+CREATE TABLE IF NOT EXISTS `mdp_stg_s0_sop_file_type` (
|
|
|
+ `id` bigint NOT NULL AUTO_INCREMENT,
|
|
|
+ `tenant_id` bigint NOT NULL DEFAULT 0,
|
|
|
+ `factory_id` bigint DEFAULT NULL,
|
|
|
+ `source_system` varchar(50) NOT NULL DEFAULT 'AIDOPDEV_MYSQL',
|
|
|
+ `source_table` varchar(100) NOT NULL,
|
|
|
+ `source_row_id` varchar(100) NOT NULL,
|
|
|
+ `source_biz_key` varchar(300) DEFAULT NULL,
|
|
|
+ `sync_batch_id` varchar(100) NOT NULL,
|
|
|
+ `sync_time` datetime NOT NULL,
|
|
|
+ `process_status` varchar(20) NOT NULL DEFAULT 'PENDING',
|
|
|
+ `raw_data` json NOT NULL,
|
|
|
+ `process_message` varchar(500) DEFAULT NULL,
|
|
|
+ `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
|
+ `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
|
|
|
+ PRIMARY KEY (`id`),
|
|
|
+ UNIQUE KEY `uk_stg_s0_sop_file_type` (`tenant_id`,`source_system`,`source_table`,`source_row_id`),
|
|
|
+ KEY `idx_stg_s0_sop_file_type_biz` (`source_biz_key`),
|
|
|
+ KEY `idx_stg_s0_sop_file_type_batch` (`tenant_id`,`sync_batch_id`)
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='S0 贴源:SOP 文件类型(源 ImageType)';
|
|
|
+
|
|
|
+CREATE TABLE IF NOT EXISTS `mdp_stg_s0_quality_base_type` (
|
|
|
+ `id` bigint NOT NULL AUTO_INCREMENT,
|
|
|
+ `tenant_id` bigint NOT NULL DEFAULT 0,
|
|
|
+ `factory_id` bigint DEFAULT NULL,
|
|
|
+ `source_system` varchar(50) NOT NULL DEFAULT 'AIDOPDEV_MYSQL',
|
|
|
+ `source_table` varchar(100) NOT NULL,
|
|
|
+ `source_row_id` varchar(100) NOT NULL,
|
|
|
+ `source_biz_key` varchar(300) DEFAULT NULL,
|
|
|
+ `sync_batch_id` varchar(100) NOT NULL,
|
|
|
+ `sync_time` datetime NOT NULL,
|
|
|
+ `process_status` varchar(20) NOT NULL DEFAULT 'PENDING',
|
|
|
+ `raw_data` json NOT NULL,
|
|
|
+ `process_message` varchar(500) DEFAULT NULL,
|
|
|
+ `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
|
+ `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
|
|
|
+ PRIMARY KEY (`id`),
|
|
|
+ UNIQUE KEY `uk_stg_s0_quality_base_type` (`tenant_id`,`source_system`,`source_table`,`source_row_id`),
|
|
|
+ KEY `idx_stg_s0_quality_base_type_biz` (`source_biz_key`),
|
|
|
+ KEY `idx_stg_s0_quality_base_type_batch` (`tenant_id`,`sync_batch_id`)
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='S0 贴源:质量基础类型(源 qms_quality_base_type)';
|
|
|
+
|
|
|
+CREATE TABLE IF NOT EXISTS `mdp_stg_s0_qms_dict` (
|
|
|
+ `id` bigint NOT NULL AUTO_INCREMENT,
|
|
|
+ `tenant_id` bigint NOT NULL DEFAULT 0,
|
|
|
+ `factory_id` bigint DEFAULT NULL,
|
|
|
+ `source_system` varchar(50) NOT NULL DEFAULT 'AIDOPDEV_MYSQL',
|
|
|
+ `source_table` varchar(100) NOT NULL,
|
|
|
+ `source_row_id` varchar(100) NOT NULL,
|
|
|
+ `source_biz_key` varchar(300) DEFAULT NULL,
|
|
|
+ `sync_batch_id` varchar(100) NOT NULL,
|
|
|
+ `sync_time` datetime NOT NULL,
|
|
|
+ `process_status` varchar(20) NOT NULL DEFAULT 'PENDING',
|
|
|
+ `raw_data` json NOT NULL,
|
|
|
+ `process_message` varchar(500) DEFAULT NULL,
|
|
|
+ `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
|
+ `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
|
|
|
+ PRIMARY KEY (`id`),
|
|
|
+ UNIQUE KEY `uk_stg_s0_qms_dict` (`tenant_id`,`source_system`,`source_table`,`source_row_id`),
|
|
|
+ KEY `idx_stg_s0_qms_dict_biz` (`source_biz_key`),
|
|
|
+ KEY `idx_stg_s0_qms_dict_batch` (`tenant_id`,`sync_batch_id`)
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='S0 贴源:qms 字典族(5 个源表共用,靠 source_table 隔离)';
|
|
|
+
|
|
|
+-- ── 二、参考表(8 张)──
|
|
|
+
|
|
|
+CREATE TABLE IF NOT EXISTS `ref_label_type` (
|
|
|
+ `id` bigint NOT NULL AUTO_INCREMENT,
|
|
|
+ `tenant_id` bigint NOT NULL,
|
|
|
+ `label_type_code` varchar(100) NOT NULL COMMENT '标签类型码(**唯一业务键**)← $.bar_type',
|
|
|
+ `label_class` varchar(50) DEFAULT NULL COMMENT '← $.class',
|
|
|
+ `input_string` varchar(1000) DEFAULT NULL COMMENT '← $.input_string',
|
|
|
+ `domain_code` varchar(50) DEFAULT NULL COMMENT 'LEGACY_SCOPE ← $.domain_code;**不是身份**',
|
|
|
+ `company_id` bigint DEFAULT NULL COMMENT 'LEGACY_SCOPE ← $.company_ref_id',
|
|
|
+ `factory_id` bigint DEFAULT NULL COMMENT 'LEGACY_SCOPE ← $.factory_ref_id',
|
|
|
+ `source_updated_at` datetime DEFAULT NULL COMMENT '← $.update_time',
|
|
|
+ `source_system` varchar(50) NOT 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,
|
|
|
+ PRIMARY KEY (`id`),
|
|
|
+ UNIQUE KEY `uk_ref_label_type` (`tenant_id`,`label_type_code`),
|
|
|
+ KEY `idx_ref_label_type_batch` (`sync_batch_id`)
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='S0 参考字典:标签类型。源 BarCodeType,FULL REPLACE。';
|
|
|
+
|
|
|
+CREATE TABLE IF NOT EXISTS `ref_sop_file_type` (
|
|
|
+ `id` bigint NOT NULL AUTO_INCREMENT,
|
|
|
+ `tenant_id` bigint NOT NULL,
|
|
|
+ `file_type_code` varchar(100) NOT NULL COMMENT 'SOP 文件类型码(**唯一业务键**)← $.image_type_id',
|
|
|
+ `file_type_name` varchar(255) DEFAULT NULL COMMENT '← $.descr',
|
|
|
+ `domain_code` varchar(50) DEFAULT NULL COMMENT 'LEGACY_SCOPE ← $.domain(注意源物理列叫 domain)',
|
|
|
+ `source_system` varchar(50) NOT 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,
|
|
|
+ PRIMARY KEY (`id`),
|
|
|
+ UNIQUE KEY `uk_ref_sop_file_type` (`tenant_id`,`file_type_code`),
|
|
|
+ KEY `idx_ref_sop_file_type_batch` (`sync_batch_id`)
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='S0 参考字典:SOP 文件类型。源 ImageType。**源表无任何时间列,故无 source_updated_at,不得回填**。';
|
|
|
+
|
|
|
+CREATE TABLE IF NOT EXISTS `ref_quality_base_type` (
|
|
|
+ `id` bigint NOT NULL AUTO_INCREMENT,
|
|
|
+ `tenant_id` bigint NOT NULL,
|
|
|
+ `type_category` varchar(100) NOT NULL COMMENT '类别(**业务键第一段**)← $.type_category',
|
|
|
+ `type_code` varchar(100) NOT NULL COMMENT '编码(**业务键第二段**)← $.type_code',
|
|
|
+ `short_name` varchar(200) DEFAULT NULL COMMENT '← $.short_name',
|
|
|
+ `full_name` varchar(255) DEFAULT NULL COMMENT '← $.full_name',
|
|
|
+ `remark` varchar(500) DEFAULT NULL COMMENT '← $.remark',
|
|
|
+ `is_active` tinyint(1) NOT NULL COMMENT '← $.is_active',
|
|
|
+ `source_updated_at` datetime DEFAULT NULL COMMENT '← $.modify_time',
|
|
|
+ `source_system` varchar(50) NOT 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,
|
|
|
+ PRIMARY KEY (`id`),
|
|
|
+ UNIQUE KEY `uk_ref_quality_base_type` (`tenant_id`,`type_category`,`type_code`),
|
|
|
+ KEY `idx_ref_quality_base_type_batch` (`sync_batch_id`)
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='S0 参考字典:质量基础类型。源 qms_quality_base_type。键为两段(CRUD 查重即按 category+code)。';
|
|
|
+
|
|
|
+CREATE TABLE IF NOT EXISTS `ref_sampling_scheme` (
|
|
|
+ `id` bigint NOT NULL AUTO_INCREMENT,
|
|
|
+ `tenant_id` bigint NOT NULL,
|
|
|
+ `scheme_code` varchar(255) NOT NULL COMMENT '抽样方案码(**唯一业务键**)← $.FNUMBER',
|
|
|
+ `scheme_name` varchar(255) DEFAULT NULL COMMENT '← $.FNAME',
|
|
|
+ `sampling_type` varchar(255) DEFAULT NULL COMMENT '← $.FSAMPLINGTYPE',
|
|
|
+ `inspection_level` varchar(255) DEFAULT NULL COMMENT '← $.FINSPECTIONLEVEL',
|
|
|
+ `strictness` varchar(255) DEFAULT NULL COMMENT '← $.FSTRICTNESS',
|
|
|
+ `aql_value` varchar(255) DEFAULT NULL COMMENT '← $.FAQLVALUE(源为 varchar,保持 Str)',
|
|
|
+ `inspection_type` varchar(255) DEFAULT NULL COMMENT '← $.FINSPECTIONTYPE',
|
|
|
+ `status_code` varchar(255) DEFAULT NULL COMMENT '🔴 Str 透传 ← $.FSTATUS;值域含中文,禁 BoolTrue',
|
|
|
+ `enable_code` varchar(255) DEFAULT NULL COMMENT '🔴 Str 透传 ← $.FENABLE;同上',
|
|
|
+ `remark` varchar(255) DEFAULT NULL COMMENT '← $.FCOMMENT',
|
|
|
+ `source_updated_at` datetime DEFAULT NULL COMMENT '← $.FMODIFYTIME',
|
|
|
+ `source_system` varchar(50) NOT 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,
|
|
|
+ PRIMARY KEY (`id`),
|
|
|
+ UNIQUE KEY `uk_ref_sampling_scheme` (`tenant_id`,`scheme_code`),
|
|
|
+ KEY `idx_ref_sampling_scheme_batch` (`sync_batch_id`)
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='S0 参考字典:抽样方案。源 qms_sampscheme。';
|
|
|
+
|
|
|
+CREATE TABLE IF NOT EXISTS `ref_inspection_item` (
|
|
|
+ `id` bigint NOT NULL AUTO_INCREMENT,
|
|
|
+ `tenant_id` bigint NOT NULL,
|
|
|
+ `item_code` varchar(255) NOT NULL COMMENT '检验项目码(**唯一业务键**)← $.FNUMBER',
|
|
|
+ `item_name` varchar(255) DEFAULT NULL COMMENT '← $.FNAME',
|
|
|
+ `check_method_id` bigint DEFAULT NULL COMMENT '← $.FCHECKMETHOD;**源侧代理主键 id,非业务键**,不可用于 dim 解析',
|
|
|
+ `check_basis_id` bigint DEFAULT NULL COMMENT '← $.FCHECKBASIS;同上',
|
|
|
+ `status_code` varchar(255) DEFAULT NULL COMMENT '🔴 Str 透传 ← $.FSTATUS',
|
|
|
+ `enable_code` varchar(255) DEFAULT NULL COMMENT '🔴 Str 透传 ← $.FENABLE',
|
|
|
+ `remark` varchar(255) DEFAULT NULL COMMENT '← $.FCOMMENT',
|
|
|
+ `source_updated_at` datetime DEFAULT NULL COMMENT '← $.FMODIFYTIME',
|
|
|
+ `source_system` varchar(50) NOT 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,
|
|
|
+ PRIMARY KEY (`id`),
|
|
|
+ UNIQUE KEY `uk_ref_inspection_item` (`tenant_id`,`item_code`),
|
|
|
+ KEY `idx_ref_inspection_item_batch` (`sync_batch_id`)
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='S0 参考字典:检验项目。源 qms_inspectionitems。';
|
|
|
+
|
|
|
+CREATE TABLE IF NOT EXISTS `ref_inspection_method` (
|
|
|
+ `id` bigint NOT NULL AUTO_INCREMENT,
|
|
|
+ `tenant_id` bigint NOT NULL,
|
|
|
+ `method_code` varchar(255) NOT NULL COMMENT '检验方法码(**唯一业务键**)← $.FNUMBER',
|
|
|
+ `method_name` varchar(255) DEFAULT NULL COMMENT '← $.FNAME',
|
|
|
+ `control_strategy` varchar(255) DEFAULT NULL COMMENT '← $.FCTRLSTRATEGY',
|
|
|
+ `status_code` varchar(255) DEFAULT NULL COMMENT '🔴 Str 透传 ← $.FSTATUS',
|
|
|
+ `enable_code` varchar(255) DEFAULT NULL COMMENT '🔴 Str 透传 ← $.FENABLE',
|
|
|
+ `remark` varchar(255) DEFAULT NULL COMMENT '← $.FCOMMENT',
|
|
|
+ `source_updated_at` datetime DEFAULT NULL COMMENT '← $.FMODIFYTIME',
|
|
|
+ `source_system` varchar(50) NOT 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,
|
|
|
+ PRIMARY KEY (`id`),
|
|
|
+ UNIQUE KEY `uk_ref_inspection_method` (`tenant_id`,`method_code`),
|
|
|
+ KEY `idx_ref_inspection_method_batch` (`sync_batch_id`)
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='S0 参考字典:检验方法。源 qms_inspection_method。';
|
|
|
+
|
|
|
+CREATE TABLE IF NOT EXISTS `ref_inspection_frequency` (
|
|
|
+ `id` bigint NOT NULL AUTO_INCREMENT,
|
|
|
+ `tenant_id` bigint NOT NULL,
|
|
|
+ `frequency_code` varchar(255) NOT NULL COMMENT '检验频次码(**唯一业务键**)← $.FNUMBER',
|
|
|
+ `frequency_name` varchar(255) DEFAULT NULL COMMENT '← $.FNAME',
|
|
|
+ `remark` varchar(255) DEFAULT NULL COMMENT '🔴 ← $.FREMARK(本表叫 FREMARK,**不是** FCOMMENT)',
|
|
|
+ `status_code` varchar(255) DEFAULT NULL COMMENT '🔴 Str 透传 ← $.FSTATUS;值域 A/ENABLED',
|
|
|
+ `enable_code` varchar(255) DEFAULT NULL COMMENT '🔴 Str 透传 ← $.FENABLE;值域 1/ENABLED —— BoolTrue 会存活 8 丢 5,最阴',
|
|
|
+ `source_updated_at` datetime DEFAULT NULL COMMENT '← $.FMODIFYTIME',
|
|
|
+ `source_system` varchar(50) NOT 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,
|
|
|
+ PRIMARY KEY (`id`),
|
|
|
+ UNIQUE KEY `uk_ref_inspection_frequency` (`tenant_id`,`frequency_code`),
|
|
|
+ KEY `idx_ref_inspection_frequency_batch` (`sync_batch_id`)
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='S0 参考字典:检验频次。源 qms_inspectionfreq。';
|
|
|
+
|
|
|
+CREATE TABLE IF NOT EXISTS `ref_inspection_instrument` (
|
|
|
+ `id` bigint NOT NULL AUTO_INCREMENT,
|
|
|
+ `tenant_id` bigint NOT NULL,
|
|
|
+ `instrument_code` varchar(255) NOT NULL COMMENT '量检具码(**唯一业务键**)← $.FNUMBER',
|
|
|
+ `instrument_name` varchar(255) DEFAULT NULL COMMENT '← $.FNAME',
|
|
|
+ `model` varchar(255) DEFAULT NULL COMMENT '← $.FMODEL',
|
|
|
+ `specification` varchar(255) DEFAULT NULL COMMENT '← $.FSPECIFICATION',
|
|
|
+ `manufacturer` varchar(255) DEFAULT NULL COMMENT '← $.FMANUFACTURER',
|
|
|
+ `gauge_category` varchar(255) DEFAULT NULL COMMENT '← $.gauge_category(源自有 snake_case 列)',
|
|
|
+ `calibration_cycle_days` int DEFAULT NULL COMMENT '← $.calibration_cycle_days',
|
|
|
+ `next_calibration_date` varchar(50) DEFAULT NULL COMMENT '← $.next_calibration_date;源是 varchar 存日期串,**Str 透传不用 DateTimeSec**',
|
|
|
+ `status_code` varchar(255) DEFAULT NULL COMMENT '🔴 Str 透传 ← $.FSTATUS',
|
|
|
+ `enable_code` varchar(255) DEFAULT NULL COMMENT '🔴 Str 透传 ← $.FENABLE',
|
|
|
+ `remark` varchar(255) DEFAULT NULL COMMENT '← $.FCOMMENT',
|
|
|
+ `source_updated_at` datetime DEFAULT NULL COMMENT '← $.FMODIFYTIME',
|
|
|
+ `source_system` varchar(50) NOT 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,
|
|
|
+ PRIMARY KEY (`id`),
|
|
|
+ UNIQUE KEY `uk_ref_inspection_instrument` (`tenant_id`,`instrument_code`),
|
|
|
+ KEY `idx_ref_inspection_instrument_batch` (`sync_batch_id`)
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='S0 参考字典:量检具。源 qms_inspectioninstru。';
|
|
|
+
|
|
|
+-- ── 三、mdp_entity 入站配置(8 条,全 FULL / incr_column=NULL)──
|
|
|
+-- biz_key_expr 必须与 Definition.SourceBizKeyColumns 逐字一致,否则 AssertEntityContractAsync 当场报漂移。
|
|
|
+
|
|
|
+SET @src_id = (SELECT `id` FROM `mdp_source` WHERE `source_code` = 'AIDOPDEV_MYSQL' LIMIT 1);
|
|
|
+
|
|
|
+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`,
|
|
|
+ `biz_key_expr`,`status`,`create_time`,`update_time`)
|
|
|
+SELECT 0, @src_id, 'S0_LABEL_TYPE', 'S0 标签类型字典入站', 'TABLE',
|
|
|
+ 'BarCodeType', 'mdp_stg_s0_label_type', 'FULL', NULL, 5000,
|
|
|
+ 'bar_type', 1, NOW(), NOW()
|
|
|
+WHERE @src_id IS NOT NULL
|
|
|
+ AND NOT EXISTS (SELECT 1 FROM `mdp_entity` WHERE `entity_code` = 'S0_LABEL_TYPE');
|
|
|
+
|
|
|
+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`,
|
|
|
+ `biz_key_expr`,`status`,`create_time`,`update_time`)
|
|
|
+SELECT 0, @src_id, 'S0_SOP_FILE_TYPE', 'S0 SOP 文件类型字典入站', 'TABLE',
|
|
|
+ 'ImageType', 'mdp_stg_s0_sop_file_type', 'FULL', NULL, 5000,
|
|
|
+ 'image_type_id', 1, NOW(), NOW()
|
|
|
+WHERE @src_id IS NOT NULL
|
|
|
+ AND NOT EXISTS (SELECT 1 FROM `mdp_entity` WHERE `entity_code` = 'S0_SOP_FILE_TYPE');
|
|
|
+
|
|
|
+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`,
|
|
|
+ `biz_key_expr`,`status`,`create_time`,`update_time`)
|
|
|
+SELECT 0, @src_id, 'S0_QUALITY_BASE_TYPE', 'S0 质量基础类型字典入站', 'TABLE',
|
|
|
+ 'qms_quality_base_type', 'mdp_stg_s0_quality_base_type', 'FULL', NULL, 5000,
|
|
|
+ 'type_category,type_code', 1, NOW(), NOW()
|
|
|
+WHERE @src_id IS NOT NULL
|
|
|
+ AND NOT EXISTS (SELECT 1 FROM `mdp_entity` WHERE `entity_code` = 'S0_QUALITY_BASE_TYPE');
|
|
|
+
|
|
|
+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`,
|
|
|
+ `biz_key_expr`,`status`,`create_time`,`update_time`)
|
|
|
+SELECT 0, @src_id, 'S0_SAMPLING_SCHEME', 'S0 抽样方案字典入站', 'TABLE',
|
|
|
+ 'qms_sampscheme', 'mdp_stg_s0_qms_dict', 'FULL', NULL, 5000,
|
|
|
+ 'FNUMBER', 1, NOW(), NOW()
|
|
|
+WHERE @src_id IS NOT NULL
|
|
|
+ AND NOT EXISTS (SELECT 1 FROM `mdp_entity` WHERE `entity_code` = 'S0_SAMPLING_SCHEME');
|
|
|
+
|
|
|
+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`,
|
|
|
+ `biz_key_expr`,`status`,`create_time`,`update_time`)
|
|
|
+SELECT 0, @src_id, 'S0_INSPECTION_ITEM', 'S0 检验项目字典入站', 'TABLE',
|
|
|
+ 'qms_inspectionitems', 'mdp_stg_s0_qms_dict', 'FULL', NULL, 5000,
|
|
|
+ 'FNUMBER', 1, NOW(), NOW()
|
|
|
+WHERE @src_id IS NOT NULL
|
|
|
+ AND NOT EXISTS (SELECT 1 FROM `mdp_entity` WHERE `entity_code` = 'S0_INSPECTION_ITEM');
|
|
|
+
|
|
|
+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`,
|
|
|
+ `biz_key_expr`,`status`,`create_time`,`update_time`)
|
|
|
+SELECT 0, @src_id, 'S0_INSPECTION_METHOD', 'S0 检验方法字典入站', 'TABLE',
|
|
|
+ 'qms_inspection_method', 'mdp_stg_s0_qms_dict', 'FULL', NULL, 5000,
|
|
|
+ 'FNUMBER', 1, NOW(), NOW()
|
|
|
+WHERE @src_id IS NOT NULL
|
|
|
+ AND NOT EXISTS (SELECT 1 FROM `mdp_entity` WHERE `entity_code` = 'S0_INSPECTION_METHOD');
|
|
|
+
|
|
|
+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`,
|
|
|
+ `biz_key_expr`,`status`,`create_time`,`update_time`)
|
|
|
+SELECT 0, @src_id, 'S0_INSPECTION_FREQUENCY', 'S0 检验频次字典入站', 'TABLE',
|
|
|
+ 'qms_inspectionfreq', 'mdp_stg_s0_qms_dict', 'FULL', NULL, 5000,
|
|
|
+ 'FNUMBER', 1, NOW(), NOW()
|
|
|
+WHERE @src_id IS NOT NULL
|
|
|
+ AND NOT EXISTS (SELECT 1 FROM `mdp_entity` WHERE `entity_code` = 'S0_INSPECTION_FREQUENCY');
|
|
|
+
|
|
|
+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`,
|
|
|
+ `biz_key_expr`,`status`,`create_time`,`update_time`)
|
|
|
+SELECT 0, @src_id, 'S0_INSPECTION_INSTRUMENT', 'S0 量检具字典入站', 'TABLE',
|
|
|
+ 'qms_inspectioninstru', 'mdp_stg_s0_qms_dict', 'FULL', NULL, 5000,
|
|
|
+ 'FNUMBER', 1, NOW(), NOW()
|
|
|
+WHERE @src_id IS NOT NULL
|
|
|
+ AND NOT EXISTS (SELECT 1 FROM `mdp_entity` WHERE `entity_code` = 'S0_INSPECTION_INSTRUMENT');
|
|
|
+
|
|
|
+-- ── 回滚(注释,非可执行)──
|
|
|
+-- DROP TABLE IF EXISTS `ref_inspection_instrument`,`ref_inspection_frequency`,`ref_inspection_method`,
|
|
|
+-- `ref_inspection_item`,`ref_sampling_scheme`,`ref_quality_base_type`,`ref_sop_file_type`,`ref_label_type`;
|
|
|
+-- DROP TABLE IF EXISTS `mdp_stg_s0_qms_dict`,`mdp_stg_s0_quality_base_type`,
|
|
|
+-- `mdp_stg_s0_sop_file_type`,`mdp_stg_s0_label_type`;
|
|
|
+-- DELETE FROM `mdp_entity` WHERE `tenant_id`=0 AND `entity_code` IN
|
|
|
+-- ('S0_LABEL_TYPE','S0_SOP_FILE_TYPE','S0_QUALITY_BASE_TYPE','S0_SAMPLING_SCHEME',
|
|
|
+-- 'S0_INSPECTION_ITEM','S0_INSPECTION_METHOD','S0_INSPECTION_FREQUENCY','S0_INSPECTION_INSTRUMENT');
|