Skip to content

Instantly share code, notes, and snippets.

@henryyan
Last active January 4, 2016 05:59
Show Gist options
  • Save henryyan/8578924 to your computer and use it in GitHub Desktop.
Save henryyan/8578924 to your computer and use it in GitHub Desktop.
解析Activity
ProcessDefinition definition = repositoryService.createProcessDefinitionQuery().processDefinitionKey("leave").singleResult();
ProcessDefinitionEntity processDefinition = (ProcessDefinitionEntity) ((RepositoryServiceImpl) repositoryService)
.getDeployedProcessDefinition(definition.getId());
List<ActivityImpl> activitiList = processDefinition.getActivities();
for (ActivityImpl activity : activitiList) {
Map<String, Object> properties = activity.getProperties();
String type = properties.get("type").toString();
if (type.equals("exclusiveGateway")) {
List<PvmTransition> outgoingTransitions = activity.getOutgoingTransitions();
for (PvmTransition outgoingTransition : outgoingTransitions) {
TransitionImpl ti = (TransitionImpl) outgoingTransition;
System.out.println(ti.getProperties());
}
} else {
System.out.println(properties);
}
}
@henryyan
Copy link
Author

以kft-activiti-demo的请假流程为例,输出结果如下:

{taskDefinition=org.activiti.engine.impl.task.TaskDefinition@19c6e4d1, default=null, name=部门领导审批, documentation=null, type=userTask}
{conditionText=${!deptLeaderPass}, condition=org.activiti.engine.impl.el.UelExpressionCondition@50d8628f, name=不同意, documentation=null}
{conditionText=${deptLeaderPass}, condition=org.activiti.engine.impl.el.UelExpressionCondition@2e2ec3c0, name=同意, documentation=null}
{taskDefinition=org.activiti.engine.impl.task.TaskDefinition@3589f0, default=null, name=调整申请, documentation=null, type=userTask}
{taskDefinition=org.activiti.engine.impl.task.TaskDefinition@3af2ebab, default=null, name=人事审批, documentation=null, type=userTask}
{conditionText=${hrPass}, condition=org.activiti.engine.impl.el.UelExpressionCondition@224e45c9, name=同意, documentation=null}
{conditionText=${!hrPass}, condition=org.activiti.engine.impl.el.UelExpressionCondition@40c7a0b7, name=不同意, documentation=null}
{taskDefinition=org.activiti.engine.impl.task.TaskDefinition@72086f9a, default=null, name=销假, documentation=null, type=userTask}
{conditionText=${reApply}, condition=org.activiti.engine.impl.el.UelExpressionCondition@7d721f3, name=重新申请, documentation=null}
{conditionText=${!reApply}, condition=org.activiti.engine.impl.el.UelExpressionCondition@3cf5dc8a, name=结束流程, documentation=null}
{name=Start, documentation=null, type=startEvent}
{name=End, documentation=null, type=endEvent}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment