2026-08-10 a378f38df1785cbc8c9f1d55ace6a37952d2f65b
docs/sql/clean_business_data.sql
@@ -1,7 +1,8 @@
-- ============================================================
-- 系统业务数据清理存储过程
--
-- 用途:清空所有业务单据数据,保留系统配置和基础数据
-- 用途:清空所有业务数据 + 基础数据(物料/客户/供应商/仓库等)
-- 保留:系统表、工作流引擎、定时任务、编码规则、基础设施配置
-- 注意:此操作不可逆,执行前请确认已备份数据库
--
-- 使用方式:CALL sp_clean_business_data();
@@ -13,11 +14,10 @@
CREATE PROCEDURE sp_clean_business_data()
BEGIN
    -- 关闭外键检查,避免因表间引用导致删除失败
    SET FOREIGN_KEY_CHECKS = 0;
    -- ============================================================
    -- 1. 系统日志与Token(可安全清理)
    -- 1. 系统日志与Token
    -- ============================================================
    TRUNCATE TABLE system_login_log;
    TRUNCATE TABLE system_operate_log;
@@ -31,7 +31,7 @@
    TRUNCATE TABLE infra_job_log;
    -- ============================================================
    -- 2. 文件与附件(业务文件,清理后不影响系统运行)
    -- 2. 文件与附件
    -- ============================================================
    TRUNCATE TABLE system_storage_attachment;
    TRUNCATE TABLE system_storage_blob;
@@ -62,28 +62,19 @@
    -- ============================================================
    -- 4. MES 仓库模块 — 业务单据
    -- ============================================================
    -- 库存交易流水(底层,先清)
    TRUNCATE TABLE mes_wm_transaction;
    TRUNCATE TABLE mes_wm_stock_reserve;
    TRUNCATE TABLE mes_wm_material_stock;
    -- 序列号 / 批次 / 条码
    TRUNCATE TABLE mes_wm_sn;
    TRUNCATE TABLE mes_wm_batch;
    TRUNCATE TABLE mes_wm_barcode;
    -- 盘点
    TRUNCATE TABLE mes_wm_stock_taking_task_result;
    TRUNCATE TABLE mes_wm_stock_taking_task_line;
    TRUNCATE TABLE mes_wm_stock_taking_task;
    TRUNCATE TABLE mes_wm_stock_taking_plan_param;
    TRUNCATE TABLE mes_wm_stock_taking_plan;
    -- 包装
    TRUNCATE TABLE mes_wm_package_line;
    TRUNCATE TABLE mes_wm_package;
    -- 出入库明细/行(先清 detail/line,再清主表)
    TRUNCATE TABLE mes_wm_item_receipt_detail;
    TRUNCATE TABLE mes_wm_item_receipt_line;
    TRUNCATE TABLE mes_wm_item_receipt;
@@ -132,7 +123,7 @@
    TRUNCATE TABLE mes_wm_arrival_notice;
    -- ============================================================
    -- 5. MES 质检模块 — 业务数据
    -- 5. MES 质检模块 — 业务单据
    -- ============================================================
    TRUNCATE TABLE mes_qc_indicator_result_detail;
    TRUNCATE TABLE mes_qc_indicator_result;
@@ -165,11 +156,100 @@
    TRUNCATE TABLE mes_pd_document;
    TRUNCATE TABLE mes_pd_project;
    -- 编码生成记录(规则本身保留)
    -- ============================================================
    -- 8. MES 基础数据 — 物料/产品/BOM/SOP/SIP
    -- ============================================================
    TRUNCATE TABLE mes_md_product_bom;
    TRUNCATE TABLE mes_md_product_sip;
    TRUNCATE TABLE mes_md_product_sop;
    TRUNCATE TABLE mes_md_item;
    TRUNCATE TABLE mes_md_item_batch_config;
    TRUNCATE TABLE mes_md_item_type;
    TRUNCATE TABLE mes_md_unit_measure;
    TRUNCATE TABLE mes_md_vendor;
    TRUNCATE TABLE mes_md_auto_code_record;
    -- ============================================================
    -- 8. CRM 模块 — 业务单据
    -- 9. MES 基础数据 — 车间/工作站/资源
    -- ============================================================
    TRUNCATE TABLE mes_md_workstation_machine;
    TRUNCATE TABLE mes_md_workstation_tool;
    TRUNCATE TABLE mes_md_workstation_worker;
    TRUNCATE TABLE mes_md_workstation;
    TRUNCATE TABLE mes_md_workshop;
    -- ============================================================
    -- 10. MES 基础数据 — 班组/排班
    -- ============================================================
    TRUNCATE TABLE mes_cal_plan_team;
    TRUNCATE TABLE mes_cal_plan_shift;
    TRUNCATE TABLE mes_cal_plan;
    TRUNCATE TABLE mes_cal_team_shift;
    TRUNCATE TABLE mes_cal_team_member;
    TRUNCATE TABLE mes_cal_team;
    TRUNCATE TABLE mes_cal_holiday;
    -- ============================================================
    -- 11. MES 基础数据 — 设备/工具台账
    -- ============================================================
    TRUNCATE TABLE mes_dv_check_plan_subject;
    TRUNCATE TABLE mes_dv_check_plan_machinery;
    TRUNCATE TABLE mes_dv_check_plan;
    TRUNCATE TABLE mes_dv_machinery;
    TRUNCATE TABLE mes_dv_machinery_type;
    TRUNCATE TABLE mes_dv_subject;
    TRUNCATE TABLE mes_tm_tool;
    TRUNCATE TABLE mes_tm_tool_type;
    -- ============================================================
    -- 12. MES 基础数据 — 工艺路线/工序/参数
    -- ============================================================
    TRUNCATE TABLE mes_pro_route_product_bom;
    TRUNCATE TABLE mes_pro_route_product;
    TRUNCATE TABLE mes_pro_route_process;
    TRUNCATE TABLE mes_pro_route;
    TRUNCATE TABLE mes_pro_process_content;
    TRUNCATE TABLE mes_pro_process;
    TRUNCATE TABLE mes_pd_process_param_template_detail;
    TRUNCATE TABLE mes_pd_process_param_template;
    TRUNCATE TABLE mes_pd_process_param;
    -- ============================================================
    -- 13. MES 基础数据 — 质检方案/缺陷/指标
    -- ============================================================
    TRUNCATE TABLE mes_qc_template_item;
    TRUNCATE TABLE mes_qc_template_indicator;
    TRUNCATE TABLE mes_qc_template;
    TRUNCATE TABLE mes_qc_defect;
    TRUNCATE TABLE mes_qc_indicator;
    -- ============================================================
    -- 14. MES 基础数据 — 仓库/库区/库位
    -- ============================================================
    TRUNCATE TABLE mes_wm_warehouse_location;
    TRUNCATE TABLE mes_wm_warehouse_area;
    TRUNCATE TABLE mes_wm_warehouse;
    -- ============================================================
    -- 15. MES 基础配置 — 编码记录/条码/安灯配置
    -- ============================================================
    TRUNCATE TABLE mes_wm_barcode_config;
    TRUNCATE TABLE mes_pro_andon_config;
    -- ============================================================
    -- 16. MDM 主数据
    -- ============================================================
    TRUNCATE TABLE mdm_item_sku;
    TRUNCATE TABLE mdm_item_migration_map;
    TRUNCATE TABLE mdm_item_batch_config;
    TRUNCATE TABLE mdm_item;
    TRUNCATE TABLE mdm_item_category;
    TRUNCATE TABLE mdm_brand;
    TRUNCATE TABLE mdm_unit_measure;
    TRUNCATE TABLE mdm_warehouse;
    -- ============================================================
    -- 17. CRM 模块 — 业务单据 + 客户 + 配置
    -- ============================================================
    TRUNCATE TABLE after_sale_return_item;
    TRUNCATE TABLE after_sale_return;
@@ -191,9 +271,14 @@
    TRUNCATE TABLE crm_follow_up_record;
    TRUNCATE TABLE crm_customer;
    TRUNCATE TABLE crm_permission;
    TRUNCATE TABLE crm_business_status;
    TRUNCATE TABLE crm_business_status_type;
    TRUNCATE TABLE crm_contract_config;
    TRUNCATE TABLE crm_customer_limit_config;
    TRUNCATE TABLE crm_customer_pool_config;
    -- ============================================================
    -- 9. ERP 模块 — 业务单据
    -- 18. ERP 模块 — 业务单据 + 供应商 + 结算账户
    -- ============================================================
    TRUNCATE TABLE erp_finance_payment_item;
    TRUNCATE TABLE erp_finance_payment;
@@ -205,9 +290,31 @@
    TRUNCATE TABLE erp_purchase_request;
    TRUNCATE TABLE erp_sale_order_items;
    TRUNCATE TABLE erp_sale_order;
    TRUNCATE TABLE erp_supplier;
    TRUNCATE TABLE erp_account;
    -- ============================================================
    -- 10. HRM 模块 — 业务单据
    -- 19. SRM 模块 — 业务单据 + 供应商 + 配置
    -- ============================================================
    TRUNCATE TABLE srm_bid_award;
    TRUNCATE TABLE srm_bid_evaluation;
    TRUNCATE TABLE srm_bid_open;
    TRUNCATE TABLE srm_tender_bid;
    TRUNCATE TABLE srm_tender_material;
    TRUNCATE TABLE srm_tender_project;
    TRUNCATE TABLE srm_delivery_plan;
    TRUNCATE TABLE srm_purchase_collaboration;
    TRUNCATE TABLE srm_supplier_quote;
    TRUNCATE TABLE srm_supplier_evaluation;
    TRUNCATE TABLE srm_supplier_certificate;
    TRUNCATE TABLE srm_supplier_contact;
    TRUNCATE TABLE srm_supplier_apply;
    TRUNCATE TABLE srm_supplier_category;
    TRUNCATE TABLE srm_supplier;
    TRUNCATE TABLE srm_tender_config;
    -- ============================================================
    -- 20. HRM 模块 — 业务单据 + 配置
    -- ============================================================
    TRUNCATE TABLE hrm_salary_payment_detail;
    TRUNCATE TABLE hrm_salary_payment;
@@ -224,32 +331,27 @@
    TRUNCATE TABLE hrm_employee_social_security;
    TRUNCATE TABLE hrm_employee_salary;
    TRUNCATE TABLE hrm_employee;
    TRUNCATE TABLE hrm_attendance_holiday;
    TRUNCATE TABLE hrm_attendance_rule;
    TRUNCATE TABLE hrm_leave_type_config;
    TRUNCATE TABLE hrm_salary_structure;
    TRUNCATE TABLE hrm_social_security_scheme;
    TRUNCATE TABLE hrm_tax_rate_config;
    -- ============================================================
    -- 11. SRM 模块 — 业务单据
    -- ============================================================
    TRUNCATE TABLE srm_bid_award;
    TRUNCATE TABLE srm_bid_evaluation;
    TRUNCATE TABLE srm_bid_open;
    TRUNCATE TABLE srm_tender_bid;
    TRUNCATE TABLE srm_tender_material;
    TRUNCATE TABLE srm_tender_project;
    TRUNCATE TABLE srm_delivery_plan;
    TRUNCATE TABLE srm_purchase_collaboration;
    TRUNCATE TABLE srm_supplier_quote;
    TRUNCATE TABLE srm_supplier_evaluation;
    TRUNCATE TABLE srm_supplier_certificate;
    TRUNCATE TABLE srm_supplier_contact;
    TRUNCATE TABLE srm_supplier_apply;
    -- ============================================================
    -- 12. BPM 模块 — 业务单据
    -- 21. BPM 模块 — 业务数据 + 流程定义
    -- ============================================================
    TRUNCATE TABLE bpm_oa_leave;
    TRUNCATE TABLE bpm_process_instance_copy;
    TRUNCATE TABLE bpm_process_definition_info;
    TRUNCATE TABLE bpm_process_expression;
    TRUNCATE TABLE bpm_process_listener;
    TRUNCATE TABLE bpm_user_group;
    TRUNCATE TABLE bpm_form;
    TRUNCATE TABLE bpm_category;
    -- ============================================================
    -- 13. AI 模块 — 会话/内容数据
    -- 22. AI 模块 — 数据 + 配置
    -- ============================================================
    TRUNCATE TABLE ai_chat_message;
    TRUNCATE TABLE ai_chat_conversation;
@@ -261,9 +363,13 @@
    TRUNCATE TABLE ai_music;
    TRUNCATE TABLE ai_write;
    TRUNCATE TABLE ai_workflow;
    TRUNCATE TABLE ai_api_key;
    TRUNCATE TABLE ai_model;
    TRUNCATE TABLE ai_tool;
    TRUNCATE TABLE ai_chat_role;
    -- ============================================================
    -- 14. IM 模块 — 会话/消息数据
    -- 23. IM 模块 — 数据 + 配置
    -- ============================================================
    TRUNCATE TABLE im_group_message_receipt;
    TRUNCATE TABLE im_group_message;
@@ -282,27 +388,79 @@
    TRUNCATE TABLE im_rtc_participant;
    TRUNCATE TABLE im_rtc_call;
    TRUNCATE TABLE im_user_online;
    TRUNCATE TABLE im_sensitive_word;
    TRUNCATE TABLE im_face_user_item;
    TRUNCATE TABLE im_face_pack_item;
    TRUNCATE TABLE im_face_pack;
    -- ============================================================
    -- 15. OA 通知公告 — 业务数据
    -- 24. BI 报表配置
    -- ============================================================
    TRUNCATE TABLE bi_warehouse_coordinate;
    TRUNCATE TABLE bi_chart_config;
    TRUNCATE TABLE bi_dashboard;
    TRUNCATE TABLE bi_data_source_config;
    -- ============================================================
    -- 25. 其他模块数据
    -- ============================================================
    TRUNCATE TABLE oa_notice_read;
    TRUNCATE TABLE oa_notice_user;
    TRUNCATE TABLE oa_notice;
    TRUNCATE TABLE system_notice;
    TRUNCATE TABLE system_notify_template;
    TRUNCATE TABLE system_mail_log;
    TRUNCATE TABLE system_mail_template;
    TRUNCATE TABLE system_mail_account;
    TRUNCATE TABLE system_sms_code;
    TRUNCATE TABLE system_sms_log;
    TRUNCATE TABLE system_sms_template;
    TRUNCATE TABLE system_sms_channel;
    TRUNCATE TABLE system_social_user_bind;
    TRUNCATE TABLE system_social_user;
    TRUNCATE TABLE system_social_client;
    TRUNCATE TABLE report_go_view_project;
    -- ============================================================
    -- 恢复外键检查
    -- ============================================================
    SET FOREIGN_KEY_CHECKS = 1;
    -- 返回清理结果
    SELECT '业务数据清理完成' AS result;
END$$
DELIMITER ;
-- ============================================================
-- 执行示例:
--   CALL sp_clean_business_data();
-- 保留的表(不会被清理):
--
-- 【系统核心】
--   system_users / system_dept / system_post
--   system_role / system_role_menu
--   system_menu
--   system_dict_type / system_dict_data
--   system_tenant / system_tenant_package
--   system_user_post / system_user_role
--   system_oauth2_client
--   system_notify_template → 已清理
--
-- 【基础设施】
--   infra_config / infra_job
--   infra_codegen_table / infra_codegen_column
--   infra_data_source_config / infra_file_config
--
-- 【工作流引擎】
--   act_* (Activiti 引擎表)
--   flw_* (Flowable 引擎表)
--
-- 【定时任务】
--   qrtz_* (Quartz 引擎表)
--
-- 【编码规则(保留)】
--   mes_md_auto_code_rule
--   mes_md_auto_code_part
--
-- 【示例表】
--   yudao_demo01_contact
--   yudao_demo02_category
--   yudao_demo03_course / yudao_demo03_grade / yudao_demo03_student
-- ============================================================
-- 执行:CALL sp_clean_business_data();