-- ============================================================
|
-- 芯导-LIMS 补充模块 DDL
|
-- ④ 资源管理:仪器设备维护校准 + 试剂耗材库存采购
|
-- ⑨ 系统配置:检测项目库 / 计量单位库 / 判定标准库
|
-- 库:lims-ruoyi
|
-- ============================================================
|
|
-- ============================================================
|
-- ④ 资源管理 · 仪器设备台账
|
-- ============================================================
|
DROP TABLE IF EXISTS `lims_instrument`;
|
CREATE TABLE `lims_instrument` (
|
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
`instrument_code` VARCHAR(64) DEFAULT NULL COMMENT '仪器编号',
|
`instrument_name` VARCHAR(255) DEFAULT NULL COMMENT '仪器名称',
|
`instrument_model` VARCHAR(255) DEFAULT NULL COMMENT '规格型号',
|
`manufacturer` VARCHAR(255) DEFAULT NULL COMMENT '生产厂商',
|
`serial_no` VARCHAR(128) DEFAULT NULL COMMENT '出厂序列号',
|
`location` VARCHAR(255) DEFAULT NULL COMMENT '存放位置',
|
`purchase_date` DATE DEFAULT NULL COMMENT '购置日期',
|
`warranty_end_date` DATE DEFAULT NULL COMMENT '保修截止日期',
|
`status` VARCHAR(32) DEFAULT 'normal' COMMENT '状态(normal-正常,maintenance-维修中,scrapped-已报废,idle-闲置)',
|
`responsible_person` VARCHAR(64) DEFAULT NULL COMMENT '责任人',
|
`remark` VARCHAR(1000) DEFAULT NULL COMMENT '备注',
|
`maintainer` VARCHAR(64) DEFAULT NULL COMMENT '维护人',
|
`maintenance_time` DATE DEFAULT NULL COMMENT '维护时间',
|
`del_flag` CHAR(1) DEFAULT '0' COMMENT '删除标志(0-正常,2-删除)',
|
`tenant_id` BIGINT DEFAULT NULL COMMENT '租户ID',
|
`create_time` DATETIME DEFAULT NULL COMMENT '创建时间',
|
`create_user` INT DEFAULT NULL COMMENT '创建用户',
|
`update_time` DATETIME DEFAULT NULL COMMENT '修改时间',
|
`update_user` INT DEFAULT NULL COMMENT '修改用户',
|
PRIMARY KEY (`id`),
|
KEY `idx_instrument_code` (`instrument_code`),
|
KEY `idx_status` (`status`),
|
KEY `idx_tenant` (`tenant_id`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='LIMS-仪器设备台账';
|
|
-- ============================================================
|
-- ④ 资源管理 · 仪器校准/维护记录
|
-- ============================================================
|
DROP TABLE IF EXISTS `lims_instrument_calibration`;
|
CREATE TABLE `lims_instrument_calibration` (
|
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
`instrument_id` BIGINT DEFAULT NULL COMMENT '仪器ID(lims_instrument.id)',
|
`instrument_code` VARCHAR(64) DEFAULT NULL COMMENT '仪器编号(冗余便于查询)',
|
`instrument_name` VARCHAR(255) DEFAULT NULL COMMENT '仪器名称(冗余)',
|
`record_type` VARCHAR(32) DEFAULT 'calibration' COMMENT '记录类型(calibration-校准,maintenance-维护保养,repair-维修)',
|
`calibration_date` DATE DEFAULT NULL COMMENT '本次日期',
|
`next_calibration_date` DATE DEFAULT NULL COMMENT '下次到期日期',
|
`calibration_org` VARCHAR(255) DEFAULT NULL COMMENT '校准/维保机构',
|
`certificate_no` VARCHAR(128) DEFAULT NULL COMMENT '证书编号',
|
`calibration_result` VARCHAR(32) DEFAULT NULL COMMENT '结果(pass-合格,fail-不合格,conditional-有条件通过)',
|
`cost` DECIMAL(18,2) DEFAULT NULL COMMENT '费用',
|
`executor` VARCHAR(64) DEFAULT NULL COMMENT '执行人',
|
`remark` VARCHAR(1000) DEFAULT NULL COMMENT '备注',
|
`del_flag` CHAR(1) DEFAULT '0' COMMENT '删除标志(0-正常,2-删除)',
|
`tenant_id` BIGINT DEFAULT NULL COMMENT '租户ID',
|
`create_time` DATETIME DEFAULT NULL COMMENT '创建时间',
|
`create_user` INT DEFAULT NULL COMMENT '创建用户',
|
`update_time` DATETIME DEFAULT NULL COMMENT '修改时间',
|
`update_user` INT DEFAULT NULL COMMENT '修改用户',
|
PRIMARY KEY (`id`),
|
KEY `idx_instrument_id` (`instrument_id`),
|
KEY `idx_next_date` (`next_calibration_date`),
|
KEY `idx_tenant` (`tenant_id`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='LIMS-仪器校准维护记录';
|
|
-- ============================================================
|
-- ④ 资源管理 · 试剂耗材台账
|
-- ============================================================
|
DROP TABLE IF EXISTS `lims_reagent`;
|
CREATE TABLE `lims_reagent` (
|
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
`reagent_code` VARCHAR(64) DEFAULT NULL COMMENT '试剂/耗材编号',
|
`reagent_name` VARCHAR(255) DEFAULT NULL COMMENT '名称',
|
`specification` VARCHAR(255) DEFAULT NULL COMMENT '规格',
|
`category` VARCHAR(32) DEFAULT NULL COMMENT '类别(reagent-试剂,consumable-耗材,standard-标准品,control-质控品)',
|
`unit` VARCHAR(32) DEFAULT NULL COMMENT '计量单位',
|
`supplier` VARCHAR(255) DEFAULT NULL COMMENT '供应商',
|
`storage_condition` VARCHAR(255) DEFAULT NULL COMMENT '存储条件(如 2-8℃避光)',
|
`current_stock` DECIMAL(18,4) DEFAULT 0 COMMENT '当前库存',
|
`safety_stock` DECIMAL(18,4) DEFAULT 0 COMMENT '安全库存(低于此值预警)',
|
`expiry_date` DATE DEFAULT NULL COMMENT '有效期至',
|
`location` VARCHAR(255) DEFAULT NULL COMMENT '存放位置',
|
`status` VARCHAR(32) DEFAULT 'normal' COMMENT '状态(normal-正常,expiring-临期,expired-过期,depleted-已耗尽)',
|
`remark` VARCHAR(1000) DEFAULT NULL COMMENT '备注',
|
`maintainer` VARCHAR(64) DEFAULT NULL COMMENT '维护人',
|
`maintenance_time` DATE DEFAULT NULL COMMENT '维护时间',
|
`del_flag` CHAR(1) DEFAULT '0' COMMENT '删除标志(0-正常,2-删除)',
|
`tenant_id` BIGINT DEFAULT NULL COMMENT '租户ID',
|
`create_time` DATETIME DEFAULT NULL COMMENT '创建时间',
|
`create_user` INT DEFAULT NULL COMMENT '创建用户',
|
`update_time` DATETIME DEFAULT NULL COMMENT '修改时间',
|
`update_user` INT DEFAULT NULL COMMENT '修改用户',
|
PRIMARY KEY (`id`),
|
KEY `idx_reagent_code` (`reagent_code`),
|
KEY `idx_expiry` (`expiry_date`),
|
KEY `idx_tenant` (`tenant_id`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='LIMS-试剂耗材台账';
|
|
-- ============================================================
|
-- ④ 资源管理 · 试剂耗材出入库流水(含采购入库)
|
-- ============================================================
|
DROP TABLE IF EXISTS `lims_reagent_record`;
|
CREATE TABLE `lims_reagent_record` (
|
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
`reagent_id` BIGINT DEFAULT NULL COMMENT '试剂ID(lims_reagent.id)',
|
`reagent_code` VARCHAR(64) DEFAULT NULL COMMENT '试剂编号(冗余)',
|
`reagent_name` VARCHAR(255) DEFAULT NULL COMMENT '名称(冗余)',
|
`record_type` VARCHAR(32) DEFAULT 'in' COMMENT '类型(in-入库(采购),out-出库(领用),return-退库,scrap-报废)',
|
`quantity` DECIMAL(18,4) DEFAULT NULL COMMENT '数量(正数)',
|
`before_stock` DECIMAL(18,4) DEFAULT NULL COMMENT '操作前库存',
|
`after_stock` DECIMAL(18,4) DEFAULT NULL COMMENT '操作后库存',
|
`batch_no` VARCHAR(128) DEFAULT NULL COMMENT '批次号',
|
`supplier` VARCHAR(255) DEFAULT NULL COMMENT '供应商(入库时)',
|
`unit_price` DECIMAL(18,4) DEFAULT NULL COMMENT '单价',
|
`total_amount` DECIMAL(18,2) DEFAULT NULL COMMENT '金额',
|
`operator` VARCHAR(64) DEFAULT NULL COMMENT '经手人',
|
`operate_time` DATETIME DEFAULT NULL COMMENT '操作时间',
|
`purpose` VARCHAR(500) DEFAULT NULL COMMENT '用途/领用事由',
|
`related_experiment` VARCHAR(128) DEFAULT NULL COMMENT '关联实验编号',
|
`remark` VARCHAR(1000) DEFAULT NULL COMMENT '备注',
|
`del_flag` CHAR(1) DEFAULT '0' COMMENT '删除标志(0-正常,2-删除)',
|
`tenant_id` BIGINT DEFAULT NULL COMMENT '租户ID',
|
`create_time` DATETIME DEFAULT NULL COMMENT '创建时间',
|
`create_user` INT DEFAULT NULL COMMENT '创建用户',
|
`update_time` DATETIME DEFAULT NULL COMMENT '修改时间',
|
`update_user` INT DEFAULT NULL COMMENT '修改用户',
|
PRIMARY KEY (`id`),
|
KEY `idx_reagent_id` (`reagent_id`),
|
KEY `idx_operate_time` (`operate_time`),
|
KEY `idx_tenant` (`tenant_id`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='LIMS-试剂耗材出入库流水';
|
|
-- ============================================================
|
-- ⑨ 系统配置 · 检测项目库
|
-- ============================================================
|
DROP TABLE IF EXISTS `lims_test_item`;
|
CREATE TABLE `lims_test_item` (
|
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
`item_code` VARCHAR(64) DEFAULT NULL COMMENT '项目编号',
|
`item_name` VARCHAR(255) DEFAULT NULL COMMENT '检测项目名称',
|
`item_type` VARCHAR(32) DEFAULT NULL COMMENT '类型(chemical-化学分析,physical-物理测试,microbial-微生物,other-其它)',
|
`unit` VARCHAR(32) DEFAULT NULL COMMENT '计量单位',
|
`method` VARCHAR(500) DEFAULT NULL COMMENT '检测方法/依据',
|
`standard` VARCHAR(255) DEFAULT NULL COMMENT '执行标准(如 GB/T xxxx)',
|
`limit_min` DECIMAL(18,4) DEFAULT NULL COMMENT '合格下限',
|
`limit_max` DECIMAL(18,4) DEFAULT NULL COMMENT '合格上限',
|
`status` VARCHAR(4) DEFAULT '1' COMMENT '状态(1-启用,0-停用)',
|
`remark` VARCHAR(1000) DEFAULT NULL COMMENT '备注',
|
`del_flag` CHAR(1) DEFAULT '0' COMMENT '删除标志(0-正常,2-删除)',
|
`tenant_id` BIGINT DEFAULT NULL COMMENT '租户ID',
|
`create_time` DATETIME DEFAULT NULL COMMENT '创建时间',
|
`create_user` INT DEFAULT NULL COMMENT '创建用户',
|
`update_time` DATETIME DEFAULT NULL COMMENT '修改时间',
|
`update_user` INT DEFAULT NULL COMMENT '修改用户',
|
PRIMARY KEY (`id`),
|
KEY `idx_item_code` (`item_code`),
|
KEY `idx_tenant` (`tenant_id`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='LIMS-检测项目库';
|
|
-- ============================================================
|
-- ⑨ 系统配置 · 计量单位库
|
-- ============================================================
|
DROP TABLE IF EXISTS `lims_unit`;
|
CREATE TABLE `lims_unit` (
|
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
`unit_code` VARCHAR(32) DEFAULT NULL COMMENT '单位编码',
|
`unit_name` VARCHAR(64) DEFAULT NULL COMMENT '单位名称',
|
`unit_type` VARCHAR(32) DEFAULT NULL COMMENT '类型(weight-重量,volume-体积,length-长度,temperature-温度,concentration-浓度,count-计数)',
|
`base_unit` VARCHAR(32) DEFAULT NULL COMMENT '基准单位(换算参照)',
|
`conversion_rate` DECIMAL(18,6) DEFAULT 1 COMMENT '换算系数(1 本单位 = N 基准单位)',
|
`status` VARCHAR(4) DEFAULT '1' COMMENT '状态(1-启用,0-停用)',
|
`remark` VARCHAR(500) DEFAULT NULL COMMENT '备注',
|
`del_flag` CHAR(1) DEFAULT '0' COMMENT '删除标志(0-正常,2-删除)',
|
`tenant_id` BIGINT DEFAULT NULL COMMENT '租户ID',
|
`create_time` DATETIME DEFAULT NULL COMMENT '创建时间',
|
`create_user` INT DEFAULT NULL COMMENT '创建用户',
|
`update_time` DATETIME DEFAULT NULL COMMENT '修改时间',
|
`update_user` INT DEFAULT NULL COMMENT '修改用户',
|
PRIMARY KEY (`id`),
|
KEY `idx_unit_code` (`unit_code`),
|
KEY `idx_tenant` (`tenant_id`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='LIMS-计量单位库';
|
|
-- ============================================================
|
-- ⑨ 系统配置 · 判定标准库
|
-- ============================================================
|
DROP TABLE IF EXISTS `lims_judgment_standard`;
|
CREATE TABLE `lims_judgment_standard` (
|
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
`standard_code` VARCHAR(64) DEFAULT NULL COMMENT '标准编号',
|
`standard_name` VARCHAR(255) DEFAULT NULL COMMENT '标准名称',
|
`item_id` BIGINT DEFAULT NULL COMMENT '关联检测项目ID(lims_test_item.id)',
|
`item_name` VARCHAR(255) DEFAULT NULL COMMENT '检测项目名称(冗余)',
|
`standard_type` VARCHAR(32) DEFAULT 'range' COMMENT '判定类型(range-区间,min-不低于,max-不高于,equal-等于,target-目标值±偏差)',
|
`min_value` DECIMAL(18,4) DEFAULT NULL COMMENT '下限',
|
`max_value` DECIMAL(18,4) DEFAULT NULL COMMENT '上限',
|
`target_value` DECIMAL(18,4) DEFAULT NULL COMMENT '目标值',
|
`deviation` DECIMAL(18,4) DEFAULT NULL COMMENT '允许偏差',
|
`unit` VARCHAR(32) DEFAULT NULL COMMENT '单位',
|
`source_standard` VARCHAR(255) DEFAULT NULL COMMENT '依据标准(如 GB 5749-2022)',
|
`status` VARCHAR(4) DEFAULT '1' COMMENT '状态(1-启用,0-停用)',
|
`remark` VARCHAR(1000) DEFAULT NULL COMMENT '备注',
|
`del_flag` CHAR(1) DEFAULT '0' COMMENT '删除标志(0-正常,2-删除)',
|
`tenant_id` BIGINT DEFAULT NULL COMMENT '租户ID',
|
`create_time` DATETIME DEFAULT NULL COMMENT '创建时间',
|
`create_user` INT DEFAULT NULL COMMENT '创建用户',
|
`update_time` DATETIME DEFAULT NULL COMMENT '修改时间',
|
`update_user` INT DEFAULT NULL COMMENT '修改用户',
|
PRIMARY KEY (`id`),
|
KEY `idx_standard_code` (`standard_code`),
|
KEY `idx_item_id` (`item_id`),
|
KEY `idx_tenant` (`tenant_id`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='LIMS-判定标准库';
|
|
-- ============================================================
|
-- 校验
|
-- ============================================================
|
SELECT table_name, table_comment
|
FROM information_schema.tables
|
WHERE table_schema = 'lims-ruoyi'
|
AND table_name IN ('lims_instrument','lims_instrument_calibration','lims_reagent','lims_reagent_record','lims_test_item','lims_unit','lims_judgment_standard')
|
ORDER BY table_name;
|