/// <summary>
        /// 界面分页列表
        /// </summary>
        /// <param name="filter">筛选字段</param>
        /// <returns>分页列表</returns>
        /// <remarks>2015-10-9 王江 创建</remarks>
        public override Pager <CBTransferCargoConfig> GetTransferCargoConfigList(Model.Parameter.ParaTransferCargoConfigFilter filter)
        {
            string sqlSelect = @"m.sysno,m.applywarehousesysno,n.warehousename ApplyWarehouseName,m.deliverywarehousesysno,p.warehousename DeliveryWarehouseName,m.status,
                                 s.username CreateUserName,m.createddate,m.lastupdatedate,t.username UpdateUserName ";

            string sqlFrom = @"TransferCargoConfig m inner join whwarehouse n on m.applywarehousesysno=n.sysno 
                               left join whwarehouse p on m.deliverywarehousesysno=p.sysno 
                               left join SyUser s on m.createdby=s.sysno 
                               left join SyUser t on m.lastupdateby=t.sysno";

            var parameters = new ArrayList();

            System.Text.StringBuilder strWhere = new System.Text.StringBuilder("1=1");

            if (filter.IsQueryPickingWarehouse)
            {
                strWhere.AppendFormat(" and m.sysno in (select min(sysno) from TransferCargoConfig t group by t.deliverywarehousesysno)");
            }

            if (!string.IsNullOrWhiteSpace(filter.ApplyWarehouseName)) // 申请调货仓库名称
            {
                strWhere.AppendFormat(" and n.warehousename=@ApplyWarehouseName", filter.ApplyWarehouseName);
                parameters.Add(filter.ApplyWarehouseName);
            }

            if (!string.IsNullOrWhiteSpace(filter.DeliveryWarehouseName)) // 配货仓库名称
            {
                strWhere.AppendFormat(" and p.warehousename=@DeliveryWarehouseName", filter.DeliveryWarehouseName);
                parameters.Add(filter.DeliveryWarehouseName);
            }

            var pager = new Pager <CBTransferCargoConfig>
            {
                CurrentPage = filter.Id,
                PageSize    = filter.PageSize
            };

            using (var context = Context.UseSharedConnection(true))
            {
                var results = context.Select <CBTransferCargoConfig>(sqlSelect)
                              .From(sqlFrom)
                              .AndWhere(strWhere.ToString())
                              .Parameters(parameters)
                              .Paging(filter.Id, filter.PageSize)
                              .OrderBy("m.SysNo desc")
                              .QueryMany();
                var count = context.Select <int>(@"count(*)")
                            .From(sqlFrom)
                            .AndWhere(strWhere.ToString())
                            .Parameters(parameters)
                            .QuerySingle();
                pager.Rows      = results;
                pager.TotalRows = count;
            }
            return(pager);
        }
Пример #2
0
 /// <summary>
 /// 界面分页列表
 /// </summary>
 /// <param name="filter">筛选字段</param>
 /// <returns>分页列表</returns>
 /// <remarks>2015-10-9 王江 创建</remarks>
 public abstract Pager <CBTransferCargoConfig> GetTransferCargoConfigList(Model.Parameter.ParaTransferCargoConfigFilter filter);