-- ============================================ -- MES 设备管理-计量器具 & 计量检测记录 模块初始化脚本 -- 1. 建表 2. 菜单 3. 字典 4. 站内信模板 5. 全局配置 -- ============================================ -- 1. 建表 DROP TABLE IF EXISTS `mes_dv_metering_check`; DROP TABLE IF EXISTS `mes_dv_metering`; CREATE TABLE `mes_dv_metering` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', `code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '计量器具编码', `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '计量器具名称', `specification` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '规格型号', `brand` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '品牌/生产厂家', `category` int NULL DEFAULT NULL COMMENT '器具类别(卡尺/千分尺/压力表等),字典 mes_dv_metering_category', `precision` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '精度', `range` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '量程', `dept_id` bigint NULL DEFAULT NULL COMMENT '使用部门编号', `charge_user_id` bigint NULL DEFAULT NULL COMMENT '责任人编号(站内信发送对象)', `check_cycle_count` int NOT NULL COMMENT '校准周期(月)', `use_date` date NULL DEFAULT NULL COMMENT '投入使用日期', `last_check_date` date NULL DEFAULT NULL COMMENT '上次检测日期', `next_check_date` date NULL DEFAULT NULL COMMENT '下次检测日期(到期日)', `status` int NOT NULL COMMENT '状态(在用/停用/报废),字典 mes_dv_metering_status', `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, UNIQUE INDEX `uk_code` (`code`), INDEX `idx_dept_id` (`dept_id`), INDEX `idx_charge_user_id` (`charge_user_id`), INDEX `idx_next_check_date` (`next_check_date`) ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'MES 计量器具' ROW_FORMAT = Dynamic; CREATE TABLE `mes_dv_metering_check` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', `metering_id` bigint NOT NULL COMMENT '计量器具ID', `check_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '检测编号', `check_date` date NULL DEFAULT NULL COMMENT '检测日期', `check_org` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '检测机构', `check_result` int NULL DEFAULT NULL COMMENT '检测结论(合格/不合格),字典 mes_dv_metering_check_result', `cert_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '证书编号', `check_user_id` bigint NULL DEFAULT NULL COMMENT '检测人编号', `next_check_date` date NULL DEFAULT NULL COMMENT '下次检测日期(自动计算或手动指定)', `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, UNIQUE INDEX `uk_check_code` (`check_code`), INDEX `idx_metering_id` (`metering_id`), INDEX `idx_check_date` (`check_date`) ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'MES 计量检测记录' ROW_FORMAT = Dynamic; -- 2. 菜单(父菜单 5300 设备管理) 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 (5380, '计量器具', '', 2, 8, 5300, 'metering', 'ep:scale-to-original', 'mes/dv/metering/index', 'MesDvMetering', 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 (5381, '计量器具查询', 'mes:dv-metering:query', 3, 1, 5380, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'), (5382, '计量器具创建', 'mes:dv-metering:create', 3, 2, 5380, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'), (5383, '计量器具更新', 'mes:dv-metering:update', 3, 3, 5380, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'), (5384, '计量器具删除', 'mes:dv-metering:delete', 3, 4, 5380, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'), (5385, '计量器具导出', 'mes:dv-metering:export', 3, 5, 5380, '', '', '', '', 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 (5386, '计量检测记录', '', 2, 9, 5300, 'metering-check', 'ep:checked', 'mes/dv/meteringcheck/index', 'MesDvMeteringCheck', 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 (5387, '检测记录查询', 'mes:dv-metering-check:query', 3, 1, 5386, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'), (5388, '检测记录创建', 'mes:dv-metering-check:create', 3, 2, 5386, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'), (5389, '检测记录更新', 'mes:dv-metering-check:update', 3, 3, 5386, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'), (5390, '检测记录删除', 'mes:dv-metering-check:delete', 3, 4, 5386, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'), (5391, '检测记录导出', 'mes:dv-metering-check:export', 3, 5, 5386, '', '', '', '', 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 计量器具类别', 'mes_dv_metering_category', 0, '计量器具类别', '1', NOW(), '1', NOW(), b'0'), ('MES 计量器具状态', 'mes_dv_metering_status', 0, '计量器具状态', '1', NOW(), '1', NOW(), b'0'), ('MES 计量检测结论', 'mes_dv_metering_check_result', 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, '卡尺', '1', 'mes_dv_metering_category', 0, '', '', '卡尺', '1', NOW(), '1', NOW(), b'0'), (2, '千分尺', '2', 'mes_dv_metering_category', 0, '', '', '千分尺', '1', NOW(), '1', NOW(), b'0'), (3, '压力表', '3', 'mes_dv_metering_category', 0, '', '', '压力表', '1', NOW(), '1', NOW(), b'0'), (4, '温度计', '4', 'mes_dv_metering_category', 0, '', '', '温度计', '1', NOW(), '1', NOW(), b'0'), (5, '万用表', '5', 'mes_dv_metering_category', 0, '', '', '万用表', '1', NOW(), '1', NOW(), b'0'), (6, '天平砝码', '6', 'mes_dv_metering_category', 0, '', '', '天平砝码', '1', NOW(), '1', NOW(), b'0'), (7, '其他', '7', 'mes_dv_metering_category', 0, '', '', '其他', '1', NOW(), '1', NOW(), b'0'), -- 器具状态 (1, '在用', '1', 'mes_dv_metering_status', 0, 'success', '', '在用', '1', NOW(), '1', NOW(), b'0'), (2, '停用', '2', 'mes_dv_metering_status', 0, 'info', '', '停用', '1', NOW(), '1', NOW(), b'0'), (3, '报废', '3', 'mes_dv_metering_status', 0, 'danger', '', '报废', '1', NOW(), '1', NOW(), b'0'), -- 检测结论 (1, '合格', '1', 'mes_dv_metering_check_result', 0, 'success', '', '合格', '1', NOW(), '1', NOW(), b'0'), (2, '不合格', '2', 'mes_dv_metering_check_result', 0, 'danger', '', '不合格', '1', NOW(), '1', NOW(), b'0'); -- 5. 站内信模板 INSERT INTO `system_notify_template` (`name`, `code`, `nickname`, `content`, `type`, `params`, `status`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES ('计量器具到期提醒', 'mes_metering_expire_remind', 'MES 系统', '计量器具【{meteringCode}】{meteringName} 将于 {nextCheckDate} 到期,请及时安排校准/检定。', 2, '["meteringCode","meteringName","nextCheckDate"]', 0, '1', NOW(), '1', NOW(), b'0'); -- 6. 全局配置(提醒天数,默认 30 天) INSERT INTO `infra_config` (`category`, `type`, `name`, `config_key`, `value`, `visible`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES ('biz', 2, 'MES 计量器具到期提醒天数', 'mes.dv-metering.remind-days', '30', 0, '计量器具下次检测日期到期前 N 天提醒(站内信发送给责任人)', '1', NOW(), '1', NOW(), b'0');