首页 > 应用开发 > IT综合 > 驰骋BPM低代码-组织结构-设计
组织结构是指系统运行所依赖的
人员、部门、角色,以及它们之间的对应关系。CCBPM 将这些数据持久化在
Port_* 系列数据表中(实体类位于
BP.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 等 |
标签(用户组)。用于人员分组,辅助选人,非流程核心依赖。 |
表间关系:
erDiagram
Port_Org ||--o{ Port_Dept : "OrgNo"
Port_Dept ||--o{ Port_Dept : "ParentNo"
Port_Dept ||--o{ Port_Emp : "FK_Dept(主部门)"
Port_Dept ||--o{ Port_DeptEmp : "FK_Dept"
Port_Emp ||--o{ Port_DeptEmp : "FK_Emp"
Port_StationType ||--o{ Port_Station : "FK_StationType"
Port_Dept ||--o{ Port_DeptEmpStation : "FK_Dept"
Port_Emp ||--o{ Port_DeptEmpStation : "FK_Emp"
Port_Station ||--o{ Port_DeptEmpStation : "FK_Station"
Port_Org ||--o{ Port_OrgAdminer : "OrgNo"
要点:
Port_Emp.FK_Dept 归属一个
主部门;通过
Port_DeptEmp 可额外挂接其他部门。Port_DeptEmpStation,而非
Port_Station 本身。OrgNo 字段做数据隔离。CCBPM 支持三种组织结构运行模式,通过配置项
CCBPMRunModel 切换:
jflow.propertiesapp.config /
appsettings.json| 值 | 模式 | 说明 |
|---|---|---|
0 |
单组织 | 只有一个管理员
admin,管理组织、数据源及组织内流程。无
OrgNo 隔离。 |
1 |
集团组织 | 一个集团管理员
admin 可创建多个独立组织;每个组织有主管理员和若干二级管理员;各组织流程/表单默认互不可见,可通过
OrgNo 隔离;用户账号全局唯一;组织间可共享流程。类比:一个生产队(集团)管理多户人家(组织),每户有家长(组织管理员)。 |
2 |
SAAS 模式 | 超级管理员可开通租户;每个租户有独立管理员;
用户账号可跨租户重复(如租户 1 和租户 2 均可有
001 用户,通过
OrgNo +
UserID 区分);租户间无业务往来。类比:联合国(超级管理员)下辖多个独立国家(租户)。 |
CCBPM 运行在内置组织结构之上。若业务系统已有自己的组织数据,需保持两边一致,这一过程称为 组织结构集成——本质是让 CCBPM 能读取您系统的部门、人员、角色数据。
两种集成方式:
| 方式 | 做法 | 适用场景 |
|---|---|---|
| 视图模式 | 删除 CCBPM 侧五张核心表,创建同结构的 数据库视图,将外部数据映射过来。 | 推荐:CCBPM 库与业务库可合并部署,无特殊隔离要求、不做流程服务中心时优先采用。 |
| 接口模式(数据同步) | 业务系统组织数据变更时,调用 CCBPM 提供的同步 API 增删改对应记录。核心接口见
OrganizationAPI:
Port_Org_Save、
Port_Dept_Save、
Port_Emp_Save、
Port_Station_Save 等。 |
CCBPM 库与业务库不在同一服务器,或无法共用数据库时采用。 |
接口同步注意事项(参考
Port_Emp_Save 实现):
Port_Emp_Save,传入部门编号及该部门下的角色编号集合。Port_Emp_Save。kvs 参数必须包含
@UserID=xxxx;用户编号通常为
组织编号_UserID 格式。总结:
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70051390/viewspace-3183900/ ,如需转载,请注明出处,否则将追究法律责任。