OThinker.Organization.IOrganization
类:OThinker.Organization.IOrganization
说明:
组织结构接口,用于增删改查组织结构信息,整个组织结构的索引是完全建立在内存索引的基础上的,所以相应会非常快
方法:GetUnit(System.String)
方法说明:
获取组织机构单元
名称 | 说明 |
UnitID | 组织机构单元UnitID |
返回值:
返回组织对象
方法:GetUserByCode(System.String)
方法说明:
根据用户编码获取用户信息
名称 | 说明 |
Code | 用户编码 |
返回值:
返回用户
方法:.GetJobByCode(System.String)
方法说明:
根据角色编码获取角色信息
名称 | 说明 |
Code | 角色编码 |
返回值:
返回角色
方法:.GetCalendarReferences(System.String)
方法说明:
获取所有工作日历的组织单元
名称 | 说明 |
CalendarID | 工作日历ID |
返回值:
组织机构单元集合
方法:.GetCategoryReferences(System.String)
方法说明:
根据类型编码获取绑定的组织单元集合
名称 | 说明 |
CategoryCode | 组织类型编码 |
返回值:
返回组织单元集合
方法:.GetAllUnits(OThinker.Organization.UnitType)
方法说明:
获取所有组织
名称 | 说明 |
UnitType | 组织机构类型 |
返回值:
方法:.GetAllAdministrators
方法说明:
获取所有管理员
名称 | 说明 |
返回值:
方法:AddUnit(System.String,OThinker.Organization.Unit)
方法说明:
增加组织机构单元
名称 | 说明 |
Modifier | 请求变更的人 |
Unit | 组织机构单元对象 |
返回值:
返回添加结果
方法:UpdateUnit(System.String,OThinker.Organization.Unit)
方法说明:
更新组织机构单元
名称 | 说明 |
Modifier | 请求变更的人 |
Unit | 组织机构单元对象 |
返回值:
返回更新结果
方法:RemoveUnit(System.String,OThinker.Organization.Unit)
方法说明:
移除组织机构
名称 | 说明 |
Modifier | 请求变更的人 |
Unit | 组织机构单元对象 |
返回值:
返回移除结果
方法: SetUserIsAdministrator(System.String,System.String,System.Boolean)
方法说明:
设置用户是否管理员
名称 | 说明 |
Modifier | 请求变更的人 |
UserID | 用户ID |
IsAdministrator | 是否管理员 |
方法:GetUnits(System.String[])
方法说明:
获取组织单元集合
名称 | 说明 |
UnitIDs | 组织ID集合 |
返回值:
返回组织对象
方法: GetNames(System.String[])
方法说明:
获取组织的显示名称
名称 | 说明 |
UnitIDs | 组织ID集合 |
返回值:
返回Dictionary{组织ID, 组织名称}的集合
方法: GetUnitLevel(System.String)
方法说明:
获取组织层级
名称 | 说明 |
UnitID | 组织UnitID |
返回值:
组织的层级
方法: GetFullNames(System.String[])
方法说明:
获取组织机构完整显示名称
名称 | 说明 |
UnitIDs | 组织单元ID集合(只接受OU) |
返回值:
返回组织机构完整显示名称
方法: GetName(System.String)
方法说明:
获取组织的显示名称
名称 | 说明 |
UnitID | 组织UnitID |
返回值:
组织的显示名称
方法: GetFullName(System.String)
方法说明:
获取完整的显示名称
名称 | 说明 |
UnitID | 组织UnitID(只接受OU) |
返回值:
组织的完整名称
方法:IsAncestor(System.String,System.String)
方法说明:
判断某一个单元是否是另外一个单元的祖先
名称 | 说明 |
ChildID | 子孙ID |
AncestorID | 祖先ID |
返回值:
如果是祖先关系则返回true,否则返回false
方法: GetParentUnit(System.String)
方法说明:
获得父对象
名称 | 说明 |
UnitID | 组织的UnitID |
返回值:
父组织
方法: GetParentUnitByLevel(System.String,System.Int32)
方法说明:
通过层次获得父对象
名称 | 说明 |
UnitID | 子对象UnitID |
Level | 层次 |
返回值:
父对象
方法: GetParentUnitByCategoryCode(System.String,System.String)
方法说明:
通过组织类型获取父级组织
名称 | 说明 |
UnitID | 子对象UnitID |
CategoryCode | 组织类型编码 |
返回值:
返回指定类型的父级组织单元
方法: QueryUserByParentID(System.String,OThinker.Organization.State,System.String,System.Int32)
方法说明:
查找用户
名称 | 说明 |
Keyword | 搜索关键字 |
State | 用户状态 |
ParentID | 父节点ID |
RowCount | 返回最大结果数 |
返回值:
查询出的用户集合
方法: QueryUser(System.String,OThinker.Organization.State,System.Int32)
方法说明:
查找用户
名称 | 说明 |
Keyword | 搜索关键字 |
State | 用户状态 |
RowCount | 返回最大结果数 |
返回值:
查询出的用户集合
方法:GetWorkflowCode(System.String)
方法说明:
获得某个组织对应的流程编码
名称 | 说明 |
UnitID | 组织的UnitID |
返回值:
流程实例的流水号的编码
方法:GetParents(System.String,OThinker.Organization.UnitType,System.Boolean,OThinker.Organization.State)
方法说明:
获取组织对象的上级对象(包含自己)
名称 | 说明 |
UnitID | 组织对象UnitID |
ParentUnitType | 父级组织类型 |
Recursive | 是否递归获取上级 |
State | 父组织状态 |
返回值:
返回指定组织的上级组织ID集合
方法:GetParentUnits(System.String,OThinker.Organization.UnitType,System.Boolean,OThinker.Organization.State)
方法说明:
获取组织对象的上级对象(包含自己)
名称 | 说明 |
UnitID | 组织对象ObjectID |
ParentUnitType | 父级组织类型 |
Recursive | 是否递归获取上级 |
State | 父组织状态 |
返回值:
返回指定组织的上级组织集合
方法:GetChildren(System.String,OThinker.Organization.UnitType,System.Boolean,OThinker.Organization.State)
方法说明:
获取子级OU信息(不包含自己)
名称 | 说明 |
UnitID | 父级对象UnitID |
ChildUnitType | 子级组织类型 |
Recursive | 是否递归获取 |
State | 子组织状态 |
返回值:
返回指定组织的子级ID集合
方法:GetChildUnits(System.String,OThinker.Organization.UnitType,System.Boolean,OThinker.Organization.State)
方法说明:
获取子级OU信息(不包含自己) 该方法只适用于OU、User和Group
名称 | 说明 |
UnitID | 父级对象UnitID |
ChildUnitType | 子级对象类型 |
Recursive | 是否递归获取 |
State | 子对象状态 |
返回值:
返回指定对象的子级
方法:GetMembers(System.String[],OThinker.Organization.State)
方法说明:
获取指定父组织下的所有成员
名称 | 说明 |
Parents | 父组织的ID集合 |
State | 状态条件,如果要所有状态的组织,可以使用Unspecified |
返回值:
隶属于父组织的成员
方法:GetMemberUsers(System.String[],OThinker.Organization.State)
方法说明:
获取指定组织下的所有用户集合
名称 | 说明 |
Parents | 父组织的ID集合 |
State | 组织状态 |
返回值:
返回子成员用户集合
方法:GetOUManager(System.String)
方法说明:
获取指定组织对象所在OU的OU经理
名称 | 说明 |
UnitID | 指定组织UnitID(OU/User/Group) |
返回值:
返回组织对象所在的OU经理
方法:GetOUManagers(System.String[])
方法说明:
获取指定组织对象所在OU的OU经理集合
名称 | 说明 |
UnitIDs | 指定组织ID(OU/User/Group) |
返回值:
返回组织对象所在的OU经理
方法:GetManager(System.String)
方法说明:
获取指定组织对象的经理
名称 | 说明 |
UnitID | 指定组织UnitID(OU/User/Group) |
返回值:
返回组织对象的经理
方法:GetManagers(System.String[])
方法说明:
获取组织集合的经理
名称 | 说明 |
UnitIDs | 组织ID集合 |
返回值:
返回组织集合的经理
方法:GetParent(System.String)
方法说明:
获取组织对象所在OU的ID(如果是OU,那么返回上级OU的ID)
名称 | 说明 |
UnitID | 组织机构单元 |
返回值:
返回组织对象所在OU的ID
方法:GetManagerByUnitLevel(System.String,System.Int32)
方法说明:
获取指定组织层级的经理
名称 | 说明 |
UnitID | 组织ID |
Level | 组织层级 |
返回值:
返回指定组织层级的经理
方法: GetManagersByUnitLevel(System.String[],System.Int32)
方法说明:
获取指定组织层级的经理集合
名称 | 说明 |
UnitIDs | 组织ID集合 |
Level | 组织层级 |
返回值:
返回指定组织层级的经理集合
方法: GetManagersByEmployeeRank(System.String[],System.Int32)
方法说明:
获取指定员工级别的经理(批量获取)
名称 | 说明 |
UnitIDs | 组织ID集合 |
Level | 员工级别 |
返回值:
返回指定员工级别的经理集合
方法:GetManagerByEmployeeRank(System.String,System.Int32)
方法说明:
获取指定员工级别的经理(单个)
名称 | 说明 |
UnitID | 组织ID |
Level | 员工级别 |
返回值:
返回指定员工级别的经理集合
方法:GetManagersUntilLevel(System.String,System.Int32)
方法说明:
查找上级经理到满足某个指定的级别 例如职级是从小到大,当A职级是3时,找到职级是6的经理,那么会返回用户上级经理中职级是4、5、6的人员,当6级经理不存在,则返回职级是7的经理 职级是从大到小时,那么A的职级是3,找到职级是1的经理时,返回上级经理中职级是2和1的经理,如果1没有找到,那么返回职级是0的经理
名称 | 说明 |
UserID | 查找的组织对象起点 |
EndLevel | 结束的用户职级 |
返回值:
返回指定满足条件的上级经理集合
方法:GetSecretaryByUserID(System.String)
方法说明:
获取指定用户的秘书
名称 | 说明 |
UserID | 指定的用户ID |
返回值:
返回用户的秘书
方法:GetCalendarByUnitId(System.String)
方法说明:
获取组织单元工作日历,当前组织机构工作日历为空时则继续找父组织
名称 | 说明 |
UnitId | 组织单元ID |
返回值:
返回组织机构使用的工作日历
方法:IsAdministrator(System.String)
方法说明:
获取某个用户是否系统管理员
名称 | 说明 |
UserID | 用户ID |
返回值:
返回是否是系统管理员
方法:GetUsersByJobCode(System.String,System.String,System.String)
方法说明:
根据组织UnitID和角色编码获取到相关用户
名称 | 说明 |
UnitID | 组织对象ID |
JobCode | 角色编码 |
CategoryCode | 限定查找范围 |
返回值:
返回指定角色下的用户ID集合
方法:GetParentJobUsers(System.String,System.String,System.String)
方法说明:
根据用户角色编码获取上级角色用户
名称 | 说明 |
UserID | 用户ID |
JobCode | 职务编码 |
CategoryCode | 限定查找范围 |
返回值:
返回指定角色下的用户ID集合
方法:GetParentJobUsersUnitlLevel(System.String,System.String,System.Int32,System.String)
方法说明:
获取上级职务直到某个职务层级的用户集合
名称 | 说明 |
UserID | 用户ID |
JobCode | 职务编码 |
EndLevel | 结束的职务层级 |
CategoryCode | 限定查找范围 |
返回值:
返回上级职务直到某个职务层级的用户集合
方法:GetParentJobUsersByLevelRange(System.String,System.String,System.Int32,System.Int32,System.String)
方法说明:
获取上级职务满足某个职务级别范围的职务用户集合
名称 | 说明 |
UserID | 查找的组织对象起点 |
JobCode | 职务编码 |
StartLevel | 开始级别 |
EndLevel | 结束级别 |
CategoryCode | 限定查找范围 |
返回值:
返回指定用户级别范围的上级职务用户集合
方法: GetManagerByCategoryCode(System.String,System.String)
方法说明:
获取指定组织类型的经理
名称 | 说明 |
UnitID | 组织ID |
CategoryCode | 组织类型编码 |
返回值:
返回经理集合
方法:GetManagersByCategoryCode(System.String[],System.String)
方法说明:
获取指定组织类型的经理集合
名称 | 说明 |
UnitIDs | 组织ID集合 |
CategoryCode | 组织类型编码 |
返回值:
返回指定类型组织的经理集合
方法:GetCategoryCodeByUnitID(System.String)
方法说明:
根据组织机构ID获取类型编码
名称 | 说明 |
UnitID | 组织ID |
返回值:
方法:.Reload
方法说明:
组织机构内存重载(注意:该方法会锁住整个引擎访问)
名称 | 说明 |
方法:.GetManagerByCategoryCode(System.String,System.String)
方法说明:
获取指定组织类型的经理
名称 | 说明 |
UnitID | 组织ID |
CategoryCode | 组织类型编码 |
返回值:
返回经理集合
方法:.GetManagersByCategoryCode(System.String[],System.String)
方法说明:
获取指定组织类型的经理集合
名称 | 说明 |
UnitIDs | 组织ID集合 |
CategoryCode | 组织类型编码 |
返回值:
返回指定类型组织的经理集合
方法:.AddSignature(OThinker.Organization.Signature)
方法说明:
添加签章
名称 | 说明 |
Signature | 签章 |
返回值:
如果添加成功,则返回true,否则返回false
方法:.RemoveSignature(System.String)
方法说明:
删除签章
名称 | 说明 |
SignatureId | 签章的ID |
方法:.SetSignatureState(System.String,OThinker.Organization.State)
方法说明:
设置签章的状态
名称 | 说明 |
SignatureId | 签章ID |
State | 状态 |
方法:.SetDefaultSignature(System.String,System.Boolean)
方法说明:
设置为默认的签章
名称 | 说明 |
SignatureId | 签章的ID |
Default | 是否是默认的 |
方法:.GetSignature(System.String)
方法说明:
获得签章
名称 | 说明 |
SignatureId | 签章的ID |
返回值:
签章信息
方法:.GetSignatures(System.String[])
方法说明:
获得签章
名称 | 说明 |
SignatureIds | 签章的ID |
返回值:
签章
方法:.GetSignaturesByUnit(System.String)
方法说明:
获得用户的所有签章
名称 | 说明 |
UnitId | 组织的ID |
返回值:
签章
方法:.GetSignatureByName(System.String,System.String)
方法说明:
通过名字获得签章
名称 | 说明 |
UnitId | 组织的ID |
Name | 签章名称 |
返回值:
签章
方法:.GetSignatureNames(System.String)
方法说明:
获得用户所有签章的名称
名称 | 说明 |
UnitId | 组织的ID |
返回值:
签章
方法:.GetDefaultSignature(System.String)
方法说明:
获得默认的签章
名称 | 说明 |
UnitId | 组织的ID |
返回值:
默认签章的ID
方法:.GetAllOrgCategories
方法说明:
获取组织机构类型集合
名称 | 说明 |
返回值:
组织机构类型集合
方法:.AddOrgCategory(OThinker.Organization.OrgCategory)
方法说明:
增加组织机构类型
名称 | 说明 |
Category | 组织类型 |
返回值:
返回创建是否成功
方法:.RemoveOrgCategory(System.String)
方法说明:
删除组织机构类型
名称 | 说明 |
CategoryID | 组织类型ID |
返回值:
返回删除是否成功
方法:.UpdateOrgCategory(OThinker.Organization.OrgCategory)
方法说明:
更新组织机构类型
名称 | 说明 |
Category | 组织类型 |
返回值:
返回更新是否成功
方法:.ExistsOrgCategory(System.String)
方法说明:
获取组织类型名称是否已经存在
名称 | 说明 |
CategoryCode | 组织类型编码 |
返回值:
方法:.Sync(System.String[],System.String,System.String,System.DateTime)
方法说明:
AD组织同步
名称 | 说明 |
ADPathes | AD路径集合 |
ADUser | 可读取AD权限的用户帐号 |
ADPassword | 可读取AD权限的用户密码 |
LastSyncTime | 上一次同步时间 |
返回值:
返回同步结果
方法:.AddFrequentlyUsedComment(OThinker.Organization.FrequentlyUsedComment)
方法说明:
增加用户的常用意见
名称 | 说明 |
Comment | 常用意见 |
返回值:
返回创建是否成功
方法:.UpdateFrequentlyUsedComment(OThinker.Organization.FrequentlyUsedComment)
方法说明:
更新用户的常用意见
名称 | 说明 |
Comment | 常用意见 |
返回值:
返回更新是否成功
方法:.RemoveFrequentlyUsedComment(System.String)
方法说明:
删除用户的常用意见
名称 | 说明 |
ObjectID | 意见ID |
返回值:
方法:.GetFrequentlyUsedComment(System.String)
方法说明:
获取单个意见信息
名称 | 说明 |
ObjectID | 意见ID |
返回值:
常用意见
方法:.GetFrequentlyUsedCommentsByUser(System.String)
方法说明:
获取用户的常用意见集合
名称 | 说明 |
UserID | 用户ID |
返回值:
常用意见集合
方法:.GetFrequentlyUsedCommentTextsByUser(System.String)
方法说明:
获取指定用户的常用意见集合
名称 | 说明 |
UserID | 用户ID |
返回值:
常用意见集合
方法:.GetCategoryByCode(System.String)
方法说明:
获取组织机构类型
名称 | 说明 |
CategoryCode | 组织机构类型编码 |
返回值:
返回组织机构类型
方法:.GetCategoryByUnitID(System.String)
方法说明:
获取组织机构类型
名称 | 说明 |
UnitID | 组织ID(用户、组或者OU) |
返回值:
返回组织机构类型
方法:.SetOrganizationDim
方法说明:
填充组织机构平铺表,填充前需要删除数据
名称 | 说明 |