activiti怎么通过taskid查询executionid

activiti怎么通过taskid查询executionid,第1张

createTaskQuery()、首先是根据流程ID获取当前任务: ProcessDefinitionEntity def = (P,然后根据流程定义获得所有的节点list(); 2processInstanceId(procInstanceId)1、然后根据当前任务获取当前流程的流程定义: List tasks = taskService

// 查找上一个已完成的user task节点          

List<HistoricActivityInstance> historicActivityInstances = historyServicecreateHistoricActivityInstanceQuery()

        activityType("userTask")

        processInstanceId(processInstancegetId())

        finished()

        orderByHistoricActivityInstanceEndTime()

        desc()

        list();

historicActivityInstancesget(0)getActivityId();

Java代码0202

List<Task02tasks02=02taskServicecreateTaskQuery()processInstanceId(procInstanceId)list();0202

然后根据当前任务获取当前流程的流程定义,然后根据流程定义获得所有的节点:02

Java代码0202

ProcessDefinitionEntity02def02=02(ProcessDefinitionEntity)02((RepositoryServiceImpl)rs)getDeployedProcessDefinition(taskgetProcessDefinitionId());02020202List<ActivityImpl02activitiList02=02defgetActivities();0202

//rs是指RepositoryService的实例0202根据任务获取当前流程执行ID,执行实例以及当前流程节点的ID:02

Java代码0202

String02excId02=02taskgetExecutionId();0202

ExecutionEntity02execution02=02(ExecutionEntity)02runtimeServicecreateExecutionQuery()executionId(excId)singleResult();0202

String02activitiId02=02executiongetActivityId();0202

然后循环activitiList 并判断出当前流程所处节点,然后得到当前节点实例,根据节点实例获取所有从当前节点出发的路径,然后根据路径获得下一个节点实例:02

Java代码0202for(ActivityImpl02activityImpl:activitiList){0202

String02id02=02activityImplgetId();0202if(activitiIdequals(id)){0202

Systemoutprintln(

"当前任务:"

+activityImplgetProperty("name"));02//输出某个节点的某种属性0202List<PvmTransition02outTransitions02=02activityImplgetOutgoingTransitions();

//获取从某个节点出来的所有线路0202for(PvmTransition02tr:outTransitions){0202

PvmActivity02ac02=02trgetDestination();02

//获取线路的终点节点0202Systemoutprintln("下一步任务任务:"

很容易,比如说你有个代办任务,是Task1,然后你用Task1getExecutionId() 就拿到当前流程实例ID了,没有Task1也行,拿到execution对象也可以,直接getId就可以了 你记住,只要execution里面不管是Execution 还是 OpenExecution 还是ExecutionImpl都可

Activiti工作流总共包含23张数据表,所有的表名默认以“ ACT_ ”开头。并且表名的第二部分用两个字母表明表的用例,而这个用例也基本上跟Service API匹配

用来保存部署文件的大文本数据。

保存流程定义和xml、Serializable(序列化)的变量,即保存所有二进制数据,特别注意类路径部署时候,不要把svn等隐藏文件或者其他与流程无关的文件也一起部署到该表中,会造成一些错误(可能导致流程定义无法删除)。

属性数据表。存储这个流程引擎级别的数据。

历史活动信息。这里记录流程流转过的所有节点,与HI_TASKINST不同的是,taskinst只记录usertask内容。

附件信息

历史审批意见表

历史详情表:流程中产生的变量详细,包括控制流程流转的变量,业务表单中填写的流程需要用到的变量等。

任务参与者数据表。主要存储历史节点参与者的信息。

历史流程实例信息

历史任务流程实例信息

历史变量信息

用户组表,用来存储用户组信息。

用户扩展信息表。

用来保存用户的分组信息

用户信息表

部署信息表, 用来存储部署时需要持久化保存下来的信息

流程设计模型表,创建流程的设计模型时,保存在该数据表中。

流程解析表,解析成功了,在该表保存一条记录。业务流程定义数据表

运行时事件

运行时流程执行实例,我的代办任务查询表

身份联系,主要存储当前节点参与者的信息,任务参与者数据表。

运行时定时任务数据表

运行时任务数据表

运行时流程变量数据表

1、首先是根据流程ID获取当前任务: List tasks = taskServicecreateTaskQuery()processInstanceId(procInstanceId)list(); 2、然后根据当前任务获取当前流程的流程定义,然后根据流程定义获得所有的节点: ProcessDefinitionEntity def = (P

以上就是关于activiti怎么通过taskid查询executionid全部的内容,包括:activiti怎么通过taskid查询executionid、Activiti6.0工作流如何获取上一个节点信息、ACTIVITI如何获取下一步节点求解答等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9292430.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存