-- 质检物料库测试数据(幂等:按 material_code / stock_in_no 跳过已存在记录) -- 执行:mysql -u root -p zkxw < docs/sql/seed_qc_materials.sql SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci; -- ── 物料主表 ────────────────────────────────────── 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`) SELECT 'qcm00000000000000000000000000001', 'QC-MAT-001', 'DMEM培养基', '500ml/瓶', '瓶', 20.0000, 5.0000, '1', 'zkxw', 1, '细胞培养基础培养基', 'd3000000000000000000000000000001', '', '2026-06-01 08:00:00', 'd3000000000000000000000000000001', '2026-06-01 08:00:00', 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_qc_material` WHERE `material_code`='QC-MAT-001' AND `tenant_no`='zkxw' AND `del_flag`=0); 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`) SELECT 'qcm00000000000000000000000000002', 'QC-MAT-002', '胎牛血清', '500ml/瓶', '瓶', 6.0000, 3.0000, '1', 'zkxw', 2, '细胞培养添加物', 'd3000000000000000000000000000001', '', '2026-06-01 08:10:00', 'd3000000000000000000000000000001', '2026-06-01 08:10:00', 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_qc_material` WHERE `material_code`='QC-MAT-002' AND `tenant_no`='zkxw' AND `del_flag`=0); 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`) SELECT 'qcm00000000000000000000000000003', 'QC-MAT-003', '青霉素-链霉素双抗', '100ml/瓶', '瓶', 10.0000, 5.0000, '1', 'zkxw', 3, '细胞培养抗生素', 'd3000000000000000000000000000001', '', '2026-06-01 08:20:00', 'd3000000000000000000000000000001', '2026-06-01 08:20:00', 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_qc_material` WHERE `material_code`='QC-MAT-003' AND `tenant_no`='zkxw' AND `del_flag`=0); 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`) SELECT 'qcm00000000000000000000000000004', 'QC-MAT-004', '胰酶消化液', '100ml/瓶', '瓶', 8.0000, 4.0000, '1', 'zkxw', 4, '贴壁细胞消化', 'd3000000000000000000000000000001', '', '2026-06-01 08:30:00', 'd3000000000000000000000000000001', '2026-06-01 08:30:00', 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_qc_material` WHERE `material_code`='QC-MAT-004' AND `tenant_no`='zkxw' AND `del_flag`=0); 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`) SELECT 'qcm00000000000000000000000000005', 'QC-MAT-005', '台盼蓝染色液', '50ml/瓶', '瓶', 5.0000, 2.0000, '1', 'zkxw', 5, '细胞活力检测', 'd3000000000000000000000000000001', '', '2026-06-01 08:40:00', 'd3000000000000000000000000000001', '2026-06-01 08:40:00', 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_qc_material` WHERE `material_code`='QC-MAT-005' AND `tenant_no`='zkxw' AND `del_flag`=0); -- ── 入库批次(material_id 按 material_code 关联)── INSERT INTO `biz_qc_material_stock_batch` (`id`, `material_id`, `material_code`, `material_name`, `spec_model`, `unit`, `stock_in_no`, `stock_in_date`, `expire_date`, `catalog_no`, `batch_no`, `manufacturer`, `unit_price`, `amount`, `in_qty`, `remaining_qty`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'qcb00000000000000000000000000001', (SELECT `id` FROM `biz_qc_material` WHERE `material_code`='QC-MAT-001' AND `tenant_no`='zkxw' AND `del_flag`=0 LIMIT 1), 'QC-MAT-001', 'DMEM培养基', '500ml/瓶', '瓶', 'RK-20260601-001', '2026-06-01', '2027-06-01', 'CAT-DMEM-500', 'BN20260501', 'Gibco', 128.00, 2560.00, 20.0000, 20.0000, 'zkxw', 1, '测试数据初始化', 'd3000000000000000000000000000001', '', '2026-06-01 08:00:00', 'd3000000000000000000000000000001', '2026-06-01 08:00:00', 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_qc_material_stock_batch` WHERE `stock_in_no`='RK-20260601-001' AND `tenant_no`='zkxw' AND `del_flag`=0); INSERT INTO `biz_qc_material_stock_batch` (`id`, `material_id`, `material_code`, `material_name`, `spec_model`, `unit`, `stock_in_no`, `stock_in_date`, `expire_date`, `catalog_no`, `batch_no`, `manufacturer`, `unit_price`, `amount`, `in_qty`, `remaining_qty`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'qcb00000000000000000000000000002', (SELECT `id` FROM `biz_qc_material` WHERE `material_code`='QC-MAT-002' AND `tenant_no`='zkxw' AND `del_flag`=0 LIMIT 1), 'QC-MAT-002', '胎牛血清', '500ml/瓶', '瓶', 'RK-20260601-002', '2026-06-01', '2027-03-01', 'CAT-FBS-500', 'BN20260415', 'Gibco', 2680.00, 16080.00, 6.0000, 6.0000, 'zkxw', 2, '测试数据初始化', 'd3000000000000000000000000000001', '', '2026-06-01 08:10:00', 'd3000000000000000000000000000001', '2026-06-01 08:10:00', 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_qc_material_stock_batch` WHERE `stock_in_no`='RK-20260601-002' AND `tenant_no`='zkxw' AND `del_flag`=0); INSERT INTO `biz_qc_material_stock_batch` (`id`, `material_id`, `material_code`, `material_name`, `spec_model`, `unit`, `stock_in_no`, `stock_in_date`, `expire_date`, `catalog_no`, `batch_no`, `manufacturer`, `unit_price`, `amount`, `in_qty`, `remaining_qty`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'qcb00000000000000000000000000003', (SELECT `id` FROM `biz_qc_material` WHERE `material_code`='QC-MAT-003' AND `tenant_no`='zkxw' AND `del_flag`=0 LIMIT 1), 'QC-MAT-003', '青霉素-链霉素双抗', '100ml/瓶', '瓶', 'RK-20260601-003', '2026-06-02', '2026-12-02', 'CAT-PS-100', 'BN20260520', 'HyClone', 186.00, 1860.00, 10.0000, 10.0000, 'zkxw', 3, '测试数据初始化', 'd3000000000000000000000000000001', '', '2026-06-02 08:20:00', 'd3000000000000000000000000000001', '2026-06-02 08:20:00', 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_qc_material_stock_batch` WHERE `stock_in_no`='RK-20260601-003' AND `tenant_no`='zkxw' AND `del_flag`=0); INSERT INTO `biz_qc_material_stock_batch` (`id`, `material_id`, `material_code`, `material_name`, `spec_model`, `unit`, `stock_in_no`, `stock_in_date`, `expire_date`, `catalog_no`, `batch_no`, `manufacturer`, `unit_price`, `amount`, `in_qty`, `remaining_qty`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'qcb00000000000000000000000000004', (SELECT `id` FROM `biz_qc_material` WHERE `material_code`='QC-MAT-004' AND `tenant_no`='zkxw' AND `del_flag`=0 LIMIT 1), 'QC-MAT-004', '胰酶消化液', '100ml/瓶', '瓶', 'RK-20260601-004', '2026-06-02', '2026-11-02', 'CAT-TRY-100', 'BN20260518', 'Sigma', 95.00, 760.00, 8.0000, 8.0000, 'zkxw', 4, '测试数据初始化', 'd3000000000000000000000000000001', '', '2026-06-02 08:30:00', 'd3000000000000000000000000000001', '2026-06-02 08:30:00', 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_qc_material_stock_batch` WHERE `stock_in_no`='RK-20260601-004' AND `tenant_no`='zkxw' AND `del_flag`=0); INSERT INTO `biz_qc_material_stock_batch` (`id`, `material_id`, `material_code`, `material_name`, `spec_model`, `unit`, `stock_in_no`, `stock_in_date`, `expire_date`, `catalog_no`, `batch_no`, `manufacturer`, `unit_price`, `amount`, `in_qty`, `remaining_qty`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'qcb00000000000000000000000000005', (SELECT `id` FROM `biz_qc_material` WHERE `material_code`='QC-MAT-005' AND `tenant_no`='zkxw' AND `del_flag`=0 LIMIT 1), 'QC-MAT-005', '台盼蓝染色液', '50ml/瓶', '瓶', 'RK-20260601-005', '2026-06-03', '2027-06-03', 'CAT-TB-50', 'BN20260525', 'Bio-Rad', 72.00, 360.00, 5.0000, 5.0000, 'zkxw', 5, '测试数据初始化', 'd3000000000000000000000000000001', '', '2026-06-03 08:40:00', 'd3000000000000000000000000000001', '2026-06-03 08:40:00', 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_qc_material_stock_batch` WHERE `stock_in_no`='RK-20260601-005' AND `tenant_no`='zkxw' AND `del_flag`=0); -- ── 入库变动记录 ────────────────────────────────── INSERT INTO `biz_qc_material_usage` (`id`, `material_id`, `material_code`, `material_name`, `batch_id`, `stock_in_no`, `catalog_no`, `batch_no`, `manufacturer`, `unit_price`, `amount`, `change_type`, `change_qty`, `stock_before`, `stock_after`, `source_type`, `tenant_no`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'qcu00000000000000000000000000001', (SELECT `id` FROM `biz_qc_material` WHERE `material_code`='QC-MAT-001' AND `tenant_no`='zkxw' AND `del_flag`=0 LIMIT 1), 'QC-MAT-001', 'DMEM培养基', 'qcb00000000000000000000000000001', 'RK-20260601-001', 'CAT-DMEM-500', 'BN20260501', 'Gibco', 128.00, 2560.00, 'in', 20.0000, 0.0000, 20.0000, 'manual_in', 'zkxw', '测试数据初始化', 'd3000000000000000000000000000001', '', '2026-06-01 08:00:00', 'd3000000000000000000000000000001', '2026-06-01 08:00:00', 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_qc_material_usage` WHERE `id`='qcu00000000000000000000000000001'); INSERT INTO `biz_qc_material_usage` (`id`, `material_id`, `material_code`, `material_name`, `batch_id`, `stock_in_no`, `catalog_no`, `batch_no`, `manufacturer`, `unit_price`, `amount`, `change_type`, `change_qty`, `stock_before`, `stock_after`, `source_type`, `tenant_no`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'qcu00000000000000000000000000002', (SELECT `id` FROM `biz_qc_material` WHERE `material_code`='QC-MAT-002' AND `tenant_no`='zkxw' AND `del_flag`=0 LIMIT 1), 'QC-MAT-002', '胎牛血清', 'qcb00000000000000000000000000002', 'RK-20260601-002', 'CAT-FBS-500', 'BN20260415', 'Gibco', 2680.00, 16080.00, 'in', 6.0000, 0.0000, 6.0000, 'manual_in', 'zkxw', '测试数据初始化', 'd3000000000000000000000000000001', '', '2026-06-01 08:10:00', 'd3000000000000000000000000000001', '2026-06-01 08:10:00', 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_qc_material_usage` WHERE `id`='qcu00000000000000000000000000002'); INSERT INTO `biz_qc_material_usage` (`id`, `material_id`, `material_code`, `material_name`, `batch_id`, `stock_in_no`, `catalog_no`, `batch_no`, `manufacturer`, `unit_price`, `amount`, `change_type`, `change_qty`, `stock_before`, `stock_after`, `source_type`, `tenant_no`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'qcu00000000000000000000000000003', (SELECT `id` FROM `biz_qc_material` WHERE `material_code`='QC-MAT-003' AND `tenant_no`='zkxw' AND `del_flag`=0 LIMIT 1), 'QC-MAT-003', '青霉素-链霉素双抗', 'qcb00000000000000000000000000003', 'RK-20260601-003', 'CAT-PS-100', 'BN20260520', 'HyClone', 186.00, 1860.00, 'in', 10.0000, 0.0000, 10.0000, 'manual_in', 'zkxw', '测试数据初始化', 'd3000000000000000000000000000001', '', '2026-06-02 08:20:00', 'd3000000000000000000000000000001', '2026-06-02 08:20:00', 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_qc_material_usage` WHERE `id`='qcu00000000000000000000000000003'); INSERT INTO `biz_qc_material_usage` (`id`, `material_id`, `material_code`, `material_name`, `batch_id`, `stock_in_no`, `catalog_no`, `batch_no`, `manufacturer`, `unit_price`, `amount`, `change_type`, `change_qty`, `stock_before`, `stock_after`, `source_type`, `tenant_no`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'qcu00000000000000000000000000004', (SELECT `id` FROM `biz_qc_material` WHERE `material_code`='QC-MAT-004' AND `tenant_no`='zkxw' AND `del_flag`=0 LIMIT 1), 'QC-MAT-004', '胰酶消化液', 'qcb00000000000000000000000000004', 'RK-20260601-004', 'CAT-TRY-100', 'BN20260518', 'Sigma', 95.00, 760.00, 'in', 8.0000, 0.0000, 8.0000, 'manual_in', 'zkxw', '测试数据初始化', 'd3000000000000000000000000000001', '', '2026-06-02 08:30:00', 'd3000000000000000000000000000001', '2026-06-02 08:30:00', 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_qc_material_usage` WHERE `id`='qcu00000000000000000000000000004'); INSERT INTO `biz_qc_material_usage` (`id`, `material_id`, `material_code`, `material_name`, `batch_id`, `stock_in_no`, `catalog_no`, `batch_no`, `manufacturer`, `unit_price`, `amount`, `change_type`, `change_qty`, `stock_before`, `stock_after`, `source_type`, `tenant_no`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'qcu00000000000000000000000000005', (SELECT `id` FROM `biz_qc_material` WHERE `material_code`='QC-MAT-005' AND `tenant_no`='zkxw' AND `del_flag`=0 LIMIT 1), 'QC-MAT-005', '台盼蓝染色液', 'qcb00000000000000000000000000005', 'RK-20260601-005', 'CAT-TB-50', 'BN20260525', 'Bio-Rad', 72.00, 360.00, 'in', 5.0000, 0.0000, 5.0000, 'manual_in', 'zkxw', '测试数据初始化', 'd3000000000000000000000000000001', '', '2026-06-03 08:40:00', 'd3000000000000000000000000000001', '2026-06-03 08:40:00', 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_qc_material_usage` WHERE `id`='qcu00000000000000000000000000005');