1 新建流程表单

1.1新增流程表单

表类型:工作流表单 必须包含字段proc_ins_id. 注意:主键必须是uuid,不能使用自增。

1.2设置页面

1.3生成代码

1.4获取表单地址

如下:

  • 表单地址:/test/activiti/TestActivitiLeaveForm

2新建流程模型

新建一个请假模型,然后点击在线设计,进入设计流程。

设计如下流程图

2.1设置流程属性

  • 流程名称:流程定义KEY,对应procDefKey,用来标识一个流程
  • 名称:流程定义名称
  • 描述:流程定义描述

2.2流程发起人流程变量

在开始节点的属性中设置“发起人”变量名:如:applyUserId

2.3给开始节点挂接表单地址

  • 全局表单:新建流程时或活动元素上未设置表单标识时调用的表单,位于开始事件属性中“表自定义表单”字段,指定表单访问地址。
  • 活动表单:当前步骤使用的表单,使用活动节点属性“自定义表单”字段。

将1.4步骤中,生成的表单:/test/activiti/TestActivitiLeaveForm地址,输入红框中。

2.4用户任务设置

选择部门领导审批,在活动节点属性中设置”表单地址", 输入1.4步骤中生成的表单地址:/test/activiti/TestActivitiLeaveForm(可以缺省设置,默认使用开始节点设置的表单),并勾选只读。 如下图所示:

在活动节点属性中找到“审核人”属性

  • 处理人:任务执行人,设置系统中的“登录名”(loginName)。
  • 候选人:候选任务执行人,多个用逗号“,”隔开。
  • 候选角色:候选任务执行组,多个用逗号“,”隔开,设置系统中的“角色英文名(enname)”。
  • 处理人和候选人的区别是:处理人不需要签收任务,直接可执行任务;候选人和候选角色为竞争方式分配任务,被指定人待办中都有一条任务,谁先签收谁就获得任务的执行权。
  • 参与者可指定流程变量(EL表达式),动态指定参与者,如:${processer}

2.5 按钮配置

添加同意和不同意两个按钮。 按钮编码,将作为流程变量提交。 例如:点同意时,将提交两个流程变量agree为true,disagree为false。 点击不同意,则提交agree为false和disagree为true的流程变量。 每个按钮对应一个编码,点击的按钮提交编码值为true的流程变量,其余按钮对应的编码提交为值是false的流程变量,流程分支根据提交的变量值决定执行哪个分支。

2.6设置流转条件

在流转线的属性中找流转条件同意和不同意,这里,写EL表达式,返回true或false,如下:${agree}和${disagree}, 对应2.5按钮配置中的按钮编码,请注意,每个流程分支中的流程表达式必须对应一个按钮的编码值。

2.7 调整申请设置

人事审批的设置和部门领导审批设置方式相同,跳过。进入调整申请任务设置。

  • 既流程发起人,applyUserId。
  • 自定义表单:输入1.4中获取的流程表单地址,可以留空,
  • 表单只读:不勾选 添加按钮和设置流转条件,参照2.5,2.6。

2.8设置结束节点

2.9保存发布流程设计图

工具栏上点击“保存并发布”按钮发布流程。

  • 同一标识流程,部署多次,版本号自动加1
  • 正在运行的流程,再次部署新流程后,正在运行的流程还按照原来流程设置走,再次新建的流程使用新流程走。

4测试执行

流程应用/我的事物/发起流程,点击请假流程。