主管可以看下属的数据,这个是经常用到的一个权限,不管是大公司,还是小公司都需要的功能。
通过以下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
感谢中通快递股份有限公司,全面应用通用权限管理系统快速开发平台,让我们的软件越来越强大,越来越高性能。