编程语言
首页 > 编程语言> > Java工作流程引擎系统的退回规则 专题说明

Java工作流程引擎系统的退回规则 专题说明

作者:互联网

概述

说明:流程引擎的退回与发送,分别是前进与后退,它是流程引擎的基础功能操作,流程的退回根据不同的应用场景,也是需要不同的方式来控制,我们把这些方式叫做规则处理。

退回工作的场景相对复杂,由于与审核组件,表单联系在一起为了能适用更多的应用场景,少写代码,所有请仔细约定本文章关于退回的设置。

退回窗口页面:

首先选择要退回的节点,然后填写退回原因,最后点击退回方式,完成退回工作。

up-1192592469a8137a6bbab134c2ce5dfbdf6.png

被退回人打开退回的工作查看页面:

被退回人,可以从待办里打开工作,首先弹出的是退回信息。

up-1fcab451eca0966479c415cb3d77911cfbd.png

退回规则设置

退回规则在节点按钮标签栏目中的退回标签设置,如下图:

up-07d1472b32329b9d77a0fb7a8942d1d5bbd.png

不能退回:当前节点不能执行退回功能,当前节点的操作人员就不能看到退回按钮。

只能退回上一个节点:只能退回上一个节点,从那里发送来的,就退回到那里去。

可以退回以前任意节点:不限制退回的节点,但是退回的节点必须是当前节点以前的节点。

可退回指定的节点:退回指定的节点,此功能需要在流程属性中的可退回的节点中设置它。

up-b8e0ce05a02c9479cdde88ad419dde8cf92.png

总结:

1,根据实际业务需求,设置不同的退回方式。

2, 配合退回前、退回后的事件完成业务的可逆的操作。

退回的消息处理

1.执行退回后,系统都会向执行人发送消息,发送对象仅限于上一节点的执行人员,这样上被退回的点上的工作人员就有一个待办工作,如果您集成了ccim它就会自动发一个消息提醒。

2.退回的动作写入WF_Track中,流程轨迹中就能很好的反应出来。

3.被退回的人在进入当前工作时,第一次会有消息提示。

CCBPM如何处理流程退回过程的数据的完整性?

流程在退回时,有一段流程数据就是从当前点到退回点的所做的工作,这部分节点的数据如何处理成为了我们要探讨与取舍的难点。

以请假流程为例,申请人发起,部门经理审批,总经理审批,人力资源归档。如果总经理退回到第一个点,可以解释为,部门经理做的无效的工作,此部分工作需要删除,在3.0以前的版本,CCBPM都是这样的处理的,这样的解释也是用户所接受的。

但是在其它的流程就不能这样解释了,因为他需要保留历史痕迹,并且在退回后有如下可能要发生。

1, 退回到指定的点后,发起人删除流程。

2, 退回到退回节点后,发起人修改表单后发送,按原节点发回来。

3, 退回到退回节点后,发起人修改表单后发送,经历与其它的路线步骤到当前点。

4, 退回到退回节点后,发起人修改表单后发送,该走其它的路线不经当前点。

基于如上可能性的发生CCBPM,做了如下处理。

1, 退回阶段流程数据写入txt 文件里,放在D:\ccflow\CCFlow\DataUser\ReturnLog

2, 增加了流程报告与节点的焦点字段功能,系统把每一步骤的操作都记到日志表里了,通过焦点字段的配合,可以让操作员方便明晰的看到轨迹。

CCBPM6.0通过如上两个方法解决退回数据的完整性问题。

退回并原路返回

与节点属性中的[是否可以退回并原路返回?] 配合使用

应用场景:一个流程走过了ABCDEFG几个节点,在G节点上发现要退回给B节点上去,还期望B节点的人员完成后直接发送给G节点上来,这种应用场景就是是否可以在退回后原路返回。如果是直接退回并不原路返回,那么CCBPM将会删除退回点与退回到点中间的数据,否则就不删除它。

up-967b0efa77bf9bc660a5e9d7fc9d7522905.png

单节点退回规则

up-383d389b4b69718a13c9f97961426d00a1d.png

退回信息填写字段

用户经常会在审批意见的字段中填写意见然后点退回按钮,审批意见就是该操作员的审核意见,这个时候CCBPM需要把审核意见带入退回窗口,这个字段就是退回信息填写字段。

up-0395b06d9ed8788382020f15f0d821f201b.png

在demo的第二个节点,我们看看退回的效果,我们先看看测试效果。

up-f0661b7901a31226edff6cf99636332847e.png

点退回,CCBPM就会把审核意见放到退回的窗口里面

up-36db97ebee85ff2955567631f190f73ce23.png

被退回后信息提示:在退回成功后,用于个性化的提示被退回的信息,支持ccbpm表达式。

单节点退回规则:

谓的单节点退回规则是指按照节点的设置的退回规则,被退回的节点只有一个节点的时候才能适用此规则。

启用此规则的时候,用户点击退回按钮,系统就会直接弹出退回信息,并执行了退回。

这种模式下的退回,是根据设置的退回意见规则填充退回信息,如果设置[退回信息填写字段]来作为退回意见,就要在该[退回信息填写字段]文本框里填写该字段的名字。

如果设置了按审核组件的意见做为退回信息直接退回,对于当前节点启用了审核组件有效。

标签:专题,Java,流程,意见,引擎,规则,填写,退回,节点
来源: https://blog.51cto.com/14150825/2491206