Пример #1
0
        //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;
            }
        }
Пример #2
0
        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());
        }
Пример #3
0
        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));
        }
Пример #4
0
        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));
        }
Пример #5
0
        /// <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;
            }
        }
Пример #6
0
        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);
        }