组织架构

组织架构

组织架构是指,一个组织整体的结构。是在企业管理要求、管控定位、管理模式及业务特征等多因素影响下,在企业内部组织资源、搭建流程、开展业务、落实管理的基本要素。是本SDK人员组成的基本构架,登录成功之后,系统会自动同步组织架构的人员、部门、公司信息。

企业

一个公司内部可能有一个或者多个企业

@interface QDCompany : NSObject

/**
 *  版本特征码
 */
@property (nonatomic, copy) NSString *syncId;

/**
 *  公司Id
 */
@property (nonatomic, copy) NSString *companyId;

/**
 *  公司名称
 */
@property (nonatomic, copy) NSString *companyName;

@end

获取公司信息

/**
 * 获取公司
 *
 * @param  companyID 公司ID
 * @return 公司对象
 */
- (QDCompany *)getCompanyByCompanyId:(NSString *)companyID;

获取公司节点信息

/**
 *  获取公司节点信息
 *
 *  @param company 公司
 *  @param completion 回调
 */
- (void)fetchCompanyNode:(QDCompany *)company completion:(_Nullable QDFetchCompanyNode)completion;

部门

一个公司有多个部门组成,人员大多在部门下面,也可以直接挂在公司下面。

@interface QDDept : NSObject

/**
 * 节点排序号
 */
@property(nonatomic, assign) NSInteger index;

/**
 *  节点code
 */
@property (nonatomic, copy)  NSString  *code;

/**
 *  部门Id
 */
@property (nonatomic, copy)  NSString  *deptId;

/**
 *  部门名称
 */
@property (nonatomic, copy)  NSString  *deptName;

/**
 *   部门人数
 */
@property (nonatomic, assign)NSInteger usercount;

/**
 *  部门全路径
 */
@property (nonatomic, copy)  NSString  *deptPath;

/**
 *  父节点Id
 */
@property (nonatomic, copy)  NSString  *parentId;

/**
 *  所属公司Id
 */
@property (nonatomic, copy)  NSString  *companyId;

/**
 *  创建时间
 */
@property (nonatomic, copy)  NSString  *createdate;

/**
 *  版本特征码
 */
@property (nonatomic, copy)  NSString  *syncId;

@end

获取部门信息

/**
 *  根据部门节点 ID 获取部门信息
 *
 *  @param  deptID  当前节点部门ID
 *  @return 部门信息
 */
- (QDDept *)getDeptByDeptID:(NSString *)deptID;

/**
 *  根据用户ID获取用户所在部门信息
 *
 *  @param  userID 用户ID
 */
- (NSArray<QDDept *> *)getDeptsByUserID:(NSString *)userID;

/**
 *  根据部门节点 ID 获取部门信息
 *
 *  @param  deptIdList  当前节点部门ID列表
 *  @return 部门信息
*/
- (NSArray<QDDept *> *)getDetpsByDeptIDList:(NSArray *)deptIdList;

/**
 *  根据公司ID 和 部门的节点 ID 获取部门信息
 *
 *  @param  companyID 公司ID
 *  @param  deptID       当前节点部门ID
 *  @return 部门信息
 */
- (QDDept *)getDeptByCompanyID:(NSString *)companyID deptID:(nullable NSString *)deptID;

/**
 *  根据公司ID 和 部门的节点 ID 获取子部门列表
 *
 *  @param  companyID 公司ID
 *  @param  deptID        父节点部门ID
 *  @return 部门列表
 */
- (NSArray<QDDept *> *)getDeptsByCompanyID:(NSString *)companyID deptID:(nullable NSString *)deptID;

获取部门节点信息

/**
 *  获取部门节点信息
 *
 *  @param dept    部门
 *  @param completion 回调
 */
- (void)fetchDeptNode:(QDDept *)dept completion:(_Nullable QDFetchDeptNode)completion;

获取公司-部门节点下的人员信息

/**
 *  根据公司ID 和 部门的节点 ID 获取用户信息
 *
 *  @param  companyID 公司ID
 *  @param  deptID       父节点部门ID
 *  @return 人员列表
 */
- (NSArray<QDUser *> *)getUsersByCompanyID:(NSString *)companyID deptID:(nullable NSString *)deptID;