xiaobaoqiu Blog

Think More, Code Less

Activiti任务增加属性

最近逐步将组内的审核业务迁移到 Activiti 上,为了适配已有业务,需要原生的 Activiti 的用户任务上增加一些属性,比如用户任务(UserTask)增加类型属性等。 Activiti版本为:5.22.0

1.任务增加属性

下面以增加任务类型为例子,记录修改点:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
1.修改表结构,ACT_RU_TASK表增加 TASK_TYPE_ 字段
在 activiti-engine 包下,找自己对应的数据库的文件(mysql版本...)

1.UserTask增加taskType属性
包路径:org.activiti.bpmn.model.UserTask

3.Task接口增加setTaskType方法
包路径:org.activiti.engine.task.Task

4.TaskEntity增加taskType属性
包路径:org.activiti.engine.impl.persistence.entity.TaskEntity

5.DelegateTask借口增加 getTaskType 和 setTaskType
包路径:org.activiti.engine.delegate.DelegateTask

6.TaskDefinition增加taskTypeExpression
包路径:org.activiti.engine.impl.task.TaskDefinition

7.DynamicBpmnConstants增加USER_TASK_TYPE
包路径:org.activiti.engine.DynamicBpmnConstants

8.UserTaskActivityBehavior设置taskType属性
包路径:org.activiti.engine.impl.bpmn.behavior.UserTaskActivityBehavior

9.UserTaskParseHandler解析taskType属性
包路径:org.activiti.engine.impl.bpmn.parser.handler.UserTaskParseHandler

10.BpmnXMLConstants增加 ATTRIBUTE_TASK_USER_TYPE
包路径:org.activiti.bpmn.constants.BpmnXMLConstants

11.UserTaskXMLConverter注册 ATTRIBUTE_TASK_USER_TYPE
包路径:org.activiti.bpmn.converter.UserTaskXMLConverter

12. Semantic.xsd 文件
包括各个版本的 XSD 文件(XML结构定义)

13. HistoricTaskWrapper 增加 taskType
包路径:org.activiti.explorer.ui.task.data.HistoricTaskWrapper

14.HistoricTaskInstanceEntity 增加 taskType
包路径:org.activiti.engine.impl.persistence.entity.HistoricTaskInstanceEntity

15. 更多...

在自己的API中定义任务类型,然后我们可以修改 activiti-modeler 的相关代码,使得Activiti支持画图时候指定任务类型。