-- ============================================================
-- ERP 业务单据编码规则初始化脚本
-- 将 15 条单据编码规则配置到通用编码引擎表中
-- 对应文档：prd/mom系统单据编码规则文档.md
-- ============================================================
-- rule_id / part_id 均为自增主键，无需指定值
-- sys_auto_code_part.rule_id 通过子查询关联 sys_auto_code_rule.rule_code
-- ============================================================

SET NAMES utf8mb4;

-- ============================================================
-- 一、sys_auto_code_rule — 编码规则主表（共 15 条）
-- ============================================================

-- ---------- 销售模块（排序 1-5）----------
INSERT INTO `sys_auto_code_rule` (`rule_code`, `rule_name`, `rule_desc`, `max_length`, `is_padded`, `padded_char`, `padded_method`, `enable_flag`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ('XSDD_CODE', '销售订单编码规则', '销售订单（销售订单），格式：XSDD + 6位流水号', 10, 'N', NULL, 'L', 'Y', NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);

INSERT INTO `sys_auto_code_rule` (`rule_code`, `rule_name`, `rule_desc`, `max_length`, `is_padded`, `padded_char`, `padded_method`, `enable_flag`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ('XSBH_CODE', '备货订单编码规则', '销售订单（备货订单），格式：XSBH + 6位流水号', 10, 'N', NULL, 'L', 'Y', NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);

INSERT INTO `sys_auto_code_rule` (`rule_code`, `rule_name`, `rule_desc`, `max_length`, `is_padded`, `padded_char`, `padded_method`, `enable_flag`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ('LJBK_CODE', '零部件订单编码规则', '销售订单（零部件订单），格式：LJBK + 6位流水号', 10, 'N', NULL, 'L', 'Y', NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);

INSERT INTO `sys_auto_code_rule` (`rule_code`, `rule_name`, `rule_desc`, `max_length`, `is_padded`, `padded_char`, `padded_method`, `enable_flag`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ('XSFH_CODE', '发货通知单编码规则', '发货通知单，格式：XSFH + 6位流水号', 10, 'N', NULL, 'L', 'Y', NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);

INSERT INTO `sys_auto_code_rule` (`rule_code`, `rule_name`, `rule_desc`, `max_length`, `is_padded`, `padded_char`, `padded_method`, `enable_flag`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ('XSTH_CODE', '退货通知单编码规则', '退货通知单，格式：XSTH + 6位流水号', 10, 'N', NULL, 'L', 'Y', NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);

INSERT INTO `sys_auto_code_rule` (`rule_code`, `rule_name`, `rule_desc`, `max_length`, `is_padded`, `padded_char`, `padded_method`, `enable_flag`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ('XSKP_CODE', '开票通知单编码规则', '开票通知单，格式：XSKP + 6位流水号', 10, 'N', NULL, 'L', 'Y', NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);

-- ---------- 生产模块（排序 10-11）----------
INSERT INTO `sys_auto_code_rule` (`rule_code`, `rule_name`, `rule_desc`, `max_length`, `is_padded`, `padded_char`, `padded_method`, `enable_flag`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ('SCJH_CODE', '生产计划单编码规则', '生产计划单，格式：SCJH + yyyyMMdd + 3位序号（按日循环）', 15, 'N', NULL, 'L', 'Y', NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);

INSERT INTO `sys_auto_code_rule` (`rule_code`, `rule_name`, `rule_desc`, `max_length`, `is_padded`, `padded_char`, `padded_method`, `enable_flag`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ('MBOM_CODE', '物料清单编码规则', '物料清单，格式：MBOM + 6位流水号', 10, 'N', NULL, 'L', 'Y', NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);

-- WORKORDER_CODE: 生产工单编码规则（数据库中已配置，无需重复插入）
-- INSERT INTO `sys_auto_code_rule` ... VALUES ('WORKORDER_CODE', '生产工单编码规则', ...);

-- ---------- 采购模块（排序 12-23）----------
INSERT INTO `sys_auto_code_rule` (`rule_code`, `rule_name`, `rule_desc`, `max_length`, `is_padded`, `padded_char`, `padded_method`, `enable_flag`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ('CGJH_CODE', '采购计划单编码规则(原材料)', '采购计划单（原材料），格式：CGJH + 6位流水号', 10, 'N', NULL, 'L', 'Y', NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);

INSERT INTO `sys_auto_code_rule` (`rule_code`, `rule_name`, `rule_desc`, `max_length`, `is_padded`, `padded_char`, `padded_method`, `enable_flag`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ('FLJH_CODE', '采购计划单编码规则(零部件)', '采购计划单（零部件），格式：FLJH + 6位流水号', 10, 'N', NULL, 'L', 'Y', NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);

INSERT INTO `sys_auto_code_rule` (`rule_code`, `rule_name`, `rule_desc`, `max_length`, `is_padded`, `padded_char`, `padded_method`, `enable_flag`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ('BCJH_CODE', '采购计划单编码规则(五金)', '采购计划单（五金），格式：BCJH + 6位流水号', 10, 'N', NULL, 'L', 'Y', NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);

INSERT INTO `sys_auto_code_rule` (`rule_code`, `rule_name`, `rule_desc`, `max_length`, `is_padded`, `padded_char`, `padded_method`, `enable_flag`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ('CGDD_CODE', '采购订单编码规则', '采购订单，格式：CGDD + 6位流水号', 10, 'N', NULL, 'L', 'Y', NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);

INSERT INTO `sys_auto_code_rule` (`rule_code`, `rule_name`, `rule_desc`, `max_length`, `is_padded`, `padded_char`, `padded_method`, `enable_flag`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ('CGDH_CODE', '采购到货单编码规则', '采购到货单，格式：CGDH + 6位流水号', 10, 'N', NULL, 'L', 'Y', NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);

INSERT INTO `sys_auto_code_rule` (`rule_code`, `rule_name`, `rule_desc`, `max_length`, `is_padded`, `padded_char`, `padded_method`, `enable_flag`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ('CGTH_CODE', '采购退货单编码规则', '采购退货单，格式：CGTH + 6位流水号', 10, 'N', NULL, 'L', 'Y', NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);

INSERT INTO `sys_auto_code_rule` (`rule_code`, `rule_name`, `rule_desc`, `max_length`, `is_padded`, `padded_char`, `padded_method`, `enable_flag`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ('CGFP_CODE', '采购发票单编码规则', '采购发票单，格式：CGFP + 6位流水号', 10, 'N', NULL, 'L', 'Y', NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);


-- ============================================================
-- 二、sys_auto_code_part — 编码规则组成表（共 31 条）
-- rule_id 通过子查询 (SELECT rule_id FROM sys_auto_code_rule WHERE rule_code = ?) 关联
-- ============================================================

-- -------------------------------------------------------
-- 格式 A：FIXCHAR(前缀4位) + SERIALNO(流水号6位)，共 14 条规则 x 2 = 28 个 part
-- -------------------------------------------------------

-- XSDD_CODE: 销售订单
INSERT INTO `sys_auto_code_part` (`rule_id`, `part_index`, `part_type`, `part_code`, `part_name`, `part_length`, `date_format`, `input_character`, `fix_character`, `seria_start_no`, `seria_step`, `seria_now_no`, `cycle_flag`, `cycle_method`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ((SELECT rule_id FROM sys_auto_code_rule WHERE rule_code = 'XSDD_CODE'), 1, 'FIXCHAR', 'PREFIX', '前缀', 4, NULL, NULL, 'XSDD', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);
INSERT INTO `sys_auto_code_part` (`rule_id`, `part_index`, `part_type`, `part_code`, `part_name`, `part_length`, `date_format`, `input_character`, `fix_character`, `seria_start_no`, `seria_step`, `seria_now_no`, `cycle_flag`, `cycle_method`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ((SELECT rule_id FROM sys_auto_code_rule WHERE rule_code = 'XSDD_CODE'), 2, 'SERIALNO', 'SERIAL', '流水号', 6, NULL, NULL, NULL, 1, 1, NULL, 'N', NULL, NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);

-- XSBH_CODE: 备货订单
INSERT INTO `sys_auto_code_part` (`rule_id`, `part_index`, `part_type`, `part_code`, `part_name`, `part_length`, `date_format`, `input_character`, `fix_character`, `seria_start_no`, `seria_step`, `seria_now_no`, `cycle_flag`, `cycle_method`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ((SELECT rule_id FROM sys_auto_code_rule WHERE rule_code = 'XSBH_CODE'), 1, 'FIXCHAR', 'PREFIX', '前缀', 4, NULL, NULL, 'XSBH', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);
INSERT INTO `sys_auto_code_part` (`rule_id`, `part_index`, `part_type`, `part_code`, `part_name`, `part_length`, `date_format`, `input_character`, `fix_character`, `seria_start_no`, `seria_step`, `seria_now_no`, `cycle_flag`, `cycle_method`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ((SELECT rule_id FROM sys_auto_code_rule WHERE rule_code = 'XSBH_CODE'), 2, 'SERIALNO', 'SERIAL', '流水号', 6, NULL, NULL, NULL, 1, 1, NULL, 'N', NULL, NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);

-- LJBK_CODE: 零部件订单
INSERT INTO `sys_auto_code_part` (`rule_id`, `part_index`, `part_type`, `part_code`, `part_name`, `part_length`, `date_format`, `input_character`, `fix_character`, `seria_start_no`, `seria_step`, `seria_now_no`, `cycle_flag`, `cycle_method`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ((SELECT rule_id FROM sys_auto_code_rule WHERE rule_code = 'LJBK_CODE'), 1, 'FIXCHAR', 'PREFIX', '前缀', 4, NULL, NULL, 'LJBK', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);
INSERT INTO `sys_auto_code_part` (`rule_id`, `part_index`, `part_type`, `part_code`, `part_name`, `part_length`, `date_format`, `input_character`, `fix_character`, `seria_start_no`, `seria_step`, `seria_now_no`, `cycle_flag`, `cycle_method`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ((SELECT rule_id FROM sys_auto_code_rule WHERE rule_code = 'LJBK_CODE'), 2, 'SERIALNO', 'SERIAL', '流水号', 6, NULL, NULL, NULL, 1, 1, NULL, 'N', NULL, NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);

-- XSFH_CODE: 发货通知单
INSERT INTO `sys_auto_code_part` (`rule_id`, `part_index`, `part_type`, `part_code`, `part_name`, `part_length`, `date_format`, `input_character`, `fix_character`, `seria_start_no`, `seria_step`, `seria_now_no`, `cycle_flag`, `cycle_method`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ((SELECT rule_id FROM sys_auto_code_rule WHERE rule_code = 'XSFH_CODE'), 1, 'FIXCHAR', 'PREFIX', '前缀', 4, NULL, NULL, 'XSFH', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);
INSERT INTO `sys_auto_code_part` (`rule_id`, `part_index`, `part_type`, `part_code`, `part_name`, `part_length`, `date_format`, `input_character`, `fix_character`, `seria_start_no`, `seria_step`, `seria_now_no`, `cycle_flag`, `cycle_method`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ((SELECT rule_id FROM sys_auto_code_rule WHERE rule_code = 'XSFH_CODE'), 2, 'SERIALNO', 'SERIAL', '流水号', 6, NULL, NULL, NULL, 1, 1, NULL, 'N', NULL, NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);

-- XSTH_CODE: 退货通知单
INSERT INTO `sys_auto_code_part` (`rule_id`, `part_index`, `part_type`, `part_code`, `part_name`, `part_length`, `date_format`, `input_character`, `fix_character`, `seria_start_no`, `seria_step`, `seria_now_no`, `cycle_flag`, `cycle_method`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ((SELECT rule_id FROM sys_auto_code_rule WHERE rule_code = 'XSTH_CODE'), 1, 'FIXCHAR', 'PREFIX', '前缀', 4, NULL, NULL, 'XSTH', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);
INSERT INTO `sys_auto_code_part` (`rule_id`, `part_index`, `part_type`, `part_code`, `part_name`, `part_length`, `date_format`, `input_character`, `fix_character`, `seria_start_no`, `seria_step`, `seria_now_no`, `cycle_flag`, `cycle_method`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ((SELECT rule_id FROM sys_auto_code_rule WHERE rule_code = 'XSTH_CODE'), 2, 'SERIALNO', 'SERIAL', '流水号', 6, NULL, NULL, NULL, 1, 1, NULL, 'N', NULL, NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);

-- XSKP_CODE: 开票通知单
INSERT INTO `sys_auto_code_part` (`rule_id`, `part_index`, `part_type`, `part_code`, `part_name`, `part_length`, `date_format`, `input_character`, `fix_character`, `seria_start_no`, `seria_step`, `seria_now_no`, `cycle_flag`, `cycle_method`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ((SELECT rule_id FROM sys_auto_code_rule WHERE rule_code = 'XSKP_CODE'), 1, 'FIXCHAR', 'PREFIX', '前缀', 4, NULL, NULL, 'XSKP', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);
INSERT INTO `sys_auto_code_part` (`rule_id`, `part_index`, `part_type`, `part_code`, `part_name`, `part_length`, `date_format`, `input_character`, `fix_character`, `seria_start_no`, `seria_step`, `seria_now_no`, `cycle_flag`, `cycle_method`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ((SELECT rule_id FROM sys_auto_code_rule WHERE rule_code = 'XSKP_CODE'), 2, 'SERIALNO', 'SERIAL', '流水号', 6, NULL, NULL, NULL, 1, 1, NULL, 'N', NULL, NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);

-- -------------------------------------------------------
-- 格式 B：FIXCHAR(前缀4位) + NOWDATE(日期8位) + SERIALNO(序号3位，按日循环)
-- -------------------------------------------------------

-- SCJH_CODE: 生产计划单
INSERT INTO `sys_auto_code_part` (`rule_id`, `part_index`, `part_type`, `part_code`, `part_name`, `part_length`, `date_format`, `input_character`, `fix_character`, `seria_start_no`, `seria_step`, `seria_now_no`, `cycle_flag`, `cycle_method`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ((SELECT rule_id FROM sys_auto_code_rule WHERE rule_code = 'SCJH_CODE'), 1, 'FIXCHAR', 'PREFIX', '前缀', 4, NULL, NULL, 'SCJH', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);
INSERT INTO `sys_auto_code_part` (`rule_id`, `part_index`, `part_type`, `part_code`, `part_name`, `part_length`, `date_format`, `input_character`, `fix_character`, `seria_start_no`, `seria_step`, `seria_now_no`, `cycle_flag`, `cycle_method`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ((SELECT rule_id FROM sys_auto_code_rule WHERE rule_code = 'SCJH_CODE'), 2, 'NOWDATE', 'DATEPART', '年月日', 8, 'yyyyMMdd', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);
INSERT INTO `sys_auto_code_part` (`rule_id`, `part_index`, `part_type`, `part_code`, `part_name`, `part_length`, `date_format`, `input_character`, `fix_character`, `seria_start_no`, `seria_step`, `seria_now_no`, `cycle_flag`, `cycle_method`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ((SELECT rule_id FROM sys_auto_code_rule WHERE rule_code = 'SCJH_CODE'), 3, 'SERIALNO', 'SERIAL', '流水号', 3, NULL, NULL, NULL, 1, 1, NULL, 'Y', 'DAY', NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);

-- -------------------------------------------------------
-- 继续格式 A
-- -------------------------------------------------------

-- MBOM_CODE: 物料清单
INSERT INTO `sys_auto_code_part` (`rule_id`, `part_index`, `part_type`, `part_code`, `part_name`, `part_length`, `date_format`, `input_character`, `fix_character`, `seria_start_no`, `seria_step`, `seria_now_no`, `cycle_flag`, `cycle_method`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ((SELECT rule_id FROM sys_auto_code_rule WHERE rule_code = 'MBOM_CODE'), 1, 'FIXCHAR', 'PREFIX', '前缀', 4, NULL, NULL, 'MBOM', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);
INSERT INTO `sys_auto_code_part` (`rule_id`, `part_index`, `part_type`, `part_code`, `part_name`, `part_length`, `date_format`, `input_character`, `fix_character`, `seria_start_no`, `seria_step`, `seria_now_no`, `cycle_flag`, `cycle_method`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ((SELECT rule_id FROM sys_auto_code_rule WHERE rule_code = 'MBOM_CODE'), 2, 'SERIALNO', 'SERIAL', '流水号', 6, NULL, NULL, NULL, 1, 1, NULL, 'N', NULL, NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);

-- WORKORDER_CODE: 生产工单（数据库中已配置，无需重复插入）

-- CGJH_CODE: 采购计划单（原材料）
INSERT INTO `sys_auto_code_part` (`rule_id`, `part_index`, `part_type`, `part_code`, `part_name`, `part_length`, `date_format`, `input_character`, `fix_character`, `seria_start_no`, `seria_step`, `seria_now_no`, `cycle_flag`, `cycle_method`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ((SELECT rule_id FROM sys_auto_code_rule WHERE rule_code = 'CGJH_CODE'), 1, 'FIXCHAR', 'PREFIX', '前缀', 4, NULL, NULL, 'CGJH', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);
INSERT INTO `sys_auto_code_part` (`rule_id`, `part_index`, `part_type`, `part_code`, `part_name`, `part_length`, `date_format`, `input_character`, `fix_character`, `seria_start_no`, `seria_step`, `seria_now_no`, `cycle_flag`, `cycle_method`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ((SELECT rule_id FROM sys_auto_code_rule WHERE rule_code = 'CGJH_CODE'), 2, 'SERIALNO', 'SERIAL', '流水号', 6, NULL, NULL, NULL, 1, 1, NULL, 'N', NULL, NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);

-- FLJH_CODE: 采购计划单（零部件）
INSERT INTO `sys_auto_code_part` (`rule_id`, `part_index`, `part_type`, `part_code`, `part_name`, `part_length`, `date_format`, `input_character`, `fix_character`, `seria_start_no`, `seria_step`, `seria_now_no`, `cycle_flag`, `cycle_method`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ((SELECT rule_id FROM sys_auto_code_rule WHERE rule_code = 'FLJH_CODE'), 1, 'FIXCHAR', 'PREFIX', '前缀', 4, NULL, NULL, 'FLJH', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);
INSERT INTO `sys_auto_code_part` (`rule_id`, `part_index`, `part_type`, `part_code`, `part_name`, `part_length`, `date_format`, `input_character`, `fix_character`, `seria_start_no`, `seria_step`, `seria_now_no`, `cycle_flag`, `cycle_method`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ((SELECT rule_id FROM sys_auto_code_rule WHERE rule_code = 'FLJH_CODE'), 2, 'SERIALNO', 'SERIAL', '流水号', 6, NULL, NULL, NULL, 1, 1, NULL, 'N', NULL, NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);

-- BCJH_CODE: 采购计划单（五金）
INSERT INTO `sys_auto_code_part` (`rule_id`, `part_index`, `part_type`, `part_code`, `part_name`, `part_length`, `date_format`, `input_character`, `fix_character`, `seria_start_no`, `seria_step`, `seria_now_no`, `cycle_flag`, `cycle_method`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ((SELECT rule_id FROM sys_auto_code_rule WHERE rule_code = 'BCJH_CODE'), 1, 'FIXCHAR', 'PREFIX', '前缀', 4, NULL, NULL, 'BCJH', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);
INSERT INTO `sys_auto_code_part` (`rule_id`, `part_index`, `part_type`, `part_code`, `part_name`, `part_length`, `date_format`, `input_character`, `fix_character`, `seria_start_no`, `seria_step`, `seria_now_no`, `cycle_flag`, `cycle_method`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ((SELECT rule_id FROM sys_auto_code_rule WHERE rule_code = 'BCJH_CODE'), 2, 'SERIALNO', 'SERIAL', '流水号', 6, NULL, NULL, NULL, 1, 1, NULL, 'N', NULL, NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);

-- CGDD_CODE: 采购订单
INSERT INTO `sys_auto_code_part` (`rule_id`, `part_index`, `part_type`, `part_code`, `part_name`, `part_length`, `date_format`, `input_character`, `fix_character`, `seria_start_no`, `seria_step`, `seria_now_no`, `cycle_flag`, `cycle_method`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ((SELECT rule_id FROM sys_auto_code_rule WHERE rule_code = 'CGDD_CODE'), 1, 'FIXCHAR', 'PREFIX', '前缀', 4, NULL, NULL, 'CGDD', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);
INSERT INTO `sys_auto_code_part` (`rule_id`, `part_index`, `part_type`, `part_code`, `part_name`, `part_length`, `date_format`, `input_character`, `fix_character`, `seria_start_no`, `seria_step`, `seria_now_no`, `cycle_flag`, `cycle_method`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ((SELECT rule_id FROM sys_auto_code_rule WHERE rule_code = 'CGDD_CODE'), 2, 'SERIALNO', 'SERIAL', '流水号', 6, NULL, NULL, NULL, 1, 1, NULL, 'N', NULL, NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);

-- CGDH_CODE: 采购到货单
INSERT INTO `sys_auto_code_part` (`rule_id`, `part_index`, `part_type`, `part_code`, `part_name`, `part_length`, `date_format`, `input_character`, `fix_character`, `seria_start_no`, `seria_step`, `seria_now_no`, `cycle_flag`, `cycle_method`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ((SELECT rule_id FROM sys_auto_code_rule WHERE rule_code = 'CGDH_CODE'), 1, 'FIXCHAR', 'PREFIX', '前缀', 4, NULL, NULL, 'CGDH', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);
INSERT INTO `sys_auto_code_part` (`rule_id`, `part_index`, `part_type`, `part_code`, `part_name`, `part_length`, `date_format`, `input_character`, `fix_character`, `seria_start_no`, `seria_step`, `seria_now_no`, `cycle_flag`, `cycle_method`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ((SELECT rule_id FROM sys_auto_code_rule WHERE rule_code = 'CGDH_CODE'), 2, 'SERIALNO', 'SERIAL', '流水号', 6, NULL, NULL, NULL, 1, 1, NULL, 'N', NULL, NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);

-- CGTH_CODE: 采购退货单
INSERT INTO `sys_auto_code_part` (`rule_id`, `part_index`, `part_type`, `part_code`, `part_name`, `part_length`, `date_format`, `input_character`, `fix_character`, `seria_start_no`, `seria_step`, `seria_now_no`, `cycle_flag`, `cycle_method`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ((SELECT rule_id FROM sys_auto_code_rule WHERE rule_code = 'CGTH_CODE'), 1, 'FIXCHAR', 'PREFIX', '前缀', 4, NULL, NULL, 'CGTH', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);
INSERT INTO `sys_auto_code_part` (`rule_id`, `part_index`, `part_type`, `part_code`, `part_name`, `part_length`, `date_format`, `input_character`, `fix_character`, `seria_start_no`, `seria_step`, `seria_now_no`, `cycle_flag`, `cycle_method`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ((SELECT rule_id FROM sys_auto_code_rule WHERE rule_code = 'CGTH_CODE'), 2, 'SERIALNO', 'SERIAL', '流水号', 6, NULL, NULL, NULL, 1, 1, NULL, 'N', NULL, NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);

-- CGFP_CODE: 采购发票单
INSERT INTO `sys_auto_code_part` (`rule_id`, `part_index`, `part_type`, `part_code`, `part_name`, `part_length`, `date_format`, `input_character`, `fix_character`, `seria_start_no`, `seria_step`, `seria_now_no`, `cycle_flag`, `cycle_method`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ((SELECT rule_id FROM sys_auto_code_rule WHERE rule_code = 'CGFP_CODE'), 1, 'FIXCHAR', 'PREFIX', '前缀', 4, NULL, NULL, 'CGFP', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);
INSERT INTO `sys_auto_code_part` (`rule_id`, `part_index`, `part_type`, `part_code`, `part_name`, `part_length`, `date_format`, `input_character`, `fix_character`, `seria_start_no`, `seria_step`, `seria_now_no`, `cycle_flag`, `cycle_method`, `remark`, `attr1`, `attr2`, `attr3`, `attr4`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES ((SELECT rule_id FROM sys_auto_code_rule WHERE rule_code = 'CGFP_CODE'), 2, 'SERIALNO', 'SERIAL', '流水号', 6, NULL, NULL, NULL, 1, 1, NULL, 'N', NULL, NULL, NULL, NULL, 0, 0, 'admin', NOW(), '', NULL);


-- ============================================================
-- 三、规则速查表
-- ============================================================
-- rule_code      | rule_name              | 生成示例
-- ---------------+------------------------+---------------------
-- XSDD_CODE      | 销售订单编码规则        | XSDD000001
-- XSBH_CODE      | 备货订单编码规则        | XSBH000001
-- LJBK_CODE      | 零部件订单编码规则      | LJBK000001
-- XSFH_CODE      | 发货通知单编码规则      | XSFH000001
-- XSTH_CODE      | 退货通知单编码规则      | XSTH000001
-- XSKP_CODE      | 开票通知单编码规则      | XSKP000001
-- SCJH_CODE      | 生产计划单编码规则      | SCJH20260213001
-- MBOM_CODE      | 物料清单编码规则        | MBOM000001
-- WORKORDER_CODE  | 生产工单编码规则        | （已在数据库中配置）
-- CGJH_CODE      | 采购计划单编码(原材料)  | CGJH000001
-- FLJH_CODE      | 采购计划单编码(零部件)  | FLJH000001
-- BCJH_CODE      | 采购计划单编码(五金)    | BCJH000001
-- CGDD_CODE      | 采购订单编码规则        | CGDD000001
-- CGDH_CODE      | 采购到货单编码规则      | CGDH000001
-- CGTH_CODE      | 采购退货单编码规则      | CGTH000001
-- CGFP_CODE      | 采购发票单编码规则      | CGFP000001
-- ============================================================
-- 调用方式：GET /system/autocode/get/{ruleCode}
-- 示例：GET /system/autocode/get/XSDD_CODE  =>  XSDD000001
-- ============================================================
