本文以源码静态分析为口径,统计一套工作流引擎在四类流程形态上的功能点分布,供产品能力梳理与测试用例编写参考。
序号 | 功能模块 | 源文档 | 功能点子节数 | 功能点数量 | 占比 |
|---|---|---|---|---|---|
1 | 线性流程 | 线性流程功能需求列表.md | 20 | 324 | 42.1% |
2 | 异表单分合流 | 异表单分合流需求列表.md | 10 | 184 | 23.9% |
3 | 父子流程 | 父子流程需求列表.md | 13 | 136 | 17.7% |
4 | 同表单分合流 | 同表单分合流需求列表.md | 10 | 125 | 16.3% |
— | 合计 | — | 53 | 769 | 100% |
模块 | 设计配置类功能点 | 运行期类功能点 | 说明 |
|---|---|---|---|
线性流程 | 约 292 | 约 32 | 以流程/节点属性配置为主,运行期核心流转 32 项 |
父子流程 | 约 74 | 约 62 | 设计配置(组件+四种子流程类型)与运行时联动基本对半 |
同表单分合流 | 约 27 | 约 98 | 运行期分流/合流/子线程管理占主体 |
异表单分合流 | 约 40 | 约 144 | 运行期能力最多,含节点选择、审核组件等扩展 |
定位:该引擎 最基础、覆盖面最广的流程形态。节点 RunModel=0,单 WorkID 主干实例顺序流转,无子线程、无子流程。
核心架构:
FID=0,从开始节点经各线形节点至结束功能结构(20 个子节):
子节 | 功能点数 | 要点 |
|---|---|---|
流程属性 — 基本配置 | 50 | 流程标识、发起模式(9 种)、发起限制、前置导航、事件消息、共享方案等 |
节点属性 — 接收人规则 | 44 | 组织/表单/路由/连续多级主管等最全的找人规则集 |
节点属性 — 按钮权限 | 48 | 发送、退回、移交、会签、打印、跳转等工具栏能力 |
运行期 — 线性流转核心 | 32 | 发起、处理、查看、列表、自动跳转、超时、回滚等 |
其余 16 个子节 | 150 | 表单方案、审核组件、抄送、考核超时、数据同步、方向条件等 |
典型场景:请假审批、费用报销、合同审核等标准顺序审批链。
边界说明:明确排除分流/合流/分合流节点、同/异表单子线程及父子流程相关能力。
定位:在父流程节点上挂接子流程,实现跨流程的嵌套调用、数据传递与联动驱动。
核心架构:
FrmSubFlow(组件层)+ WF_NodeSubFlow(绑定层)PWorkID)/ 同级子流程(SL 参数)功能结构(13 个子节):
子节 | 功能点数 | 要点 |
|---|---|---|
手动启动子流程(SubFlowHand) | 25 | 启动限制、数据拷贝、批量/树形启动、展现模式 |
运行时 — 子流程组件 UI | 15 | SubFlow.vue 表格/列表、权限、启动与查看 |
自动触发子流程(SubFlowAuto) | 15 | 触发时机、SQL 条件、数据源批量、待办隐藏 |
父子流程组件 | 12 | 显示控制、汇总规则、组件高度与标签 |
父流程联动与待办 | 11 | 子流程结束驱动父流程下一步/结束/指定节点 |
其余 8 个子节 | 58 | 延续/前置导航、数据反填、阻塞校验、轨迹审核等 |
典型场景:工程主流程+投标子流程、按明细行自动发起子审批、报销前选采购单、多子流程会签式全部完成后推进。
定位:干流程与子线程共用同一张物理表单表(Flow.PTable),通过 FID 关联,实现多人并行处理同一份主表数据。
核心架构:
FID=0 + 子线程 FID=干流程WorkID,RunModel=4NodeSend_24_SameSheet、NodeSend_53_SameSheet_To_HeLiu功能结构(10 个子节):
子节 | 功能点数 | 要点 |
|---|---|---|
后端 API 与数据实体 | 18 | ThreadDtl、增删子线程、退回、撤销等接口 |
子线程增删与管理 | 17 | ThreadDtl 弹窗、增加/终止/撤销整体发送 |
分流下发 | 15 | 主表/明细/附件复制、GroupMark 分组、轨迹记录 |
子线程处理与向下发送 | 13 | 合流数据汇总、通过率计算、激活待办 |
子线程退回与分流人处理 | 13 | MyFLDealThread、退回重发、分流专用工具栏 |
其余 5 个子节 | 49 | 节点运行模式约束、接收人规则、轨迹审核、催办等 |
关键约束:分流仅允许一条同表单路径;禁止同异表单混发;子线程必须由分流/分合流节点发起。
典型场景:多部门会签、报销明细按行指定审批人、部分子线程完成即可合流(PassRate)。
定位:每个异表单子线程节点可绑定独立表单(ND{NodeID}),支持一次分流同时启动多张不同表单并行处理。
核心架构:
RunModel=5,数据物理隔离NodeSend_24_UnSameSheet、NodeSend_53_UnSameSheet_To_HeLiuUSSWorkIDRole 控制共享或按接收人独立实例功能结构(10 个子节):
子节 | 功能点数 | 要点 |
|---|---|---|
轨迹、审核与时间轴 | 27 | 审核组件三种模式、签名、立场、附件、停留时间等 |
后端 API 与数据实体 | 26 | ToNodes 多选、预选接收人、合流查询等扩展接口 |
分流下发与节点选择 | 22 | ToNodes.vue 多选异表单、接收人维护、历史复用 |
子线程增删与管理 | 19 | 指定目标子线程节点、合流阶段补发 |
设计配置 — 节点运行模式 | 28 | 多路径分流、WorkID 规则、表单绑定、合流接收人约束 |
其余 5 个子节 | 72 | 接收人规则、退回处理、撤销合流、预置处理人等 |
与同表单的核心差异:
对比项 | 异表单 | 同表单 |
|---|---|---|
表单物理表 | 各节点独立 ND{NodeID} | 共用 Flow.PTable |
分流多路径 | 允许多个异表单子线程并行 | 仅一条同表单路径 |
节点选择 UI | ToNodes 复选框多选 | 单选 |
功能点数量 | 184 | 125 |
典型场景:财务/法务/技术多表单并行填报、合流阶段补发遗漏人员、发送前预置各异表单处理人。
关系 | 说明 |
|---|---|
线性流程 ⊃ 基础能力 | 发起、发送、退回、接收人、审核、按钮等能力为其他模块共用基础 |
同表单 ⊥ 异表单 | 同一分流点不可混发同表单(4)与异表单(5)子线程 |
父子流程 ⊥ 子线程 | 父子流程是跨流程嵌套;分合流是单流程内并行分支,实例模型不同 |
功能点重叠 | 预置处理人、ThreadDtl、轨迹审核等机制在分合流文档中有共用描述,但按各自文档独立计数 |
子节 | 数量 |
|---|---|
(一)设计配置 — 父子流程组件 | 12 |
(二)设计配置 — 新建子流程向导 | 6 |
(三)设计配置 — 手动启动子流程 | 25 |
(四)设计配置 — 自动触发子流程 | 15 |
(五)设计配置 — 延续子流程 | 9 |
(六)设计配置 — 前置导航子流程 | 7 |
(七)运行时 — 子流程组件 UI | 15 |
(八)运行时 — 子流程发起与父子关系 | 9 |
(九)运行时 — 父流程联动与待办 | 11 |
(十)运行时 — 数据反填 | 6 |
(十一)运行时 — 阻塞与发送校验 | 6 |
(十二)运行时 — 轨迹、审核与查看 | 8 |
(十三)流程/节点级扩展配置 | 7 |
子节 | 数量 |
|---|---|
(一)设计配置 — 节点运行模式 | 20 |
(二)设计配置 — 子线程接收人规则 | 7 |
(三)运行期 — 分流下发 | 15 |
(四)运行期 — 子线程处理与向下发送 | 13 |
(五)运行期 — 子线程退回与分流人处理 | 13 |
(六)运行期 — 子线程增删与管理 | 17 |
(七)运行期 — 撤销发送与合流控制 | 6 |
(八)运行期 — 轨迹、审核与时间轴 | 9 |
(九)运行期 — 催办、预置处理人与辅助能力 | 7 |
(十)后端 API 与数据实体 | 18 |
子节 | 数量 |
|---|---|
(一)设计配置 — 节点运行模式 | 28 |
(二)设计配置 — 子线程接收人规则 | 12 |
(三)运行期 — 分流下发与节点选择 | 22 |
(四)运行期 — 子线程处理与向下发送 | 14 |
(五)运行期 — 子线程退回与分流人处理 | 16 |
(六)运行期 — 子线程增删与管理 | 19 |
(七)运行期 — 撤销发送与合流控制 | 8 |
(八)运行期 — 轨迹、审核与时间轴 | 27 |
(九)运行期 — 预置处理人与辅助能力 | 12 |
(十)后端 API 与数据实体 | 26 |
子节 | 数量 |
|---|---|
(一)流程属性 — 基本配置 | 50 |
(二)流程属性 — 数据与表单 | 13 |
(三)流程属性 — 轨迹与展示 | 4 |
(四)流程属性 — 时限与计划 | 6 |
(五)流程属性 — 版本管理与维护 | 7 |
(六)流程属性 — 数据同步 | 6 |
(七)节点属性 — 基本配置 | 21 |
(八)节点属性 — 运行模式(线形) | 2 |
(九)节点属性 — 自动跳转 | 8 |
(十)节点属性 — 接收人规则 | 44 |
(十一)节点属性 — 多人处理规则 | 9 |
(十二)节点属性 — 抄送 | 11 |
(十三)节点属性 — 按钮权限 | 48 |
(十四)节点属性 — 表单方案 | 11 |
(十五)节点属性 — 审核组件与批量审核 | 17 |
(十六)节点属性 — 流转自定义与摘要 | 4 |
(十七)节点属性 — 考核与超时 | 12 |
(十八)节点属性 — 发送控制 | 12 |
(十九)方向条件(连接线) | 7 |
(二十)运行期 — 线性流转核心 | 32 |
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。