Files
shanxia2.0/docs/sql/dev-reset-business-flows.sql
T
2026-05-28 14:19:18 +08:00

115 lines
5.1 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.
-- =============================================================================
-- 细胞存储 / 科研捐赠 / 中试服务 / 临床应用 — 业务数据清空
-- 用途:测试环境重置四条主业务流,便于从协议/申请单重新走全流程
-- 依据: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;