//public static List<UserInfoJoinRoleJoinDepartment> GetUserInfoJoinRoleJoinDepartmentBySurveyRight(int cityId, int companyId,string nowUserName, string keyword, // int[] functionCodes, int pageIndex, int pageSize, string loginusername, string loginsignname, out int count, bool isGetCount = true, DataBase _db = null) //{ // count = 0; // List<UserInfoJoinRoleJoinDepartment> list = new List<UserInfoJoinRoleJoinDepartment>(); // DataBase db = new DataBase(_db); // StringBuilder sb = new StringBuilder(); // List<NHParameter> parameters = new List<NHParameter>(); // parameters.Add(new NHParameter("companyId", companyId, NHibernateUtil.Int32)); // parameters.Add(new NHParameter("cityId", cityId, NHibernateUtil.Int32)); // sb.Append(string.Format("{0} CityID=:cityId and FxtCompanyId=:companyId ", NHibernateUtility.GetMSSQL_SQL_NOLOCK(NHibernateUtility.TableName_SYSRoleUser, "distinct", "UserName"))); // //根据操作权限 // if (functionCodes != null && functionCodes.Contains(SYSCodeManager.FunOperCode_3))//查看公司全部(管理员+分配人+审核人) // { // } // else if (functionCodes != null && functionCodes.Contains(SYSCodeManager.FunOperCode_2))//查看小组内(组长) // { // sb.Append(string.Format("and (UserName=:userName or UserName in (select UserName from {0} with(nolock) where DepartmentID in (select DepartmentID from {0} with(nolock) where CityID=:cityId and FxtCompanyID=:companyId and UserName=:userName and DepartmentID in (select DepartmentID from {1} with(nolock) where DValid=1))))", NHibernateUtility.TableName_PriviDepartmentUser, NHibernateUtility.TableName_PriviDepartment)); // parameters.Add(new NHParameter("userName", nowUserName, NHibernateUtil.String)); // } // else//查看自己(查勘员) // { // sb.Append(" and UserName=:userName "); // parameters.Add(new NHParameter("userName", nowUserName, NHibernateUtil.String)); // } // if (!string.IsNullOrEmpty(keyword)) // { // sb.Append(" and UserName like :keyword "); // parameters.Add(new NHParameter("keyword", "%" + keyword + "%", NHibernateUtil.String)); // } // UtilityPager pageInfo = new UtilityPager(pageSize: pageSize, pageIndex: pageIndex, isGetCount: isGetCount); // IList ilist = db.DB.GetCustomSQLQueryObjectList(pageInfo, sb.ToString(), parameters); // count = pageInfo.Count; // if (ilist == null || ilist.Count < 1) // { // db.Close(); // return new List<UserInfoJoinRoleJoinDepartment>(); // } // List<string> userNameList = new List<string>(); // foreach (var l in ilist) // { // userNameList.Add(Convert.ToString(l)); // } // int count2 = 0; // List<View_UserJoinRoleJoinDepartmen> roleList = ViewUserJoinRoleJoinDepartmenManager.GetUserJoinRoleJoinDepartmenByUserNames(companyId, cityId, userNameList.ToArray(), _db: db); // List<UserCenter_UserInfo> userList = UserCenterUserInfoApi.GetUserListByCompanyId(companyId, userNameList.ToArray(), null, null, pageIndex, pageSize, out count2, loginusername, loginsignname); // List<UserInfoJoinRoleJoinDepartment> list = UserInfoJoinRoleJoinDepartment.GetList(roleList2, departmentList, userList, roleList); //} /// <summary> /// 获取单个用户信息 /// </summary> /// <param name="cityId">当前城市</param> /// <param name="companyId">所属机构ID</param> /// <param name="userName">用户名</param> /// <param name="loginusername">当前登录的username(用于api验证)</param> /// <param name="loginsignname">当前登录的signname(用于api验证)</param> /// <param name="loginAppList">当前登录的用户拥有的api信息集合(用于验证api)</param> /// <param name="pdu"></param> /// <param name="roleUserList"></param> /// <param name="_db"></param> /// <returns></returns> public static UserCenter_UserInfo GetUserInfoByUserName(int cityId, int companyId, string userName, string loginusername, string loginsignname, List <UserCenter_Apps> loginAppList, out PriviDepartmentUser pdu, out IList <SYSRoleUser> roleUserList, DataBase _db = null) { pdu = null; roleUserList = new List <SYSRoleUser>(); int count = 0; UserCenter_UserInfo userInfo = null; if (string.IsNullOrEmpty(userName)) { return(null); } List <UserCenter_UserInfo> userInfoList = UserCenterUserInfoApi.GetUserListByCompanyId(companyId, new string[] { userName }, "", null, 1, 1, out count, loginusername, loginsignname, loginAppList); if (userInfoList == null || userInfoList.Count < 1) { return(null); } userInfo = userInfoList[0]; DataBase db = new DataBase(_db); try { pdu = PriviDepartmentUserManager.GetDepartmentUserByUserName(cityId, companyId, userName, db); roleUserList = SYSRoleUserManager.GetSYSRoleUserByUserName(cityId, companyId, userName, db); db.Close(); return(userInfo); } catch (Exception ex) { db.Close(); throw ex; } }
private List <UserInfoDto> GetDto(List <string> userNames, string keyWord, int pageIndex, int pageSize, out int count, int cityId, int companyId, string username, string signname, List <Apps> loginAppList, bool isAll) { if (!isAll) { if (userNames.Count < 1) { count = 0; return(new List <UserInfoDto>()); } } var userDtos = UserCenterUserInfoApi.GetUserListByCompanyId(companyId, userNames.ToArray(), keyWord, null, pageIndex, pageSize, out count, username, signname, loginAppList) .Select((o) => { var departmentUsers = _unitOfWork.DepartmentUserRepository.Get(m => m.UserName == o.UserName && (m.FxtCompanyID == companyId || m.FxtCompanyID == 0) && (m.CityID == cityId || m.CityID == 0)) .FirstOrDefault() ?? new DepartmentUser() { Department = new Department() }; var roleUsers = _unitOfWork.SysRoleUserRepository.Get(m => m.UserName == o.UserName && (m.FxtCompanyID == companyId || m.FxtCompanyID == 0) && (m.CityID == cityId || m.CityID == 0)).Select(m => m.Role.RoleName).ToList(); string roleNames = string.Empty; if (roleUsers != null && roleUsers.Count > 0) { roleNames = string.Join(",", roleUsers); } return(new UserInfoDto { DepartmentName = departmentUsers.Department.DepartmentName, RoleNames = roleNames, TrueName = o.TrueName, UserName = o.UserName, UserValid = o.UserValid, Mobile = o.Mobile }); }); return(userDtos.ToList()); }
public ActionResult EditUser(string userName, LoginUser userInfo) { int count = 0; var user = UserCenterUserInfoApi.GetUserListByCompanyId(userInfo.FxtCompanyId, new string[] { userName }, "", null, 1, 1, out count, userInfo.UserName, userInfo.SignName, userInfo.AppList).FirstOrDefault(); ViewBag.DepartmentList = _unitOfWork.DepartmentRepository.Get(m => (m.FK_CityId == userInfo.NowCityId || m.FK_CityId == 0) && (m.Fk_CompanyId == userInfo.FxtCompanyId || m.Fk_CompanyId == 0) && m.DValid == 1).ToList(); ViewBag.Department = _unitOfWork.DepartmentUserRepository.GetBy(m => m.UserName == user.UserName && (m.CityID == userInfo.NowCityId || m.CityID == 0) && (m.FxtCompanyID == userInfo.FxtCompanyId || m.FxtCompanyID == 0)); ViewBag.RoleList = _unitOfWork.SysRoleRepository.Get(m => (m.CityID == userInfo.NowCityId || m.CityID == 0) && (m.FxtCompanyID == userInfo.FxtCompanyId || m.FxtCompanyID == 0) && m.Valid == 1).ToList(); ViewBag.RoleUser = _unitOfWork.SysRoleUserRepository.Get(m => m.UserName == user.UserName && (m.CityID == userInfo.NowCityId || m.CityID == 0) && (m.FxtCompanyID == userInfo.FxtCompanyId || m.FxtCompanyID == 0)).Select(m => m.RoleID).ToList(); var roleAdmin = _unitOfWork.SysRoleRepository.GetBy(m => m.CityID == 0 && m.FxtCompanyID == 0 && m.Valid == 1 && m.RoleName == "管理员"); ViewBag.RoleAdminId = roleAdmin == null ? 0 : roleAdmin.Id; return(View(user)); }
public ActionResult Login_SubmitDate_Api(string userName, string pwd) { AjaxResult result = new AjaxResult("登陆成功"); string message = ""; if (string.IsNullOrEmpty(userName) || string.IsNullOrEmpty(pwd)) { result.Result = false; result.Message = "请填写用户名和密码"; return(Json(result)); } var appList = new List <UserCenter_Apps>(); var userResult = UserCenterUserInfoApi.UserLogin(userName, pwd, out appList, out message); if (userResult == null) { result.Result = false; result.Message = "用户名或密码错误"; return(Json(result)); } //获取当前用户拥有产品的城市 int nowCityId = WebUserHelp.GetNowCityId(); string lastuser = WebUserHelp.GetLastUserName(); //int[] ints = UserCenterUserInfoApi.GetCompanyProductCityIds(userResult.SignName, FxtAPI.FxtUserCenter.Common.systypeCode, userResult.UserName, userResult.SignName, appList); //WebUserHelp.SetNowRightCityList(ints); //IList <SYSMenu> menuList = SYSMenuManager.GetSYSMenuPageByUserNameAndCompanyIdAndCityId(userName, userResult.FxtCompanyId, nowCityId); WebUserHelp.SetNowLoginUser(userResult, appList, null, null); result.Data = new { userinfo = userResult, islastuser = userName == lastuser ? "1" : "0", cityid = nowCityId }; return(Json(result, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 查询用户列表 /// </summary> /// <param name="cityId">当前城市</param> /// <param name="companyId">所属结构</param> /// <param name="keyWord">关键字</param> /// <param name="roleId">根据角色ID查询,可为null</param> /// <param name="departmentId">根据分组ID查询,可为null</param> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <param name="count"></param> /// <param name="loginusername">当前登录的username(用于验证api)</param> /// <param name="loginsignname">当前登录的signname(用于验证api)</param> /// <param name="loginAppList">当前登录的用户拥有的api信息集合(用于验证api)</param> /// <param name="isGetCount"></param> /// <param name="_db"></param> /// <returns></returns> public static List <UserInfoJoinRoleJoinDepartment> GetUserInfoJoinRoleJoinDepartmentByRoleIdAndDepartmentIdAndUserName(int cityId, int companyId, string keyWord, int?roleId, int?departmentId, int pageIndex, int pageSize, out int count, string loginusername, string loginsignname, List <UserCenter_Apps> loginAppList, bool isGetCount = true, DataBase _db = null) { DataBase db = new DataBase(_db); try { List <UserInfoJoinRoleJoinDepartment> list = new List <UserInfoJoinRoleJoinDepartment>(); List <UserCenter_UserInfo> userList = new List <UserCenter_UserInfo>(); List <View_UserJoinRoleJoinDepartmen> roleList = new List <View_UserJoinRoleJoinDepartmen>(); List <View_UserJoinDepartment> departmentList = new List <View_UserJoinDepartment>(); List <string> userNames = new List <string>(); //无小组和角色搜索条件 if (Convert.ToInt32(roleId) < 1 && Convert.ToInt32(departmentId) < 1) { userList = UserCenterUserInfoApi.GetUserListByCompanyId(companyId, userNames.ToArray(), keyWord, null, pageIndex, pageSize, out count, loginusername, loginsignname, loginAppList); foreach (UserCenter_UserInfo userInfo in userList) { userNames.Add(userInfo.UserName); } roleList = ViewUserJoinRoleJoinDepartmenManager.GetUserJoinRoleJoinDepartmenByUserNames(companyId, cityId, userNames.ToArray(), _db: db); departmentList = ViewUserJoinDepartmentManager.GetUserJoinDepartmentByUserNames(companyId, cityId, userNames.ToArray(), _db: db); list = UserInfoJoinRoleJoinDepartment.GetList(userList, roleList, departmentList); }//无小组搜索条件 else if (Convert.ToInt32(departmentId) < 1) { List <View_UserJoinRoleJoinDepartmen> roleList2 = ViewUserJoinRoleJoinDepartmenManager.GetUserJoinRoleJoinDepartmenByRoleIdAndUserName(companyId, cityId, keyWord, Convert.ToInt32(roleId), pageIndex, pageSize, out count, isGetCount, db); foreach (View_UserJoinRoleJoinDepartmen roleInfo in roleList2) { userNames.Add(roleInfo.UserName); if (Convert.ToInt32(roleInfo.DepartmentID) > 0) { View_UserJoinDepartment depaObj = new View_UserJoinDepartment { CityID = roleInfo.CityID, DepartmentID = Convert.ToInt32(roleInfo.DepartmentID), DepartmentName = roleInfo.DepartmentName, DValid = roleInfo.DValid, FxtCompanyID = companyId, UserName = roleInfo.UserName }; departmentList.Add(depaObj); } } int count2 = 0; roleList = ViewUserJoinRoleJoinDepartmenManager.GetUserJoinRoleJoinDepartmenByUserNames(companyId, cityId, userNames.ToArray(), _db: db); userList = UserCenterUserInfoApi.GetUserListByCompanyId(companyId, userNames.ToArray(), keyWord, null, pageIndex, pageSize, out count2, loginusername, loginsignname, loginAppList); list = UserInfoJoinRoleJoinDepartment.GetList(roleList2, departmentList, userList, roleList); }//有小组搜索条件 else { departmentList = ViewUserJoinDepartmentManager.GetUserJoinDepartmentByDepartmentIdAndRoleIdAndUserName(companyId, cityId, keyWord, Convert.ToInt32(departmentId), roleId, pageIndex, pageSize, out count, isGetCount, db); foreach (View_UserJoinDepartment depanfo in departmentList) { userNames.Add(depanfo.UserName); } int count2 = 0; roleList = ViewUserJoinRoleJoinDepartmenManager.GetUserJoinRoleJoinDepartmenByUserNames(companyId, cityId, userNames.ToArray(), _db: db); userList = UserCenterUserInfoApi.GetUserListByCompanyId(companyId, userNames.ToArray(), keyWord, null, 1, pageSize, out count2, loginusername, loginsignname, loginAppList); list = UserInfoJoinRoleJoinDepartment.GetList(departmentList, userList, roleList); } db.Close(); return(list); } catch (Exception ex) { db.Close(); throw ex; } }
public List <FxtApi_SYSProvince> GetProvinceCityListBy(string userName, string signName, List <UserCenter_Apps> appList) { List <FxtApi_SYSProvince> provinceList = CacheHelper.GetCache("provinceList") as List <FxtApi_SYSProvince>; if (provinceList == null) { log.Info("写入省份缓存"); provinceList = DataCenterProvinceApi.GetProvinceAll(userName, signName, appList);// SYSProvinceApi.GetAllProvince();//省份 HttpHelper.CurrentCache.Insert("provinceList", provinceList, null, Cache.NoAbsoluteExpiration, DateTime.Now.AddDays(1) - DateTime.Now); } List <FxtApi_SYSCity> cityList = CacheHelper.GetCache("cityList") as List <FxtApi_SYSCity>; if (cityList == null) { log.Info("写入城市缓存"); cityList = DataCenterCityApi.GetCityAll(userName, signName, appList);// SYSProvinceApi.GetAllProvince();//省份 HttpHelper.CurrentCache.Insert("cityList", cityList, null, Cache.NoAbsoluteExpiration, DateTime.Now.AddDays(1) - DateTime.Now); } //获取当前公司开通产品(踩盘助手)的城市ID int[] cityIds = UserCenterUserInfoApi.GetCompanyProductCityIds(signName, FxtAPI.FxtUserCenter.Common.systypeCode, userName, signName, appList); //获取当前公司开通产品(数据中心)的城市ID int[] dataCityIds = UserCenterUserInfoApi.GetCompanyProductCityIds(signName, 1003002, userName, signName, appList); if (dataCityIds != null && dataCityIds.Length > 0) { cityList = cityList.Where(m => dataCityIds.Contains(m.CityId)).ToList(); provinceList = provinceList.Where(m => cityList.Any(c => m.ProvinceId == c.ProvinceId)).ToList(); } //获取当前公司开通产品模块(数据中心)的城市ID int[] moduleCityIds = UserCenterUserInfoApi.GetCompanyProductMuduleCityIds(signName, 1003002, userName, signName, appList); if (moduleCityIds != null && moduleCityIds.Length > 0) { cityList = cityList.Where(m => moduleCityIds.Contains(m.CityId)).ToList(); provinceList = provinceList.Where(m => cityList.Any(c => m.ProvinceId == c.ProvinceId)).ToList(); } //数据中心角色城市 var sysRoleUserIds = DataCenterSysRoleUser.GetSysRoleUserIds(userName, signName, appList); if (sysRoleUserIds != null && !sysRoleUserIds.Contains(0)) { cityList = cityList.Where(m => sysRoleUserIds.Contains(m.CityId)).ToList(); provinceList = provinceList.Where(m => cityList.Any(c => m.ProvinceId == c.ProvinceId)).ToList(); //cityIds = cityIds.Where(m => sysRoleUserIds.Any(r => r == m)).ToArray(); } //踩盘角色权限 var roleUser = _unitOfWork.SysRoleUserRepository.Get(m => m.UserName == userName).Select(m => m.CityID).ToList(); if (roleUser != null && !roleUser.Contains(0)) { cityList = cityList.Where(m => roleUser.Contains(m.CityId)).ToList(); provinceList = provinceList.Where(m => cityList.Any(c => m.ProvinceId == c.ProvinceId)).ToList(); //cityIds = cityIds.Where(m => sysRoleUserIds.Any(r => r == m)).ToArray(); } if (cityIds == null || dataCityIds == null || moduleCityIds == null || sysRoleUserIds == null || sysRoleUserIds.Count < 1 || roleUser == null || roleUser.Count < 1) // if (cityIds == null || sysRoleUserIds == null || sysRoleUserIds.Count < 1 || roleUser == null || roleUser.Count < 1) { cityList = new List <FxtApi_SYSCity>(); provinceList = new List <FxtApi_SYSProvince>(); } //所有城市 if (!cityIds.Contains(0)) { cityList = cityList.Where(m => cityIds.Contains(m.CityId)).ToList(); provinceList = provinceList.Where(m => cityList.Any(c => m.ProvinceId == c.ProvinceId)).ToList(); } provinceList.ForEach(m => m.CityList = cityList.Where(c => c.ProvinceId == m.ProvinceId).ToList()); return(provinceList); }