!96 chore(bpm): 新增数据库清理脚本并为用户同步接口添加Swagger注解

Merge pull request !96 from wsm/chore/clear_db
This commit is contained in:
wsm
2026-07-29 02:01:05 +00:00
committed by Gitee
2 changed files with 325 additions and 0 deletions
+321
View File
@@ -0,0 +1,321 @@
-- ============================================================
-- 数据库全量清理脚本
-- 目标:清除所有业务数据与流程运行时数据,
-- 保留用户/部门/角色/菜单/权限/字典等系统配置
-- 保留已设计的流程定义(可重新发布)
-- 效果:登录后可看到菜单,点进去是空的业务界面
--
-- 表来源:代码 @TableName 注解 + 数据库已存在
-- 部分表可能在某些环境中尚未创建,执行时若"doesn't exist"
-- 错误可忽略(该表当前环境无数据需清理)
--
-- ============================================================
-- 执行后必须执行的恢复操作:
-- 1. 同步用户到 Flowable 引擎:
-- PUT /act/process/extActProcess/doSyncUser
-- (act_id_* 表已清空,不执行此步则按角色/部门分配任务会失败)
-- 2. 重新发布流程定义(如有需要):
-- 进入流程设计器 → 发布已设计好的流程
-- ext_act_process.process_status 已重置为 0
-- ============================================================
SET FOREIGN_KEY_CHECKS = 0;
-- ============================================================
-- 1. Flowable 引擎运行时表(当前运行中的流程实例数据)
-- ============================================================
TRUNCATE TABLE act_ru_actinst;
TRUNCATE TABLE act_ru_deadletter_job;
TRUNCATE TABLE act_ru_entitylink;
TRUNCATE TABLE act_ru_event_subscr;
TRUNCATE TABLE act_ru_execution;
TRUNCATE TABLE act_ru_external_job;
TRUNCATE TABLE act_ru_history_job;
TRUNCATE TABLE act_ru_identitylink;
TRUNCATE TABLE act_ru_job;
TRUNCATE TABLE act_ru_suspended_job;
TRUNCATE TABLE act_ru_task;
TRUNCATE TABLE act_ru_timer_job;
TRUNCATE TABLE act_ru_variable;
-- ============================================================
-- 2. Flowable 引擎历史表(已完成的流程实例归档数据)
-- ============================================================
TRUNCATE TABLE act_hi_actinst;
TRUNCATE TABLE act_hi_attachment;
TRUNCATE TABLE act_hi_comment;
TRUNCATE TABLE act_hi_detail;
TRUNCATE TABLE act_hi_entitylink;
TRUNCATE TABLE act_hi_identitylink;
TRUNCATE TABLE act_hi_procinst;
TRUNCATE TABLE act_hi_taskinst;
TRUNCATE TABLE act_hi_tsk_log;
TRUNCATE TABLE act_hi_varinst;
TRUNCATE TABLE act_evt_log;
-- ============================================================
-- 3. Flowable 引擎部署表(已发布的流程定义快照,重新发布会自动重建)
-- ============================================================
TRUNCATE TABLE act_re_procdef;
TRUNCATE TABLE act_re_deployment;
TRUNCATE TABLE act_re_model;
TRUNCATE TABLE act_ge_bytearray;
TRUNCATE TABLE act_procdef_info;
-- ============================================================
-- 4. Flowable 事件注册表运行时数据
-- flw_channel_definition / flw_event_* / flw_ev_* 保留
-- ============================================================
TRUNCATE TABLE flw_ru_batch;
TRUNCATE TABLE flw_ru_batch_part;
-- ============================================================
-- 5. Flowable 身份表(从 sys_user/sys_role 同步的缓存,清空后需重新同步)
-- act_id_property 保留(引擎配置元数据)
-- ============================================================
TRUNCATE TABLE act_id_user;
TRUNCATE TABLE act_id_group;
TRUNCATE TABLE act_id_membership;
TRUNCATE TABLE act_id_info;
TRUNCATE TABLE act_id_bytearray;
TRUNCATE TABLE act_id_priv;
TRUNCATE TABLE act_id_priv_mapping;
TRUNCATE TABLE act_id_token;
-- ============================================================
-- 6. 自定义 BPM 运行时数据
-- ============================================================
TRUNCATE TABLE ext_act_bpm_log;
TRUNCATE TABLE ext_act_bpm_file;
TRUNCATE TABLE ext_act_flow_data;
TRUNCATE TABLE ext_act_task_cc;
TRUNCATE TABLE ext_act_task_notification;
TRUNCATE TABLE ext_act_mutil_flow_data;
TRUNCATE TABLE task_approval_opinion;
-- ============================================================
-- 7. 流程部署快照(与 act_re_* 对应,重新发布流程时自动重建)
-- ============================================================
TRUNCATE TABLE ext_act_process_node_deploy;
-- ============================================================
-- 8. 表单设计器运行时数据
-- design_form 及其他 design_form_* 表保留(表单定义)
-- ============================================================
TRUNCATE TABLE ext_act_design_flow_data;
TRUNCATE TABLE design_form_data;
-- ============================================================
-- 9. 流程定义状态重置为"未发布"
-- 以下流程定义配置表保留不动:
-- ext_act_process / ext_act_process_node / ext_act_process_form
-- ext_act_process_node_auth / ext_act_process_node_reject_target
-- ext_act_listener / ext_act_expression
-- ============================================================
UPDATE ext_act_process SET process_status = 0;
-- ============================================================
-- 10. 监督模块业务表(代码中有 @TableName 定义)
-- ============================================================
-- 习语讲话
TRUNCATE TABLE bg_xi_speak;
TRUNCATE TABLE bg_xi_speak_feedback;
-- 把脉问诊
TRUNCATE TABLE bg_takepulse;
TRUNCATE TABLE bg_takepulse_feedback;
-- 党务管理
TRUNCATE TABLE bg_partymatter;
TRUNCATE TABLE bg_partymatter_feedback;
-- 党建检查与整改
TRUNCATE TABLE dj_inspect_improve;
TRUNCATE TABLE dj_inspection_rectify_list;
TRUNCATE TABLE dj_check;
TRUNCATE TABLE dj_meeting_record;
TRUNCATE TABLE dj_demo_life_meeting;
TRUNCATE TABLE dj_people_service;
TRUNCATE TABLE dj_officialdoc_distribute;
-- 纪律检查
TRUNCATE TABLE dq_inspect_task;
TRUNCATE TABLE dq_inspect_progress;
TRUNCATE TABLE dq_inspect_problem;
-- 改善提案
TRUNCATE TABLE improvement_proposal;
TRUNCATE TABLE improvement_institute_vote;
TRUNCATE TABLE improvement_dept_score;
-- 任务清单
TRUNCATE TABLE task_task;
TRUNCATE TABLE task_list;
TRUNCATE TABLE task_list_detial;
TRUNCATE TABLE task_list_favorite;
TRUNCATE TABLE task_list_permission;
-- 监督测试
TRUNCATE TABLE supervision_test;
-- ============================================================
-- 11. JOA 流程业务演示表
-- ============================================================
TRUNCATE TABLE ext_biz_leave;
TRUNCATE TABLE joa_busines_strip;
TRUNCATE TABLE joa_doc_receiving;
TRUNCATE TABLE joa_doc_sending;
TRUNCATE TABLE joa_employee_leave;
TRUNCATE TABLE joa_loan;
TRUNCATE TABLE joa_overtime;
TRUNCATE TABLE joa_overtime_detail;
TRUNCATE TABLE joa_overtime_leave;
TRUNCATE TABLE joa_demo;
-- ============================================================
-- 12. Demo 模块测试表
-- ============================================================
TRUNCATE TABLE demo;
TRUNCATE TABLE demo_staff;
TRUNCATE TABLE demo_staff_group;
TRUNCATE TABLE demo_field_def_val_main;
TRUNCATE TABLE demo_field_def_val_sub;
TRUNCATE TABLE demo_sub_flow_hq;
TRUNCATE TABLE jeecg_order_main;
TRUNCATE TABLE jeecg_order_customer;
TRUNCATE TABLE jeecg_order_ticket;
TRUNCATE TABLE jeecg_tree_demo;
-- ============================================================
-- 13. OA 办公业务表
-- ============================================================
-- WPS
TRUNCATE TABLE oa_wps_file;
TRUNCATE TABLE oa_wps_file_version;
TRUNCATE TABLE oa_wps_file_watermark;
TRUNCATE TABLE oa_wps_user_acl;
-- 人事
TRUNCATE TABLE oa_become_regular;
TRUNCATE TABLE oa_dimission;
TRUNCATE TABLE oa_employee_award;
TRUNCATE TABLE oa_employee_certificate;
TRUNCATE TABLE oa_employee_education;
TRUNCATE TABLE oa_employee_experience;
TRUNCATE TABLE oa_employee_family;
TRUNCATE TABLE oa_employee_info;
TRUNCATE TABLE oa_employee_relations;
TRUNCATE TABLE oa_employment;
TRUNCATE TABLE oa_employment_apply;
TRUNCATE TABLE oa_interview;
TRUNCATE TABLE oa_promotion;
-- 出差/用车/请假/加班
TRUNCATE TABLE oa_business_travel;
TRUNCATE TABLE oa_business_travel_accompanied;
TRUNCATE TABLE oa_car_info;
TRUNCATE TABLE oa_car_use;
TRUNCATE TABLE oa_leave;
TRUNCATE TABLE oa_overtime;
TRUNCATE TABLE oa_security_vehicle;
-- 签到
TRUNCATE TABLE oa_sign_info;
TRUNCATE TABLE oa_sign_out;
TRUNCATE TABLE oa_sign_patch;
TRUNCATE TABLE oa_sign_rule;
-- 用品
TRUNCATE TABLE oa_supplies_detail;
TRUNCATE TABLE oa_supplies_use;
-- 公文
TRUNCATE TABLE oa_officialdoc_depart_user;
TRUNCATE TABLE oa_officialdoc_distribute;
TRUNCATE TABLE oa_officialdoc_issued;
TRUNCATE TABLE oa_officialdoc_organcode;
TRUNCATE TABLE oa_officialdoc_received;
TRUNCATE TABLE oa_officialdoc_seal;
TRUNCATE TABLE oa_officialdoc_temp;
-- ============================================================
-- 14. EOA 在线办公表
-- ============================================================
-- 聊天
TRUNCATE TABLE eoa_chat_group;
TRUNCATE TABLE eoa_chat_off_message;
TRUNCATE TABLE eoa_chat_on_message;
TRUNCATE TABLE eoa_chat_on_message_his;
TRUNCATE TABLE eoa_chat_session;
TRUNCATE TABLE eoa_chat_user;
TRUNCATE TABLE eoa_chat_user_group;
-- CMS
TRUNCATE TABLE eoa_cms_article;
TRUNCATE TABLE eoa_cms_article_read;
TRUNCATE TABLE eoa_cms_menu;
TRUNCATE TABLE eoa_cms_site;
-- 文件
TRUNCATE TABLE eoa_file;
TRUNCATE TABLE eoa_file_log;
-- 邮箱
TRUNCATE TABLE eoa_mailbox_attach;
TRUNCATE TABLE eoa_mailbox_category;
TRUNCATE TABLE eoa_mailbox_info;
TRUNCATE TABLE eoa_mailbox_receiver;
-- 会议
TRUNCATE TABLE eoa_metting;
TRUNCATE TABLE eoa_metting_device;
TRUNCATE TABLE eoa_metting_room;
TRUNCATE TABLE eoa_metting_sign;
-- 计划/门户
TRUNCATE TABLE eoa_plan;
TRUNCATE TABLE eoa_portal_site;
TRUNCATE TABLE eoa_portal_site_auth;
-- ============================================================
-- 15. 测试表(代码 @TableName + DB 中存在)
-- ============================================================
TRUNCATE TABLE ceshi_des_qingjia;
TRUNCATE TABLE ceshi_nongmin;
TRUNCATE TABLE ceshi_qingjia_dan;
TRUNCATE TABLE ceshi_ruzhi;
TRUNCATE TABLE ceshi_subqt;
TRUNCATE TABLE ce_fenzhi_zx;
TRUNCATE TABLE ce_paita_wangguan;
TRUNCATE TABLE joa_onl_leave;
TRUNCATE TABLE joa_onl_bthuiq;
TRUNCATE TABLE joa_onl_sxhuiq;
TRUNCATE TABLE oa_demo_bhan_wguan;
TRUNCATE TABLE rep_demo_dxtj;
TRUNCATE TABLE rep_demo_employee;
TRUNCATE TABLE rep_demo_gongsi;
TRUNCATE TABLE rep_demo_huizong;
TRUNCATE TABLE rep_demo_jianpiao;
TRUNCATE TABLE rep_demo_order_main;
TRUNCATE TABLE rep_demo_order_product;
TRUNCATE TABLE test_demo;
TRUNCATE TABLE test_enhance_select;
TRUNCATE TABLE test_main_table;
TRUNCATE TABLE test_note;
TRUNCATE TABLE test_online_link;
TRUNCATE TABLE test_order_customer;
TRUNCATE TABLE test_order_main;
TRUNCATE TABLE test_order_product;
TRUNCATE TABLE test_order_user;
TRUNCATE TABLE test_person;
TRUNCATE TABLE test_shoptype_tree;
TRUNCATE TABLE test_son_table;
TRUNCATE TABLE test_third_link;
TRUNCATE TABLE test_tree;
-- ============================================================
-- 16. 系统运行日志 / 消息 / API 调用记录
-- sys_files / sys_file_attachment 保留(头像、系统图标等文件)
-- jimu_report_export_log 保留(可选清除,见下方)
-- ============================================================
TRUNCATE TABLE sys_log;
TRUNCATE TABLE sys_data_log;
TRUNCATE TABLE sys_announcement;
TRUNCATE TABLE sys_announcement_send;
TRUNCATE TABLE sys_sms;
TRUNCATE TABLE sys_comment;
TRUNCATE TABLE sys_files_operate;
TRUNCATE TABLE open_api_log;
-- ============================================================
-- 17. (可选)取消注释以清除更多内容
-- ============================================================
-- TRUNCATE TABLE jimu_report_export_log;
-- TRUNCATE TABLE sys_file_attachment;
-- TRUNCATE TABLE sys_files;
-- TRUNCATE TABLE flyway_schema_history_1;
SET FOREIGN_KEY_CHECKS = 1;
@@ -37,6 +37,8 @@ import org.jeecg.modules.extbpm.util.JSONHelper;
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.data.domain.Sort;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -60,6 +62,7 @@ import java.util.stream.Collectors;
* @date 2019-03-15
* @version V1.0
*/
@Tag(name = "流程定义")
@RestController("extActProcessController")
@RequestMapping("/act/process/extActProcess")
@Slf4j
@@ -570,6 +573,7 @@ public class ExtActProcessController {
* @param extActProcess
* @return
*/
@Operation(summary = "同步用户到Flowable引擎")
@PutMapping(value = "/doSyncUser")
public Result<ExtActProcess> doSyncUser(HttpServletRequest request) {
Result<ExtActProcess> result = new Result<ExtActProcess>();