Beispiel #1
0
        /// <summary>
        /// 查询企业在职员工列表 分页查询企业在职员工userid列表。
        /// </summary>
        /// <param name="accessToken"></param>
        /// <param name="statusList">在职员工子状态筛选,其他状态无效。2,试用期;3,正式;5,待离职;-1,无状态</param>
        /// <param name="offset">分页游标,从0开始</param>
        /// <param name="size">分页大小,最大20</param>
        /// <returns></returns>
        public OapiSmartworkHrmEmployeeQueryonjobResponse ListStaffID(string accessToken, string statusList, long offset, long size)
        {
            IDingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/smartwork/hrm/employee/queryonjob");
            OapiSmartworkHrmEmployeeQueryonjobRequest req = new OapiSmartworkHrmEmployeeQueryonjobRequest();

            req.StatusList = statusList;
            req.Offset     = offset;
            req.Size       = size;
            OapiSmartworkHrmEmployeeQueryonjobResponse response = client.Execute(req, accessToken);

            return(response);
        }
Beispiel #2
0
        /// <summary>
        /// 获取公司所有人员 包含试用期和正式员工
        /// </summary>
        /// <param name="accessToken"></param>
        /// <param name="nextCursor">-1</param>
        /// <param name="reportRes"></param>
        /// <param name="pvd"></param>
        /// <param name="modelList"></param>
        /// <returns></returns>
        public OapiSmartworkHrmEmployeeListResponse ListEmployee(string accessToken, long nextCursor, OapiSmartworkHrmEmployeeQueryonjobResponse reportRes, OapiSmartworkHrmEmployeeQueryonjobResponse.PageResultDomain pvd, OapiSmartworkHrmEmployeeListResponse modelList)
        {
            if (nextCursor != 0)
            {
                if (string.IsNullOrEmpty(accessToken))
                {
                    accessToken = AccessToken.GetAccessToken();
                }
                if (nextCursor == -1)
                {
                    nextCursor = 0;
                }
                reportRes = ListStaffID(AccessToken.GetAccessToken(), "2,3", nextCursor, 20);
                if (reportRes.Errcode != 0)
                {
                    return(null);
                }
                else
                {
                    if (modelList.Result == null)
                    {
                        modelList.Result = ListStaff(accessToken, string.Join(",", reportRes.Result.DataList.ToArray())).Result;
                    }
                    else
                    {
                        modelList.Result.AddRange(ListStaff(accessToken, string.Join(",", reportRes.Result.DataList.ToArray())).Result);
                    }

                    reportRes.Result.NextCursor = reportRes.Result.NextCursor;
                    reportRes.Result.DataList   = pvd.DataList;
                    ListEmployee(accessToken, reportRes.Result.NextCursor, reportRes, pvd, modelList);
                }
            }
            return(modelList);
        }