OThinker.Organization.IOrganization
说明:组织结构接口,用于增删改查组织结构信息,整个组织结构的索引是完全建立在内存索引的基础上的,所以相应会非常快
方法名称:Reload
方法说明 | 装载必须装载全部数据,因为其他的判断包括Alias是否存在的判断都是判断内存中的数据 | |
输入参数 | ||
名称 | 类型 | 说明 |
返回值 | 无 |
方法名称:GetUnit(System.String)
方法说明 | 根据ID获得Unit | |
输入参数 | ||
名称 | 类型 | 说明 |
ID | System.String | 组织的ID |
返回值 | 组织对象 |
方法名称:GetUnits(System.String[])
方法说明 | 通过ID批量获得组织 | |
输入参数 | ||
名称 | 类型 | 说明 |
Ids | System.String[] | 组织的ID |
返回值 | 组织对象 |
方法名称:GetUnitsByCodes(System.String[])
方法说明 | 通过Code批量获得组织 | |
输入参数 | ||
名称 | 类型 | 说明 |
Codes | System.String[] | 组织的Code |
返回值 | 组织对象 |
方法名称:GetUnitFullNameTable(System.String[])
方法说明 | 通过ID批量获得组织的全名。执行该方法不需要锁定组织结构服务。 | |
输入参数 | ||
名称 | 类型 | 说明 |
Ids | System.String[] | 组织的ID |
返回值 | 如果参数是Null,那么返回Null;否则按照每个ID获得名称,不获取重复的记录,然后返回一个(ID, 全名称)的表 |
方法名称:GetUnitPathTable(System.String[])
方法说明 | 通过ID批量获得组织的全名。执行该方法不需要锁定组织结构服务。 | |
输入参数 | ||
名称 | 类型 | 说明 |
Ids | System.String[] | 组织的ID |
返回值 | 如果参数是Null,那么返回Null;否则按照每个ID获得名称,不获取重复的记录,然后返回一个(ID, 全路径)的表 |
方法名称:GetUnitCopy(System.String)
方法说明 | 根据ID获得Unit的一个副本,这个副本中的属性跟Unit本身完全一样,只是并不在组织结构的缓存中,外部程序可以对这个副本进行编辑,然后再通过UpdateUnit方法,更新到系统缓存和数据库中。如果不使用副本直接进行编辑的话,那么可能会影响内存中的对象。 | |
输入参数 | ||
名称 | 类型 | 说明 |
ID | System.String | 组织的ID |
返回值 | 组织对象 |
方法名称:GetCompanyUnits(OThinker.Organization.State)
方法说明 | 获得公司下的所有单元 | |
输入参数 | ||
名称 | 类型 | 说明 |
State | OThinker.Organization.State | 组织的状态条件 |
返回值 | 公司下面的所有符合状态条件的组织对象 |
方法名称:AddUnit(System.String,OThinker.Organization.Unit)
方法说明 | 添加一个Unit | |
输入参数 | ||
名称 | 类型 | 说明 |
Modifier | System.String | 请求变更的人 |
Unit | OThinker.Organization.Unit | 要添加的对象 |
返回值 | 返回ID |
方法名称:UpdateUnit(System.String,OThinker.Organization.Unit)
方法说明 | 更新一个Unit | |
输入参数 | ||
名称 | 类型 | 说明 |
Modifier | System.String | 请求变更的人 |
Unit | OThinker.Organization.Unit | 具有新属性的Unit |
返回值 | 错误代码 |
方法名称:RemoveUnit(System.String,System.String)
方法说明 | 删除一个组织 | |
输入参数 | ||
名称 | 类型 | 说明 |
Modifier | System.String | 请求变更的人 |
ID | System.String | 要删除的组织的ID |
返回值 | 删除的Unit的数量 |
方法名称:Sync(System.String,System.String[],System.String,System.String,System.DateTime,OThinker.Organization.RootMode,OThinker.Organization.ADUserRemovingPolicy,System.Boolean)
方法说明 | 同步AD | |
输入参数 | ||
名称 | 类型 | 说明 |
Modifier | System.String | 修改人员 |
ADPathes | System.String[] | AD路径 |
ADUser | System.String | AD登录名 |
ADPassword | System.String | AD密码 |
UTCLastSyncTime | System.DateTime | 上一次同步时间 |
RootMode | OThinker.Organization.RootMode | 根目录模式。如果要同步的对象是某一个OU,那么允许两种模式:1、将OU作为一个节点同步到公司节点下面;2、将OU下面的子对象直接同步到公司下面。 |
ADUserRemovingPolicy | OThinker.Organization.ADUserRemovingPolicy | AD用户被删除之后的同步策略 |
LoginNameIncludeDomain | System.Boolean | 用户的登陆名是否包含域名 |
返回值 |
方法名称:CreateUser(System.String,System.String[],System.String,System.String,System.String,System.Boolean,OThinker.Organization.HandleResult@)
方法说明 | 根据活动目录中的用户信息新建一个用户对象 | |
输入参数 | ||
名称 | 类型 | 说明 |
ADPath | System.String | AD路径 |
ReferenceADPathes | System.String[] | |
ADUser | System.String | AD登录名 |
ADPassword | System.String | AD密码 |
UserAlias | System.String | 要创建的用户的登录名 |
LoginNameIncludeDomain | System.Boolean | 用户的登陆名是否包含域名 |
Result | OThinker.Organization.HandleResult@ | 如果成功则返回SUCCESS,否则返回错误代码 |
返回值 | 新建的用户 |
方法名称:QueryADUsers(System.String[],System.String,System.String,System.String)
方法说明 | 按照登陆名前缀条件来查找AD用户 | |
输入参数 | ||
名称 | 类型 | 说明 |
ADPathes | System.String[] | 所有需要遍历的LADP |
ADUser | System.String | 登陆名 |
ADPassword | System.String | 登陆密码 |
UserAlias | System.String | 账号前缀 |
返回值 | (LDAP, 用户不带域前缀的登陆名数组) |
方法名称:QueryADUsersByDate(System.String[],System.String,System.String,System.DateTime)
方法说明 | 按照修改日期条件来查找AD用户 | |
输入参数 | ||
名称 | 类型 | 说明 |
ADPathes | System.String[] | 所有需要遍历的LADP |
ADUser | System.String | 登陆名 |
ADPassword | System.String | 登陆密码 |
UTCBenchDate | System.DateTime | 基准时间 |
返回值 | (LDAP, 用户不带域前缀的登陆名数组) |
方法名称:QueryLog(System.DateTime,System.DateTime)
方法说明 | 用于查找修改日志,取的日志范围是小于To并且大于等于From | |
输入参数 | ||
名称 | 类型 | 说明 |
From | System.DateTime | 查询的开始时间 |
To | System.DateTime | 查询的结束时间 |
返回值 | 搜索到的日志 |
方法名称:IsAdministrator(System.String)
方法说明 | 判断该用户是否是管理员 | |
输入参数 | ||
名称 | 类型 | 说明 |
ID | System.String | |
返回值 |
方法名称:IsAdministratorByIds(System.String[])
方法说明 | 如果其中任何一个对象是管理员,那么返回true | |
输入参数 | ||
名称 | 类型 | 说明 |
Ids | System.String[] | 组织的ID |
返回值 | 如果其中任何一个对象是管理员,那么返回true,否则返回false |
方法名称:GetManager(System.String)
方法说明 | 获得用户/组/OU/公司的经理。但是不能获得群的经理 | |
输入参数 | ||
名称 | 类型 | 说明 |
ID | System.String | 组织的ID |
返回值 | 这个组织的经理 |
方法名称:GetManagers(System.String[])
方法说明 | 获得用户/组/OU/公司/群的经理,如果是群的话,那么需要自动展开,然后分别获得每个组织的经理 | |
输入参数 | ||
名称 | 类型 | 说明 |
Units | System.String[] | 用户/组/OU/公司/群的ID数组 |
返回值 | 组织的经理 |
方法名称:GetDirectManager(System.String)
方法说明 | 获得用户的直接经理 | |
输入参数 | ||
名称 | 类型 | 说明 |
ID | System.String | 组织的ID |
返回值 | 组织的经理经理的ID |
方法名称:GetRecursiveManagers(System.String)
方法说明 | 获得用户的递归的经理,从直接经理依次往上递归 | |
输入参数 | ||
名称 | 类型 | 说明 |
ID | System.String | 组织的ID |
返回值 | 组织的经理的ID数组 |
方法名称:GetManagerByInterval(System.String,System.Int32)
方法说明 | 获得某个组织的跨级经理。 | |
输入参数 | ||
名称 | 类型 | 说明 |
UnitId | System.String | 组织ID。如果组织是群,那么获得群的子对象,并针对各个子对象获得相应的跨级经理;如果是非群,那么直接获得跨级经理 |
Interval | System.Int32 | 跨级的级别,0表示自己,1表示父对象,依次类推 |
返回值 | 返回的经理没有重复值 |
方法名称:GetUnitsManagersByInterval(System.String[],System.Int32)
方法说明 | 获得某个组织的跨级经理。 | |
输入参数 | ||
名称 | 类型 | 说明 |
Units | System.String[] | 组织ID。如果组织是群,那么获得群的子对象,并针对各个子对象获得相应的跨级经理;如果是非群,那么直接获得跨级经理 |
Interval | System.Int32 | 跨级的级别,0表示自己,1表示父对象,依次类推 |
返回值 | 返回的经理没有重复值 |
方法名称:GetManagerByLevel(System.String,System.Int32)
方法说明 | 获得某个级别的经理 | |
输入参数 | ||
名称 | 类型 | 说明 |
UnitId | System.String | 组织ID。如果组织是群,那么获得群的子对象,并针对各个子对象获得相应的跨级经理;如果是非群,那么直接获得跨级经理 |
Level | System.Int32 | 级别,0表示公司,1表示公司的直接下属OU,依次类推 |
返回值 | 如果对象不存在或者不存在那么多的级别父对象,那么返回Null |
方法名称:GetManagerByEmployeeRank(System.String,System.Int32)
方法说明 | 获取指定员工级别的经理 | |
输入参数 | ||
名称 | 类型 | 说明 |
UnitId | System.String | 组织ID。如果组织是群,那么获得群的子对象,并针对各个子对象获得相应的跨级经理;如果是非群,那么直接获得跨级经理 |
Level | System.Int32 | 级别,0表示公司,1表示公司的直接下属OU,依次类推 |
返回值 | 如果对象不存在或者不存在那么多的级别父对象,那么返回Null |
方法名称:GetManagersByLevel(System.String[],System.Int32)
方法说明 | 获得某个组织的跨级经理。 | |
输入参数 | ||
名称 | 类型 | 说明 |
Units | System.String[] | 组织ID。如果组织是群,那么获得群的子对象,并针对各个子对象获得相应的跨级经理;如果是非群,那么直接获得跨级经理 |
Level | System.Int32 | 级别,0表示公司,1表示公司的直接下属OU,依次类推 |
返回值 | 返回的经理没有重复值 |
方法名称:GetManagersByEmployeeRank(System.String[],System.Int32)
方法说明 | 获取指定员工级别的经理 | |
输入参数 | ||
名称 | 类型 | 说明 |
Units | System.String[] | 组织ID。如果组织是群,那么获得群的子对象,并针对各个子对象获得相应的跨级经理;如果是非群,那么直接获得跨级经理 |
Level | System.Int32 | 员工级别 |
返回值 | 如果对象不存在或者不存在那么多的级别父对象,那么返回Null |
方法名称:GetName(System.String)
方法说明 | 获得单元的实际名称,比如张三,李四之类的。 | |
输入参数 | ||
名称 | 类型 | 说明 |
ID | System.String | 组织的ID |
返回值 | 如果返回null,那么表示该单元不存在 |
方法名称:GetFullName(System.String)
方法说明 | 通过单元ID获得某个单元的全名称 | |
输入参数 | ||
名称 | 类型 | 说明 |
ID | System.String | 组织的ID |
返回值 | 如果单元为用户,则返回User[Alias];否则,则返回路径形式,比如/Company1/Dept1/Dept1_G1 |
方法名称:GetPath(System.String)
方法说明 | 获得单元的全路径。注意:路径不能唯一确定某个单元 | |
输入参数 | ||
名称 | 类型 | 说明 |
ID | System.String | 组织的ID |
返回值 | 返回路径形式,比如/Company1/Dept1/Dept1_G1或者/Company1/User1的形式,路径中所有元素均为单元的名称 |
方法名称:GetParent(System.String)
方法说明 | 获得父节点ID | |
输入参数 | ||
名称 | 类型 | 说明 |
ID | System.String | 组织的ID |
返回值 | 父组织的ID |
方法名称:GetParentUnit(System.String)
方法说明 | 获得父对象 | |
输入参数 | ||
名称 | 类型 | 说明 |
ID | System.String | 组织的ID |
返回值 | 父组织 |
方法名称:GetParentByLevel(System.String,System.Int32)
方法说明 | 通过层次获得父对象的ID | |
输入参数 | ||
名称 | 类型 | 说明 |
ID | System.String | 子对象ID |
Level | System.Int32 | 层次 |
返回值 | 父对象 |
方法名称:GetParentByInterval(System.String,System.Int32)
方法说明 | 获取跨级上级对象 | |
输入参数 | ||
名称 | 类型 | 说明 |
ID | System.String | 子对象ID |
Level | System.Int32 | 跨度层级,0表示自己 |
返回值 | 父对象 |
方法名称:GetParentUnitByLevel(System.String,System.Int32)
方法说明 | 通过层次获得父对象 | |
输入参数 | ||
名称 | 类型 | 说明 |
ID | System.String | 子对象ID |
Level | System.Int32 | 层次 |
返回值 | 父对象 |
方法名称:GetUnitLevel(System.String)
方法说明 | 获取组织层级 | |
输入参数 | ||
名称 | 类型 | 说明 |
ID | System.String | 组织ID |
返回值 |
方法名称:GetParents(System.String,OThinker.Organization.UnitType,System.Boolean,OThinker.Organization.State)
方法说明 | 获得父/祖先Unit数组 | |
输入参数 | ||
名称 | 类型 | 说明 |
ID | System.String | 子Unit |
ParentUnitType | OThinker.Organization.UnitType | 要获得的父/祖先的类型 |
Recursive | System.Boolean | 是否递归 |
State | OThinker.Organization.State | 状态条件,如果要所有状态的组织,可以使用Unspecified |
返回值 | 父/祖先集合 |
方法名称:GetParentUnits(System.String,OThinker.Organization.UnitType,System.Boolean,OThinker.Organization.State)
方法说明 | 获得父/祖先Unit数组 | |
输入参数 | ||
名称 | 类型 | 说明 |
ID | System.String | 子Unit |
ParentUnitType | OThinker.Organization.UnitType | 要获得的父/祖先的类型 |
Recursive | System.Boolean | 是否递归 |
State | OThinker.Organization.State | 状态条件,如果要所有状态的组织,可以使用Unspecified |
返回值 | 父/祖先集合 |
方法名称:GetMembers(System.String[])
方法说明 | 如果Parents的某个Parent为用户,则返回他自己,如果Receiver为组或组织单元,则返回他下面的递归用户列表。 | |
输入参数 | ||
名称 | 类型 | 说明 |
Parents | System.String[] | 父组织的ID |
返回值 | 隶属于父组织的成员 |
方法名称:GetMembersByState(System.String[],OThinker.Organization.State)
方法说明 | 如果Parents的某个Parent为用户,则返回他自己,如果Receiver为组或组织单元,则返回他下面的递归用户列表。 | |
输入参数 | ||
名称 | 类型 | 说明 |
Parents | System.String[] | 父组织的ID |
State | OThinker.Organization.State | 状态条件,如果要所有状态的组织,可以使用Unspecified |
返回值 | 隶属于父组织的成员 |
方法名称:GetMemberUsers(System.String[])
方法说明 | 获得用户成员。;如果Unit为Company、OrganizationUnit,则递归获得他们下面的所有User成员;如果Unit为Group,则获得该Group下的所有User成员;如果Unit为User,则直接返回string[]{ User } | |
输入参数 | ||
名称 | 类型 | 说明 |
Units | System.String[] | 父组织的ID |
返回值 | 父组织中的所有用户子成员 |
方法名称:GetChildren(System.String,OThinker.Organization.UnitType,System.Boolean,OThinker.Organization.State)
方法说明 | 获得子Unit | |
输入参数 | ||
名称 | 类型 | 说明 |
ID | System.String | 祖先的ID |
ChildUnitType | OThinker.Organization.UnitType | 作为一个过滤条件,只返回这种类型的Unit |
Recursive | System.Boolean | 是否递归 |
State | OThinker.Organization.State | 状态条件,如果要所有状态的组织,可以使用Unspecified |
返回值 | 如果祖先是Company或者OrganizationUnit类型,那么递归/不递归返回下面的所有ChildUnitType类型的Unit;如果是Group,则不递归只返回他的下属成员;如果是User,则不递归返回Manager指向该User的Unit |
方法名称:GetChildUnits(System.String,OThinker.Organization.UnitType,System.Boolean,OThinker.Organization.State)
方法说明 | 获得子Unit | |
输入参数 | ||
名称 | 类型 | 说明 |
ID | System.String | 祖先的ID |
ChildUnitType | OThinker.Organization.UnitType | 作为一个过滤条件,只返回这种类型的Unit |
Recursive | System.Boolean | 是否递归 |
返回值 | 如果祖先是Company或者OrganizationUnit类型,那么递归/不递归返回下面的所有ChildUnitType类型的Unit;如果是Group,则不递归只返回他的下属成员;如果是User,则不递归返回Manager指向该User的Unit |
方法名称:GetChildUnitsByIds(System.String[],OThinker.Organization.UnitType,System.Boolean,OThinker.Organization.State)
方法说明 | 获得子Unit | |
输入参数 | ||
名称 | 类型 | 说明 |
IDs | System.String[] | 祖先的ID |
ChildUnitType | OThinker.Organization.UnitType | 作为一个过滤条件,只返回这种类型的Unit |
Recursive | System.Boolean | 是否递归 |
State | OThinker.Organization.State | 状态条件,如果要所有状态的组织,可以使用Unspecified |
返回值 | 如果祖先是Company或者OrganizationUnit类型,那么递归/不递归返回下面的所有ChildUnitType类型的Unit;如果是Group,则不递归只返回他的下属成员;如果是User,则不递归返回Manager指向该User的Unit |
方法名称:GetChildrenByLevel(System.String,OThinker.Organization.UnitType,System.Int32,OThinker.Organization.State)
方法说明 | 根据层级获得子对象 | |
输入参数 | ||
名称 | 类型 | 说明 |
ID | System.String | 父对象 |
ChildUnitType | OThinker.Organization.UnitType | 子对象类型 |
Level | System.Int32 | 层级 |
State | OThinker.Organization.State | 状态条件,如果要所有状态的组织,可以使用Unspecified |
返回值 | 该层级的子组织 |
方法名称:GetChildUnitsByLevel(System.String,OThinker.Organization.UnitType,System.Int32,OThinker.Organization.State)
方法说明 | 根据层级获得子对象 | |
输入参数 | ||
名称 | 类型 | 说明 |
ID | System.String | 父对象 |
ChildUnitType | OThinker.Organization.UnitType | 子对象类型 |
Level | System.Int32 | 层级 |
State | OThinker.Organization.State | 状态条件,如果要所有状态的组织,可以使用Unspecified |
返回值 | 该层级的子组织 |
方法名称:IsAncestor(System.String,System.String)
方法说明 | 判断某一个单元是否是另外一个单元的祖先 | |
输入参数 | ||
名称 | 类型 | 说明 |
ChildID | System.String | 子孙ID |
AncestorID | System.String | 祖先ID |
返回值 | 如果是祖先关系则返回true,否则返回false |
方法名称:GetUserManagedUnits(System.String,OThinker.Organization.UnitType)
方法说明 | 用户的直接下属 | |
输入参数 | ||
名称 | 类型 | 说明 |
UserID | System.String | 用户 |
UnitType | OThinker.Organization.UnitType | 单元的类型 |
返回值 | 该用户管理的对象 |
方法名称:GetUserEmail(System.String)
方法说明 | 获得用户的电子邮件地址 | |
输入参数 | ||
名称 | 类型 | 说明 |
UserID | System.String | 用户ID |
返回值 | 用户的邮件地址 |
方法名称:GetUserAddress(System.String)
方法说明 | 获得用户的地址 | |
输入参数 | ||
名称 | 类型 | 说明 |
UserID | System.String | 用户ID |
返回值 | 用户的地址 |
方法名称:GetUserTitle(System.String)
方法说明 | 获得用户头衔 | |
输入参数 | ||
名称 | 类型 | 说明 |
UserID | System.String | |
返回值 |
方法名称:GetUserMobile(System.String)
方法说明 | 获得用户的移动电话 | |
输入参数 | ||
名称 | 类型 | 说明 |
UserID | System.String | 用户ID |
返回值 | 用户的移动电话 |
方法名称:GetUserOfficePhone(System.String)
方法说明 | 获得用户的办公电话 | |
输入参数 | ||
名称 | 类型 | 说明 |
UserID | System.String | 用户ID |
返回值 | 用户的办公电话 |
方法名称:GetUserIpPhone(System.String)
方法说明 | 获得用户的IP电话 | |
输入参数 | ||
名称 | 类型 | 说明 |
UserID | System.String | 用户ID |
返回值 | 用户的IP电话 |
方法名称:GetParentGroups(System.String,OThinker.Organization.VisibleType,OThinker.Organization.State)
方法说明 | 获得用户所属于的组 | |
输入参数 | ||
名称 | 类型 | 说明 |
ID | System.String | 组成员的ID |
Type | OThinker.Organization.VisibleType | 可见类型 |
State | OThinker.Organization.State | 状态过滤条件 |
返回值 | 用户隶属于的组 |
方法名称:Sort(System.String[])
方法说明 | 通过排序键升序排序 | |
输入参数 | ||
名称 | 类型 | 说明 |
Units | System.String[] | 组织的ID |
返回值 | 排序号的组织的ID,按照排序码升序排列 |
方法名称:GetUserDept(System.String)
方法说明 | 获得用户所属于的部门 | |
输入参数 | ||
名称 | 类型 | 说明 |
UserID | System.String | 用户ID |
返回值 | 用户所属于的部门 |
方法名称:QueryUser(System.String,OThinker.Organization.State)
方法说明 | 查找用户 | |
输入参数 | ||
名称 | 类型 | 说明 |
Keyword | System.String | 要查询的关键字 |
State | OThinker.Organization.State | 状态条件,如果要所有状态的组织,可以使用Unspecified |
返回值 | 查询出的用户表 |
方法名称:QueryByName(System.String,OThinker.Organization.UnitType,OThinker.Organization.State)
方法说明 | 获得所有以某个字符串为开头的组织,其中对于用户会匹配用户名和登录名两个字段,其他类型的组织只匹配名称 | |
输入参数 | ||
名称 | 类型 | 说明 |
StartWith | System.String | 打头的字符串,禁止为Null,不区分大小写 |
UnitType | OThinker.Organization.UnitType | 要求返回的类型 |
State | OThinker.Organization.State | 状态条件,如果要所有状态的组织,可以使用Unspecified |
返回值 | 返回的对象 |
方法名称:AddSignature(OThinker.Organization.Signature)
方法说明 | 添加签章 | |
输入参数 | ||
名称 | 类型 | 说明 |
Signature | OThinker.Organization.Signature | 签章 |
返回值 | 如果添加成功,则返回true,否则返回false |
方法名称:RemoveSignature(System.String)
方法说明 | 删除签章 | |
输入参数 | ||
名称 | 类型 | 说明 |
SignatureId | System.String | 签章的ID |
返回值 | 无 |
方法名称:SetSignatureState(System.String,OThinker.Organization.State)
方法说明 | 设置签章的状态 | |
输入参数 | ||
名称 | 类型 | 说明 |
SignatureId | System.String | 签章ID |
State | OThinker.Organization.State | 状态 |
返回值 | 无 |
方法名称:GetSignature(System.String)
方法说明 | 获得签章 | |
输入参数 | ||
名称 | 类型 | 说明 |
SignatureId | System.String | 签章的ID |
返回值 | 签章信息 |
方法名称:GetSignatures(System.String[])
方法说明 | 获得签章 | |
输入参数 | ||
名称 | 类型 | 说明 |
SignatureIds | System.String[] | 签章的ID |
返回值 | 签章 |
方法名称:GetSignaturesByUnit(System.String)
方法说明 | 获得用户的所有签章 | |
输入参数 | ||
名称 | 类型 | 说明 |
UnitId | System.String | 组织的ID |
返回值 | 签章 |
方法名称:GetSignatureByName(System.String,System.String)
方法说明 | 通过名字获得签章 | |
输入参数 | ||
名称 | 类型 | 说明 |
UnitId | System.String | 组织的ID |
Name | System.String | 签章名称 |
返回值 | 签章 |
方法名称:GetSignatureNames(System.String)
方法说明 | 获得用户所有签章的名称 | |
输入参数 | ||
名称 | 类型 | 说明 |
UnitId | System.String | 组织的ID |
返回值 | 签章 |
方法名称:GetDefaultSignature(System.String)
方法说明 | 获得默认的签章 | |
输入参数 | ||
名称 | 类型 | 说明 |
UnitId | System.String | 组织的ID |
返回值 | 默认签章的ID |
方法名称:SetDefaultSignature(System.String,System.Boolean)
方法说明 | 设置为默认的签章 | |
输入参数 | ||
名称 | 类型 | 说明 |
SignatureId | System.String | 签章的ID |
Default | System.Boolean | 是否是默认的 |
返回值 | 无 |
方法名称:AddCategory(OThinker.Organization.Category)
方法说明 | 添加类型定义 | |
输入参数 | ||
名称 | 类型 | 说明 |
Category | OThinker.Organization.Category | 类型定义 |
返回值 | 如果添加成功,则返回true,否则返回false |
方法名称:RemoveCategory(System.String)
方法说明 | 删除类型 | |
输入参数 | ||
名称 | 类型 | 说明 |
CategoryId | System.String | 类型定义的ID |
返回值 | 无 |
方法名称:GetCategory(System.String)
方法说明 | 根据类型定义的ID获得类型 | |
输入参数 | ||
名称 | 类型 | 说明 |
CategoryId | System.String | 类型的ID |
返回值 | 类型定义 |
方法名称:GetCategoryNames
方法说明 | 获得用户所有类型的名称 | |
输入参数 | ||
名称 | 类型 | 说明 |
返回值 | 类型的名称 |
方法名称:GetCategoryCodes
方法说明 | 获得用户所有类型的编码 | |
输入参数 | ||
名称 | 类型 | 说明 |
返回值 | 所有类型的编码 |
方法名称:GetCategoryByCode(System.String)
方法说明 | 通过编码获得分类 | |
输入参数 | ||
名称 | 类型 | 说明 |
Code | System.String | 类型的编码 |
返回值 | 类型定义 |
方法名称:GetByUnitType(OThinker.Organization.UnitType)
方法说明 | 通过类型获得可选择的分类 | |
输入参数 | ||
名称 | 类型 | 说明 |
Type | OThinker.Organization.UnitType | 组织的类型 |
返回值 | 支持这种组织类型的类型定义 |
方法名称:SaveCategory(OThinker.Organization.Category)
方法说明 | 保存类型 | |
输入参数 | ||
名称 | 类型 | 说明 |
Category | OThinker.Organization.Category | 类型定义 |
返回值 | 如果保存成功,则返回true,否则返回false |
方法名称:UpdateCategory(OThinker.Organization.Category)
方法说明 | 保存类型 | |
输入参数 | ||
名称 | 类型 | 说明 |
Category | OThinker.Organization.Category | 类型定义 |
返回值 | 如果保存成功,则返回true,否则返回false |
方法名称:GetCategoryByUnitId(System.String)
方法说明 | 通过单元ID获得分类 | |
输入参数 | ||
名称 | 类型 | 说明 |
UnitId | System.String | 组织的ID |
返回值 | 类型定义 |
方法名称:GetCategoryIdsByCodes(System.String[])
方法说明 | 通过分类的编码获得分类的ID | |
输入参数 | ||
名称 | 类型 | 说明 |
Codes | System.String[] | 类型编码 |
返回值 | 类型的ID |
方法名称:GetUnitCategoryCode(System.String)
方法说明 | 获得单元的类型编码 | |
输入参数 | ||
名称 | 类型 | 说明 |
UnitId | System.String | 组织的ID |
返回值 | 类型编码 |
方法名称:GetUnitCategoryName(System.String)
方法说明 | 获得单元的类型名称 | |
输入参数 | ||
名称 | 类型 | 说明 |
UnitId | System.String | 组织的ID |
返回值 | 类型名称 |
方法名称:FilterByCategoryCodes(System.String[],System.String[])
方法说明 | 通过分类的编码过滤组织 | |
输入参数 | ||
名称 | 类型 | 说明 |
Units | System.String[] | 组织 |
Codes | System.String[] | 类型编码 |
返回值 | 过滤的组织的ID |
方法名称:FindRole(System.String,System.String,System.Boolean)
方法说明 | 通过名称查找某个组织对应的角色。应用场景比如查找张三对应的报销审批专员。先在该组织的直接子成员上查找,如果找到则返回第一个;否则检查是否遍历父节点,如果需要遍历父节点,则遍历父节点;否则返回Null。 | |
输入参数 | ||
名称 | 类型 | 说明 |
StartUnit | System.String | 起始组织。必须是用户/组/OU |
UnitName | System.String | 名称 |
LookForAnsestor | System.Boolean | 如果没有找到,是否是向父节点遍历 |
返回值 | 返回找到的第一个组织的ID |
方法名称:FindRoles(System.String,System.String)
方法说明 | 通过名称查找某个组织对应的角色。应用场景比如查找张三对应的报销审批专员。先在该组织的直接子成员上查找,如果找到则返回第一个;否则检查是否遍历父节点,如果需要遍历父节点,则遍历父节点;否则返回Null。 | |
输入参数 | ||
名称 | 类型 | 说明 |
StartUnit | System.String | 起始组织。必须是用户/组/OU/群 |
UnitName | System.String | 名称 |
返回值 | 返回找到的第一个组织的ID |
方法名称:FindRolesByUnits(System.String[],System.String)
方法说明 | 查找组织对应的角色。比如要查找“研发部门”对应的“审计”人员 | |
输入参数 | ||
名称 | 类型 | 说明 |
StartUnits | System.String[] | 要查找的组织的ID。如果是群,那么会自动展开下面的子对象 |
RoleName | System.String | 名称 |
返回值 | 每个组织会返回第一个找到的对象 |
方法名称:FindRoleUnits(System.String[],System.String)
方法说明 | 查找组织对应的角色。比如要查找“研发部门”对应的“审计”人员 | |
输入参数 | ||
名称 | 类型 | 说明 |
StartUnits | System.String[] | 要查找的组织的ID。如果是群,那么会自动展开下面的子对象 |
RoleName | System.String | 角色的名称 |
返回值 | 找到的组织 |
方法名称:GetReferences(System.String)
方法说明 | 获得某个对象的引用。注意:该方法是逐一遍历所有组织对象,会非常占用服务器CPU,但是不会锁定组织结构服务对象 | |
输入参数 | ||
名称 | 类型 | 说明 |
UnitId | System.String | 被引用的对象的ID |
返回值 | 如果参数为Null或者"",那么返回False;如果参数为this.UnitId,那么返回true;否则检查其他属性是否等于该值。 |
方法名称:GetWorkflowCode(System.String)
方法说明 | 获得某个组织对应的流程编码 | |
输入参数 | ||
名称 | 类型 | 说明 |
UnitId | System.String | 组织的ID |
返回值 | 流程实例的流水号的编码 |
方法名称:GetUnitByCode(System.String)
方法说明 | 通过编码来查找组织对象 | |
输入参数 | ||
名称 | 类型 | 说明 |
Code | System.String | 编码 |
返回值 | 编号相匹配的组织对象 |
方法名称:GetUserByEmployeeNumber(System.String)
方法说明 | 通过员工编号来查找组织对象 | |
输入参数 | ||
名称 | 类型 | 说明 |
EmployeeNumber | System.String | 员工编号 |
返回值 | 员工编号相匹配的用户对象 |
方法名称:AddOrgJob(System.String,OThinker.Organization.OrgJob)
方法说明 | 添加一个职务 | |
输入参数 | ||
名称 | 类型 | 说明 |
Modifier | System.String | 请求变更的用户 |
Job | OThinker.Organization.OrgJob | 要添加的职务 |
返回值 | 无 |
方法名称:RemoveOrgJob(System.String,System.String)
方法说明 | 删除一个职务 | |
输入参数 | ||
名称 | 类型 | 说明 |
Modifier | System.String | 请求变更的用户 |
OrgJobId | System.String | 职务ID |
返回值 | 无 |
方法名称:GetOrgJobById(System.String)
方法说明 | 根据职务ID获得职务 | |
输入参数 | ||
名称 | 类型 | 说明 |
OrgJobId | System.String | 职务Id |
返回值 | 职务 |
方法名称:GetOrgJobByCode(System.String)
方法说明 | 根据职务编码获得职务 | |
输入参数 | ||
名称 | 类型 | 说明 |
OrgJobCode | System.String | 职务编码 |
返回值 | 职务 |
方法名称:GetOrgJobs
方法说明 | 获得所有的职务 | |
输入参数 | ||
名称 | 类型 | 说明 |
返回值 | 所有的职务 |
方法名称:UpdateOrgJob(System.String,OThinker.Organization.OrgJob)
方法说明 | 更新一个职务 | |
输入参数 | ||
名称 | 类型 | 说明 |
Modifier | System.String | 更新用户 |
Job | OThinker.Organization.OrgJob | 职务 |
返回值 | 如果出现重复的编码或者空的编码,则返回false;否则返回true |
方法名称:FindPost(System.String,System.String,System.Boolean)
方法说明 | 找到某个组织机构下面最直接的 | |
输入参数 | ||
名称 | 类型 | 说明 |
OrgId | System.String | 组织的ID,这个不能使群 |
OrgJobCode | System.String | 职务 |
Recursive | System.Boolean | 是否递归查找 |
返回值 | 岗位 |
方法名称:FindPosts(System.String[],System.String)
方法说明 | 找到某个组织机构下面最直接的岗位 | |
输入参数 | ||
名称 | 类型 | 说明 |
OrgIds | System.String[] | 组织的ID |
OrgJobCode | System.String | 职务 |
返回值 | 岗位 |
方法名称:FindPostMembers(System.String[],System.String)
方法说明 | 找到某个组织机构下面最直接的岗位的成员 | |
输入参数 | ||
名称 | 类型 | 说明 |
OrgIds | System.String[] | 组织的ID |
OrgJobCode | System.String | 职务编码 |
返回值 | 岗位人员 |
方法名称:FindPostMembersByCode(System.String[],System.String)
方法说明 | 找到某个组织机构下面最的岗位成员(包含编制中的用户) | |
输入参数 | ||
名称 | 类型 | 说明 |
OrgIds | System.String[] | 组织的ID |
PostCode | System.String | 岗位编码 |
返回值 | 岗位人员 |
方法名称:GetPostsByOrgJobCode(System.String)
方法说明 | 根据职位的编码获得所有的岗位 | |
输入参数 | ||
名称 | 类型 | 说明 |
OrgJobCode | System.String | 职位编码 |
返回值 | 某个职位的所有岗位 |
方法名称:FindSuperiorPost(System.String,System.Boolean)
方法说明 | 获得岗位的上级岗位,当上级岗位不存在的时候,自动向上遍历更高的上级岗位 | |
输入参数 | ||
名称 | 类型 | 说明 |
PostId | System.String | 岗位ID |
RequiredMembers | System.Boolean | 是否要求返回的岗位必须包含至少一名成员 |
返回值 | 上级岗位 |
方法名称:FindSuperiorPostMembers(System.String)
方法说明 | 获得岗位的上级岗位 | |
输入参数 | ||
名称 | 类型 | 说明 |
PostId | System.String | 岗位ID |
返回值 | 上级岗位的成员,如果直接上级岗位不存在成员,则自动向上遍历 |
方法名称:FindRecursiveParentPost(System.String,System.Int32)
方法说明 | 查找上级岗位到满足某个指定的级别,返回该岗位中的用户 | |
输入参数 | ||
名称 | 类型 | 说明 |
PostId | System.String | 查找的起始岗位ID |
Rank | System.Int32 | 岗位级别 |
返回值 |
方法名称:GetPostStaffByPost(System.String)
方法说明 | 根据岗位编码获取所有的编制信息 | |
输入参数 | ||
名称 | 类型 | 说明 |
PostId | System.String | |
返回值 |
方法名称:GetParentPostByLevel(System.String,System.Int32)
方法说明 | 获取指定岗位级别的上级岗位 | |
输入参数 | ||
名称 | 类型 | 说明 |
PostId | System.String | 起始岗位ID |
Level | System.Int32 | 岗位级别 |
返回值 |
方法名称:GetParentPost(System.String)
方法说明 | 获取指定岗位的上级岗位用户 | |
输入参数 | ||
名称 | 类型 | 说明 |
PostId | System.String | 岗位ID |
返回值 |
方法名称:GetCalendarId(System.String)
方法说明 | 获得某个组织机构的工作日历 | |
输入参数 | ||
名称 | 类型 | 说明 |
UnitId | System.String | 组织结构对象ID |
返回值 | 该组织结构对象对应的工作日历,如果该组织结构对象引用的工作日历为空,则自动向上遍历 |
方法名称:GetCalendarReferences(System.String)
方法说明 | 获得哪些组织结构对象引用了该工作日历 | |
输入参数 | ||
名称 | 类型 | 说明 |
CalendarId | System.String | 工作日历的对象ID,不区分大小写 |
返回值 | 引用该工作日历的组织结构对象 |
方法名称:FindManagersByLevelRange(System.String,System.Int32)
方法说明 | 查找上级经理到满足某个指定的级别 例如职级是从小到大,当A职级是3时,找到职级是6的经理,那么会返回用户上级经理中职级是4、5、6的人员,当6级经理不存在,则返回职级是7的经理 职级是从大到小时,那么A的职级是3,找到职级是1的经理时,返回上级经理中职级是2和1的经理,如果1没有找到,那么返回职级是0的经理 | |
输入参数 | ||
名称 | 类型 | 说明 |
UserId | System.String | 查找的组织范围起点 |
EndLevel | System.Int32 | 用户职级 |
返回值 |
方法名称:InitOrganizationDim
方法说明 | /初始化平铺 | |
输入参数 | ||
名称 | 类型 | 说明 |
返回值 | 无 |
方法名称:it.Update(OThinker.Organization.IOrganization,System.DirectoryServices.DirectoryEntry,System.DirectoryServices.DirectoryEntry[],System.DirectoryServices.DirectoryEntry,System.Boolean)
方法说明 | 更新属性 | |
输入参数 | ||
名称 | 类型 | 说明 |
Organization | OThinker.Organization.IOrganization | 组织结构对象 |
Root | System.DirectoryServices.DirectoryEntry | AD中的根目录 |
Entry | System.DirectoryServices.DirectoryEntry[] | AD中的对象 |
LoginNameIncludeDomain | System.DirectoryServices.DirectoryEntry | 登陆名中是否包含域名称 |
返回值 | 无 |
方法名称:it.Validate(OThinker.Organization.IOrganization)
方法说明 | 验证是否合法 | |
输入参数 | ||
名称 | 类型 | 说明 |
Organization | OThinker.Organization.IOrganization | 组织结构接口,用来获得人员、OU、组等信息 |
返回值 | 如果合法则返回SUCCESS,否则返回错误代码 |
方法名称:hinker.Organization.IOrganization,System.DirectoryServices.DirectoryEntry,System.DirectoryServices.DirectoryEntry[],System.DirectoryServices.DirectoryEntry,System.Boolean)
方法说明 | 跟活动目录同步的时候,调用更新属性方法,以活动目录中用户的属性为准 | |
输入参数 | ||
名称 | 类型 | 说明 |
Organization | hinker.Organization.IOrganization | 组织结构对象 |
Root | System.DirectoryServices.DirectoryEntry | AD中的根目录 |
Entry | System.DirectoryServices.DirectoryEntry[] | AD中的对象 |
LoginNameIncludeDomain | System.DirectoryServices.DirectoryEntry | 登陆名中是否包含域名称,如果包含的话,那么登录名的格式是domain1\user2这样的形式 |
返回值 | 无 |
方法名称:OThinker.Organization.IOrganization)
方法说明 | 验证是否合法 | |
输入参数 | ||
名称 | 类型 | 说明 |
Organization | OThinker.Organization.IOrganization | 组织结构接口,用来获得人员、OU、组等信息 |
返回值 | 如果合法则返回SUCCESS,否则返回错误代码 |