-- ============================================================================= -- 生产工单 / 生产任务 / 质检工单 / 质检任务 — 业务数据清空 -- 用途:测试环境重置生产与质检链路,便于重新跑入库/出库/临时生产及质检流程 -- 依据:docs/sql/zkxw.sql 当前模型(无数据库外键,按逻辑依赖子表优先) -- -- ⚠️ 警告:不可在生产库执行!建议先备份。 -- 建议执行顺序:先本脚本,再 dev-reset-business-flows.sql -- ============================================================================= SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; START TRANSACTION; -- --------------------------------------------------------------------------- -- 1. 生产任务明细(子表 → 主表) -- --------------------------------------------------------------------------- TRUNCATE TABLE `biz_production_task_step_reagent`; TRUNCATE TABLE `biz_production_task_step_output`; TRUNCATE TABLE `biz_production_task_step_data_collection`; TRUNCATE TABLE `biz_production_task_step_consumable`; TRUNCATE TABLE `biz_production_task_step`; TRUNCATE TABLE `biz_production_task_output`; TRUNCATE TABLE `biz_production_task_input`; TRUNCATE TABLE `biz_production_task`; TRUNCATE TABLE `biz_production_work_order`; -- --------------------------------------------------------------------------- -- 2. 质检任务 / 工单明细 -- --------------------------------------------------------------------------- TRUNCATE TABLE `biz_qc_task_result`; TRUNCATE TABLE `biz_qc_task`; TRUNCATE TABLE `biz_qc_work_order_third_item`; TRUNCATE TABLE `biz_qc_work_order_lab_item`; TRUNCATE TABLE `biz_qc_work_order`; -- --------------------------------------------------------------------------- -- 3. 生产 / 质检产生的库存变动与细胞产品 -- 注意:清空变动记录不会自动回滚 biz_consumable / biz_reagent / -- biz_qc_material 主表上的 stock_qty,测试后若库存不对需手工恢复种子值 -- --------------------------------------------------------------------------- TRUNCATE TABLE `biz_consumable_stock_log`; TRUNCATE TABLE `biz_reagent_stock_log`; TRUNCATE TABLE `biz_qc_material_usage`; TRUNCATE TABLE `biz_cell_product`; COMMIT; SET FOREIGN_KEY_CHECKS = 1; -- 验证(可选) -- SELECT 'production_work_order' AS tbl, COUNT(*) AS cnt FROM biz_production_work_order -- UNION ALL SELECT 'production_task', COUNT(*) FROM biz_production_task -- UNION ALL SELECT 'qc_work_order', COUNT(*) FROM biz_qc_work_order -- UNION ALL SELECT 'qc_task', COUNT(*) FROM biz_qc_task -- UNION ALL SELECT 'cell_product', COUNT(*) FROM biz_cell_product;