-- 1.0.577 F-6:源事务码 → 中立阶段码。种子是 NeutralTransTypeCodes 现值的等值转写,不加新口径。 -- 165 码集 system_code=DOPDEMORQ_SQLSERVER;T8 台账类别 system_code=T8(原 ProjectInvTransSql 的四条中文分支)。 CREATE TABLE IF NOT EXISTS mdp_trans_type_map ( id BIGINT AUTO_INCREMENT PRIMARY KEY, tenant_id BIGINT NOT NULL DEFAULT 0 COMMENT '0=全局默认行;租户行优先', system_code VARCHAR(50) NOT NULL, src_trans_code VARCHAR(64) NOT NULL, qty_sign TINYINT NOT NULL DEFAULT 0 COMMENT '1=入 -1=出 0=不限', location_role VARCHAR(24) NOT NULL DEFAULT '' COMMENT '空=不限', stage_code VARCHAR(40) NULL, biz_doc_type VARCHAR(40) NULL, is_stage TINYINT NOT NULL DEFAULT 1, excluded_by_location TINYINT NOT NULL DEFAULT 0, pending_verify TINYINT NOT NULL DEFAULT 0, remark VARCHAR(500) NULL, create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, update_time DATETIME NULL ON UPDATE CURRENT_TIMESTAMP, UNIQUE KEY uk_trans_type_map (tenant_id, system_code, src_trans_code, qty_sign, location_role), KEY idx_trans_type_map_lookup (system_code, src_trans_code) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='源事务码到中立阶段码'; INSERT INTO mdp_trans_type_map (tenant_id, system_code, src_trans_code, qty_sign, location_role, stage_code, biz_doc_type, is_stage, excluded_by_location) SELECT 0, 'DOPDEMORQ_SQLSERVER', d.src, d.sgn, d.role, d.stage, d.biz, d.is_stage, d.excl FROM ( SELECT 'iss-wo' AS src, 0 AS sgn, '' AS role, 'MAT_ISSUE' AS stage, 'PROD_ISSUE' AS biz, 1 AS is_stage, 0 AS excl UNION ALL SELECT 'rct-po', 0, '', 'MAT_RECEIPT', 'PUR_RECEIPT', 1, 0 UNION ALL SELECT 'rct-po-ins', 0, '', 'MAT_RECEIPT', 'PUR_RECEIPT', 1, 0 UNION ALL SELECT 'rct-rv', 0, '', 'FG_PROD_RECEIPT', 'OUTSOURCE_RECEIPT', 1, 0 UNION ALL SELECT 'iss-tr', -1, 'MAT_INSPECT', 'MAT_IQC_RELEASE', NULL, 1, 0 UNION ALL SELECT 'iss-tr', -1, 'MATERIAL', 'MAT_PICK', NULL, 1, 0 UNION ALL SELECT 'iss-tr', -1, 'VMI', 'MAT_PICK', NULL, 1, 0 UNION ALL SELECT 'iss-tr', -1, 'FG_INSPECT', 'FG_FQC_RELEASE', NULL, 1, 0 UNION ALL SELECT 'iss-tr', -1, 'FG', 'FG_PICK', NULL, 1, 0 UNION ALL SELECT 'iss-tr', 1, 'FG', 'FG_PUTAWAY', NULL, 1, 0 UNION ALL SELECT 'iss-tr', 1, 'MATERIAL', 'MAT_PUTAWAY', NULL, 1, 0 UNION ALL SELECT 'iss-tr', 1, 'MAT_LINE_LOC', 'MAT_LINE', NULL, 1, 0 UNION ALL SELECT 'iss-tr-ins', -1, 'MAT_INSPECT', 'MAT_IQC_RELEASE', NULL, 1, 0 UNION ALL SELECT 'iss-tr-ins', 1, 'MATERIAL', 'MAT_PUTAWAY', NULL, 1, 0 UNION ALL SELECT 'iss-tr-ins', 1, 'MAT_LINE_LOC', 'MAT_LINE', NULL, 1, 0 UNION ALL SELECT 'rct-tr', 1, 'MATERIAL', 'MAT_PUTAWAY', NULL, 1, 0 UNION ALL SELECT 'rct-tr', 1, 'MAT_LINE_LOC', 'MAT_LINE', NULL, 1, 0 UNION ALL SELECT 'rct-tr', 1, 'FG', 'FG_PUTAWAY', NULL, 1, 0 UNION ALL SELECT 'rct-wo', 1, 'FG_LINE_LOC', 'FG_PROD_RECEIPT', 'PROD_RECEIPT', 1, 0 UNION ALL SELECT 'rct-wo', 1, 'FG', 'FG_PROD_RECEIPT', 'PROD_RECEIPT', 1, 0 UNION ALL SELECT 'rct-wo', 1, 'SEMI', 'MAT_RECEIPT', 'PROD_RECEIPT', 1, 0 UNION ALL SELECT 'rct-wo', 1, 'MATERIAL', 'MAT_RECEIPT', 'PROD_RECEIPT', 1, 0 UNION ALL SELECT 'iss-unp', -1, 'MATERIAL', 'MAT_ISSUE', NULL, 1, 0 UNION ALL SELECT 'rct-unp', 1, 'MATERIAL', 'MAT_RECEIPT', 'PUR_RECEIPT', 1, 0 UNION ALL SELECT 'VMI', 1, 'VMI', 'MAT_RECEIPT', 'CONSIGNMENT_RECEIPT', 1, 0 UNION ALL SELECT 'iss-so', 0, '', NULL, 'OTHER', 0, 0 UNION ALL SELECT 'iss-po', 0, '', NULL, 'PUR_RETURN', 0, 0 UNION ALL SELECT 'tag-cnf', 0, '', NULL, 'INVENTORY_ADJUST', 0, 0 UNION ALL SELECT 'tag-cnt', 0, '', NULL, 'INVENTORY_ADJUST', 0, 0 UNION ALL SELECT 'inv-frz', 0, '', NULL, NULL, 0, 0 UNION ALL SELECT 'inv-unfrz', 0, '', NULL, NULL, 0, 0 UNION ALL SELECT 'iss-rv', 0, '', NULL, NULL, 0, 1 UNION ALL SELECT '采购入库', 0, '', 'MAT_RECEIPT', 'PUR_RECEIPT', 1, 0 UNION ALL SELECT '生产领料', 0, '', 'MAT_ISSUE', 'PROD_ISSUE', 1, 0 UNION ALL SELECT '生产入库', 0, '', 'FG_PROD_RECEIPT', 'PROD_RECEIPT', 1, 0 UNION ALL SELECT '销售出库', 0, '', 'FG_SHIP', 'SALES_SHIP', 1, 0 ) d WHERE d.src <> '采购入库' ON DUPLICATE KEY UPDATE stage_code=VALUES(stage_code), biz_doc_type=VALUES(biz_doc_type), is_stage=VALUES(is_stage), excluded_by_location=VALUES(excluded_by_location); INSERT INTO mdp_trans_type_map (tenant_id, system_code, src_trans_code, qty_sign, location_role, stage_code, biz_doc_type, is_stage, excluded_by_location) SELECT 0, 'T8', d.src, 0, '', d.stage, d.biz, 1, 0 FROM ( SELECT '采购入库' AS src, 'MAT_RECEIPT' AS stage, 'PUR_RECEIPT' AS biz UNION ALL SELECT '生产领料', 'MAT_ISSUE', 'PROD_ISSUE' UNION ALL SELECT '生产入库', 'FG_PROD_RECEIPT', 'PROD_RECEIPT' UNION ALL SELECT '销售出库', 'FG_SHIP', 'SALES_SHIP' ) d ON DUPLICATE KEY UPDATE stage_code=VALUES(stage_code), biz_doc_type=VALUES(biz_doc_type);