| | |
| | | -- ---------------------------- |
| | | CREATE TABLE IF NOT EXISTS `mes_pro_batch` ( |
| | | `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号', |
| | | `code` VARCHAR(64) NOT NULL 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', |
| | |
| | | `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 '创建者', |
| | |
| | | `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`) |
| | |
| | | -- ---------------------------- |
| | | CREATE TABLE IF NOT EXISTS `mes_pro_pallet` ( |
| | | `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '编号', |
| | | `code` VARCHAR(64) NOT NULL COMMENT '托盘码(批次号-P+托盘序号,全局唯一)', |
| | | `batch_id` BIGINT NOT NULL COMMENT '生产批次编号,关联 mes_pro_batch.id', |
| | | `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 NOT 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 '创建者', |
| | |
| | | `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 托盘码'; |
| | | |
| | |
| | | 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 NOT NULL COMMENT '生产批次编号,关联 mes_pro_batch.id', |
| | | `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 '创建时间', |
| | |
| | | KEY `idx_batch_id` (`batch_id`), |
| | | KEY `idx_uuid` (`uuid`), |
| | | KEY `idx_pallet_id` (`pallet_id`) |
| | | ) ENGINE = InnoDB COMMENT = 'MES 袋码赋码(一袋一码)'; |
| | | ) ENGINE = InnoDB COMMENT = 'MES 袋码赋码(一袋一码)'; |
| | | |
| | | -- ---------------------------- |
| | | -- 5. 批次号自动编码规则:PRO_BATCH_CODE |
| | | -- 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 |
| | | -- ---------------------------- |
| | |
| | | (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'); |
| | | (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`) |