云
2026-10-30 4271b1bf63ec4740b2a96a7ab727a21ca97cb7af
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
-- ============================================================
-- 芯导-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;