activiti.md
3.28 KB
Activiti 集成
完整覆盖暂缓:Activiti 已接入代码库,但当前实时 DB 中没有部署流程。见切片 7(暂缓)。
本页记录代码库中与 Activiti 相关的事实,避免未来维护人员在工作流真正启用时从零开始。
两个 Activiti 版本
依赖树携带两个 Activiti 版本:
| 模块 | 版本 | 说明 |
|---|---|---|
xlyPersist |
org.activiti:activiti-engine:5.17.0 |
较老的 5.x 线 |
xlyFlow |
org.activiti:activiti-spring-boot-starter-rest-api:6.0.0、activiti-json-converter:6.0.0
|
较新的 6.0 线 |
这是实际版本不匹配。Activiti 5.x 和 6.x schema 有重叠,但在部分 act_* 表和迁移路径上分叉。可能性包括:
- 框架运行 Activiti 6.0(由 xlyFlow 驱动),而 xlyPersist 的 5.17 依赖是早期遗留。
- 不同服务因历史原因使用不同版本。
- 两者都在 classpath 中,但运行时只初始化一个。
未来维护人员应:(a) 移除未使用版本避免混淆,(b) 记录实时 schema 使用哪个版本,(c) 验证 act_* 表布局与该版本精确匹配。
额外事实:xlyFlow/build.gradle 引入 Activiti 6 starter,但 xlyFlow/src/main/java/com/xly/XlyFlowApplicationBoot.java 被完全注释。因此代码存在,但本仓库当前并没有把 xlyFlow 呈现为明确可独立运行的 app。
act_* schema
实时 DB 当前有预期的 act_* 表,但本轮检查的关键表都是空的:
-
act_re_deployment= 0 -
act_re_procdef= 0 -
act_ru_task= 0 -
act_hi_procinst= 0
xly 的包装层
三个 xly 表包装 Activiti 集成:
-
biz_flow:xly 每单据流程状态。 -
biz_todo_item:待审批任务。 -
biz_todo_copyto:流程抄送方。 -
gdsmoduleflow+gdsmoduleflowslave:模块流程窗口配置。
包装表在实时 DB 中也为空:gdsmoduleflow = 0、biz_flow = 0、biz_todo_item = 0、biz_todo_copyto = 0。
启用时的模式:单据提交写入 biz_flow 行,同时启动 Activiti 流程实例;待审批人在 biz_todo_item 中看到任务;审批后流程实例推进并最终完成。
代码中接入位置
xlyFlow/ 是专用模块。后续补全时应关注:
-
xlyFlow的 Gradle build 引入 Activiti 6.0。 - Activiti process engine 的 Spring Boot 配置。
-
xlyEntry/com/xly/web/businessweb/中的CheckFlowController是 SPA 驱动工作流(审批 / 驳回 / 查看)的一个入口。 - BPMN 流程定义若存在,应位于
xlyFlow/src/main/resources/processes/或类似位置;当前代码库为空。
让 Activiti 工作需要什么
使用工作流的部署需要:
- 已部署 BPMN 流程定义(
act_re_procdef有数据)。 - 模块标记
bCheck = 1,并通过gdsmoduleflow关联到正确流程。 - 通过
act_id_*或 xly 包装层分配审批用户。 - 保存端点在
bCheck = 1模块上分支,启动流程实例,而不是(或除了)标准 add/update/delete。
当有已部署流程的环境可用时,本页会成为正式参考;在此之前,把它视为“这里应该有什么”的清单。