public OutStorageFilters GetFilters() { var filters = new OutStorageFilters() { Page = Convert.ToInt32(HttpContext.Request.Query["page"]), Limit = Convert.ToInt32(HttpContext.Request.Query["limit"]), OrderNum = HttpContext.Request.Query["orderNum"], Code = HttpContext.Request.Query["code"], StartDateTime = HttpContext.Request.Query["startTime"], EndDateTime = HttpContext.Request.Query["endTime"], }; return(filters); }
public async Task <ResponseModel <OutStorageViewModel> > GetList(OutStorageFilters filters, SortCol sortCol, AccountViewModel acoount) { var query = _context.OutStorage.Where(o => o.CompanyId == acoount.CompanyId && o.IsDelete == 0); query = Search(query, filters); query = Sort(query, sortCol); var vms = await query.Skip((filters.Page - 1) *filters.Limit).Take(filters.Limit) .ProjectTo <OutStorageViewModel>().ToListAsync(); foreach (var vm in vms) { vm.RealNum = _context.OutStoDetail.Where(o => o.OrderNum == vm.OrderNum).Sum(o => o.RealNum); vm.PutNum = (double)_context.OutStoDetail.Where(o => o.OrderNum == vm.OrderNum).Sum(o => o.PutRealNum); } ResponseModel <OutStorageViewModel> result = new ResponseModel <OutStorageViewModel>(); result.status = 0; result.message = ""; result.total = query.Count(); result.data = vms; return(result); }
public IQueryable <OutStorage> Search(IQueryable <OutStorage> query, OutStorageFilters 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 <OutStorageViewModel> > GetListReport(OutStorageFilters filters, SortCol sortCol , AccountViewModel acoount) { var query = _context.OutStorage.Where(o => o.IsDelete == 0 && o.CompanyId == acoount.CompanyId) .Select(o => new OutStorage() { 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 OutStorageViewModel() { 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.OutStoDetail.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.OutPrice); } ResponseModel <OutStorageViewModel> result = new ResponseModel <OutStorageViewModel>(); result.status = 0; result.message = ""; result.total = query.Count(); result.data = vms; return(result); }
public async Task <ResponseModel <OutStorageViewModel> > GetListCustomerReport(OutStorageFilters filters, SortCol sortCol , AccountViewModel acoount) { var query = _context.OutStorage.Where(o => o.IsDelete == 0 && o.CompanyId == acoount.CompanyId); query = Search(query, filters); var _query = query.GroupBy(o => o.CusName).Select(o => new OutStorageViewModel() { CusName = o.Key, Num = o.Count() }); var vms = await _query.Skip((filters.Page - 1) *filters.Limit).Take(filters.Limit).ToListAsync(); ResponseModel <OutStorageViewModel> result = new ResponseModel <OutStorageViewModel>(); result.status = 0; result.message = ""; result.total = query.Count(); result.data = vms; return(result); }