-- 补齐「生产流转卡」自动编码规则 PRO_CARD_CODE | 目标库 mom-hm | 2026-10-15 -- 现状:前端流转卡页「生成」按钮调用 /mes/md/autocode/generate?ruleCode=PRO_CARD_CODE, -- 但 mes_md_auto_code_rule 中缺少该规则 -> 报 AUTO_CODE_RULE_NOT_EXISTS。 -- 规则组成沿用兄弟规则(PRO_WORK_ORDER_CODE 等)口径:3位固定前缀 + 8位日期 + 3位流水号 = 14 位。 -- 卡号前缀取 PC_(与库中已有卡号 PC_20260901001 一致)。 -- 幂等:先删同 code 的规则与分段,再插入。回滚:见文件末尾注释。 START TRANSACTION; DELETE p FROM mes_md_auto_code_part p JOIN mes_md_auto_code_rule r ON p.rule_id = r.id WHERE r.code = 'PRO_CARD_CODE'; DELETE FROM mes_md_auto_code_rule WHERE code = 'PRO_CARD_CODE'; SET @rid = (SELECT IFNULL(MAX(id), 0) + 1 FROM mes_md_auto_code_rule); SET @pid = (SELECT IFNULL(MAX(id), 0) + 1 FROM mes_md_auto_code_part); INSERT INTO mes_md_auto_code_rule (id, code, name, description, max_length, padded, padded_char, padded_method, status, remark, creator, create_time, updater, update_time, deleted) VALUES (@rid, 'PRO_CARD_CODE', '生产流转卡编码', '生产流转卡自动编码', 14, b'1', '0', 1, 0, NULL, '1', NOW(), '1', NOW(), b'0'); INSERT INTO mes_md_auto_code_part (id, rule_id, sort, type, length, date_format, fix_character, serial_start_no, serial_step, cycle_flag, cycle_method, remark, creator, create_time, updater, update_time, deleted) VALUES (@pid, @rid, 1, 3, 3, NULL, 'PC_', NULL, NULL, NULL, NULL, NULL, '1', NOW(), '1', NOW(), b'0'), (@pid + 1, @rid, 2, 2, 8, 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, '1', NOW(), '1', NOW(), b'0'), (@pid + 2, @rid, 3, 4, 3, NULL, NULL, 1, 1, b'1', 3, NULL, '1', NOW(), '1', NOW(), b'0'); COMMIT; -- 回滚: -- DELETE p FROM mes_md_auto_code_part p JOIN mes_md_auto_code_rule r ON p.rule_id = r.id WHERE r.code = 'PRO_CARD_CODE'; -- DELETE FROM mes_md_auto_code_rule WHERE code = 'PRO_CARD_CODE';