Skip to content

流程表达式

Flowable 使用 UEL(Unified Expression Language)进行表达式解析。它是 Java EE 6 规范的一部分,常用于条件分支、审批人分配、变量计算等场景。

例如:

学习资料:

下面按常见使用方式展开说明。

1. 流程表达式

1.1 分配给发起人

BpmTaskAssignStartUserExpression 用于将当前任务分配给流程发起人审批,需要声明为 Spring Bean。

text
${bpmTaskAssignStartUserExpression.calculateUsers(execution)}

在 BPMN 流程图中使用该表达式后,当前任务节点的审批人会被分配给发起人。

1.2 分配给发起人的指定级别领导

BpmTaskAssignLeaderExpression 用于将任务分配给发起人的指定 level 级领导审批,同样需要声明为 Spring Bean。

text
${bpmTaskAssignLeaderExpression.calculateUsers(execution, 1)}

其中:

  • 1 表示一级领导
  • 2 表示二级领导
  • 以此类推,level 参数表示领导层级

例如,若要分配给二级领导,可以使用:

text
${bpmTaskAssignLeaderExpression.calculateUsers(execution, 2)}

2. 流程表达式模板

在「工作流程 -> 流程管理 -> 流程表达式」菜单中,可以维护表达式模板,方便在设计流程图时直接选择。

  • 前端页面:views/bpm/processExpression/index.vue
  • 后端接口:BpmProcessExpressionController

2.1 使用场景

将常用表达式保存为模板,在流程设计时直接选择。

2.2 表结构

流程表达式模板通常存储在 bpm_process_expression 表中,核心字段如下:

sql
CREATE TABLE `bpm_process_expression` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
  `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '表达式名字',
  `status` tinyint NOT NULL COMMENT '表达式状态',
  `expression` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '表达式',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=120 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='BPM 流程表达式表';

其中,expression 字段表示表达式的具体内容,是最关键的字段。

联系我们

获取报价、演示和二开方案

微信咨询二维码

微信咨询

17156169080

添加时备注「RuoYi Office」

在线体验商业版