权限管理、用户权限系统、开源用户权限系统、信息化建设标准基础数据管理平台
代码改变世界

C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 主管可以看下属的数据

2014-07-11 09:09  通用C#系统架构  阅读(3406)  评论(1编辑  收藏  举报

    一级管一级,下属对上级负责,上级有权知道下属的信息,一个大公司通过层层的管理,把几十万人管理得有条有理,分工明确的进行协同作战。

    主管可以看下属的数据,这个是经常用到的一个权限,不管是大公司,还是小公司都需要的功能,主管需要要看下属的考勤数据、薪资成本数据、学历数据、工作情况数据、奖惩数据、绩效数据等等,什么数据也看不到也不方便日常管理,而且随着组织的经常调整可能不同时期有不同的上级领导,每个领导都可以随时在线上看下属的各种数据、方便工作管理,方便高效率了解团队的成员的情况。

     一个主管可能管理多个组织、每个组织都可以设置管理人员,可以设置某个的人的主管是谁,也可以按组织管理,看公司的管理策略。

通过以下2个方法,可以任意达到想要的效果了,设置简单灵活,还能递归运算下属,有时候简单好用就是硬道理。

        #region public List<BaseUserEntity> public List<BaseUserEntity> GetListByManager(BaseUserInfo userInfo, string managerId) 按上级主管获取下属用户列表
        /// <summary>
        /// 按上级主管获取下属用户列表
        /// </summary>
        /// <param name="userInfo">用户主键</param>
        /// <param name="managerId">主管主键</param>
        /// <returns>用户列表</returns>
        public List<BaseUserEntity> GetListByManager(BaseUserInfo userInfo, string managerId)
        {
            var parameter = ServiceParameter.CreateWithMessage(userInfo
                , MethodBase.GetCurrentMethod()
                , this.serviceName
                , AppMessage.UserService_GetDataTableByIds);
            List<BaseUserEntity> entityList = new List<BaseUserEntity>();
            ServiceUtil.ProcessUserCenterReadDb(userInfo, parameter, (dbHelper) =>
            {
                var userManager = new BaseUserManager(dbHelper, userInfo);
                entityList = userManager.GetListByManager(managerId);
            });
            return entityList;
        }
        #endregion

        #region public string[] GetIdsByManager(string managerId) 按上级主管获取下属用户主键数组
        /// <summary>
        /// 按上级主管获取下属用户主键数组
        /// </summary>
        /// <param name="userInfo">用户主键</param>
        /// <param name="managerId">主管主键</param>
        /// <returns>用户主键数组</returns>
        public string[] GetIdsByManager(BaseUserInfo userInfo, string managerId)
        {
            var parameter = ServiceParameter.CreateWithMessage(userInfo
                , MethodBase.GetCurrentMethod()
                , this.serviceName
                , AppMessage.UserService_GetDataTableByIds);
            string[] entityList = null;
            ServiceUtil.ProcessUserCenterReadDb(userInfo, parameter, (dbHelper) =>
            {
                var userManager = new BaseUserManager(dbHelper, userInfo);
                entityList = userManager.GetIdsByManager(managerId);
            });
            return entityList;
        }
        #endregion

感谢公司,全面应用通用权限管理系统快速开发平台,让我们的软件越来越强大,越来越高性能。

 

 



C# ASP.NET 通用权限设计、通用权限管理、通用权限组件、单点登录、集中式权限管理、统一授权体系、分级管理分级授权


微信扫一扫加好友