阅读:1717 回复:9
我不会写代码
13

帖子

45

跟帖

849

积分

高级榴莲
高级榴莲
  • 社区居民

怎么获取岗位

楼主#
更多 发布于:2019-03-06 11:51

图片:微信截图_20190306114840.png


如题,我在表头要有个岗位的信息,请问大神们怎么根据用户取得岗位
武汉技术支持团队
40

帖子

1181

跟帖

3860

积分

论坛版主
论坛版主
1楼#
发布于:2019-03-11 09:45
你是使用的什么版本?一个用户可能有多个岗位,你怎么显示?
武汉技术支持团队
40

帖子

1181

跟帖

3860

积分

论坛版主
论坛版主
2楼#
发布于:2019-03-11 09:48
我猜你是不是想使用用户“称谓”这个属性?
我不会写代码
13

帖子

45

跟帖

849

积分

高级榴莲
高级榴莲
  • 社区居民
3楼#
发布于:2019-03-11 09:49
武汉技术支持团队:我猜你是不是想使用用户“称谓”这个属性?回到原帖
我用的是10.5版本,用户有多个岗位的话默认取第一个就好,另外组织角色就是岗位吗
武汉技术支持团队
40

帖子

1181

跟帖

3860

积分

论坛版主
论坛版主
4楼#
发布于:2019-03-11 10:19
/// <summary>
        /// 获取用户对应的所有角色
        /// </summary>
        /// <param name="userID"></param>
        /// <returns></returns>
        public JsonResult GetUserRoleList(string userID)
        {
            return ExecuteFunctionRun(() =>
           {
               List<string> lstPosts = this.Engine.Organization.GetParents(userID, UnitType.Post, true, State.Active);
               List<RoleUserViewModel> lstRoleUsers = new List<RoleUserViewModel>();
               if (lstPosts != null && lstPosts.Count > 0)
               {
                   foreach (string postid in lstPosts)
                   {
                       OThinker.Organization.OrgPost post = this.Engine.Organization.GetUnit(postid) as OThinker.Organization.OrgPost;
                       foreach (OrgStaff staff in post.ChildList)
                       {
                           if (staff.UserID == userID)
                           {


                               string userid = staff.UserID;
                               string _userCode = ((OThinker.Organization.User)this.Engine.Organization.GetUnit(userid)).Code;
                               string _userName = this.Engine.Organization.GetUnit(userid).Name;




                               //范围组织名称
                               string[] scopeids = staff.OUScope;
                               Dictionary<string, string> dicNames = this.Engine.Organization.GetNames(scopeids);
                               string scopeNames = "";
                               foreach (string key in dicNames.Keys) { scopeNames += dicNames[key] + ";"; }


                               lstRoleUsers.Add(new RoleUserViewModel
                               {
                                   ObjectID = staff.ObjectID,
                                   RoleID = post.ObjectID,
                                   RoleCode = post.Code,
                                   RoleName = post.Name,
                                   UserID = staff.UserID,
                                   UserCode = _userCode,
                                   UserName = _userName,
                                   Sortkey = staff.ParentIndex,
                                   ManagerScope = scopeNames,
                                   ManagerScopeIds = string.Join(";", staff.OUScope),
                                   Description = staff.Description


                               });
                           }
                       }
                   }


                   var gridData = CreateLigerUIGridData(lstRoleUsers.ToArray());
                   return Json(gridData, JsonRequestBehavior.AllowGet);
               }


               return Json(new { Rows = "", Total = 0 }, JsonRequestBehavior.AllowGet);
           });
        }
武汉技术支持团队
40

帖子

1181

跟帖

3860

积分

论坛版主
论坛版主
5楼#
发布于:2019-03-11 10:20
上面的是源代码,可以通过OrgUser/GetUserRoleList?id=去调用
我不会写代码
13

帖子

45

跟帖

849

积分

高级榴莲
高级榴莲
  • 社区居民
6楼#
发布于:2019-03-11 13:43
武汉技术支持团队:上面的是源代码,可以通过OrgUser/GetUserRoleList?id=去调用回到原帖
感谢,我试试
我不会写代码
13

帖子

45

跟帖

849

积分

高级榴莲
高级榴莲
  • 社区居民
7楼#
发布于:2019-03-11 13:45
组织角色就是岗位吗,系统只看到部门没看到岗位在哪
武汉技术支持团队
40

帖子

1181

跟帖

3860

积分

论坛版主
论坛版主
8楼#
发布于:2019-03-11 14:40
我不会写代码:组织角色就是岗位吗,系统只看到部门没看到岗位在哪回到原帖
是的
我不会写代码
13

帖子

45

跟帖

849

积分

高级榴莲
高级榴莲
  • 社区居民
9楼#
发布于:2019-03-14 13:57
武汉技术支持团队:上面的是源代码,可以通过OrgUser/GetUserRoleList?id=去调用回到原帖
v10.5版本的获取岗位问题已解决 ,但这个路径在9.27上找不到,我现在9.27也是需要这个需求,查找用户下所有的岗位,请问9.27版本怎么获取,谢谢
游客

返回顶部