一文带你了解如何编辑工作流流程图

Posted 小黄鸡1992

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一文带你了解如何编辑工作流流程图相关的知识,希望对你有一定的参考价值。

1.通用审批流程组件

1.编辑表单

申请人和审批人都会有各自表单(在需要的情况下)。在编辑流程时,第一步就是编辑表单。

1.编辑申请人表单


这里需要要记住表单key,在与流程图挂接时需要。


如果需要在后续审批中进行输入值的判断,一定要记住自定义表单的需要验证值的字段名称,如上文处。

2.审批人表单

同理,制作审批人表单。这里随便拉取几个组件。

2.编辑模型

接下来就是编辑模型。

这里的模型key不要使用汉字,同时不要使用全部的数字。


选择新增的模型就行设计。

1.开始节点

如果需要申请表单,这里需要填写上文的表单key.form。不需要则可以不填写。

2.申请人节点

在这里有个特殊设置,需要在申请人节点上更改节点id为:initiator ,这样在记录中会有具体体现。

在传统的工作流中设计中,开始节点就为申请人的节点,这样的话在过程意见中就体现不出来申请人的信息。所以建议使用以上方式多加一个申请人的节点,当配置__initiator__后会自动判断此节点为申请人,并完成,下图为其中的区别。


然后申请人节点就完成了。

3.并行流节点

然后选择并行流

1.编辑网关

然后分别更改两个网关 节点id 为_begin与_end。

2.指定审批人

指定为用户任务。

在执行人处填写用户的username。及可指定当前节点的审批人

两个节点同理,请自行操作。

3.含义

最终形成下图。含义是经过项目经理1和项目经理2后才能够进行下一审批节点。

4.组审批

下一个审批人也可以是某一个组,本系统是可以指定具体的岗位。

首先,修改节点id。然后指定审批组的名称。

节点类型均为用户类型,下文也不在强调。

5.互斥网关

多个流程节点,判断后进入符合条件的节点。这里我们选择互斥网关。

编辑网关与节点的连接线,更改节点名称和流转条件,流转条件为上文自定义表单中需要判断输入框的表单值。并使用${}包裹即可。

节点名称中不能出现特殊符号,否则解析报错。

然后继续添加用户节点即可。与上文相同。

6.结束节点

代表着流程结束。

3.发布与进行审批

1.保存模型

2.部署模型

找到模型选项,点击部署。

3.发起流程

在部署之后,在流程定义与发起审批界面即可找到刚添加的流程。进入发起流程模块,点击发起流程即可开始流程设计。

4.审批

进入不同账号,在我的待办中可以查询到待审批数据。


点击执行后可以看到以下功能,具体含义上文有描述。可以根据步骤继续进行。

2.常见的特殊业务

1.会签业务

1.什么是会签

在政府项目中,恶心的需求很多很多,其中有这种情况:有一个审批节点的审批人不确定(不能用相容网关),而且流转条件是超过一半人/三分之一(条件不确定)同意就可以进入下一个审批节点,那么这种情况就叫做会签。

2.如何设计会签

1.设置会签并行/串行流

在如下图,一个是并行流的会签,一个是串行流的会签,顾名思义。

2.配置多实例

多实例就像是java的foreach循环,将集合循环,每一条数据叫做元素变量,并起一个别名。循环基数是循环userList的次数。

3.跳出会签

怎么跳出会签呢,flowable提供了一波参数,这几个参数可以怎么做算数运算。图中条件为同意人数大于1(2人)即可进入下一节点。

  1. nrOfInstances 该会签环节中总共有多少个实例\\
  2. nrOfActiveInstances 当前活动的实例的数量,即还没有 完成的实例数量。\\
  3. nrOfCompletedInstances 已经完成的实例的数量

4.设置会签审批人

需要配置执行人。且执行人${}中添加的值为上文元素变量的值。

5.后台设置

需要提供给上文配置的类,提供一个list数组作为参与会签的用户。

public interface CountersignUserService { List<String> CountersignDemoUser(); }
@Service("countersignUserService")
public class CountersignUserServiceImpl implements CountersignUserService {

    @Override
    public List<String> CountersignDemoUser() {
        List<String> result = Arrays.asList("admin","aaaa","bbb");
        return result;
    }
}

注意:返回值需要使用List,同时本文处写死,当然可以从表中取出,迭代比较简单。

2.发送邮件

当然也可以发送邮件,只需要在后台配置即可。

flowable:
  activity-font-name: 宋体
  label-font-name: 宋体
  annotation-font-name: 宋体
  check-process-definitions: false
  mail:
    server:
      host: smtp.qq.com
      port: 25
      default-from: 2840864167@qq.com
      username: 2840864167@qq.com
      password: xbhvrlhhlbiadfje

3.指定下一审批人

如何在审批完成后可以自由的指定下一审批人。

1.设置表单

新增下一审批人输入框。

2.编辑流程定义

在执行人处${person},内容为表单中字段值名称。

在审批时填写该值,即可实现。

以上是关于一文带你了解如何编辑工作流流程图的主要内容,如果未能解决你的问题,请参考以下文章

一文带你了解 Python 中的装饰器

职场必备知识一文带你了解清楚职场中常用的个税知识

职场必备知识一文带你了解清楚职场中常用的个税知识

数栈技术分享:一文带你了解Flink jmtm启动过程和资源分配

Java8 Stream流如何操作集合,一文带你了解!

Java8 Stream流如何操作集合,一文带你了解!