组织与岗位
组织和岗位不决定「能进哪些菜单」,而是决定「在菜单里能看到谁的数据」。它们是 Erupt 数据权限的基础。
组织管理
树形维护公司 / 部门 / 小组等层级结构,支持任意深度,导航默认展开五级。
| 字段 | 说明 |
|---|---|
| 组织编码 | 唯一标识 |
| 组织名称 | 显示名称 |
| 上级组织 | 为空即顶级组织 |
| 显示顺序 | 同级排序 |
用户管理页面左侧即为组织树,点选组织即可筛选其下用户。
岗位管理
岗位描述用户在组织中的职级。
| 字段 | 说明 |
|---|---|
| 岗位编码 | 唯一标识 |
| 岗位名称 | 显示名称 |
| 岗位权重 | 数值越大职级越高,用于「上级可见下级数据」的比较 |
给用户设置岗位前必须先设置所属组织。
数据可见范围
让业务实体继承以下基类之一,Erupt 就会在查询时自动追加过滤条件,并在新增 / 修改时自动记录创建人、创建时间、更新人、更新时间。超级管理员始终不受限制。
| 基类 | 非管理员能看到 |
|---|---|
LookerSelf | 自己创建的数据 |
LookerOrg | 创建人与自己同一组织的数据 |
LookerPostLevel | 自己创建的,或同组织内创建人岗位权重低于自己的数据 |
java
@Erupt(name = "客户")
@Entity
@Table(name = "biz_customer")
public class Customer extends LookerOrg {
// 只需关注业务字段,创建人 / 组织 / 时间由基类接管
}LookerOrg要求当前用户已绑定组织,LookerPostLevel要求同时绑定组织与岗位,否则查询时会给出明确提示。- 过滤条件通过
@PreDataProxy注入,可与自己的DataProxy叠加,详见 PreDataProxy。 - 创建人字段以「姓名 / 组织 / 岗位」列的形式自动出现在表格中,无需手工声明。
负责组织与分管组织
用户上还有两个多选字段:负责组织与分管组织。它们不参与上面的查询过滤,而是供审批类场景使用:erupt-flow 在设置「部门负责人审批」「分管领导审批」节点时,会沿发起人的组织树向上查找负责 / 分管该组织的用户作为审批人。