首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >如何量化一个工作流引擎的配置能力:口径与清点方法

如何量化一个工作流引擎的配置能力:口径与清点方法

原创
作者头像
驰骋工作流程
发布于 2026-10-25 10:19:29
发布于 2026-10-25 10:19:29
90
举报

选型时常被问「引擎有多强」,却难有可比口径。本文按枚举、属性、设计器面板、对外接口四层逐项清点,并说明统计边界。

流程引擎功能量化技术描述

统计日期:2026-10-24 统计口径:以当前仓库源码中的枚举项 / 属性常量 / 设计器 map.Add 字段 / 管理端 GPE·GPN 面板为准,逐项清点。 说明:本文回答「有多少配置项、有多少规则」,不展开「每个怎么用」。功能需求粒度(四大流程模式共 769 个功能点)见姊妹文档《该引擎主要流程功能统计汇总报告》。


一、总览:一张表看体量

维度

数量

统计口径

源码锚点

找人规则(DeliveryWay)

62

前端唯一枚举值(后端 59,含注释差异)

DeliveryWay.ts / EnumLib.DeliveryWay

节点属性字段

138

NodeAttr 常量

Template/NodeAttr.cs

流程属性字段

93

FlowAttr 常量

Template/FlowAttr.cs

节点属性 UI 配置项

69

NodeExt.ts 中 map.Add*

AttrNode/NodeExt.ts

流程属性 UI 配置项

63

FlowExt.ts 中 map.Add*

AttrFlow/FlowExt.ts

按钮/工具栏属性字段

135

BtnAttr 常量

Template/BtnAttr.cs

工具栏按钮族

40

BtnLab 中活跃的 *Lab 字段

AttrNode/BtnLab.ts

工具栏相关配置项

121

BtnLab 中 map.Add*

同上

退回规则

6

ReturnRole 枚举

EnumLib.ReturnRole

删除规则

5

DelWorkFlowRole 枚举

EnumLib.DelWorkFlowRole

跳转规则

5

JumpWay 枚举

EnumLib.JumpWay

撤销规则

4

CancelRole 枚举

EnumLib.CancelRole

阻塞模式

8

BlockModel 枚举

EnumLib.BlockModel

多人处理模式

5

TodolistModel 枚举

EnumLib.TodolistModel

节点执行方式

5

WhoExeIt(0~4)

whoExeIt.ts / NodeExt

节点运行模式

6

RunModel 枚举

EnumLib.RunModel

方向/条件数据源

18

ConnDataFrom 枚举

Template/CondEnum.cs

条件类型

5

CondType 枚举

同上

节点事件标记

26

EventListNode 常量

EvenListNode.cs

流程事件标记

7

EventListFlow 常量

EvenListFlow.cs

事件执行类型

10

EventDoType 枚举

基础框架组件/Sys/EnumLib.cs

轨迹动作类型

42

ActionType 枚举

EnumLib.ActionType

人员选择器模式

16

SelectorModel 枚举

EnumLib.SelectorModel

抄送规则

6

CCRoleEnum 枚举

EnumLib.CCRoleEnum

表单方案类型(活跃)

9

GPE_FrmSln 中启用的方案

AttrNode/FrmSln/GPE_FrmSln.ts

审核组件配置项

25

NodeWorkCheck 的 map.Add*

AttrNode/NodeWorkCheck.ts

节点管理 GPE/GPN 面板

33

AttrNode/**/GPE_*.ts + GPN_*.ts

Vue3/.../AttrNode/

流程管理 GPE/GPN 面板

23

AttrFlow/**/GPE_*.ts + GPN_*.ts

Vue3/.../AttrFlow/

对外 API(Dev2Interface)

307

public static 成员

流程组件/Dev2Interface.cs

读数提示:同一概念常有两层数字——枚举/常量层(引擎能表达什么)与 UI 层(设计器暴露多少)。例如节点属性常量 138 个,设计器主面板直接展示约 69 项,其余通过 GPE 子面板、参数表、关联实体展开。


二、找人规则:62 种 DeliveryWay

接收人规则是流程引擎差异化最明显的能力之一。前端 DeliveryWay.ts 定义 62 个唯一数值(后端 EnumLib.DeliveryWay 活跃枚举约 59 项;前端多出如 ByDeptOrg=101、ZhieJieShangJi601/602 等扩展值)。

2.1 按机制分组(便于选型)

分组

代表规则

说明

组织结构

ByStation、ByDept、ByBindEmp、ByDeptAndStation、ByStationOnly、ByDeptLeader、ByDeptSpecer、ByEmpLeader

角色/部门/人员绑定及领导计算

范围交集

ByStationSpecDepts、ByStationSpecStas、FindSpecDeptEmps*

指定部门集合 ∩ 角色、指定角色集合 ∩ 部门

连续多级主管

ByMLeader0/1/2、ZhieJieShangJi601/602

指定角色、通讯录等级、顶级部门、直属上级

与历史节点相同

ByStarter、ByPreviousNodeEmp、BySpecNodeEmp、BySpecNodeEmpStation

发起人 / 上一节点 / 指定节点处理人

上级部门

BySenderParentDeptLeader、BySenderParentDeptStations

发送人上级部门负责人 / 角色

表单字段驱动

ByPreviousNodeFormEmpsField、…FrmDtl、…Team、…Depts、…DeptStations、…StationsAI、…StationsOnly

主表/从表人员、部门、角色、权限组字段

SQL / 数据源 / API

BySQL、BySQLTemplate、ByGenerDBSrc、SubThreadByGenerDBSrc、ByAPIUrl、BySFTable、ByFEE

外部数据决定接收人

人员选择器

BySelected、BySelected_1/2/3、BySelfUrl、BySelectedEmpsOrgModel、PreplaceWokerFree/Fix

海选、固定范围、自定义 URL、预置处理人

用户组

ByTeamOnly、ByTeamOrgOnly、ByTeamDeptOnly、ByTeamStationOnly、ByBindTeamEmp

全集团 / 本组织 / 本部门用户组

路由

ByFromEmpToEmp、ByFromDeptToEmp、ByFromAttrToEmp

人员/部门/字段路由表

子线程专用

BySQLAsSubThreadEmpsAndData、ByDtlAsSubThreadEmps、BySetDeptAsSubthread

子线程接收人与数据源

项目 / 组织选择

ByStationForPrj、BySelectedForPrj、BySelectedOrgs、BySelectEmpByOfficer

项目组、多组织联络员

兜底

By该引擎BPM=100

BPM 模式兜底处理

配置入口:GPE_AccepterRole(节点属性 → 接收人规则)。选择器另有 16 种 SelectorModel(部门/角色/人员/SQL/WebAPI/用户组等)。


三、节点属性:138 字段 · 69 项 UI · 33 个配置面板

3.1 字段层 vs UI 层

层

数量

含义

NodeAttr 常量

138

节点表可持久化的属性键全集

NodeExt.ts map.Add*

69

节点属性主面板直接编辑的项

AttrNode 下 GPE/GPN

33

复杂规则的独立配置向导

3.2 节点属性主面板分组(NodeExt.ts)

分组

典型配置项

基本属性

名称、WhoExeIt(谁执行它,5 档)、已读回执、撤销规则、已阅即完成、游离态、焦点字段、分配人员、投递记忆、排除发送人

运行模式

RunModel(线形/合流/分流/分合流/同表单/异表单,6 种)、通过率、子线程增删移交、异表单 WorkID 规则

跳转

自动跳转 4 类角色 + 表达式 + 找不到人是否跳转

按钮权限

内嵌整份 BtnLab(见第四节)

3.3 节点侧关键规则枚举(配置深度)

规则

档位数

枚举

谁执行它

5

操作员 / 机器 / 混合 / 流水线 / 过程

运行模式

6

Ordinary / HL / FL / FHL / 同表单子线程 / 异表单子线程

多人处理

5

抢办 / 协作 / 队列 / 共享 / 协作组长

阻塞模式

8

不阻塞 / 当前未完子线程 / 指定子流程 / SQL / 表达式 / 子流程节点 / 平级子流程 / URL

批处理

3

不可 / 批量审批 / 分组批量

撤销规则

4

不能 / 仅上一步 / 上一步+开始 / 指定节点

跳转规则

5

不能 / 向后 / 向前 / 任意 / 指定节点

退回规则

6

见第五节

子线程删除

3

不能 / 手工 / 自动

抄送规则

6

不抄送 / 手工 / 自动 / 手+自 / 系统字段 / 发送时

分流规则

3

按人 / 按部门 / 按角色

3.4 节点管理面板清单(33)

覆盖但不限于:接收人、多人处理、抄送写入、表单方案、批处理、审核组件、流转自定义、阻塞、转向、考核、超时、子流程新建、消息推送、Frm 权限等(GPE_AccepterRole、GPE_TodolistModel、GPE_FrmSln、GPE_BlockModel、GPE_OvertimeRole…)。

3.5 审核组件

NodeWorkCheck.ts 另有 25 个 map.Add* 配置项(签名、立场、附件、显示模式等),是节点属性之外的独立实体。


四、工具栏按钮:40 个按钮族 · 121 项配置 · 135 个属性字段

节点办理页工具栏不是「几个固定按钮」,而是按节点可开关、可改标签、可配规则的能力集合。

4.1 三个数字的关系

数字

含义

40

活跃的工具栏按钮族(每个族通常有「标签 + 启用/规则」)

121

BtnLab 实体上设计器可见的配置字段(含标签、开关、规则、打印子项等)

135

BtnAttr 常量总数(含查看器/抄送工具栏镜像字段等)

4.2 40 个按钮族一览

类别

按钮族

流转核心

发送、延期发送、保存、退回、跳转、结束流程、催办、移交、作废、删除、冻结

协作

抄送、会签、加主持人、调整未来处理人、预置处理人、子线程

信息与辅助

轨迹、挂起、关注、确认、小纸条、评论、帮助、流转自定义、二维码、优先级

数据

数据版本、数据批阅、回滚、切换部门、提交身份

打印

打印 Html、打印 PDF、打包 Zip、自定义打印

公文

打开公文、公文版本、下载 VSTO、KK 预览、下载公文正文

BtnLab 分组:按钮权限 / 退回 / 打印 / 公文 / 会加签。


五、退回规则:6 种主规则 + 配套配置

5.1 主规则(ReturnRole)

值

含义

CanNotReturn

不能退回

ReturnPreviousNode

只能退回上一个节点

ReturnAnyNodes

可退回以前任意节点(默认)

ReturnSpecifiedNodes

可退回指定的节点

ReturnStartNode

退回到开始节点

ByReturnLine

由流程图设计的退回路线决定

5.2 配套配置项(挂在同一「退回」分组)

不止 6 个枚举值。退回相关还有:

  • 可退回节点列表 ReturnNodes
  • 被退回后提示 ReturnAlert
  • 原路返回 IsBackTracking(不允许 / 由退回人决定 / 强制)
  • 原路返回后是否重算接收人
  • 退回时是否上传附件
  • 退回原因列表、退回信息填写字段
  • 主流程退回时子流程删除规则(不删除 / 全部 / 指定)
  • 退回到协作节点时痕迹处理(TeamReturnRole)

结论:主规则 6 档;若把配套项算进「退回配置能力」,退回分组在 BtnLab 内单独占一组十余项。


六、删除规则:5 种

DelWorkFlowRole:

值

含义

None

不能删除

DeleteByFlag

按标记删除(需交互、填原因)

DeleteAndWriteToLog

删除到日志库(需交互)

DeleteReal

彻底删除(无交互)

ByUser

由用户决定删除方式

工具栏侧 DelEnable 绑定该规则;另有「退回时是否隐藏删除按钮」等配套开关。子线程另有独立的 3 档 ThreadKillRole(不能 / 手工 / 自动)。


七、流程属性:93 字段 · 63 项 UI · 23 个配置面板

7.1 字段层 vs UI 层

层

数量

FlowAttr 常量

93

FlowExt.ts map.Add*

63

AttrFlow 下 GPE/GPN

23

7.2 流程属性主面板分组(FlowExt.ts)

分组

典型配置项

基本属性

编号、类别、名称、路由标识、流程标记、事件实体、标题规则、独立启动、草稿规则、测试人、抄送/分享、设计模式、水印

数据&表单

表单信息、装载上一笔、手机发起、MD5、加密、数据版本、物理表、单据编号格式

轨迹

轨迹图 / 时间轴 / 时间表、排序方式、共享方案

7.3 流程管理面板(23)覆盖能力

自动发起、发起限制、前置导航、流程共享、数据导入、流程事件、流程消息、批量发起、实例查看权限、回滚权限、数据篡改规则、业务字段、流程实体绑定、版本导入导出/复制/版本管理、未来处理人计算、数据同步等。


八、条件与方向:18 种数据源 · 5 种条件类型

方向条件、节点完成条件、流程完成条件共用 Cond 实体。

枚举

数量

内容

ConnDataFrom

18

节点表单、独立表单、角色、部门、SQL、SQL 模板、参数、URL、WebApi、审核立场、部门负责人、人员、存储过程、业务单元、从表字段、审核通过率、通用数据源、操作符

CondType

5

节点完成 / 流程完成 / 方向 / 启动子流程 / 抄送条件

SpecOperWay

4

当前人 / 指定节点人 / 表单人员字段 / 指定人员编号

CondAttr 字段

25

条件实体属性常量


九、事件与轨迹

项目

数量

说明

节点事件标记

26

发送前/成功/失败、到达、退回前后、撤销前后、移交、催办、抄送、加签、打开、预警逾期等

流程事件标记

7

建单、结束前后、删除前后等

事件执行类型

10

禁用、SP、SQL、URL、WS、SpecClass、EventBase、BuessUnit、WebApi、SFProc

轨迹动作类型

42

发起、前进、退回、移交、分流合流、子流程、加签、跳转、抄送、公文……

事件与参数机制的设计说明见:《参数与事件:流程引擎的两个可编程接口》。


十、表单方案:9 种活跃类型

GPE_FrmSln 当前启用的方案(部分历史类型已注释下线):

方案

说明

节点表单(经典表单)

默认

累加表单

FoolTruck

嵌入式表单

SelfForm

SDK 表单

SDKForm

单表单(绑定独立表单)

RefOneFrmTree

多表单

SheetTree

绑定高代码 TS

EntityTS

Excel 表单

ExcelForm

Word 表单

WordForm


十一、对外 API:307 个静态入口

Dev2Interface.cs 中 public static 成员约 307 个(含方法与少量字段/属性),覆盖发起、发送、退回、移交、撤销、抄送、查询待办已办、删除、结束、子线程、会签等运行时能力。这是「引擎可被嵌入」的量化指标——二开主要调这套 API,而不是改内核。


十二、与「769 功能点」文档的关系

文档

口径

适合回答

本文

枚举 / 属性 / 面板 / API 配置体量

「有多少种找人规则?节点能配多少项?」

《该引擎主要流程功能统计汇总报告》

线性/同表单/异表单/父子流程需求表 功能点(合计 769)

「四大流程模式各覆盖多少能力点?」

两套数字不互相替代:配置项是「旋钮数量」,功能点是「场景能力条目」。选型或对外说明时,建议两套一起给。


十三、统计方法与边界

  1. 枚举计数:去掉注释行后的枚举成员;DeliveryWay 以唯一数值为准(前端 62,后端活跃约 59)。
  2. 属性计数:public const string 个数;含主键、隐藏字段,故大于「设计器一眼可见项」。
  3. UI 计数:设计器实体中未被注释的 map.Add*;BtnLab 内嵌进 NodeExt,节点主面板可见项与工具栏配置有重叠,报告时已分开表述。
  4. 按钮族:以 *Lab 标签字段为「一个按钮族」;同一族可能有多个开关(如打印 Html 的启用 + 查看器显示 + 抄送工具栏显示)。
  5. 未计入:表单设计器控件种类、报表/大屏图表种类、组织结构实体、低代码菜单类型——那些属于平台层,另文统计。
  6. 版本敏感:枚举与面板随版本增减;本文数字以 2026-10-24 仓库静态扫描为准,升级后建议重跑清点脚本。

十四、一句话结论

该平台流程引擎在配置层的体量可以概括为:

62 种找人规则 · 138 个节点属性字段 · 93 个流程属性字段 · 40 个工具栏按钮族 · 6 档退回 · 5 档删除 · 26+7 个生命周期事件 · 307 个对外静态 API。

这些数字说明的不是「功能清单有多长」,而是:同一套发送引擎上,可调旋钮足够密,才能覆盖从行政审批到工业自动化、从线性到分合流/父子流程的落地差异,而不必为每个行业重写内核。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 流程引擎功能量化技术描述
    • 一、总览:一张表看体量
    • 二、找人规则:62 种 DeliveryWay
      • 2.1 按机制分组(便于选型)
    • 三、节点属性:138 字段 · 69 项 UI · 33 个配置面板
      • 3.1 字段层 vs UI 层
      • 3.2 节点属性主面板分组(NodeExt.ts)
      • 3.3 节点侧关键规则枚举(配置深度)
      • 3.4 节点管理面板清单(33)
      • 3.5 审核组件
    • 四、工具栏按钮:40 个按钮族 · 121 项配置 · 135 个属性字段
      • 4.1 三个数字的关系
      • 4.2 40 个按钮族一览
    • 五、退回规则:6 种主规则 + 配套配置
      • 5.1 主规则(ReturnRole)
      • 5.2 配套配置项(挂在同一「退回」分组)
    • 六、删除规则:5 种
    • 七、流程属性:93 字段 · 63 项 UI · 23 个配置面板
      • 7.1 字段层 vs UI 层
      • 7.2 流程属性主面板分组(FlowExt.ts)
      • 7.3 流程管理面板(23)覆盖能力
    • 八、条件与方向:18 种数据源 · 5 种条件类型
    • 九、事件与轨迹
    • 十、表单方案:9 种活跃类型
    • 十一、对外 API:307 个静态入口
    • 十二、与「769 功能点」文档的关系
    • 十三、统计方法与边界
    • 十四、一句话结论
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档