首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >工作流引擎组织结构数据字典:五表模型与两种集成方式

工作流引擎组织结构数据字典:五表模型与两种集成方式

原创
作者头像
驰骋工作流程
发布于 2026-09-29 10:17:39
发布于 2026-09-29 10:17:39
470
举报

本文以数据字典形式梳理一套工作流引擎的组织结构建模方式,包括五张核心表、三种运行模式与视图/接口两种集成路径,供系统集成与方案设计参考。

1. 定义

组织结构是指系统运行所依赖的人员、部门、角色,以及它们之间的对应关系。该引擎 将这些数据持久化在 Port_* 系列数据表中(实体类位于 引擎内核命名空间 命名空间)。

核心五表(视图/接口集成时通常需要映射这五张表):

表名

实体类

说明

Port_Emp

Emp

人员(用户)。主键 No;FK_Dept 为主部门;含姓名、手机、邮箱、状态等。SAAS 模式下另有 UserID 字段,账号 No 通常为 组织编号_UserID 格式。

Port_Dept

Dept

部门。树形结构,ParentNo 表示上级部门,NameOfPath 为部门全路径;Leader 为部门领导账号;OrgNo 标识所属组织。

Port_Station

Station

角色(岗位)。流程选人规则的核心维度之一;通过 FK_StationType 归属角色类型;集团/SAAS 模式下含 OrgNo 做组织隔离。

Port_DeptEmp

DeptEmp

部门-人员。支持一人多部门(兼职);主键 MyPK = FK_Dept + "_" + FK_Emp。删除记录时会级联清理该人员在该部门下的角色关系。

Port_DeptEmpStation

DeptEmpStation

部门-角色-人员。三要素关联,是流程节点"按部门+角色找人"的数据基础;主键 MyPK = FK_Dept + "_" + FK_Emp + "_" + FK_Station。

扩展表(多组织模式下使用,集成时按需处理):

表名

实体类

说明

Port_Org

Org

组织/租户。集团模式与 SAAS 模式的隔离单元;No 通常与根部门编号相同;Adminer 为主管理员。

Port_OrgAdminer

OrgAdminer

组织管理员。记录主管理员与二级管理员,可配置流程/表单目录权限。

Port_StationType

StationType

角色类型。对 Port_Station 做分类,如"管理岗""业务岗"。

Port_Team / Port_TeamType / Port_TeamEmp

Team 等

标签(用户组)。用于人员分组,辅助选人,非流程核心依赖。

表间关系:

要点:

  • 人员通过 Port_Emp.FK_Dept 归属一个主部门;通过 Port_DeptEmp 可额外挂接其他部门。
  • 流程按"某部门的某角色"找人时,查询的是 Port_DeptEmpStation,而非 Port_Station 本身。
  • 集团/SAAS 模式下,部门、人员、角色等表通过 OrgNo 字段做数据隔离。

2. 组织结构的运行模式

该引擎 支持三种组织结构运行模式,通过配置项 该引擎RunModel 切换:

  • 该引擎:该引擎.properties
  • 该引擎:app.config / appsettings.json

值

模式

说明

0

单组织

只有一个管理员 admin,管理组织、数据源及组织内流程。无 OrgNo 隔离。

1

集团组织

一个集团管理员 admin 可创建多个独立组织;每个组织有主管理员和若干二级管理员;各组织流程/表单默认互不可见,可通过 OrgNo 隔离;用户账号全局唯一;组织间可共享流程。类比:一个生产队(集团)管理多户人家(组织),每户有家长(组织管理员)。

2

SAAS 模式

超级管理员可开通租户;每个租户有独立管理员;用户账号可跨租户重复(如租户 1 和租户 2 均可有 001 用户,通过 OrgNo + UserID 区分);租户间无业务往来。类比:联合国(超级管理员)下辖多个独立国家(租户)。

3. 组织结构集成

该引擎 运行在内置组织结构之上。若业务系统已有自己的组织数据,需保持两边一致,这一过程称为组织结构集成——本质是让 该引擎 能读取您系统的部门、人员、角色数据。

两种集成方式:

方式

做法

适用场景

视图模式

删除 该引擎 侧五张核心表,创建同结构的数据库视图,将外部数据映射过来。

推荐:该引擎 库与业务库可合并部署,无特殊隔离要求、不做流程服务中心时优先采用。

接口模式(数据同步)

业务系统组织数据变更时,调用 该引擎 提供的同步 API 增删改对应记录。核心接口见 OrganizationAPI:Port_Org_Save、Port_Dept_Save、Port_Emp_Save、Port_Station_Save 等。

该引擎 库与业务库不在同一服务器,或无法共用数据库时采用。

接口同步注意事项(参考 Port_Emp_Save 实现):

  • 一人只有一个部门时,调用一次 Port_Emp_Save,传入部门编号及该部门下的角色编号集合。
  • 一人兼任多个部门时,每个部门各调用一次 Port_Emp_Save。
  • SAAS 模式下,kvs 参数必须包含 @UserID=xxxx;用户编号通常为 组织编号_UserID 格式。

总结:

  • 数据库可合并时 → 视图模式,维护成本最低。
  • 数据库必须分离时 → 接口模式,在业务系统组织变更时主动同步。

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

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

目录
  • 1. 定义
  • 2. 组织结构的运行模式
  • 3. 组织结构集成
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档