-- ============================================================ -- 芯导-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;