-- ============================================ -- MES 不合格品处理(NCR)模块初始化脚本 -- ============================================ -- 1. 建表 DROP TABLE IF EXISTS `mes_qc_ncr`; CREATE TABLE `mes_qc_ncr` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'NCR单号', `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'NCR名称', -- 来源检验单 `qc_type` int NULL DEFAULT NULL COMMENT '检验类型(IQC/IPQC/OQC/RQC),字典 mes_qc_type', `qc_id` bigint NULL DEFAULT NULL COMMENT '来源检验单ID', `qc_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '来源检验单编号(冗余)', -- 不合格品信息 `item_id` bigint NULL DEFAULT NULL COMMENT '不合格物料ID', `defect_level` int NULL DEFAULT NULL COMMENT '缺陷等级(致命/严重/轻微),字典 mes_defect_level', `unqualified_quantity` decimal(24,6) NULL DEFAULT NULL COMMENT '不合格数量', `defect_description` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '不合格描述', -- 评审信息 `disposition` int NULL DEFAULT NULL COMMENT '处置方式(退货/报废/返工/让步接收/降级使用),字典 mes_ncr_disposition', `responsible_dept_id` bigint NULL DEFAULT NULL COMMENT '责任部门ID', `reviewer_user_id` bigint NULL DEFAULT NULL COMMENT '评审人ID', `review_date` datetime NULL DEFAULT NULL COMMENT '评审日期', `review_opinion` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '评审意见', -- 处理信息 `handler_user_id` bigint NULL DEFAULT NULL COMMENT '处理人ID', `handle_date` datetime NULL DEFAULT NULL COMMENT '处理日期', `handle_result` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '处理结果说明', -- 原因与措施 `root_cause` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '根本原因', `corrective_action` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '纠正措施', `preventive_action` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '预防措施', -- 关闭信息 `close_user_id` bigint NULL DEFAULT NULL COMMENT '关闭人ID', `close_date` datetime NULL DEFAULT NULL COMMENT '关闭日期', `close_opinion` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '关闭意见', -- 状态与流程 `status` int NULL DEFAULT NULL COMMENT '状态(待评审/已评审/已处置/已关闭),字典 mes_ncr_status', `process_instance_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'BPM流程实例ID(预留)', `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注', -- 标准字段 `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL 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`) USING BTREE, INDEX `idx_qc_type_id` (`qc_type`, `qc_id`), INDEX `idx_status` (`status`), INDEX `idx_item_id` (`item_id`) ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'MES 不合格品处理单' ROW_FORMAT = Dynamic; -- 2. 菜单 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 (5690, '不合格品处理', '', 2, 10, 5500, 'ncr', 'ep:warning-filled', 'mes/qc/ncr/index', 'MesQcNcr', 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 (5691, 'NCR查询', 'mes:qc-ncr:query', 3, 1, 5690, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'), (5692, 'NCR创建', 'mes:qc-ncr:create', 3, 2, 5690, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'), (5693, 'NCR更新', 'mes:qc-ncr:update', 3, 3, 5690, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'), (5694, 'NCR删除', 'mes:qc-ncr:delete', 3, 4, 5690, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'), (5695, 'NCR导出', 'mes:qc-ncr:export', 3, 5, 5690, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'), (5696, 'NCR评审', 'mes:qc-ncr:review', 3, 6, 5690, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'), (5697, 'NCR处置', 'mes:qc-ncr:dispose', 3, 7, 5690, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'), (5698, 'NCR关闭', 'mes:qc-ncr:close', 3, 8, 5690, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'); -- 3. 字典类型 INSERT INTO `system_dict_type` (`name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES ('MES NCR 状态', 'mes_ncr_status', 0, '不合格品处理单状态', '1', NOW(), '1', NOW(), b'0'), ('MES NCR 处置方式', 'mes_ncr_disposition', 0, '不合格品处置方式', '1', NOW(), '1', NOW(), b'0'); -- 4. 字典数据 INSERT INTO `system_dict_data` (`sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1, '待评审', '0', 'mes_ncr_status', 0, '', '', '待评审', '1', NOW(), '1', NOW(), b'0'), (2, '已评审', '1', 'mes_ncr_status', 0, '', '', '已评审', '1', NOW(), '1', NOW(), b'0'), (3, '已处置', '2', 'mes_ncr_status', 0, '', '', '已处置', '1', NOW(), '1', NOW(), b'0'), (4, '已关闭', '3', 'mes_ncr_status', 0, '', '', '已关闭', '1', NOW(), '1', NOW(), b'0'), (1, '退货', '1', 'mes_ncr_disposition', 0, '', '', '退货', '1', NOW(), '1', NOW(), b'0'), (2, '报废', '2', 'mes_ncr_disposition', 0, '', '', '报废', '1', NOW(), '1', NOW(), b'0'), (3, '返工', '3', 'mes_ncr_disposition', 0, '', '', '返工', '1', NOW(), '1', NOW(), b'0'), (4, '让步接收', '4', 'mes_ncr_disposition', 0, '', '', '让步接收', '1', NOW(), '1', NOW(), b'0'), (5, '降级使用', '5', 'mes_ncr_disposition', 0, '', '', '降级使用', '1', NOW(), '1', NOW(), b'0');