Activiti 五 自定义用户管理 修改怎么解决

Activiti 五 自定义用户管理 修改怎么解决,第1张

<!-- Activiti begin -->

<bean id="processEngineConfiguration" class="orgactivitispringSpringProcessEngineConfiguration">

<property name="dataSource" ref="dataSource" />

<property name="transactionManager" ref="transactionManager" />

<property name="databaseSchemaUpdate" value="true" />

<property name="jobExecutorActivate" value="false" />

<property name="history" value="full" />

<!-- 自动部署 -->

<property name="deploymentResources">

<list>

<value>classpath:/deployments/</value>

</list>

</property>

<!-- 自定义表单字段类型 -->

<property name="customFormTypes">

<list>

<bean class="mekafeitudemoactivitiactivitiformUsersFormType" />

</list>

</property>

<property name="customSessionFactories">

<list>

<bean class="comsanshenworkflowactivitiCustomUserEntityManagerFactory" />

<bean class="comsanshenworkflowactivitiCustomGroupEntityManagerFactory" />

</list>

</property>

</bean>

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

公司业务需求要求显示流程图的执行的线路高亮

然后就开始了漫长的复制粘贴之旅

因为activiti不会对走过Flow进行记录,只对活动做记录,基本思路就是通过historyService可以获取到所有的HistoricActivityInstance,然后通过活动顺序再获取到执行过的flowId

但是这里有一个巨坑,这个HistoricActivityInstance是无序的,里面并没有字段可以对其进行排序,网上有很多文章说是用开始时间进行排序

但这是根本就是扯淡,开始时间根本不能排序,因为很多活动都是一瞬间完成的,开始时间是完全相同的,比如开始事件和第一个活动,比如排他网关和执行的下一个活动,所以根本无法排序,同理结束时间也无法进行排序。

还有很多文章写了很复杂的算法来获取到执行过的线路,但是都是没有用,不是少了就是多了。

最后仔细的研究了HistoricActivityInstance这个类,发现其实是有规律的,那就是一个活动结束的时间是和下一个执行的活动的开始时间,如果当前Activity的结束时间和下一个Activity的开始时间相等两个活动中间的Flow就走过,知道原理就好办了。

以上就是关于Activiti 五 自定义用户管理 修改怎么解决全部的内容,包括:Activiti 五 自定义用户管理 修改怎么解决、activiti怎么通过taskid查询executionid、Activiti流程图跟踪遇到的坑等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/web/9678330.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存