五张表撑起流程、低代码与权限——驰骋 BPM 组织结构设计的工程价值宣传标题「一套组织底座三件事一次做对」——驰骋 BPM 五表模型如何同时驱动工作流、低代码与应用权限文档版本2026-06依据代码BP.En30/Port、BP.WF/Template/FindWorker、BP.WF/CCBill、Vue3/src/bp/sys/Safe姊妹文档组织结构设计技术报告 · 组织结构数据字典开篇组织结构的一鱼三吃在企业数字化建设中组织结构从来不是一张可有可无的通讯录——它是三件事的共同地基能力域典型诉求若组织模型薄弱后果是……工作流费用报销找申请人部门的财务经理流程卡住、找不到人、审批串岗低代码拖拽建表单按岗位控制谁能新建/删除权限只能靠硬编码平台失去低的意义应用权限销售只能看本部门客户总监能看下属组织数据越权、租户串库、审计不过关驰骋 BPMCCBPM用五张核心表Port_Dept、Port_Emp、Port_Station、Port_DeptEmp、Port_DeptEmpStation构建组织底座使上述三大能力共享同一套组织语义——不必为流程建一套人、为低代码再建一套人、为权限又建第三套人。这不是理论推演而是写进引擎源码的工程选择。下文从流程、低代码、应用权限三个维度说明其可取之处。一、支撑工作流让按部门角色找人成为引擎本能1.1 政企审批的真实语义真实世界里的审批从来不是找一个叫经理的人而是在「申请人所在部门」里找「担任财务经理角色」的人。同一个人在 A 部门是经理在 B 部门是普通员工——角色必须带部门上下文。驰骋用Port_DeptEmpStation将部门 × 角色 × 人员三维绑定与编制管理语义一致。1.2 引擎直接消费无需应用层翻译驰骋工作流引擎FindWorker内置20 种接收人规则DeliveryWay枚举其中大量规则的核心查询直指五表接收人规则代码中的组织依赖按角色以部门为纬度Port_DeptEmpStation 当前部门按部门与角色交集计算Port_DeptEmpStationJOINWF_NodeStation按表单部门字段 角色计算表单DeptNo→Port_DeptEmpStation找部门领导Port_Dept.Leader找直属领导Port_Emp.Leader核心选人 SQL 简洁到可以背诵SELECT FK_Emp FROM Port_DeptEmpStation WHERE FK_Station 角色编号 AND FK_Dept 部门编号引擎还实现了智能向上找岗本部门找不到人时自动向父部门、同级部门回溯——这一整套逻辑建立在部门树Port_Dept.ParentNo与三要素绑定表之上无需业务系统额外开发。1.3 对流程实施的可取之处配置即运行流程设计器选按角色底层自动查Port_DeptEmpStation实施顾问不必写 SQL。兼职天然支持一人多部门时每个部门下的角色独立存储流程不会串岗。多组织零改模集团/SAAS 模式下查询自动附加OrgNo条件流程不因租户增加而重构。可诊断找不到人时错误信息直指某部门某角色下无人员便于核对组织数据而非猜引擎 Bug。一句话五表模型让流程引擎理解组织而不是绕过组织。二、支撑低代码组织语义贯穿表单与应用全生命周期低代码平台的承诺是业务人员可配置、少写代码。若组织模型与平台脱节低代码就退化为画界面 写脚本补权限——驰骋的做法是把组织五表变成低代码的运行时上下文。2.1 登录即携带完整组织身份用户登录后WebUser上下文自动注入WebUser.No— 人员编号WebUser.DeptNo— 主部门WebUser.OrgNo— 所属组织集团/SAAS兼职部门与角色 — 运行时从Port_DeptEmpStation加载低代码表单、流程、报表中的表达式如WebUser.DeptNo、WebUser.OrgNo直接引用无需每个应用重复封装用户服务。2.2 表单控件原生理解组织前端组件库GPN_ComponentMapExt等内置多种组织感知控件按部门选人按部门 岗位选人组织树选择器这些控件的数据源统一来自Port_Dept、Port_Emp、Port_DeptEmpStation设计器拖拽即可用不必为每个表单写一套人员接口。2.3 数据权限可视化配置不靠写代码驰骋低代码单据CCBill提供DBSafe 数据安全策略在低代码界面中配置策略含义依赖的组织数据SelfOnly只看自己创建的数据Port_Emp.NoDeptOnly本部门可见Port_Emp.FK_Dept/Port_DeptEmpDeptLeader部门负责人可见本部门数据Port_Dept.LeaderByStations指定岗位可操作Port_DeptEmpStationByDepts指定部门可操作Port_DeptOrgOnly/POrg/NOrg组织级数据隔离与上下级可见Port_Org、OrgNo运行时WF_CCBill在渲染按钮权限前自动查询当前用户的全部部门与角色DataTable mydeptsDT DBAccess.RunSQLReturnTable(SELECT FK_Dept,FK_Station FROM Port_DeptEmpStation WHERE FK_Emp WebUser.UserID ); foreach (DataRow dr in mydeptsDT.Rows) { mydepts dr[0].ToString() ,; mystas dr[1].ToString() ,; }随后据此判断当前用户能否新建、保存、删除、归档——全部在低代码配置层完成业务开发者不必在每个 CRUD 接口里手写if。2.4 对低代码建设的可取之处组织即平台能力新建一个低代码应用自动继承部门/角色/组织隔离而非从零造轮子。配置替代编码权限策略在GPN_DBSafe界面点选实施周期从周缩短到小时。兼职场景不踩坑权限计算遍历Port_DeptEmpStation中全部部门与角色不会因只认主部门而越权或缺权。集团/SAAS 原生OrgOnly、Admin2二级管理员等策略与Port_OrgAdminer联动一套低代码应用从单企业平滑扩展到多租户。一句话五表模型让低代码平台自带组织智商而不是每个项目重新发明权限。三、支撑应用系统权限从菜单到数据行的统一坐标系驰骋 BPM 的定位不仅是流程引擎更是可嵌入业务系统的数字化底座。组织五表为应用级权限提供了统一坐标系。3.1 三个层级的权限一张组织底图flowchart TB subgraph 组织五表 D[Port_Dept 部门树] E[Port_Emp 人员] S[Port_Station 角色] DES[Port_DeptEmpStation 三要素] end subgraph 流程权限 FW[节点接收人规则] end subgraph 低代码权限 DB[DBSafe 数据策略] BTN[按钮级权限] end subgraph 应用权限 OA[组织管理员 Port_OrgAdminer] ISO[OrgNo 租户隔离] LEAD[部门领导 Port_Dept.Leader] end DES -- FW DES -- DB DES -- BTN D -- LEAD E -- ISO OA -- ISO3.2 数据权限部门、岗位、组织多维度组合CheckDBRoleUtil是应用数据权限的核心工具支持按优先级叠加过滤全部All— 不限制本部门Dept— 基于DeptNo字段过滤部门领导DeptLeader— 查询Port_Dept.Leader是否为当前用户本组织OrgOnly— 基于OrgNo字段隔离父级组织及下级NOrg— 基于Port_Org.TreeNos层级按表达式Exp— 支持WebUser.No等组织变量部门领导判断直接查组织表而非维护独立领导角色ps.SQL SELECT No FROM Port_Dept WHERE Leader CACHED_DB_VAR_STR Leader AND No CACHED_DB_VAR_STR No; ps.Add(Leader, WebUser.No); ps.Add(No, WebUser.DeptNo); DataTable mydt DBAccess.RunSQLReturnTable(ps);3.3 管理权限组织管理员体系集团/SAAS 模式下Port_OrgAdminer定义二级管理员可细化到流程目录权限Port_OrgAdminerFlowSort表单目录权限Port_OrgAdminerFrmTreeWebUser.IsAdmin运行时综合判断超级管理员、组织主管理员、二级管理员——全部锚定在组织五表及其扩展表上避免多套账号体系。3.4 与业务系统集成一套主数据多处复用业务系统通常已有 HR/OA 组织主数据。驰骋提供两种集成路径均围绕五表展开模式做法权限收益视图模式五表改为视图映射 HR 数据组织变更即时生效权限零延迟接口模式OrganizationAPI同步五表Port_Emp_Save一次写入人员部门角色集成后业务系统与 BPM/低代码/权限共用同一份组织真相不会出现HR 已调岗、流程还找旧人的数据裂缝。3.5 对应用权限的可取之处统一语义部门、岗位、组织在流程、表单、报表中含义一致减少权限漏洞。可审计权限判断基于结构化组织数据可追溯谁在什么部门担任什么角色。租户硬隔离OrgNo贯穿五表从数据行级别防止跨租户泄露。渐进式增强简单场景用部门字段即可复杂场景叠加岗位、组织策略——不必一步到位上完整 IAM。一句话五表模型是应用权限的共同语言而不是各模块各说各话。四、三大能力协同1 1 1 3五表设计的真正价值在于三件事共用同一底座时产生的协同效应场景示例费用报销全流程阶段流程低代码权限发起发起人 当前WebUser表单记录写入DeptNo、OrgNo只有本部门人员可新建DeptOnly审批找发起人部门的部门经理Port_DeptEmpStation审批意见字段按角色显示/隐藏部门经理可见本部门单据DeptLeader归档流程结束写入业务表低代码单据状态变为已归档财务岗位可查看全部ByStations查询—报表按部门筛选集团模式下仅本组织可见OrgOnly若组织模型分裂流程一套人、权限另一套人这个场景需要三处对齐、六套测试驰骋五表模型下维护一次组织数据三处同步受益。五、与替代方案相比优势在哪里对比维度简易用户-部门模型重度 IAM 模型驰骋五表模型流程按部门角色找人需大量补偿逻辑概念映射复杂引擎原生支持低代码按钮/数据权限靠脚本硬写需桥接 IAMDBSafe 可视化配置兼职与多岗位难以表达可以但集成重DeptEmpStation 原生多组织/多租户需改造可以但重OrgNo 贯通五表与 HR 主数据集成简单但不完整映射链路过长五表视图/API 即可学习成本低但能力弱高中等能力完整驰骋五表不是最简单的设计而是在流程、低代码、权限三域交叉点上工程性价比最高的设计。六、结语选组织模型就是选数字化底座组织结构设计看似底层、枯燥实则决定了流程能不能跑通低代码能不能真低代码权限能不能管得住。驰骋 BPM 用五张表回答了一个工程问题如何用最小表集让工作流引擎、低代码平台、应用权限系统共享同一套组织语义答案是Port_DeptPort_EmpPort_StationPort_DeptEmpPort_DeptEmpStation——部门树、人员主档、角色定义、兼职关系、三要素绑定缺一不可亦不过度。一套组织底座三件事一次做对。这是驰骋十余年政企交付经验的沉淀也是 CCBPM 区别于只会画流程图的轻量产品的底层理由之一。延伸阅读驰骋 BPM 组织结构设计技术报告 — 设计思想、代码印证与优劣分析组织结构数据字典与集成指南 — 五表字段说明与运行模式配置驰骋 BPM 工作流引擎技术白皮书 2026 版 — 引擎整体架构本文档由驰骋 BPM 技术团队基于源码分析编写转载请注明出处。