Files
zkxw/docs/sql/qc_material_demo_seed.sql
T
2026-05-21 03:48:06 +08:00

110 lines
5.4 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- 质检物料库测试数据(biz_qc_material / biz_qc_material_usage)
--
-- 用法:
-- 1) 默认租户 zkxw,默认操作人 d3000000000000000000000000000001(与 zkxw.sql 演示账号一致)
-- 2) 可重复执行:按物料编码前缀 QC-MAT-DEMO- 清理后重新插入
-- 3) 执行前请确认已建表(见 docs/superpowers/plans/2026-05-20-qc-material-library.md 中 DDL)
--
-- 示例:
-- mysql -u root -p zkxw < docs/sql/qc_material_demo_seed.sql
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
SET @tenant_no = 'zkxw';
SET @operator_id = 'd3000000000000000000000000000001';
SET @now = NOW();
START TRANSACTION;
-- 清理旧测试数据(先删变动记录,再删物料)
DELETE u
FROM `biz_qc_material_usage` u
INNER JOIN `biz_qc_material` m ON m.`id` = u.`material_id`
WHERE m.`tenant_no` = @tenant_no
AND m.`material_code` LIKE 'QC-MAT-DEMO-%';
DELETE FROM `biz_qc_material`
WHERE `tenant_no` = @tenant_no
AND `material_code` LIKE 'QC-MAT-DEMO-%';
-- ----------------------------
-- 质检物料主数据(10 条)
-- 覆盖:正常库存 / 库存预警 / 零库存 / 停用
-- ----------------------------
INSERT INTO `biz_qc_material` (
`id`,
`material_code`,
`material_name`,
`spec_model`,
`unit`,
`stock_qty`,
`warning_qty`,
`status`,
`tenant_no`,
`order_num`,
`remark`,
`create_by`,
`create_dept_id`,
`create_time`,
`update_by`,
`update_time`,
`del_flag`
) VALUES
('q1000000000000000000000000000001', 'QC-MAT-DEMO-001', 'PCR 扩增引物 Mix', '20× 预混', '支', 120.0000, 50.0000, '1', @tenant_no, 1, '常温避光', @operator_id, '', @now, @operator_id, @now, 0),
('q1000000000000000000000000000002', 'QC-MAT-DEMO-002', '核酸提取试剂盒', '96 孔板适用', '盒', 35.0000, 40.0000, '1', @tenant_no, 2, '库存低于预警线', @operator_id, '', @now, @operator_id, @now, 0),
('q1000000000000000000000000000003', 'QC-MAT-DEMO-003', '琼脂糖', 'Bio-Rad 常规型', 'g', 8.0000, 10.0000, '1', @tenant_no, 3, '粉末,干燥保存', @operator_id, '', @now, @operator_id, @now, 0),
('q1000000000000000000000000000004', 'QC-MAT-DEMO-004', 'TAE 电泳缓冲液', '50× 浓缩', '瓶', 200.0000, 30.0000, '1', @tenant_no, 4, NULL, @operator_id, '', @now, @operator_id, @now, 0),
('q1000000000000000000000000000005', 'QC-MAT-DEMO-005', '无菌吸头', '200μL 滤芯', '盒', 5000.0000, 500.0000, '1', @tenant_no, 5, '每盒 96 支', @operator_id, '', @now, @operator_id, @now, 0),
('q1000000000000000000000000000006', 'QC-MAT-DEMO-006', 'EP 离心管', '1.5mL 锥底', '包', 3000.0000, 200.0000, '1', @tenant_no, 6, '每包 500 支', @operator_id, '', @now, @operator_id, @now, 0),
('q1000000000000000000000000000007', 'QC-MAT-DEMO-007', '医用丁腈手套', 'M 码 无粉', '盒', 150.0000, 50.0000, '1', @tenant_no, 7, '每盒 100 只', @operator_id, '', @now, @operator_id, @now, 0),
('q1000000000000000000000000000008', 'QC-MAT-DEMO-008', '75% 乙醇消毒液', '500ml 喷雾', '瓶', 0.0000, 20.0000, '1', @tenant_no, 8, '零库存,可测入库', @operator_id, '', @now, @operator_id, @now, 0),
('q1000000000000000000000000000009', 'QC-MAT-DEMO-009', '质检标准品', '冻干粉 1mg', '支', 25.0000, 10.0000, '1', @tenant_no, 9, '-20℃ 保存', @operator_id, '', @now, @operator_id, @now, 0),
('q1000000000000000000000000000010', 'QC-MAT-DEMO-010', '细胞培养基(旧批次)', '500ml', '瓶', 15.0000, 5.0000, '0', @tenant_no, 10, '停用批次,仅保留档案', @operator_id, '', @now, @operator_id, @now, 0);
-- ----------------------------
-- 物料变动记录(3 条,便于「物料变动记录」页联调)
-- change_type: in=入库 / use=使用;source_type: manual_in / task_complete
-- ----------------------------
INSERT INTO `biz_qc_material_usage` (
`id`,
`material_id`,
`material_code`,
`material_name`,
`change_type`,
`change_qty`,
`stock_after`,
`qc_task_id`,
`qc_task_no`,
`source_type`,
`tenant_no`,
`remark`,
`create_by`,
`create_dept_id`,
`create_time`,
`update_by`,
`update_time`,
`del_flag`
) VALUES
('qu100000000000000000000000000001', 'q1000000000000000000000000000001', 'QC-MAT-DEMO-001', 'PCR 扩增引物 Mix', 'in', 50.0000, 70.0000, NULL, NULL, 'manual_in', @tenant_no, '期初入库', @operator_id, '', DATE_SUB(@now, INTERVAL 7 DAY), @operator_id, DATE_SUB(@now, INTERVAL 7 DAY), 0),
('qu100000000000000000000000000002', 'q1000000000000000000000000000001', 'QC-MAT-DEMO-001', 'PCR 扩增引物 Mix', 'in', 50.0000, 120.0000, NULL, NULL, 'manual_in', @tenant_no, '补货入库', @operator_id, '', DATE_SUB(@now, INTERVAL 2 DAY), @operator_id, DATE_SUB(@now, INTERVAL 2 DAY), 0),
('qu100000000000000000000000000003', 'q1000000000000000000000000000002', 'QC-MAT-DEMO-002', '核酸提取试剂盒', 'use', -5.0000, 35.0000, NULL, 'QC-DEMO-TASK-001', 'task_complete', @tenant_no, '演示任务消耗', @operator_id, '', DATE_SUB(@now, INTERVAL 1 DAY), @operator_id, DATE_SUB(@now, INTERVAL 1 DAY), 0);
COMMIT;
SET FOREIGN_KEY_CHECKS = 1;
-- 插入结果速览
SELECT
material_code AS `物料编码`,
material_name AS `物料名称`,
stock_qty AS `当前库存`,
warning_qty AS `预警库存`,
CASE WHEN status = '1' THEN '正常' ELSE '停用' END AS `状态`,
CASE WHEN stock_qty <= warning_qty THEN '库存预警' ELSE '正常' END AS `库存状态`
FROM `biz_qc_material`
WHERE `tenant_no` = @tenant_no
AND `material_code` LIKE 'QC-MAT-DEMO-%'
AND `del_flag` = 0
ORDER BY `order_num`;