组织架构相关
更新时间: 2025-01-21 10:40:37
阅读 19
1.组织架构同步
接口说明:
注意事项:
- 如果部门已经被删除了,被删除了的部门的修改,不要放到 updatedOrgs 发给有数,但可以放到 deletedOrgs 发过来重复删除
- 部门负责人列表,目前只取第一个负责人,最好第一个元素是部门的主要负责人
- 如果部门或子部门下还有直属员工,或者部门下还有子部门,均无法删除部门
- 2023年1月10日 update:
- deletedOrgCodes 中的部门,如果不传 forceDeleteOrg: false ,会递归的删除该部门下的所有部门,并冻结所有人员。
- deletedOrgCodes 被删除的部门的应用项目,如果在 updatedOrgs 中有同样的 orgCode,会在添加的时候被恢复
基本信息:
API | /api/dash/orgStructure/syncOrg |
Method | POST |
请求参数:
字段名称 | 参数类型 | 参数说明 |
---|---|---|
token | String | 鉴权token,必须是超管 |
companyName | Optional(String) | 公司名,如果传了会更改公司名 |
updatedOrgs | Array | 见输入样例 |
forceDeleteOrg | Optional(Boolean) | 是否强制删除部门,默认为 true,如果不设置为 false,会递归的删除该部门下的所有部门,并冻结所有人员 |
deletedOrgCodes | Array(String) | 需要删除的部门的编码,可以重复删除,如果不删除可以传一个空数组 |
输入样例:
{
"companyName": "xxx公司", // 可选字段,如果传了会更改公司名
"updatedOrgs": [{ // 新增或更新的部门
"orgCode": "xxx", // 部门编码,要保证全局唯一
"name": "部门名称",
"parentOrgCode": "上级部门编码", // 可选,如果不传,说明是一级部门
"orgAdminUniqueIds": ["account1", "account2"], // 部门负责人列表,目前只取第一个负责人
"description": "部门描述"
}],
"forceDeleteOrg": false, // 是否强制删除部门
"deletedOrgCodes": ["code1", "code2", "code3"] // 必传,需要删除的部门的编码,可以重复删除,如果不删除可以传一个空数组
}
2.人员和组织的关系同步
接口说明:
使用对外接口文档中的/api/dash/user/batchImport接口 ,在导入用户的过程中,把组织关系也同步过来。
该接口的 users 字段新增 userOrgs 字段,表示用户当前直属于哪些部门,以及在这些部门里的角色
注意:
第一次调用 [(部门A, leader)] ,会把这个用户加入部门A,且作为负责人
第二次调用 [(部门A, normal)],这个用户仍然在A,但不是负责人了
第一次调用 userOrgs 说这个用户在A部门
第二次调用 userOrgs 说这个用户在B,C部门
第三次调用 userOrgs 说这个用户在 E,F,G 部门
最终这个用户在 EFG 部门
基本信息:
API | /api/dash/user/batchImport |
Method | POST |
输入样例:
{
"token": "167817564178376dcd64c0bebedc9b161bb8a",
"users": [{
"uniqueId": "wanglibing6@admin.com",
"userOrgs": [{
"orgCode": "4BnnSF6KcKnY",
"orgRole": "normal"
}],
}],
"returnOrgFailedUsers": true //如果有用户的 org 没同步成功,返回报错信息
}
返回样例:
{
"code": 200,
"result": [ // 如果设置了 returnOrgFailedUsers
{
"uniqueId": "maomao",
"message": "code1 dosen't exist!"
}
]
}
文档反馈
以上内容对您是否有帮助?