public InStorageFilters GetFilters() { var filters = new InStorageFilters() { Page = Convert.ToInt32(HttpContext.Request.Query["page"]), Limit = Convert.ToInt32(HttpContext.Request.Query["limit"]), OrderNum = HttpContext.Request.Query["orderNum"], Code = HttpContext.Request.Query["code"], Status = HttpContext.Request.Query["status"], StartDateTime = HttpContext.Request.Query["startTime"], EndDateTime = HttpContext.Request.Query["endTime"], }; return(filters); }
public async Task <ResponseModel <InStorageViewModel> > GetListSupReport(InStorageFilters filters, SortCol sortCol , AccountViewModel acoount) { var query = _context.InStorage.Where(o => o.IsDelete == 0 && o.CompanyId == acoount.CompanyId); query = Search(query, filters); var _query = query.GroupBy(o => o.SupName).Select(o => new InStorageViewModel() { SupName = o.Key, Num = o.Count() }); var vms = await _query.Skip((filters.Page - 1) *filters.Limit).Take(filters.Limit).ToListAsync(); ResponseModel <InStorageViewModel> result = new ResponseModel <InStorageViewModel>(); result.status = 0; result.message = ""; result.total = query.Count(); result.data = vms; return(result); }
public async Task <ResponseModel <InStorageViewModel> > GetList(InStorageFilters filters, SortCol sortCol , AccountViewModel acoount) { var query = _context.InStorage.Where(o => o.IsDelete == 0 && o.CompanyId == acoount.CompanyId); query = Search(query, filters); query = Sort(query, sortCol); var vms = await query.Skip((filters.Page - 1) *filters.Limit).Take(filters.Limit) .ProjectTo <InStorageViewModel>().ToListAsync(); foreach (var vm in vms) { vm.RealNum = _context.InStorDetail.Where(o => o.OrderNum == vm.OrderNum).Sum(o => o.RealNum); vm.PutNum = (double)_context.InStorDetail.Where(o => o.OrderNum == vm.OrderNum).Sum(o => o.PutRealNum); } ResponseModel <InStorageViewModel> result = new ResponseModel <InStorageViewModel>(); result.status = 0; result.message = ""; result.total = query.Count(); result.data = vms; return(result); }
public IQueryable <InStorage> Search(IQueryable <InStorage> query, InStorageFilters filters) { if (!string.IsNullOrWhiteSpace(filters.OrderNum)) { query = query.Where(o => o.OrderNum.Contains(filters.OrderNum)); } if (!string.IsNullOrWhiteSpace(filters.Status)) { var status = Convert.ToInt32(filters.Status); query = query.Where(o => o.Status == status); } if (!string.IsNullOrWhiteSpace(filters.StartDateTime)) { var startTime = Convert.ToDateTime(filters.StartDateTime); query = query.Where(o => o.CreateTime >= startTime); } if (!string.IsNullOrWhiteSpace(filters.EndDateTime)) { var endTime = Convert.ToDateTime(filters.EndDateTime); query = query.Where(o => o.CreateTime < endTime); } return(query); }
public async Task <ResponseModel <InStorageViewModel> > GetListReport(InStorageFilters filters, SortCol sortCol , AccountViewModel acoount) { var query = _context.InStorage.Where(o => o.IsDelete == 0 && o.CompanyId == acoount.CompanyId) .Select(o => new InStorage() { OrderNum = o.OrderNum, Num = o.Num, CreateTime = o.CreateTime.Date }); query = Search(query, filters); var orderNums = await query.Select(o => o.OrderNum).ToListAsync(); var _query = query.GroupBy(o => o.CreateTime).Select(o => new InStorageViewModel() { CreateTime = o.Key, Num = o.Count() }); var vms = await _query.Skip((filters.Page - 1) *filters.Limit).Take(filters.Limit).ToListAsync(); foreach (var vm in vms) { var details = _context.InStorDetail.Where(o => orderNums.Contains(o.OrderNum) && o.CreateTime > vm.CreateTime && o.CreateTime < vm.CreateTime.AddDays(1)).ToList(); vm.CreateTimeStr = vm.CreateTime.ToString("yyyy-MM-dd"); vm.Num = details.Sum(o => (double)o.PutRealNum); vm.Price = details.Sum(o => o.InPrice); } ResponseModel <InStorageViewModel> result = new ResponseModel <InStorageViewModel>(); result.status = 0; result.message = ""; result.total = query.Count(); result.data = vms; return(result); }