Example #1
0
        /// <summary>
        /// 根据下拉查询部门ids
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="selectDeptId"></param>
        /// <returns></returns>
        public static List <int> GetPowerDeptIds(RedisLib.Model.Insurance.RInsuranceUserInfo userInfo, int selectDeptId)
        {
            if (selectDeptId < 1)
            {
                return(GetPowerDeptIds(userInfo));
            }
            if (userInfo == null)
            {
                return new List <int>()
                       {
                           selectDeptId
                       }
            }
            ;
            //全部或含下级权限
            if (userInfo.Poser == 0 || userInfo.Poser == 2)
            {
                return(FrameHelp.CacheDeptChildren(selectDeptId));
            }
            return(new List <int>()
            {
                selectDeptId
            });
        }

        #endregion
    }
Example #2
0
        /// <summary>
        /// 获取权限相关部门
        /// </summary>
        /// <param name="Id"></param>
        /// <param name="head"></param>
        /// <returns></returns>
        public static List <RedisLib.Model.Frame.RDept> GetPowerDepts(RedisLib.Model.Insurance.RInsuranceUserInfo userInfo, string head)
        {
            try
            {
                var ret = new List <RedisLib.Model.Frame.RDept>()
                {
                    new RedisLib.Model.Frame.RDept()
                    {
                        Id        = 0,
                        Name      = head,
                        TreeLevel = 0,
                        TreePath  = "0",
                        SortIndex = 0
                    }
                };
                //全部数据
                if (userInfo.Poser == 0)
                {
                    var treeDepts = RedisLib.FrameHelp.GetTreeDepts();
                    ret.AddRange(treeDepts);
                    return(ret);
                }
                var allDepts = RedisLib.FrameHelp.GetDepts();
                var selfDept = allDepts.FirstOrDefault(s => s.Id == (userInfo?.DeptId ?? 0));
                if (selfDept != null)
                {
                    switch (userInfo.Poser)
                    {
                    case 1:     //所在部门
                        selfDept.TreeLevel = 1;
                        ret.Add(selfDept);
                        break;

                    case 2:     //所在部门及下级
                        var son = new List <RedisLib.Model.Frame.RDept>();
                        FrameHelp.CompeleteDeptTree(selfDept, allDepts, son);
                        var balanceLevel = selfDept.TreeLevel - 1;
                        if (balanceLevel > 0)
                        {
                            son.ForEach(s => s.TreeLevel = s.TreeLevel - balanceLevel);
                        }
                        ret.AddRange(son);
                        break;

                    default:
                        break;
                    }
                }
                return(ret);
            }
            catch (Exception e)
            {
                throw new  Exception(e.Message);
            }
        }
Example #3
0
 /// <summary>
 /// 获取权限下所有部门Ids
 /// </summary>
 /// <param name="Id"></param>
 /// <returns></returns>
 public static List <int> GetPowerDeptIds(RedisLib.Model.Insurance.RInsuranceUserInfo userInfo)
 {
     if (userInfo == null)
     {
         return(new List <int>());
     }
     //全部数据
     if (userInfo.Poser == 0)
     {
         return new List <int>()
                {
                    -1
                }
     }
     ;
     if (!userInfo.DeptId.HasValue)
     {
         return(new List <int>());
     }
     //所在部门
     if (userInfo.Poser == 1)
     {
         return new List <int>()
                {
                    userInfo.DeptId.Value
                }
     }
     ;
     //所在部门及下级
     if (userInfo.Poser == 2)
     {
         return(FrameHelp.CacheDeptChildren(userInfo.DeptId.Value));
     }
     //自己
     return(new List <int>());
 }