/// <summary> /// Загружаем структуру по заданному коду подразделения и штатные единицы /// </summary> /// <param name="DepId">Код родительского подразделения</param> /// <param name="IsBegin">Флажок показывающий, что это первоначальная загрузка.</param> /// <returns></returns> public StaffListModel GetDepartmentStructureWithStaffPost(string DepId, bool IsBegin) { StaffListModel model = new StaffListModel(); //если не определены права ничего не грузим if (string.IsNullOrEmpty(DepId)) return model; Department dep = DepartmentDao.GetByCode(DepId); User curUser = UserDao.Get(AuthenticationService.CurrentUser.Id); int DepartmentId = dep.Id; int itemLevel = dep.ItemLevel.Value; bool IsSalaryEnable = AuthenticationService.CurrentUser.UserRole == UserRole.TaxCollector ? false : true; int PersonnelId = AuthenticationService.CurrentUser.UserRole == UserRole.PersonnelManager ? AuthenticationService.CurrentUser.Id : 0; //для замов нужно скрывать оклад руководителя int ManagerId = AuthenticationService.CurrentUser.UserRole == UserRole.Manager ? AuthenticationService.CurrentUser.Id : 0; //для Месяц, под учеткой члена правления нужно показать деньги только для фронтов if (AuthenticationService.CurrentUser.Id == 12327) ManagerId = 12327; //достаем уровень подразделений и штатных единиц к ним //если на входе код подразделения 7 уровня, то надо достать должности и сотрудников if (itemLevel != 7) { model.EstablishedPosts = StaffEstablishedPostDao.GetStaffEstablishedPosts(DepartmentId, IsSalaryEnable, PersonnelId, ManagerId); //уровень подразделений model.Departments = GetDepartmentListByParent(DepId, false, IsBegin) .OrderBy(x => x.Priority) .ToList(); } else { model.EstablishedPosts = StaffEstablishedPostDao.GetStaffEstablishedPosts(DepartmentId, IsSalaryEnable, PersonnelId, ManagerId); } return model; }
public ActionResult StaffList(string DepId, bool? IsParentDepOnly, bool? IsBegin) { StaffListModel model = new StaffListModel(); model.Departments = StaffListBl.GetDepartmentListByParent(DepId, IsParentDepOnly.HasValue ? IsParentDepOnly.Value : false, !IsBegin.HasValue ? true : IsBegin.Value); return View(model); }