Ejemplo n.º 1
0
        /// <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;
        }
Ejemplo n.º 2
0
 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);
 }