/// <summary> /// 查找出入库记录列表 /// </summary> /// <param name="filter"></param> /// <returns></returns> public PagedQueryResult <ProductStockRecordModel> FindList(PagedQueryFilter filter) { var result = this.ProductStockRecordRepository.FindPaged <ProductStockRecord>(filter); var modelList = new List <ProductStockRecordModel>(); var response = new PagedQueryResult <ProductStockRecordModel>(); foreach (var item in result.Data) { var product = this.ProductService.GetModel(item.ProductId); var model = new ProductStockRecordModel { Id = item.Id, Stock = product == null ? 0 : product.Stock, ProductCode = product == null ? string.Empty : product.Code, ProductName = product == null ? string.Empty : product.Name, Quantity = item.Type.GetDisplayGroupName() == "In" ? item.Quantity : 0 - item.Quantity, QuantityBefore = item.QuantityBefore, RecordOn = item.RecordOn, Type = item.Type, Remark = item.Remark, }; modelList.Add(model); } response.Data = modelList; response.PageIndex = result.PageIndex; response.PageSize = result.PageSize; response.TotalCount = result.TotalCount; response.TotalPage = result.TotalPage; return(response); }
/// <summary> /// 分页筛选查询列表 /// </summary> /// <param name="filter"></param> /// <returns></returns> public virtual PagedQueryResult <T> FindPaged(PagedQueryFilter filter) { if (filter == null) { return(new PagedQueryResult <T>()); } if (filter.PageSize == 0) { return(new PagedQueryResult <T>()); } return(Repository.FindPaged <T>(filter)); }
/// <summary> /// 分页查找财务记录 /// </summary> /// <param name="filter"></param> /// <returns></returns> public PagedQueryResult <FinanceOrderModel> FindList(PagedQueryFilter filter) { var result = base.FindPaged(filter); var response = new PagedQueryResult <FinanceOrderModel>(); foreach (var item in result.Data) { var model = new FinanceOrderModel(); model.Id = item.Id; model.Code = item.Code; model.Type = item.Type; model.RelationId = item.RelationId; model.Amount = item.Type.GetDisplayGroupName() == "Receipt" ? item.Amount : 0 - item.Amount; model.Remark = item.Remark; model.CreatedOn = item.CreatedOn; switch (item.Type) { case EnumFinanceOrderType.Purchase: var purchaseOrder = PurchaseService.Get(item.RelationId); model.RelationCode = purchaseOrder == null ? null : purchaseOrder.Code; break; case EnumFinanceOrderType.Repair: var repairOrder = RepairOrderService.Get(item.RelationId); model.RelationCode = repairOrder == null ? null : repairOrder.Code; break; case EnumFinanceOrderType.Sale: var saleOrder = SaleOrderService.Get(item.RelationId); model.RelationCode = saleOrder == null ? null : saleOrder.Code; break; } response.Data.Add(model); } response.PageIndex = result.PageIndex; response.PageSize = result.PageSize; response.TotalCount = result.TotalCount; response.TotalPage = result.TotalPage; return(response); }
/// <summary> /// 分页查找数据 /// </summary> /// <typeparam name="TModel"></typeparam> /// <param name="filter"></param> /// <returns></returns> public virtual PagedQueryResult <TModel> FindPaged <TModel>(PagedQueryFilter filter) where TModel : new() { var result = new PagedQueryResult <TModel>(); var sql = filter.SQL; // 设置排序 var orderBy = " ORDER BY"; if (string.IsNullOrWhiteSpace(filter.OrderBy)) { orderBy += " CreatedOn DESC"; } else { orderBy += string.Format(" {0} {1}", filter.OrderBy, filter.Sort.ToString()); } using (var context = DbContext.Open()) { var pagedSql = string.Format("SELECT * FROM ({0}{1}) temp LIMIT {2} OFFSET {3}", filter.SQL, orderBy, filter.PageSize, filter.PageSize * filter.PageIndex); result.Data = context.SqlList <TModel>(pagedSql, filter.ParamDict); var countSql = string.Format("SELECT COUNT(1) FROM ({0}) AS temp", sql); result.TotalCount = context.SqlScalar <int>(countSql, filter.ParamDict); } result.PageIndex = filter.PageIndex; result.PageSize = filter.PageSize; result.TotalPage = result.TotalCount / filter.PageSize; if (result.TotalCount % result.PageSize > 0) { result.TotalPage++; } return(result); }
/// <summary> /// 分页查找销售单列表 /// </summary> /// <param name="filter"></param> /// <returns></returns> public PagedQueryResult <SaleOrderModel> FindList(PagedQueryFilter filter) { var result = SaleOrderRepository.FindPaged <SaleOrder>(filter); var modelList = new List <SaleOrderModel>(); var response = new PagedQueryResult <SaleOrderModel>(); foreach (var item in result.Data) { item.Customer = CustomerService.Get(item.CustomerId); item.SaleBy = EmployeeService.Get(item.SaleById); var model = new SaleOrderModel { Id = item.Id, Code = item.Code, Amount = item.Amount, CustomerName = item.Customer == null ? string.Empty : item.Customer.Name, OutboundOn = item.OutboundOn, Remark = item.Remark, SaleByName = item.SaleBy == null ? string.Empty : item.SaleBy.Name, SaleOn = item.SaleOn, SettlementAmount = item.SettlementAmount, SettlementOn = item.SettlementOn, SettlementStatus = item.SettlementStatus, Status = item.Status, }; modelList.Add(model); } response.Data = modelList; response.PageIndex = result.PageIndex; response.PageSize = result.PageSize; response.TotalCount = result.TotalCount; response.TotalPage = result.TotalPage; return(response); }