-- =============================================
-- MES 生产管控 - 批次生产管理 + 赋码管理（一袋一码）初始化脚本
-- 包含：生产批次表、批次人员配置表、托盘码表、袋码赋码表、
--       批次号自动编码规则、字典数据、菜单权限
-- MySQL 8.4 适用
-- =============================================

SET NAMES utf8mb4;

-- ----------------------------
-- 1. 生产批次表（人—机—种）
-- ----------------------------
CREATE TABLE IF NOT EXISTS `mes_pro_batch` (
    `id`              BIGINT       NOT NULL AUTO_INCREMENT COMMENT '编号',
    `code`            VARCHAR(64)  DEFAULT NULL COMMENT '批次号（补录业务信息后自动生成；单次录入或补录流程必填）',
    `temp_code`       VARCHAR(64)  DEFAULT NULL COMMENT '临时批次码（PB-8位全局序号，预生成二维码阶段使用）',
    `item_id`         BIGINT       NOT NULL COMMENT '品种（产品物料）编号，关联 mdm_item.id',
    `line_id`         BIGINT       DEFAULT NULL COMMENT '产线编号，关联 mes_pro_line.id',
    `line_code`       VARCHAR(32)  DEFAULT NULL COMMENT '产线编码（手填，参与批次号生成）',
    `line_name`       VARCHAR(64)  DEFAULT NULL COMMENT '产线名称（手填）',
    `machinery_id`    BIGINT       DEFAULT NULL COMMENT '生产设备编号（机），关联 mes_dv_machinery.id',
    `work_order_id`   BIGINT       DEFAULT NULL COMMENT '关联生产工单编号，关联 mes_pro_work_order.id',
    `produce_date`    DATETIME     DEFAULT NULL COMMENT '生产日期',
    `plan_quantity`   DECIMAL(24, 6) DEFAULT NULL COMMENT '计划数量',
    `owner_user_id`   BIGINT       DEFAULT NULL COMMENT '责任人用户编号（责任落实到人），关联 system_users.id',
    `bag_quantity`    INT          NOT NULL DEFAULT 0 COMMENT '已生成袋码数量（一袋一码）',
    `pallet_quantity` INT          NOT NULL DEFAULT 0 COMMENT '已生成托盘码数量',
    `inbound_time`    DATETIME     DEFAULT NULL COMMENT '入库时间',
    `inbound_bag_quantity` INT      DEFAULT NULL COMMENT '累计入库袋数',
    `inbound_event_id` BIGINT      DEFAULT NULL COMMENT '最近入库事件编号',
    `inbound_device_code` VARCHAR(64) DEFAULT NULL COMMENT '入库设备编码',
    `inbound_line_code` VARCHAR(64) DEFAULT NULL COMMENT '入库产线编码',
    `status`          TINYINT      NOT NULL DEFAULT 10 COMMENT '批次状态（字典 mes_pro_batch_status：10 草稿 20 生产中 30 已完成 40 已作废）',
    `remark`          VARCHAR(500) DEFAULT NULL COMMENT '备注',
    `creator`         VARCHAR(64)  DEFAULT '' COMMENT '创建者',
    `create_time`     DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater`         VARCHAR(64)  DEFAULT '' COMMENT '更新者',
    `update_time`     DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `deleted`         BIT(1)       NOT NULL DEFAULT b'0' COMMENT '是否删除',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_code` (`code`),
    UNIQUE KEY `uk_temp_code` (`temp_code`),
    KEY `idx_item_id` (`item_id`),
    KEY `idx_work_order_id` (`work_order_id`),
    KEY `idx_status` (`status`)
) ENGINE = InnoDB COMMENT = 'MES 生产批次';

-- ----------------------------
-- 2. 批次生产人员配置表（责任落实到人）
-- ----------------------------
CREATE TABLE IF NOT EXISTS `mes_pro_batch_worker` (
    `id`          BIGINT       NOT NULL AUTO_INCREMENT COMMENT '编号',
    `batch_id`    BIGINT       NOT NULL COMMENT '生产批次编号，关联 mes_pro_batch.id',
    `user_id`     BIGINT       NOT NULL COMMENT '生产人员用户编号，关联 system_users.id',
    `worker_type` TINYINT      NOT NULL COMMENT '岗位类型（字典 mes_pro_batch_worker_type：10 组长 20 操作工 30 包装工 40 质检员 50 其他）',
    `remark`      VARCHAR(255) DEFAULT NULL COMMENT '备注',
    `creator`     VARCHAR(64)  DEFAULT '' COMMENT '创建者',
    `create_time` DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater`     VARCHAR(64)  DEFAULT '' COMMENT '更新者',
    `update_time` DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `deleted`     BIT(1)       NOT NULL DEFAULT b'0' COMMENT '是否删除',
    PRIMARY KEY (`id`),
    KEY `idx_batch_id` (`batch_id`),
    KEY `idx_user_id` (`user_id`)
) ENGINE = InnoDB COMMENT = 'MES 生产批次人员配置';

-- ----------------------------
-- 3. 托盘码表（与批次号自动关联）
-- ----------------------------
CREATE TABLE IF NOT EXISTS `mes_pro_pallet` (
    `id`         BIGINT       NOT NULL AUTO_INCREMENT COMMENT '编号',
    `code`       VARCHAR(64)  DEFAULT NULL COMMENT '托盘码（批次号-P+托盘序号，绑定批次后生成）',
    `temp_code`  VARCHAR(64)  DEFAULT NULL COMMENT '临时托盘码（PL-8位全局序号，预生成二维码阶段使用）',
    `batch_id`   BIGINT       DEFAULT NULL COMMENT '生产批次编号，绑定批次后关联 mes_pro_batch.id',
    `batch_code` VARCHAR(64)  DEFAULT NULL COMMENT '批次号（冗余，便于展示）',
    `pallet_no`  INT          DEFAULT NULL COMMENT '批次内托盘序号（绑定批次后生成）',
    `capacity`   INT          DEFAULT NULL COMMENT '可装袋数（袋/托盘）',
    `bag_count`  INT          NOT NULL DEFAULT 0 COMMENT '已绑定袋码数量',
    `auto_generated` BIT(1)    NOT NULL DEFAULT b'0' COMMENT '是否自动生成',
    `status`     TINYINT      NOT NULL DEFAULT 10 COMMENT '状态（字典 mes_pro_pallet_status：10 启用 20 作废）',
    `remark`     VARCHAR(255) DEFAULT NULL COMMENT '备注',
    `creator`    VARCHAR(64)  DEFAULT '' COMMENT '创建者',
    `create_time` DATETIME    NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater`    VARCHAR(64)  DEFAULT '' COMMENT '更新者',
    `update_time` DATETIME    NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `deleted`    BIT(1)       NOT NULL DEFAULT b'0' COMMENT '是否删除',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_code` (`code`),
    UNIQUE KEY `uk_temp_code` (`temp_code`),
    KEY `idx_batch_id` (`batch_id`)
) ENGINE = InnoDB COMMENT = 'MES 托盘码';

-- ----------------------------
-- 4. 袋码赋码表（一袋一码，二维码数据包）
-- ----------------------------
CREATE TABLE IF NOT EXISTS `mes_pro_bag_code` (
    `id`          BIGINT       NOT NULL AUTO_INCREMENT COMMENT '编号',
    `uuid`        VARCHAR(32)  DEFAULT NULL COMMENT '生成组 UUID（标记同一次生成的数据包）',
    `code`        VARCHAR(64)  NOT NULL COMMENT '袋码（二维码内容，全局唯一）',
    `bag_no`      INT          NOT NULL COMMENT '全局袋序号',
    `batch_id`    BIGINT       DEFAULT NULL COMMENT '生产批次编号，录入信息后关联 mes_pro_batch.id',
    `batch_code`  VARCHAR(64)  DEFAULT NULL COMMENT '批次号（冗余，便于展示）',
    `item_id`     BIGINT       DEFAULT NULL COMMENT '品种（产品物料）编号（冗余自批次）',
    `pallet_id`   BIGINT       DEFAULT NULL COMMENT '绑定托盘编号，关联 mes_pro_pallet.id',
    `pallet_code` VARCHAR(64)  DEFAULT NULL COMMENT '托盘码（冗余，便于展示）',
    `status`      TINYINT      NOT NULL DEFAULT 10 COMMENT '状态（字典 mes_pro_bag_code_status：10 已生成 20 已导出印刷 30 已作废）',
    `print_time`  DATETIME     DEFAULT NULL COMMENT '导出（交付印刷）时间',
    `cancel_time` DATETIME     DEFAULT NULL COMMENT '作废时间',
    `cancel_reason` VARCHAR(255) DEFAULT NULL COMMENT '作废原因',
    `remark`      VARCHAR(255) DEFAULT NULL COMMENT '备注',
    `creator`     VARCHAR(64)  DEFAULT '' COMMENT '创建者',
    `create_time` DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater`     VARCHAR(64)  DEFAULT '' COMMENT '更新者',
    `update_time` DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `deleted`     BIT(1)       NOT NULL DEFAULT b'0' COMMENT '是否删除',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_code` (`code`),
    KEY `idx_batch_id` (`batch_id`),
    KEY `idx_uuid` (`uuid`),
    KEY `idx_pallet_id` (`pallet_id`)
 ) ENGINE = InnoDB COMMENT = 'MES 袋码赋码（一袋一码）';

-- ----------------------------
-- 5. 袋码替换记录表
-- ----------------------------
CREATE TABLE IF NOT EXISTS `mes_pro_bag_code_replace` (
    `id`              BIGINT       NOT NULL AUTO_INCREMENT COMMENT '编号',
    `replace_uuid`    VARCHAR(32)  NOT NULL COMMENT '替换组 UUID',
    `batch_id`        BIGINT       NOT NULL COMMENT '生产批次编号',
    `batch_code`      VARCHAR(64)  DEFAULT NULL COMMENT '生产批次号',
    `old_bag_code_id` BIGINT       NOT NULL COMMENT '旧袋码编号',
    `old_code`        VARCHAR(64)  NOT NULL COMMENT '旧袋码',
    `old_bag_no`      INT          NOT NULL COMMENT '旧袋序号',
    `old_status`      TINYINT      NOT NULL COMMENT '旧袋码作废前状态',
    `old_pallet_id`   BIGINT       DEFAULT NULL COMMENT '旧袋码原托盘编号',
    `old_pallet_code` VARCHAR(64)  DEFAULT NULL COMMENT '旧袋码原托盘码',
    `new_bag_code_id` BIGINT       NOT NULL COMMENT '新袋码编号',
    `new_code`        VARCHAR(64)  NOT NULL COMMENT '新袋码',
    `new_bag_no`      INT          NOT NULL COMMENT '新袋序号',
    `reason`          VARCHAR(255) NOT NULL COMMENT '替换原因',
    `replace_time`    DATETIME     NOT NULL COMMENT '替换时间',
    `creator`         VARCHAR(64)  DEFAULT '' COMMENT '创建者',
    `create_time`     DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater`         VARCHAR(64)  DEFAULT '' COMMENT '更新者',
    `update_time`     DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `deleted`         BIT(1)       NOT NULL DEFAULT b'0' COMMENT '是否删除',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_old_bag_code_id` (`old_bag_code_id`),
    UNIQUE KEY `uk_new_bag_code_id` (`new_bag_code_id`),
    KEY `idx_replace_uuid` (`replace_uuid`),
    KEY `idx_batch_id` (`batch_id`),
    KEY `idx_old_code` (`old_code`),
    KEY `idx_new_code` (`new_code`)
) ENGINE = InnoDB COMMENT = 'MES 袋码替换记录';

-- ----------------------------
-- 6. 批次号自动编码规则：PRO_BATCH_CODE
--    结构：固定字符(PC) + 日期(yyyyMMdd) + 输入字符(产线编码+品种编码) + 流水号(3位，按日循环)
--    示例：PC20260818L01NY001
-- ----------------------------
INSERT INTO `mes_md_auto_code_rule` (`code`, `name`, `description`, `max_length`, `padded`, `padded_char`, `padded_method`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
SELECT 'PRO_BATCH_CODE', '生产批次编码', '生产批次号：前缀+日期+产线+品种+流水号', 24, b'0', NULL, NULL, 0, '批次生产管理模块批次号', '1', NOW(), '1', NOW(), b'0'
FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM (SELECT id FROM mes_md_auto_code_rule WHERE code = 'PRO_BATCH_CODE' AND deleted = 0) t);

-- 规则分段（整体幂等：仅当该规则尚无任何分段时一次性插入 4 段）
INSERT INTO `mes_md_auto_code_part` (`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`)
SELECT r.id, t.sort, t.type, t.length, t.date_format, t.fix_character, t.serial_start_no, t.serial_step, t.cycle_flag, t.cycle_method, t.remark, '1', NOW(), '1', NOW(), b'0'
FROM mes_md_auto_code_rule r
JOIN (
    SELECT 1 AS sort, 3 AS type, 2 AS length, NULL AS date_format, 'PC' AS fix_character, NULL AS serial_start_no, NULL AS serial_step, b'0' AS cycle_flag, NULL AS cycle_method, '固定前缀' AS remark
    UNION ALL SELECT 2, 2, 8, 'yyyyMMdd', NULL, NULL, NULL, b'0', NULL, '生产日期'
    UNION ALL SELECT 3, 1, 8, NULL, NULL, NULL, NULL, b'0', NULL, '产线编码+品种编码（输入字符）'
    UNION ALL SELECT 4, 4, 3, NULL, NULL, 1, 1, b'1', 3, '流水号（按日循环）'
) t
WHERE r.code = 'PRO_BATCH_CODE' AND r.deleted = 0
  AND NOT EXISTS (SELECT 1 FROM mes_md_auto_code_part p WHERE p.rule_id = r.id AND p.deleted = 0);

-- ----------------------------
-- 6. 字典类型 + 字典数据
-- ----------------------------
INSERT INTO `system_dict_type` (`name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
SELECT 'MES 生产批次状态', 'mes_pro_batch_status', 0, '批次生产管理', '1', NOW(), '1', NOW(), b'0' FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM (SELECT id FROM system_dict_type WHERE type = 'mes_pro_batch_status' AND deleted = 0) t);

INSERT INTO `system_dict_type` (`name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
SELECT 'MES 批次人员岗位类型', 'mes_pro_batch_worker_type', 0, '批次生产人员配置', '1', NOW(), '1', NOW(), b'0' FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM (SELECT id FROM system_dict_type WHERE type = 'mes_pro_batch_worker_type' AND deleted = 0) t);

INSERT INTO `system_dict_type` (`name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
SELECT 'MES 袋码状态', 'mes_pro_bag_code_status', 0, '赋码管理（一袋一码）', '1', NOW(), '1', NOW(), b'0' FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM (SELECT id FROM system_dict_type WHERE type = 'mes_pro_bag_code_status' AND deleted = 0) t);

INSERT INTO `system_dict_type` (`name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
SELECT 'MES 托盘码状态', 'mes_pro_pallet_status', 0, '托盘码管理', '1', NOW(), '1', NOW(), b'0' FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM (SELECT id FROM system_dict_type WHERE type = 'mes_pro_pallet_status' AND deleted = 0) t);

-- 字典数据（显式 ID，避免冲突）
INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
(1065350, 1, '草稿', '10', 'mes_pro_batch_status', 0, 'info', '', '1', NOW(), '1', NOW(), b'0'),
(1065351, 2, '生产中', '20', 'mes_pro_batch_status', 0, 'primary', '', '1', NOW(), '1', NOW(), b'0'),
(1065352, 3, '已完成', '30', 'mes_pro_batch_status', 0, 'success', '', '1', NOW(), '1', NOW(), b'0'),
(1065353, 4, '已作废', '40', 'mes_pro_batch_status', 0, 'danger', '', '1', NOW(), '1', NOW(), b'0'),
(1065354, 1, '组长', '10', 'mes_pro_batch_worker_type', 0, 'primary', '', '1', NOW(), '1', NOW(), b'0'),
(1065355, 2, '操作工', '20', 'mes_pro_batch_worker_type', 0, 'default', '', '1', NOW(), '1', NOW(), b'0'),
(1065356, 3, '包装工', '30', 'mes_pro_batch_worker_type', 0, 'default', '', '1', NOW(), '1', NOW(), b'0'),
(1065357, 4, '质检员', '40', 'mes_pro_batch_worker_type', 0, 'warning', '', '1', NOW(), '1', NOW(), b'0'),
(1065358, 5, '其他', '50', 'mes_pro_batch_worker_type', 0, 'info', '', '1', NOW(), '1', NOW(), b'0'),
(1065359, 1, '已生成', '10', 'mes_pro_bag_code_status', 0, 'info', '', '1', NOW(), '1', NOW(), b'0'),
(1065360, 2, '已导出印刷', '20', 'mes_pro_bag_code_status', 0, 'success', '', '1', NOW(), '1', NOW(), b'0'),
(1065361, 3, '已作废', '30', 'mes_pro_bag_code_status', 0, 'danger', '', '1', NOW(), '1', NOW(), b'0'),
(1065362, 1, '启用', '10', 'mes_pro_pallet_status', 0, 'primary', '', '1', NOW(), '1', NOW(), b'0'),
(1065363, 2, '作废', '20', 'mes_pro_pallet_status', 0, 'danger', '', '1', NOW(), '1', NOW(), b'0');

-- ----------------------------
-- 7. 菜单与按钮权限（挂在 5700 生产管理 下）
-- ----------------------------
-- 批次生产管理
INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (602612, '批次生产管理', '', 2, 10, 5700, 'batch', 'ep:collection-tag', 'mes/pro/batch/index', 'MesProBatch', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0');

INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
(602613, '生产批次查询', 'mes:pro-batch:query', 3, 1, 602612, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'),
(602614, '生产批次创建', 'mes:pro-batch:create', 3, 2, 602612, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'),
(602615, '生产批次更新', 'mes:pro-batch:update', 3, 3, 602612, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'),
(602616, '生产批次删除', 'mes:pro-batch:delete', 3, 4, 602612, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'),
(602617, '生产批次导出', 'mes:pro-batch:export', 3, 5, 602612, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0');

-- 赋码管理（一袋一码）
INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (602618, '赋码管理', '', 2, 11, 5700, 'bag-code', 'ep:connection', 'mes/pro/bagCode/index', 'MesProBagCode', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0');

INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
(602619, '袋码查询', 'mes:pro-bag-code:query', 3, 1, 602618, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'),
(602620, '生成二维码数据包', 'mes:pro-bag-code:generate', 3, 2, 602618, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'),
(602621, '袋码删除', 'mes:pro-bag-code:delete', 3, 3, 602618, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'),
(602622, '袋码导出', 'mes:pro-bag-code:export', 3, 4, 602618, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'),
(602623, '袋码绑定托盘', 'mes:pro-bag-code:bind', 3, 5, 602618, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'),
(602629, '袋码破损替换', 'mes:pro-bag-code:replace', 3, 6, 602618, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0');

-- 托盘码管理
INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)
VALUES (602624, '托盘码管理', '', 2, 12, 5700, 'pallet', 'ep:box', 'mes/pro/pallet/index', 'MesProPallet', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0');

INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
(602625, '托盘码查询', 'mes:pro-pallet:query', 3, 1, 602624, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'),
(602626, '托盘码生成', 'mes:pro-pallet:create', 3, 2, 602624, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'),
(602627, '托盘码删除', 'mes:pro-pallet:delete', 3, 3, 602624, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'),
(602628, '托盘码导出', 'mes:pro-pallet:export', 3, 4, 602624, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0');
