主管可以看下屬的數據,這個是經常用到的一個權限,不管是大公司,還是小公司都需要的功能。
通過以下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
感謝中通快遞股份有限公司,全面應用通用權限管理系統快速開發平台,讓我們的軟件越來越強大,越來越高性能。