public async Task <IActionResult> GetEmployeesAsync([FromQuery] GetEmployeesInput input) { var request = new PaginateEmployeesRequest { PageIndex = input.PageIndex, PageSize = input.PageSize, DepartmentId = input.DepartmentId, }; var response = await _organizationClient.PaginateEmployeesAsync(request); var result = new PaginationResult <EmployeeSummary> { PageIndex = response.PageIndex, PageSize = response.PageSize, ItemCount = response.ItemCount, Items = response.Items .Select(x => new EmployeeSummary { Id = x.Id, Name = x.Name, DisplayName = x.DisplayName, DepartmentId = x.DepartmentId, JobId = x.JobId, }) .ToList(), }; return(Ok(result)); }
public async Task <List <EmployeeDto> > GetAllAsync(GetEmployeesInput input) { var employees = await _employeeRepository .GetAll() .Include("Salary.Currency") .Include("Nationality") .Include("PhoneNumbers.CountryCode") .Skip((input.PageNumber - 1) * input.ItemsToFetch) .Take(input.ItemsToFetch) .ToListAsync(); return(_objectMapper.Map <List <EmployeeDto> >(employees)); }
/// <summary> /// 获取Excel数据 /// </summary> /// <param name="input"></param> /// <returns></returns> private async Task <List <EmployeeListDto> > GeEmployeesNoPage(GetEmployeesInput input) { var mid = UserManager.GetControlEmployeeId(); var query = _employeeRepository.GetAll() .WhereIf(!string.IsNullOrEmpty(input.Filter) && input.Filter != "null", e => e.Name.Contains(input.Filter) || e.Code.Contains(input.Filter)) .WhereIf(input.Position.HasValue, e => e.Position == input.Position) .WhereIf(mid.HasValue, e => e.Id == mid); //TODO:根据传入的参数添加过滤条件 var employees = await query .OrderBy(input.Sorting) .ToListAsync(); var employeeListDtos = employees.MapTo <List <EmployeeListDto> >(); return(employeeListDtos); }
public async Task <PagedResultOutput <EmployeeDto> > GetEmployees(GetEmployeesInput input) { try { IQueryable <Employee> query; if (IsGranted(AppPermissions.Pages_Pim_Eployees_List)) { query = _employeeRepository.GetAll() .WhereIf( !input.Filter.IsNullOrWhiteSpace(), u => u.Number.Contains(input.Filter) || (u.FirstName + " " + u.MiddleName + " " + u.LastName).Contains(input.Filter) || u.FirstName.Contains(input.Filter) || u.LastName.Contains(input.Filter) || u.Contact.MobilePhoneNumber.Contains(input.Filter) || u.MiddleName.Contains(input.Filter) ); } else { var currentEmployeeId = GetCurrentUser().Id; query = _employeeRepository.GetAll().Where(e => e.Id == currentEmployeeId).AsQueryable(); } var employeeCount = await query.CountAsync(); var emplyeeList = await query .OrderBy(input.Sorting) .PageBy(input) .ToListAsync(); var emplyeeListDtos = emplyeeList.MapTo <List <EmployeeDto> >(); return(new PagedResultOutput <EmployeeDto>( employeeCount, emplyeeListDtos )); } catch (Exception exception) { return(new PagedResultOutput <EmployeeDto>()); } }
/// <summary> /// 获取Employee的分页列表信息 ///</summary> /// <param name="input"></param> /// <returns></returns> public async Task <PagedResultDto <EmployeeListDto> > GetPagedAsync(GetEmployeesInput input) { var query = _entityRepository.GetAll(); // TODO:根据传入的参数添加过滤条件 var count = await query.CountAsync(); var entityList = await query .OrderBy(input.Sorting).AsNoTracking() .PageBy(input) .ToListAsync(); // var entityListDtos = ObjectMapper.Map<List<EmployeeListDto>>(entityList); var entityListDtos = entityList.MapTo <List <EmployeeListDto> >(); return(new PagedResultDto <EmployeeListDto>(count, entityListDtos)); }
public async Task <APIResultDto> ExportEmployeesExcel(GetEmployeesInput input) { try { var exportData = await GeEmployeesNoPage(input); var result = new APIResultDto(); result.Code = 0; result.Data = SaveEmployeeExcel("公司员工.xlsx", exportData); return(result); } catch (Exception ex) { Logger.ErrorFormat("ExportEmployeesExcel errormsg{0} Exception{1}", ex.Message, ex); return(new APIResultDto() { Code = 901, Msg = "网络忙...请待会儿再试!" }); } }
/// <summary> /// 列表 /// </summary> /// <param name="input">查询条件</param> /// <returns>结果</returns> public virtual async Task <PagedResultDto <EmployeeListDto> > GetListAsync(GetEmployeesInput input) { await NormalizeMaxResultCountAsync(input); var queryable = await _employeeRepository.GetQueryableAsync(); queryable = queryable .Where(e => e.InServiceStatus == input.InServiceStatus); long totalCount = await AsyncExecuter.CountAsync(queryable); var entities = await AsyncExecuter.ToListAsync(queryable .OrderBy(input.Sorting ?? "Id DESC") .Skip(input.SkipCount) .Take(input.MaxResultCount)); var dtos = ObjectMapper.Map <List <Employee>, List <EmployeeListDto> >(entities); return(new PagedResultDto <EmployeeListDto>(totalCount, dtos)); }
/// <summary> /// 获取Employee的分页列表信息 ///</summary> /// <param name="input"></param> /// <returns></returns> public async Task <PagedResultDto <EmployeeListDto> > GetPagedEmployeeAsync(GetEmployeesInput input) { var query = _employeeRepository.GetAll() .WhereIf(!string.IsNullOrEmpty(input.Mobile), u => u.Mobile.Contains(input.Mobile)) .WhereIf(!string.IsNullOrEmpty(input.Name), u => u.Name.Contains(input.Name)) .WhereIf(!string.IsNullOrEmpty(input.DepartId), u => u.Department.Contains(input.DepartId)); // TODO:根据传入的参数添加过滤条件 var employeeCount = await query.CountAsync(); var employees = await query .OrderBy(v => v.Department) .ThenBy(v => v.Id).AsNoTracking() .PageBy(input) .ToListAsync(); var employeeListDtos = employees.MapTo <List <EmployeeListDto> >(); return(new PagedResultDto <EmployeeListDto>( employeeCount, employeeListDtos )); }
/// <summary> /// 获取Employee的分页列表信息 /// </summary> /// <param name="input"></param> /// <returns></returns> public async Task <PagedResultDto <EmployeeListDto> > GetPagedEmployees(GetEmployeesInput input) { var mid = UserManager.GetControlEmployeeId(); var query = _employeeRepository.GetAll() .WhereIf(!string.IsNullOrEmpty(input.Filter) && input.Filter != "null", e => e.Name.Contains(input.Filter) || e.Code.Contains(input.Filter)) .WhereIf(input.Position.HasValue, e => e.Position == input.Position) .WhereIf(mid.HasValue, e => e.Id == mid); //TODO:根据传入的参数添加过滤条件 var employeeCount = await query.CountAsync(); var employees = await query .OrderBy(input.Sorting) .PageBy(input) .ToListAsync(); //var employeeListDtos = ObjectMapper.Map<List <EmployeeListDto>>(employees); var employeeListDtos = employees.MapTo <List <EmployeeListDto> >(); return(new PagedResultDto <EmployeeListDto>( employeeCount, employeeListDtos )); }
/// <summary> /// 用于员工模态框的数据获取 /// </summary> /// <param name="input">员工姓名或编号</param> /// <returns></returns> public async Task <PagedResultDto <EmployeeListDto> > GetPagedEmployeesModal(GetEmployeesInput input) { var query = _employeeRepository.GetAll() .WhereIf(!string.IsNullOrEmpty(input.Filter), e => e.Name.Contains(input.Filter) || e.Code.Contains(input.Filter)) .WhereIf(input.IsManger, e => e.Position == UserPositionEnum.客户经理); //TODO:根据传入的参数添加过滤条件 var employeeCount = await query.CountAsync(); input.MaxResultCount = 10; input.SkipCount = 0; var employees = await query .OrderBy(input.Sorting) .PageBy(input) .ToListAsync(); //var employeeListDtos = ObjectMapper.Map<List <EmployeeListDto>>(employees); var employeeListDtos = employees.MapTo <List <EmployeeListDto> >(); return(new PagedResultDto <EmployeeListDto>( employeeCount, employeeListDtos )); }
public async Task <ActionResult> Index(GetEmployeesInput input) { var result = await _employeeAppService.GetAllAsync(input); return(View("GetAll", result)); }
/// <summary> /// 根据部门节点获取员工信息 /// </summary> public async Task <PagedResultDto <EmployeeListDto> > GetEmployeeListByIdAsync(GetEmployeesInput input) { if (input.DepartId == "1" || input.DepartId == null) { var deptArr = await _employeeManager.GetAreaDeptIdArrayAsync(input.AreaCode);//获取该区县下的部门和子部门列表 var query = _employeeRepository.GetAll() .WhereIf(input.AreaCode.HasValue, e => e.AreaCode == input.AreaCode || deptArr.Contains(e.Department)) .WhereIf(!string.IsNullOrEmpty(input.Mobile), u => u.Mobile.Contains(input.Mobile)) .WhereIf(!string.IsNullOrEmpty(input.Name), u => u.Name.Contains(input.Name)); var employeeCount = await query.CountAsync(); var employees = await query .OrderBy(v => v.Department) .ThenBy(v => v.Id).AsNoTracking() .PageBy(input) .ToListAsync(); var employeeListDtos = employees.MapTo <List <EmployeeListDto> >(); return(new PagedResultDto <EmployeeListDto>( employeeCount, employeeListDtos )); } else { var query = _employeeRepository.GetAll() .WhereIf(!string.IsNullOrEmpty(input.Mobile), u => u.Mobile.Contains(input.Mobile)) .WhereIf(!string.IsNullOrEmpty(input.Name), u => u.Name.Contains(input.Name)) .Where(v => v.Department.Contains(input.DepartId)); var employeeCount = await query.CountAsync(); var employees = await query .OrderBy(v => v.Id).AsNoTracking() .PageBy(input) .ToListAsync(); var employeeListDtos = employees.MapTo <List <EmployeeListDto> >(); return(new PagedResultDto <EmployeeListDto>( employeeCount, employeeListDtos )); } }
public virtual async Task <PagedResultDto <EmployeeListDto> > GetListAsync(GetEmployeesInput input) { return(await _employeeAppService.GetListAsync(input)); }