Files
zkxw/docs/sql/migrations/2026-06-11-env-detect.sql
T
2026-06-11 15:42:58 +08:00

105 lines
5.5 KiB
SQL

-- ============================================================
-- 环境检测:主数据 + 登记记录 + 菜单 + 种子数据
-- 与 docs/superpowers/specs/2026-06-11-env-detect-design.md 对齐
-- ============================================================
-- 1. 环境检测项(主数据)
DROP TABLE IF EXISTS `biz_env_detect_record`;
DROP TABLE IF EXISTS `biz_env_detect_item`;
CREATE TABLE `biz_env_detect_item` (
`id` varchar(64) NOT NULL COMMENT '主键ID',
`item_code` varchar(64) NOT NULL COMMENT '项目编码',
`item_name` varchar(200) NOT NULL COMMENT '项目名称',
`status` char(1) NOT NULL DEFAULT '1' COMMENT '1启用 0停用',
`tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号',
`order_num` int(11) DEFAULT NULL COMMENT '排序号',
`remark` varchar(512) DEFAULT NULL COMMENT '备注',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人id',
`create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人id',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_env_item_tenant_code` (`tenant_no`, `item_code`, `del_flag`),
KEY `idx_env_item_tenant_status` (`tenant_no`, `status`, `del_flag`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='环境检测项';
-- 2. 环境检测登记
CREATE TABLE `biz_env_detect_record` (
`id` varchar(64) NOT NULL COMMENT '主键ID',
`record_no` varchar(32) NOT NULL COMMENT '登记编号',
`detect_time` datetime NOT NULL COMMENT '检测时间',
`inspector_ids` varchar(500) NOT NULL COMMENT '检测人用户ID,逗号分隔',
`inspector_names` varchar(500) NOT NULL COMMENT '检测人姓名快照,逗号分隔',
`env_detect_item_id` varchar(64) NOT NULL COMMENT '检测项目ID',
`item_code` varchar(64) NOT NULL COMMENT '项目编码快照',
`item_name` varchar(200) NOT NULL COMMENT '项目名称快照',
`result_desc` varchar(2000) NOT NULL COMMENT '检测结果描述',
`attachment_urls` varchar(2000) DEFAULT NULL COMMENT '检测附件URL,逗号分隔',
`tenant_no` varchar(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号',
`order_num` int(11) DEFAULT NULL COMMENT '排序号',
`remark` varchar(512) DEFAULT NULL COMMENT '备注',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人id',
`create_dept_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新人id',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_env_rec_tenant_no` (`tenant_no`, `record_no`, `del_flag`),
KEY `idx_env_rec_tenant_time` (`tenant_no`, `detect_time`, `del_flag`),
KEY `idx_env_rec_tenant_item` (`tenant_no`, `env_detect_item_id`, `del_flag`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='环境检测登记';
-- 3. 种子:6 项初始检测项目(租户 zkxw)
INSERT INTO `biz_env_detect_item` (
`id`, `item_code`, `item_name`, `status`, `tenant_no`, `order_num`, `remark`,
`create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
) VALUES
('ENVITEM00000000000000000000000001', 'BMWS', '表面微生物检测', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('ENVITEM00000000000000000000000002', 'SYFS', '实验室风速检测', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('ENVITEM00000000000000000000000003', 'ZWQD', '紫外灯强度检测', '1', 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('ENVITEM00000000000000000000000004', 'CJJ', '沉降菌检测', '1', 'zkxw', 4, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('ENVITEM00000000000000000000000005', 'JJZY', '洁净区噪音检测', '1', 'zkxw', 5, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('ENVITEM00000000000000000000000006', 'XFZL', '洁净区悬浮粒子检测', '1', 'zkxw', 6, NULL, NULL, '', NOW(), NULL, NOW(), 0)
ON DUPLICATE KEY UPDATE
`item_name` = VALUES(`item_name`),
`status` = VALUES(`status`),
`order_num` = VALUES(`order_num`),
`update_time` = NOW(),
`del_flag` = 0;
-- 4. 菜单
INSERT INTO `sys_menu` (
`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`,
`is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`,
`create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
) VALUES
(
'71000000000000000000000000000001', '环境检测项维护',
'QCB00000000000000000000000000001', 'C', 'env-detect-item',
'/quality-inspection/env-detect-item/index', 'biz:envDetectItem:list',
1, '1', '1', 'zkxw', 7, NULL,
NULL, '', NOW(), NULL, NOW(), 0
),
(
'71000000000000000000000000000002', '环境检测管理',
'QCM00000000000000000000000000001', 'C', 'env-detect-record',
'/quality-inspection/env-detect-record/index', 'biz:envDetectRecord:list',
1, '1', '1', 'zkxw', 3, NULL,
NULL, '', NOW(), NULL, NOW(), 0
)
ON DUPLICATE KEY UPDATE
`menu_name` = VALUES(`menu_name`),
`parent_id` = VALUES(`parent_id`),
`path` = VALUES(`path`),
`component` = VALUES(`component`),
`perms` = VALUES(`perms`),
`visible` = '1',
`status` = '1',
`order_num` = VALUES(`order_num`),
`update_time` = NOW(),
`del_flag` = 0;