/// <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);
        }
Ejemplo n.º 2
0
        /// <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));
        }
Ejemplo n.º 3
0
        /// <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);
        }
Ejemplo n.º 4
0
        /// <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);
        }
Ejemplo n.º 5
0
        /// <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);
        }