流程引擎功能量化描述:配置项、规则与对外接口清点驰骋BPM驰骋低代码低代码工作流引擎

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

统计日期 :2026-10-24

统计口径 :以当前仓库源码中的枚举项 / 属性常量 / 设计器 map.Add 字段 / 管理端 GPE·GPN 面板 为准,逐项清点。

说明:本文回答「有多少配置项、有多少规则」,不展开「每个怎么用」。功能需求粒度(四大流程模式共 769 个功能点)见姊妹文档《CCFlow 主要流程功能统计汇总报告》。


一、总览:一张表看体量

维度 数量 统计口径 源码锚点
找人规则(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 枚举 BP.En30/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 成员 BP.WF/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 项目组、多组织联络员
兜底 ByCCFlowBPM=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 配置体量 「有多少种找人规则?节点能配多少项?」
《CCFlow 主要流程功能统计汇总报告》 线性/同表单/异表单/父子流程需求表 功能点(合计 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。

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


附录 A:源码索引

主题 路径
找人规则(后端) CCFlow/Components/BP.WF/EnumLib.cs → DeliveryWay
找人规则(前端) Vue3/src/WF/Admin/AttrNode/AccepterRole/DeliveryWay.ts
找人配置面板 Vue3/src/WF/Admin/AttrNode/AccepterRole/GPE_AccepterRole.ts
节点/流程/按钮属性常量 Template/NodeAttr.cs、FlowAttr.cs、BtnAttr.cs
节点/流程属性 UI Vue3/.../AttrNode/NodeExt.ts、AttrFlow/FlowExt.ts
工具栏 Vue3/.../AttrNode/BtnLab.ts
条件枚举 Template/CondEnum.cs
节点/流程事件 BP.En30/Sys/EvenListNode.cs、EvenListFlow.cs
对外 API CCFlow/Components/BP.WF/Dev2Interface.cs
功能点统计(姊妹篇) doc/BP架构/CCFlow主要流程功能统计汇总报告.md

附录 B:清点时可复用的命令(PowerShell)

powershell 复制代码
# DeliveryWay 唯一值
Select-String DeliveryWay.ts -Pattern 'static readonly\s+\w+\s*=\s*(\d+)' |
  ForEach-Object { if ($_.Line -match '=(\d+)'){[int]$Matches[1]} } | Sort-Object -Unique | Measure-Object

# 属性常量
(Select-String NodeAttr.cs -Pattern 'public const string').Count
(Select-String FlowAttr.cs -Pattern 'public const string').Count
(Select-String BtnAttr.cs  -Pattern 'public const string').Count

# 设计器字段
(Get-Content NodeExt.ts | ? { $_ -match '^\s*map\.Add' -and $_ -notmatch '^\s*//' }).Count
(Get-Content FlowExt.ts | ? { $_ -match '^\s*map\.Add' -and $_ -notmatch '^\s*//' }).Count
(Get-Content BtnLab.ts  | ? { $_ -match '^\s*map\.Add' -and $_ -notmatch '^\s*//' }).Count

# API
(Select-String Dev2Interface.cs -Pattern '^\s*public static').Count

延伸阅读

  • 《CCFlow 主要流程功能统计汇总报告》 (doc\BP架构\CCFlow主要流程功能统计汇总报告.md):四大流程模式 769 功能点。
  • 《参数与事件:流程引擎的两个可编程接口》 (doc\低代码部分\参数与事件-流程引擎的两个可编程接口.md):事件与参数机制。
  • 《业务流程的分类:管理类流程与工业自动化流程》 (doc\低代码部分\业务流程的分类-管理类流程与工业自动化流程.md):WhoExeIt 与流程分类。
  • 《一个属性,五种执行者》 (doc\BP架构\驰骋BPM-节点执行方式的设计规范.md):节点执行方式运行时细节。

本文基于当前仓库源码静态清点;若与线上帮助文档不一致,以你所部署版本的枚举与设计器实测为准。

相关推荐
梓豪csd11 小时前
消息订阅中心:谁该收到哪条通知
java·开发语言·人工智能·低代码·自动化·1024程序员节
昵称画1 天前
交接班记录电子化:三班之间的信息不漏
开发语言·数据库·人工智能·低代码·php
缓慢更新1 天前
审批的加签与会签:多人意见怎么合
android·java·数据库·低代码·rxjava
静默执行2 天前
接口契约的多人维护:谁改谁通知
低代码
细水长流6452 天前
生产异常的群内闭环:从报警到认领
低代码
窗边看云2 天前
侄女实操快印系统:非标规格,固化成报价规则
低代码
驰骋工作流2 天前
一份 BPM 平台能力对标清单:25 个评估维度的横向观察驰骋BPM驰骋低代码低代码工作流引擎
低代码
ebok.2 天前
低代码平台如何集成 AI:从开发侧到运行侧的技术实践与京微智枢方案
人工智能·低代码·ai·rxjava
窗边看云3 天前
波次拣货的分工:三个人怎么不撞车
低代码