-- ============================================================================= -- 细胞存储 / 科研捐赠 / 中试服务 / 临床应用 — 业务数据清空 -- 用途:测试环境重置四条主业务流,便于从协议/申请单重新走全流程 -- 依据:docs/sql/zkxw.sql 当前模型(无数据库外键,按逻辑依赖子表优先) -- -- ⚠️ 警告:不可在生产库执行!建议先备份。 -- 建议执行顺序:先 dev-reset-production-qc.sql,再本脚本 -- -- 保留不动(主数据/配置): -- 客户、渠道、采集区域/医院、细胞产品类型/规格、工艺路线、 -- 质检项目/物料主数据、存储设施树、样本/协议号池记录本身、 -- 样本接收检查项配置(biz_sample_reception_check_item) 等 -- ============================================================================= SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; START TRANSACTION; -- --------------------------------------------------------------------------- -- 1. 临床应用 — 出库放行 / 交接(依赖输注计划,子表优先) -- --------------------------------------------------------------------------- TRUNCATE TABLE `biz_outbound_release_qc_material`; TRUNCATE TABLE `biz_outbound_release_paper`; TRUNCATE TABLE `biz_outbound_release_material`; TRUNCATE TABLE `biz_outbound_release_cell`; TRUNCATE TABLE `biz_outbound_release_review`; TRUNCATE TABLE `biz_outbound_handover`; TRUNCATE TABLE `biz_storage_release_review`; -- --------------------------------------------------------------------------- -- 2. 中试服务 + 临床应用 — 申请单及下游(共用 biz_pilot_* 表,按 biz_type 区分) -- --------------------------------------------------------------------------- TRUNCATE TABLE `biz_pilot_infusion_schedule_product`; TRUNCATE TABLE `biz_pilot_infusion_confirm`; TRUNCATE TABLE `biz_pilot_delivery_material`; TRUNCATE TABLE `biz_pilot_delivery`; TRUNCATE TABLE `biz_pilot_payment`; TRUNCATE TABLE `biz_pilot_infusion_schedule`; TRUNCATE TABLE `biz_pilot_infusion_plan`; TRUNCATE TABLE `biz_pilot_checkup_actual_item`; TRUNCATE TABLE `biz_pilot_checkup_reserve_item`; TRUNCATE TABLE `biz_pilot_checkup`; TRUNCATE TABLE `biz_pilot_delivery_method`; TRUNCATE TABLE `biz_pilot_patient`; TRUNCATE TABLE `biz_pilot_application`; -- --------------------------------------------------------------------------- -- 3. 样本接收(细胞存储 / 科研捐赠共用) -- --------------------------------------------------------------------------- TRUNCATE TABLE `biz_sample_reception_check_result`; TRUNCATE TABLE `biz_sample_reception`; TRUNCATE TABLE `biz_sample_sms_notification`; TRUNCATE TABLE `biz_storage_entry_sms_notification`; -- --------------------------------------------------------------------------- -- 4. 科研捐赠 -- --------------------------------------------------------------------------- TRUNCATE TABLE `biz_research_donation_sample_transport`; TRUNCATE TABLE `biz_research_donation_sample`; TRUNCATE TABLE `biz_research_donation_party`; TRUNCATE TABLE `biz_research_donation_collection`; TRUNCATE TABLE `biz_research_donation_audit`; TRUNCATE TABLE `biz_research_donation`; -- --------------------------------------------------------------------------- -- 5. 细胞存储 — 采集协议单及子表 -- --------------------------------------------------------------------------- TRUNCATE TABLE `biz_protocol_operation_log`; TRUNCATE TABLE `biz_protocol_sample_transport`; TRUNCATE TABLE `biz_protocol_storage_cert`; TRUNCATE TABLE `biz_protocol_payment_detail`; TRUNCATE TABLE `biz_protocol_payment`; TRUNCATE TABLE `biz_protocol_fullmoon_todo`; TRUNCATE TABLE `biz_protocol_donation_convert`; TRUNCATE TABLE `biz_protocol_sample`; TRUNCATE TABLE `biz_protocol_party_customer`; TRUNCATE TABLE `biz_protocol_collection_info`; TRUNCATE TABLE `biz_protocol_audit`; TRUNCATE TABLE `biz_collection_protocol`; -- --------------------------------------------------------------------------- -- 6. 库位占用(保留存储设施主数据 biz_storage_facility / _slot) -- --------------------------------------------------------------------------- TRUNCATE TABLE `biz_storage_slot_occupancy`; -- --------------------------------------------------------------------------- -- 7. 编号池 / 日序号复位(便于重新从 1 号开始测) -- --------------------------------------------------------------------------- UPDATE `biz_collection_protocol_no` SET `issued` = 0, `issued_user_id` = NULL, `issued_user_name` = NULL, `issued_time` = NULL; UPDATE `biz_sample_code` SET `issued` = 0, `issued_user_id` = NULL, `issued_user_name` = NULL, `issued_time` = NULL; DELETE FROM `biz_biz_no_sequence` WHERE `prefix` IN ('XBCC', 'JZCC'); COMMIT; SET FOREIGN_KEY_CHECKS = 1; -- 验证(可选) -- SELECT 'collection_protocol' AS tbl, COUNT(*) AS cnt FROM biz_collection_protocol -- UNION ALL SELECT 'research_donation', COUNT(*) FROM biz_research_donation -- UNION ALL SELECT 'pilot_application', COUNT(*) FROM biz_pilot_application -- UNION ALL SELECT 'sample_reception', COUNT(*) FROM biz_sample_reception -- UNION ALL SELECT 'storage_slot_occupancy', COUNT(*) FROM biz_storage_slot_occupancy;