public async Task <ReturnPagin <List <ReturnStaffinfoDto> > > QueryPaginAsync(SelectStaffinfoDto model)
        {
            var result = new ReturnPagin <List <ReturnStaffinfoDto> >();

            var staffInfos = _context.StaffInfos.Include(i => i.Position).AsNoTracking();

            result.Items = await staffInfos.OrderByDescending(i => i.CreateTime).Pagin(model).Select(i => new ReturnStaffinfoDto
            {
                Id              = i.Id,
                Email           = i.Email,
                Name            = i.Name,
                EntryTime       = i.EntryTime,
                LastUpTime      = i.LastUpTime,
                Phone           = i.Phone,
                PositionName    = i.Position.Name,
                ResignationTime = i.ResignationTime,
                WorkingStatus   = i.WorkingStatus,
            }).ToListAsync();

            result.Count = await staffInfos.CountAsync();

            result.Number = model.Number;
            result.Page   = model.Page;
            return(result);
        }
        public async Task <ReturnPagin <List <ReturnSalaryDto> > > QueryPaginAsync(SelectSalaryDto model)
        {
            var result = new ReturnPagin <List <ReturnSalaryDto> >();

            var salarys = _context.Salarys.Include(i => i.StaffInfo).AsNoTracking();

            result.Items = await salarys.OrderByDescending(i => i.CreateTime).Pagin(model).Select(i => new ReturnSalaryDto
            {
                Id                    = i.Id,
                StaffInfoName         = i.StaffInfo.Name,
                BasicSalary           = i.BasicSalary,
                Deduction             = i.Deduction,
                CreateTime            = i.LastUpTime,
                MealSubsidy           = i.MealSubsidy,
                OtherSubsidies        = i.OtherSubsidies,
                Reward                = i.Reward,
                TransportationSubsidy = i.TransportationSubsidy,
            }).ToListAsync();

            result.Count = await salarys.CountAsync();

            result.Number = model.Number;
            result.Page   = model.Page;
            return(result);
        }
Пример #3
0
        public async Task <ReturnPagin <List <ReturnProductDto> > > QueryPaginAsync(SelectProductDto model)
        {
            var result = new ReturnPagin <List <ReturnProductDto> >();

            var products = _context.Products.AsNoTracking();

            if (!string.IsNullOrEmpty(model.Name))
            {
                products = products.Where(i => i.Name.Contains(model.Name));
            }

            if (!string.IsNullOrEmpty(model.ProductNumber))
            {
                products = products.Where(i => i.Number.Contains(model.ProductNumber));
            }

            if (model.BeginPrice.HasValue)
            {
                products = products.Where(i => i.Price >= model.BeginPrice);
            }

            if (model.EndPrice.HasValue)
            {
                products = products.Where(i => i.Price <= model.BeginPrice);
            }

            if (model.BeginTime.HasValue)
            {
                products = products.Where(i => i.CreateTime >= model.BeginTime);
            }

            if (model.EndTime.HasValue)
            {
                products = products.Where(i => i.CreateTime <= model.EndTime);
            }

            result.Items = await products.OrderByDescending(i => i.CreateTime).Pagin(model).Select(i => new ReturnProductDto
            {
                Number     = i.Number,
                Price      = i.Price,
                LastUpTime = i.LastUpTime,
                Name       = i.Name,
                Id         = i.Id
            }).ToListAsync();

            result.Count = await products.CountAsync();

            result.Number = model.Number;
            result.Page   = model.Page;
            return(result);
        }
        public async Task <ReturnPagin <List <ReturnAttendanceDto> > > QueryPaginAsync(SelectAttendanceDto model)
        {
            var result = new ReturnPagin <List <ReturnAttendanceDto> >();

            var attendances = _context.Attendances.Include(i => i.StaffInfo).AsNoTracking();

            if (model.BeginTime.HasValue)
            {
                attendances = attendances.Where(i => i.CreateTime >= model.BeginTime);
            }

            if (model.EndTime.HasValue)
            {
                attendances = attendances.Where(i => i.CreateTime <= model.EndTime);
            }

            if (model.IsLate.HasValue)
            {
                attendances = attendances.Where(i => i.IsLate == model.IsLate);
            }

            if (model.IsLeaveEarly.HasValue)
            {
                attendances = attendances.Where(i => i.IsLeaveEarly == model.IsLeaveEarly);
            }

            if (model.StaffInfoId.HasValue)
            {
                attendances = attendances.Where(i => i.StaffInfoId == model.StaffInfoId);
            }

            result.Count = await attendances.CountAsync();

            result.Page   = model.Page;
            result.Number = model.Number;
            result.Items  = await attendances.OrderByDescending(i => i.CreateTime)
                            .Pagin(model)
                            .Select(i => new ReturnAttendanceDto
            {
                IsLate        = i.IsLate,
                IsLeaveEarly  = i.IsLeaveEarly,
                Id            = i.Id,
                OffworkTime   = i.OffworkTime,
                StaffInfoName = i.StaffInfo.Name,
                WorkingTime   = i.WorkingTime
            }).ToListAsync();

            return(result);
        }
Пример #5
0
        public async Task <ReturnPagin <List <ReturnStockDto> > > QueryPaginStockAsync(SelectStockDto model)
        {
            var result = new ReturnPagin <List <ReturnStockDto> >();
            var stocks = _context.Stocks.Include(i => i.Product).AsNoTracking();

            if (model.ProductId.HasValue)
            {
                stocks = stocks.Where(i => i.PrductId == model.ProductId);
            }
            result.Count = await stocks.CountAsync();

            result.Number = model.Number;
            result.Page   = model.Page;
            result.Items  = _mapper.Map <List <ReturnStockDto> >(await stocks.Pagin(model).ToListAsync());
            return(result);
        }
Пример #6
0
        public async Task <ReturnPagin <List <ReturnDepartmentDto> > > QueryAsync(SelectDeparmentDto model)
        {
            var result      = new ReturnPagin <List <ReturnDepartmentDto> >();
            var departments = _context.Departments.AsNoTracking();

            result.Items = await departments.Select(i => new ReturnDepartmentDto()
            {
                CreateTime = i.CreateTime,
                Id         = i.Id,
                LastUpTime = i.LastUpTime,
                Name       = i.Name
            }).ToListAsync();

            result.Page   = model.Page;
            result.Number = model.Number;
            result.Count  = result.Items.Count;
            return(result);
        }
Пример #7
0
        public async Task <ReturnPagin <List <ReturnCompanyScheduleDto> > > QueryAsync(SelectCompanyScheduleDto model)
        {
            var result   = new ReturnPagin <List <ReturnCompanyScheduleDto> >();
            var companys = _context.CompanySchedules.AsNoTracking();

            result.Items = await companys.Select(i => new ReturnCompanyScheduleDto()
            {
                CreateTime   = i.CreateTime,
                LastUpTime   = i.LastUpTime,
                ScheduleTime = i.ScheduleTime,
                EventName    = i.EventName,
                EventDetails = i.EventDetails,
                Id           = i.Id
            }).ToListAsync();

            result.Page   = model.Page;
            result.Number = model.Number;
            result.Count  = result.Items.Count;
            return(result);
        }
Пример #8
0
        public async Task <ReturnPagin <List <ReturnPersonalScheduleDto> > > QueryAsync(SelectPersonalScheduleDto model)
        {
            var result            = new ReturnPagin <List <ReturnPersonalScheduleDto> >();
            var personalSchedules = _context.PersonalSchedules.Include(i => i.StaffInfo).AsNoTracking();

            result.Items = await personalSchedules.Select(i => new ReturnPersonalScheduleDto()
            {
                CreateTime   = i.CreateTime,
                LastUpTime   = i.LastUpTime,
                ScheduleTime = i.ScheduleTime,
                EventName    = i.EventName,
                EventDetails = i.EventDetails,
                Id           = i.Id,
                UserName     = i.StaffInfo.Name
            }).ToListAsync();

            result.Page   = model.Page;
            result.Number = model.Number;
            result.Count  = result.Items.Count;
            return(result);
        }
Пример #9
0
        public async Task <ReturnPagin <List <ReturnPositionDto> > > QueryPaginAsync(SelectPositionDto model)
        {
            var result = new ReturnPagin <List <ReturnPositionDto> >();

            var positions = _context.Positions.Include(i => i.Department).AsNoTracking();

            result.Items = await positions.OrderByDescending(i => i.CreateTime).Pagin(model).Select(i => new ReturnPositionDto
            {
                DepartmentName = i.Department.Name,
                Id             = i.Id,
                LastUpTime     = i.LastUpTime,
                CreateTime     = i.CreateTime,
                Name           = i.Name
            }).ToListAsync();

            result.Count = await positions.CountAsync();

            result.Number = model.Number;
            result.Page   = model.Page;
            return(result);
        }
Пример #10
0
        public async Task <ReturnPagin <List <ReturnStockAccessDto> > > QueryPaginStockRecordAsync(SelectStockAccessDto model)
        {
            var result      = new ReturnPagin <List <ReturnStockAccessDto> >();
            var stockAccess = _context.InAndOutStockDetaileds.Include(i => i.Stock.Product).AsNoTracking();

            if (model.StockId.HasValue)
            {
                stockAccess = stockAccess.Where(i => i.StockId == model.StockId);
            }
            result.Page   = model.Page;
            result.Number = model.Number;
            result.Count  = await stockAccess.CountAsync();

            result.Items = await stockAccess.Select(i => new ReturnStockAccessDto
            {
                InAndOutStockType = i.InAndOutStockType,
                Number            = i.Number,
                StockProductName  = i.Stock.Product.Name,
                SurplusStock      = i.SurplusStock,
                CreateTime        = i.CreateTime
            }).ToListAsync();

            return(result);
        }