Exemple #1
0
        /// <summary>
        /// 获取出库信息
        /// </summary>
        /// <param name="info">入库信息</param>
        /// <returns></returns>
        public OutStockBill GetInfo(OutStockBill info)
        {
            string sql = null;
            List <DataParameter> parameters = new List <DataParameter>();

            try
            {
                using (IDataSession session = AppDataFactory.CreateMainSession())
                {
                    //获取数据
                    info = session.Get <OutStockBill>(info);

                    sql = @"select t1.*,t1.IDCode as MatBarCode,t2.MatCode,t2.MatName,t3.Description as SaveSite
                            ,t3.Description as SaveSiteName,t1.Remark,t4.Description as SpecCode,t5.Description as UnitCode,
                            t5.Description as MainUnitName,twms.UnitName,twms.Description as OutSpecName 
                            from T_WH_OutStockDetail t1
                            left outer join T_WH_Mat t2 on t1.MatID=t2.ID
                             left outer join T_WH_MatIDCode mic on t1.IDCode=mic.IDCode
                            left outer join T_WH_Site t3 on t1.SaveSite=t3.ID
                            left outer join T_WH_Spec t4 on t2.SpecCode=t4.ID
                            left outer join T_WH_MatUnit t5 on t2.UnitCode=t5.ID
                            left outer join T_WH_MatSpec twms on mic.MatSpec = twms.ID
                            where t1.BillID = @BillID";
                    parameters.Add(new DataParameter("BillID", info.ID));
                    info.Details = session.GetList <OutStockDetail>(sql, parameters.ToArray()).ToList();
                }

                return(info);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #2
0
 /// <summary>
 /// 获取出库信息列表
 /// </summary>
 /// <param name="condition"></param>
 /// <param name="page"></param>
 /// <returns></returns>
 public DataPage GetList(OutStockBill condition, DataPage page)
 {
     if (this.LoginUser.UserName.ToLower() != "admin")
     {
         condition.CREATEUSER = this.LoginUser.UserID;
     }
     return(new OutStockDAL().GetList(condition, page));
 }
Exemple #3
0
        /// <summary>
        /// 产成品出库
        /// </summary>
        /// <param name="bill">出库单</param>
        /// <returns></returns>
        public string FGOutStorage(OutStockBill bill)
        {
            bill.ID           = Guid.NewGuid().ToString();
            bill.BillNO       = this.GetNewBillNO();
            bill.BillDate     = DateTime.Now;
            bill.OutStockMode = "fg";
            bill.WHHeader     = this.LoginUser.UserID;

            return(OutStorage(bill));
        }
Exemple #4
0
        private void BindData()
        {
            string       id   = Request.QueryString["id"];
            OutStockBLL  bll  = null;
            OutStockBill info = new OutStockBill();

            try
            {
                bll = BLLFactory.CreateBLL <OutStockBLL>();
                if (string.IsNullOrEmpty(id) == false)
                {
                    info.ID      = id;
                    info         = bll.GetInfo(info);
                    info.Details = info.Details.OrderBy(p => p.Seq).ToList();
                    UIBindHelper.BindForm(this.Page, info);
                    this.hiID.Value         = info.ID;
                    this.HiCREATEUSER.Value = info.CREATEUSER;
                    this.HiUPDATEUSER.Value = info.UPDATEUSER;
                    this.HiCREATETIME.Value = info.CREATETIME.ToString();
                    this.btAdd.Visible      = false;
                    this.BillDate.Text      = info.BillDate.ToString("yyyy年MM月dd日");
                }
                else
                {
                    info               = new OutStockBill();
                    info.Details       = new List <OutStockDetail>();
                    this.BillNO.Text   = bll.GetNewBillNO();
                    this.BillDate.Text = DateTime.Now.ToString("yyyy年MM月dd日");
                }

                //绑定明细
                DataGridResult <OutStockDetail> matList = new DataGridResult <OutStockDetail>();
                matList.Total = 0;
                matList.Rows  = info.Details;

                foreach (OutStockDetail detail in info.Details)
                {
                    detail.UnitName    = string.IsNullOrEmpty(detail.UnitName) == false ? detail.UnitName : detail.MainUnitName;
                    detail.OutSpecName = string.IsNullOrEmpty(detail.OutSpecName) == false ? detail.OutSpecName : detail.SpecCode;
                    if (detail.OutAmount == 0)
                    {
                        detail.OutAmount = detail.MainUnitAmount;
                        detail.UnitName  = detail.MainUnitName;
                    }

                    detail.DeleteAction = "none";
                }

                this.hiMatList.Value = matList.GetJsonSource();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #5
0
 /// <summary>
 /// 新增出库单信息
 /// </summary>
 /// <param name="info"></param>
 public void Insert(OutStockBill info)
 {
     try
     {
         Session.Insert <OutStockBill>(info);
         Session.Insert <OutStockDetail>(info.Details);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Exemple #6
0
 /// <summary>
 /// 更新出库单信息
 /// </summary>
 /// <param name="info"></param>
 public void Update(OutStockBill info)
 {
     try
     {
         using (IDataSession session = AppDataFactory.CreateMainSession())
         {
             session.Update <OutStockBill>(info);
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Exemple #7
0
        protected void btSave_Click(object sender, EventArgs e)
        {
            OutStockBill info   = new OutStockBill();
            OutStockBLL  bll    = null;
            string       result = null;

            try
            {
                UIBindHelper.BindModelByControls(this.Page, info);

                bll = BLLFactory.CreateBLL <OutStockBLL>();

                info.Details = JsonConvertHelper.DeserializeObject <List <OutStockDetail> >(this.hiMatList.Value);

                if (this.hiID.Value == "")
                {
                    result = bll.OutStorage(info);
                }
                else
                {
                    info.CREATEUSER = this.HiCREATEUSER.Value;
                    info.CREATETIME = DateTime.Parse(this.HiCREATETIME.Value);
                    info.ID         = this.hiID.Value;
                    bll.Update(info);
                }
                if (string.IsNullOrEmpty(result) == true)
                {
                    ClientScript.RegisterStartupScript(this.GetType(), "myjs", "parent.refreshData();parent.closeAppWindow1();", true);
                }
                else
                {
                    ClientScript.RegisterStartupScript(this.GetType(), "myjs", "MSI('提示','" + result + "');", true);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #8
0
        private void BindData()
        {
            OutStockBLL  bll       = null;
            DataPage     dp        = new DataPage();
            OutStockBill condition = new OutStockBill();

            try
            {
                bll = BLLFactory.CreateBLL <OutStockBLL>();
                condition.StartDate    = this.StartDate.Text;
                condition.EndDate      = this.EndDate.Text;
                condition.OutStockMode = this.OutStockMode.SelectedValue;
                condition.Warehouse    = this.Warehouse.SelectedValue;
                condition.ProductType  = this.ProductType.SelectedValue;
                condition.MatID        = this.MatID.SelectedValue;
                PagerHelper.InitPageControl(this.AspNetPager1, dp, true);
                dp = bll.GetList(condition, dp);

                List <OutStockBill> list = dp.Result as List <OutStockBill>;
                this.GvList.DataSource = list;
                this.GvList.DataBind();

                for (int i = 0; i < this.GvList.Rows.Count; i++)
                {
                    string click = string.Format("return edit('{0}');", this.GvList.DataKeys[i]["ID"].ToString());

                    //绑定编辑功能
                    (this.GvList.Rows[i].Cells[10].Controls[0] as WebControl).Attributes.Add("onclick", click);

                    //绑定查看功能
                    (this.GvList.Rows[i].Cells[11].FindControl("lbtView") as LinkButton).PostBackUrl = "ViewOutStockBill.aspx?id=" + this.GvList.DataKeys[i]["ID"].ToString();
                }
                PagerHelper.SetPageControl(AspNetPager1, dp, true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #9
0
        private void BindData()
        {
            OutStockQueryBLL bll       = null;
            DataPage         dp        = new DataPage();
            OutStockBill     condition = new OutStockBill();

            try
            {
                bll = BLLFactory.CreateBLL <OutStockQueryBLL>();
                condition.StartDate = this.StartDate.Value;
                condition.EndDate   = this.EndDate.Value;
                condition.Warehouse = this.WarehouseID.Value;
                condition.MatID     = this.MatID.Value;
                PagerHelper.InitPageControl(this.AspNetPager1, dp, true);
                dp = bll.GetOutMatDetails(condition, dp);

                List <OutStockQueryResult> list = dp.Result as List <OutStockQueryResult>;

                foreach (OutStockQueryResult detail in list)
                {
                    detail.UnitName = string.IsNullOrEmpty(detail.UnitName) == false ? detail.UnitName : detail.MainUnitName;
                    if (detail.Amount == 0)
                    {
                        detail.Amount   = detail.MainUnitAmount;
                        detail.UnitName = detail.MainUnitName;
                    }
                }

                this.GvList.DataSource = list;
                this.GvList.DataBind();

                PagerHelper.SetPageControl(AspNetPager1, dp, true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        protected void btSave_Click(object sender, EventArgs e)
        {
            OutStockBill info = new OutStockBill();
            OutStockBLL  bll  = null;

            try
            {
                UIBindHelper.BindModelByControls(this.Page, info);
                info.Warehouse = this.Warehouse.SelectedValue;
                info.Details   = LAF.Common.Serialization.JsonConvertHelper.DeserializeObject <List <OutStockDetail> >(this.hiMatList.Value);

                foreach (OutStockDetail detail in info.Details)
                {
                    detail.OutAmount = 0;
                    detail.SaveSite  = this.SaveSite.SelectedValue;
                }

                bll = BLLFactory.CreateBLL <OutStockBLL>();
                string result = "";
                if (this.hiID.Value == "")
                {
                    result = bll.MLOutStorage(info);
                }
                if (result == "")
                {
                    ClientScript.RegisterStartupScript(this.GetType(), "myjs", "MSA('提示', '出库完成', function () { window.location.href='OutMatSplitPackage.aspx'; });", true);
                }
                else
                {
                    ClientScript.RegisterStartupScript(this.GetType(), "myjs", "MSA('提示', '" + result + "', function () { window.location.href='OutMatSplitPackage.aspx'; });", true);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #11
0
        private void BindData()
        {
            OutStockQueryBLL bll       = null;
            DataPage         dp        = new DataPage();
            OutStockBill     condition = new OutStockBill();

            try
            {
                bll = BLLFactory.CreateBLL <OutStockQueryBLL>();
                condition.StartDate    = this.StartDate.Text;
                condition.EndDate      = this.EndDate.Text;
                condition.OutStockMode = this.OutStockMode.SelectedValue;
                condition.Warehouse    = this.Warehouse.SelectedValue;
                condition.ProductType  = this.ProductType.SelectedValue;
                condition.MatID        = this.MatID.SelectedValue;
                PagerHelper.InitPageControl(this.AspNetPager1, dp, true);
                dp = bll.GetList(condition, dp);

                List <InStockQueryResult> list = dp.Result as List <InStockQueryResult>;
                this.GvList.DataSource = list;
                this.GvList.DataBind();

                for (int i = 0; i < this.GvList.Rows.Count; i++)
                {
                    //绑定查看功能
                    LinkButton lbtView = this.GvList.Rows[i].Cells[7].FindControl("lbtView") as LinkButton;
                    lbtView.OnClientClick = string.Format("view('{0}','{1}','{2}','{3}');return false;"
                                                          , this.GvList.DataKeys[i]["WarehouseID"].ToString(), this.GvList.DataKeys[i]["MatID"].ToString()
                                                          , this.StartDate.Text, this.EndDate.Text);
                }
                PagerHelper.SetPageControl(AspNetPager1, dp, true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #12
0
 /// <summary>
 /// 获取出库单
 /// </summary>
 /// <param name="info">出库信息</param>
 /// <returns></returns>
 public OutStockBill GetInfo(OutStockBill info)
 {
     return(new OutStockDAL().GetInfo(info));
 }
Exemple #13
0
 /// <summary>
 /// 更新出库单信息
 /// </summary>
 /// <param name="info"></param>
 public void Update(OutStockBill info)
 {
     new OutStockDAL().Update(info);
 }
Exemple #14
0
        /// <summary>
        /// 出库
        /// </summary>
        /// <param name="bill">出库单</param>
        /// <returns></returns>
        public string OutStorage(OutStockBill bill)
        {
            string result = "";

            bill.ID         = Guid.NewGuid().ToString();
            bill.CREATEUSER = this.LoginUser.UserID;
            bill.CREATETIME = DateTime.Now;
            bill.UPDATEUSER = this.LoginUser.UserID;
            bill.UPDATETIME = bill.CREATETIME;

            //设置明细
            int seq = 1;

            foreach (OutStockDetail detail in bill.Details)
            {
                detail.ID  = Guid.NewGuid().ToString("N");
                detail.Seq = seq;
                seq++;
                detail.BillID     = bill.ID;
                detail.CREATEUSER = bill.CREATEUSER;
                detail.CREATETIME = bill.CREATETIME;
                detail.UPDATEUSER = bill.UPDATEUSER;
                detail.UPDATETIME = bill.UPDATETIME;
            }

            StockDAL    stockDal = new StockDAL();
            OutStockDAL outDal   = new OutStockDAL();

            using (IDataSession session = AppDataFactory.CreateMainSession())
            {
                try
                {
                    stockDal.Session = session;
                    outDal.Session   = session;

                    foreach (OutStockDetail detail in bill.Details)
                    {
                        WHMatAmount outStock = new WHMatAmount();
                        outStock.Warehouse     = bill.Warehouse;
                        outStock.SaveSite      = detail.SaveSite;
                        outStock.MatBarCode    = detail.IDCode;
                        outStock.MatID         = detail.MatID;
                        outStock.ProductAmount = detail.OutAmount;
                        outStock.ProductPrice  = detail.OutPrice;
                        outStock.ProductSum    = detail.OutSum;
                        outStock.Unit          = detail.UnitCode;
                        outStock.MainAmount    = detail.MainUnitAmount;

                        result = stockDal.OutStock(outStock);

                        if (result != "")
                        {
                            break;
                        }
                    }

                    if (result != "")
                    {
                        session.RollbackTs();

                        return(result);
                    }

                    outDal.Insert(bill);

                    session.CommitTs();
                }
                catch (Exception ex)
                {
                    session.RollbackTs();
                    throw ex;
                }
            }

            return(result);
        }
Exemple #15
0
        /// <summary>
        /// 获取出库查询结果列表
        /// </summary>
        /// <param name="condition"></param>
        /// <param name="page"></param>
        /// <returns></returns>
        public DataPage GetList(OutStockBill condition, DataPage page)
        {
            DataTable            dt         = new DataTable();
            List <DataParameter> parameters = new List <DataParameter>();
            StringBuilder        sqlBuiler  = new StringBuilder();

            try
            {
                page.KeyName = "ID";

                sqlBuiler.Append(@"select t2.ID+t3.ID as ID,t2.ID as WareHouseID,t2.Description as WarehouseName,t4.Description as ProductType
                                   ,t3.ID as MatID,t3.MatCode,t3.MatName,t5.Description as UnitName
                                   ,t6.Description as SpecName,twhisd.MainUnitAmount as Amount
                                   from T_WH_OutStockBill t1
                                    inner join T_WH_OutStockDetail twhisd on t1.ID = twhisd.BillID
                                    inner join T_WH_Warehouse t2 on t1.Warehouse=t2.ID
                                    left outer join T_WH_Mat t3 on twhisd.MatID=t3.ID
                                    left outer join T_WH_MatType t4 on t3.ProductType=t4.ID
                                    left outer join T_WH_MatUnit t5 on t3.UnitCode=t5.ID
                                    left outer join T_WH_Spec t6 on t3.SpecCode=t6.ID
                                    where 1=1");
                if (!string.IsNullOrEmpty(condition.BillNO))
                {
                    sqlBuiler.Append(" and t1.BillNO like @BillNO");
                    parameters.Add(new DataParameter("BillNO", "%" + condition.BillNO + "%"));
                }

                if (!string.IsNullOrEmpty(condition.Warehouse))
                {
                    sqlBuiler.Append(" and t1.Warehouse = @Warehouse");
                    parameters.Add(new DataParameter("Warehouse", condition.Warehouse));
                }

                if (!string.IsNullOrEmpty(condition.OutStockMode))
                {
                    sqlBuiler.Append(" and t1.OutStockMode = @OutStockMode");
                    parameters.Add(new DataParameter("OutStockMode", condition.OutStockMode));
                }

                if (!string.IsNullOrEmpty(condition.StartDate))
                {
                    sqlBuiler.Append(" and t1.BillDate >= @StartDate");
                    parameters.Add(new DataParameter("StartDate", DateTime.Parse(condition.StartDate)));
                }

                if (!string.IsNullOrEmpty(condition.EndDate))
                {
                    sqlBuiler.Append(" and t1.BillDate < @EndDate");
                    parameters.Add(new DataParameter("EndDate", DateTime.Parse(condition.EndDate + " 23:59:59")));
                }
                if (!string.IsNullOrEmpty(condition.ProductType))
                {
                    sqlBuiler.Append(" and t3.ProductType = @ProductType");
                    parameters.Add(new DataParameter("ProductType", condition.ProductType));
                }
                if (!string.IsNullOrEmpty(condition.MatID))
                {
                    sqlBuiler.Append(" and twhisd.MatID = @MatID");
                    parameters.Add(new DataParameter("MatID", condition.MatID));
                }
                if (!string.IsNullOrEmpty(condition.CREATEUSER))
                {
                    sqlBuiler.Append(" and exists(select WarehouseID from T_WH_WHPower where UserID=@userID and WarehouseID=t1.Warehouse)");
                    parameters.Add(new DataParameter("userID", condition.CREATEUSER));
                }
                sqlBuiler.Append(@" group by t2.ID,t2.Description,t4.Description
                                   ,t3.ID,t3.MatCode,t3.MatName,t5.Description,t6.Description");
                //分页关键字段及排序
                page.KeyName = "ID";
                if (string.IsNullOrEmpty(page.SortExpression))
                {
                    page.SortExpression = "MatCode DESC";
                }

                using (IDataSession session = AppDataFactory.CreateMainSession())
                {
                    page = session.GetDataPage <InStockQueryResult>(sqlBuiler.ToString(), parameters.ToArray(), page);
                }

                return(page);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #16
0
 /// <summary>
 /// 获取出库查询结果列表
 /// </summary>
 /// <param name="condition"></param>
 /// <param name="page"></param>
 /// <returns></returns>
 public DataPage GetOutMatDetails(OutStockBill condition, DataPage page)
 {
     return(new OutStockQueryDAL().GetOutMatDetails(condition, page));
 }
Exemple #17
0
        /// <summary>
        /// 获取出库单列表
        /// </summary>
        /// <param name="condition"></param>
        /// <param name="page"></param>
        /// <returns></returns>
        public DataPage GetList(OutStockBill condition, DataPage page)
        {
            DataTable            dt         = new DataTable();
            List <DataParameter> parameters = new List <DataParameter>();
            StringBuilder        sqlBuiler  = new StringBuilder();

            try
            {
                page.KeyName = "ID";

                sqlBuiler.Append(@"select t1.ID,t1.BillNO,t1.BillDate,whom.Description as OutStockMode,t1.Header,
                                    u3.USERNAME as HandlePerson,t1.Remark,t2.Description as WarehouseName,t3.Clientname as ClientName,u2.USERNAME as WHHeader
                                   from T_WH_OutStockBill t1
                                    inner join T_WH_Warehouse t2 on t1.Warehouse=t2.ID
                                    left outer join T_WH_Client t3 on t1.ClientCode=t3.ID
                                    left outer join T_WH_OutMode whom on t1.OutStockMode=whom.ID
                                    left outer join T_USER u2 on t1.WHHeader=u2.USERID
                                    left outer join T_USER u3 on t1.HandlePerson=u3.USERID
                                    where 1=1");
                if (!string.IsNullOrEmpty(condition.BillNO))
                {
                    sqlBuiler.Append(" and t1.BillNO like @BillNO");
                    parameters.Add(new DataParameter("BillNO", "%" + condition.BillNO + "%"));
                }

                if (!string.IsNullOrEmpty(condition.ClientCode))
                {
                    sqlBuiler.Append(" and t1.ClientCode = @ClientCode");
                    parameters.Add(new DataParameter("ClientCode", condition.ClientCode));
                }

                if (!string.IsNullOrEmpty(condition.Warehouse))
                {
                    sqlBuiler.Append(" and t1.Warehouse = @Warehouse");
                    parameters.Add(new DataParameter("Warehouse", condition.Warehouse));
                }

                if (!string.IsNullOrEmpty(condition.StartDate))
                {
                    sqlBuiler.Append(" and t1.BillDate >= @StartDate");
                    parameters.Add(new DataParameter("StartDate", DateTime.Parse(condition.StartDate)));
                }

                if (!string.IsNullOrEmpty(condition.EndDate))
                {
                    sqlBuiler.Append(" and t1.BillDate < @EndDate");
                    parameters.Add(new DataParameter("EndDate", DateTime.Parse(condition.EndDate + " 23:59:59")));
                }
                if (!string.IsNullOrEmpty(condition.CREATEUSER))
                {
                    sqlBuiler.Append(" and exists(select WarehouseID from T_WH_WHPower where UserID=@userID and WarehouseID=t1.Warehouse)");
                    parameters.Add(new DataParameter("userID", condition.CREATEUSER));
                }
                //分页关键字段及排序
                page.KeyName = "Code";
                if (string.IsNullOrEmpty(page.SortExpression))
                {
                    page.SortExpression = "BillDate DESC";
                }

                using (IDataSession session = AppDataFactory.CreateMainSession())
                {
                    page = session.GetDataPage <OutStockBill>(sqlBuiler.ToString(), parameters.ToArray(), page);
                }

                return(page);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #18
0
        /// <summary>
        /// 获取出库查询结果列表
        /// </summary>
        /// <param name="condition"></param>
        /// <param name="page"></param>
        /// <returns></returns>
        public DataPage GetOutMatDetails(OutStockBill condition, DataPage page)
        {
            DataTable            dt           = new DataTable();
            List <DataParameter> parameters   = new List <DataParameter>();
            StringBuilder        sqlBuiler    = new StringBuilder();
            StringBuilder        whereBuilder = new StringBuilder();

            try
            {
                page.KeyName = "ID";
                sqlBuiler.Append(@"select t1.ID,t1.Seq,t1.IDCode as MatBarCode,t1.MatID,t2.MatCode as MatCode,t2.MatName as MatName,
                            t1.OutAmount as Amount,t1.MainUnitAmount,t1.OutPrice,t1.OutSum,t3.Description as SaveSite,t1.Remark,wh.Description as WarehouseName,
                            twms.UnitName,t1.MatSpec,isb.BillDate as OutDate,t5.Description as MainUnitName
                            from T_WH_OutStockDetail t1
                            inner join T_WH_OutStockBill isb on t1.BillID=isb.ID
                            left outer join T_WH_MatIDCode mic on t1.IDCode=mic.IDCode
                            left outer join T_WH_MatSpec twms on mic.MatSpec = twms.ID
                            left outer join T_WH_Mat t2 on t1.MatID=t2.ID
                            left outer join T_WH_Site t3 on t1.SaveSite=t3.ID
                            left join T_WH_Warehouse wh on t3.whid=wh.ID
                            left outer join T_WH_MatUnit t5 on t2.UnitCode=t5.ID
                           ");


                if (!string.IsNullOrEmpty(condition.Warehouse))
                {
                    whereBuilder.Append(" and isb.Warehouse = @Warehouse");
                    parameters.Add(new DataParameter("Warehouse", condition.Warehouse));
                }

                if (!string.IsNullOrEmpty(condition.StartDate))
                {
                    whereBuilder.Append(" and isb.BillDate >= @StartDate");
                    parameters.Add(new DataParameter("StartDate", DateTime.Parse(condition.StartDate)));
                }

                if (!string.IsNullOrEmpty(condition.EndDate))
                {
                    whereBuilder.Append(" and isb.BillDate < @EndDate");
                    parameters.Add(new DataParameter("EndDate", DateTime.Parse(condition.EndDate + " 23:59:59")));
                }
                if (!string.IsNullOrEmpty(condition.MatID))
                {
                    whereBuilder.Append(" and t1.MatID = @MatID");
                    parameters.Add(new DataParameter("MatID", condition.MatID));
                }

                if (whereBuilder.Length > 0)
                {
                    sqlBuiler.Append(" where " + whereBuilder.ToString().Substring(4));
                }

                //分页关键字段及排序
                page.KeyName = "ID";
                if (string.IsNullOrEmpty(page.SortExpression))
                {
                    page.SortExpression = "BillDate ASC";
                }

                using (IDataSession session = AppDataFactory.CreateMainSession())
                {
                    page = session.GetDataPage <OutStockQueryResult>(sqlBuiler.ToString(), parameters.ToArray(), page);
                }

                return(page);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }