普元EOS流程开发 ,回退办后流程直接回到本节点

由于普元官方暂时没有提供类似接口 所以只能采用曲线救国。

思路1:回退节点终止法(简单,帮助文档中也推荐该方法,效果不那么完美)

1、流程直接回退到 相关流程节点,建立一个来存放workitmeid(回退的节点A) 和 需要 返回的流程节点 (B)关联信息 的地方;可以是流程中的相关数据区,也可以专门的表,或者其他。

2、流程提交的时候 先去 步骤1中记录的数据中 判断(可以是节点监控,拦截器,我是所有流程提交统一入口),当前workitmeid (A)是否有记录,没有就直接过,存在那么此时就不是完成工作项,而是终止活动实例,并且启动 记录的返回的流程节点 (B)流程节点。这样就能达到回退办后流程直接回到本节点效果。

backActivity:回退到指定活动
terminateActivityInstance:终止活动实例
restartActivityInstance:重启实例


思路2:设置自由流(复杂,效果好,偶尔会出现异常情况,好像迁移线表会出问题)

1、同样,先记录这个回退信息(同上)。

2、流程提交时,判断存在那么,就设置这个流程节点为自由流,当节点为自由流后;在调用接口方法 指定该节点的 后续节点(需要返回的节点);在调用完成工作项,最后调用接口方法 删除 “指定该节点的 后续节点”。

1.  appointNextActivities(long workItemID, String appointStrategy, String[] activityDefID)  设置自由活动的后继活动  
2.  isFreeActivity(long workItemID)  判断对应的活动是否是个自由活动  
3.  queryAppointedNextActivities(long workItemID)  查询自由活动已被设置的后继活动  
4.  queryAppointedNextActivities4SDO(long workItemID)  查询自由活动已被设置的SDO类型的后继活动  
5.  queryNextFreeActivityScope(long workItemID)  获取自由活动可能的后继活动  
6.  queryNextFreeActivityScope4SDO(long workItemID)  获取自由活动SDO类型的可能后继活动  
7.  removeAppointedNextActivities(long workItemID,String[] activityDefID)  删除已被设置的后继活动  


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值