工作已经使用Activiti工作流有一段时间了,现对一些工作注意事项进行总结。
一:IDEA 工作流插件
Activiti中的IDEA插件真的非常烂,要非常非常小心。
- 有的IDEA打卡.bpmn文件时不显示属性面板,这时候需要将IDEA的主题调成白色,关闭.bpmn文件重新打开就出来了。
- 使用IDEA打开.bpmn文件时很多时候你什么也没改,但是文件会发生变化,会被git识别出来,一般是鼠标点击了节点,可能节点的x,y坐标发生了一丁点的改变。
- 工作流插件在属性面板中设置了值,再打开查看时不显示,注意此时需要使用文本编辑器去打开.bpmn文件看值还在不在,如果在就不需要额外关注。
- .bmpn文件中的所有的ID值最好不要使用系统生成的数字,最好为每个节点都定义一个英文标识。
二:关于代码
- 审批接口一定要让前端给你传参数processInstanceId和taskDefKey,后端根据流程实例id去查工作流的表校验当前任务的节点是否和前端穿的参数taskDefKey是否一致,如果不一致就不允许完成任务。
- 审批接口一定要校验当前审批人是否在ASSIGNEE_处理人列表中,如果不在就不允许完成任务。
- 审批完成后最好要添加审批意见act_hi_comment。
- 有的业务场景是根据节点名称获取下一节点的待办人列表的,此时.bpmn文件就不需要指定代办人,而是通过程序设置。
- 如何快速的修改当前任务的节点,首先修改act_ru_task中的TASK_DEF_KEY修改成想要的节点和NAME_ 修改节点的名字,然后修改act_ru_execution中的ACT_ID_修改为指定节点的id值,修改这两张表即可。
三:关于工作流发布
- 工作中一般是手动发布工作流,避免自动全量发布带来不确定的隐患。
|