/// <summary>
        /// 确认
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btConfirm_Click(object sender, EventArgs e)
        {
            CheckStockBill info = new CheckStockBill();
            CheckStockBLL  bll  = null;

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

                bll = BLLFactory.CreateBLL <CheckStockBLL>();

                info.Details = JsonConvertHelper.DeserializeObject <List <CheckStockDetail> >(this.hiCheckList.Value);

                info.CREATEUSER = this.HiCREATEUSER.Value;
                info.CREATETIME = DateTime.Parse(this.HiCREATETIME.Value);
                info.ID         = this.hiID.Value;
                bll.ConfirmCheck(info);

                ClientScript.RegisterStartupScript(this.GetType(), "myjs", "parent.refreshData();parent.closeAppWindow1();", true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #2
0
        /// <summary>
        /// 生成盘点单
        /// </summary>
        /// <param name="condition">生成条件</param>
        /// <returns>盘点单</returns>
        public CheckStockBill BuildBill(CheckStockBill condition)
        {
            CheckStockBill       info       = new CheckStockBill();
            string               sql        = null;
            List <DataParameter> parameters = new List <DataParameter>();

            sql = @"select t1.SaveSite,t2.Description as SaveSiteName,t1.MatBarCode as IDCode,t1.MatID,
                    t3.MatCode,t3.MatName,t1.Unit,t4.UnitName,t1.ProductAmount as StockAmount
                    from T_WH_MatAmount t1
                    left outer join T_WH_Site t2 on t1.SaveSite=t2.ID
                    left outer join T_WH_Mat t3 on t1.MatID=t3.ID
                    left outer join T_WH_MatSpec t4 on t1.Unit=t4.ID
                    where t1.Warehouse = @Warehouse";

            parameters.Add(new DataParameter("Warehouse", condition.Warehouse));

            if (string.IsNullOrEmpty(condition.AreaID) == false)
            {
                sql += " and t2.AreaID = @AreaID";
                parameters.Add(new DataParameter("AreaID", condition.AreaID));
            }

            using (IDataSession session = AppDataFactory.CreateMainSession())
            {
                info.Details = session.GetList <CheckStockDetail>(sql, parameters.ToArray()).ToList();
            }

            return(info);
        }
Exemple #3
0
        /// <summary>
        /// 删除信息
        /// </summary>
        /// <param name=""></param>
        /// <returns>删除个数</returns>
        public int Delete(CheckStockBill info)
        {
            int    count = 0;
            string sql   = "";

            try
            {
                using (IDataSession session = AppDataFactory.CreateMainSession())
                {
                    session.OpenTs();

                    count = session.Delete <CheckStockBill>(info);

                    sql = "delete from T_WH_CheckStockDetail where BillID = @BillID";
                    session.ExecuteSql(sql, new DataParameter("BillID", info.ID));

                    session.CommitTs();
                }
                return(count);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #4
0
        private void BindData()
        {
            string         id   = Request.QueryString["id"];
            CheckStockBLL  bll  = null;
            CheckStockBill info = new CheckStockBill();

            try
            {
                bll = BLLFactory.CreateBLL <CheckStockBLL>();
                if (string.IsNullOrEmpty(id) == false)
                {
                    info.ID = id;
                    info    = bll.GetInfo(info);
                    UIBindHelper.BindForm(this.Page, info);
                    this.hiID.Value         = info.ID;
                    this.HiCREATEUSER.Value = info.CREATEUSER;
                    this.HiCREATETIME.Value = info.CREATETIME.ToString();
                    this.BillDate.Text      = info.BillDate.ToString("yyyy-MM-dd");
                }


                this.IsConfirmName.Text = info.IsConfirm == 0 ? "未确认" : "已确认";

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

                this.hiCheckList.Value = matList.GetJsonSource();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #5
0
 /// <summary>
 /// 删除信息
 /// </summary>
 /// <param name=""></param>
 /// <returns>删除个数</returns>
 public int Delete(CheckStockBill info)
 {
     try
     {
         return(new CheckStockDAL().Delete(info));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Exemple #6
0
        private void BindData()
        {
            CheckStockBLL  bll       = null;
            DataPage       dp        = new DataPage();
            CheckStockBill condition = new CheckStockBill();

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

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

                for (int i = 0; i < this.GvList.Rows.Count; i++)
                {
                    this.GvList.Rows[i].Cells[6].Text = this.GvList.Rows[i].Cells[6].Text == "0" ? "未确认" : "已确认";

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

                    LinkButton btEdit = (this.GvList.Rows[i].Cells[9].FindControl("lbtEdit") as LinkButton);
                    if (this.GvList.Rows[i].Cells[6].Text == "已确认")
                    {
                        btEdit.Visible = false;
                    }
                    else
                    {
                        //绑定编辑功能
                        btEdit.Attributes.Add("onclick", click);
                    }

                    //绑定查看功能
                    (this.GvList.Rows[i].Cells[8].FindControl("lbtView") as LinkButton)
                    .Attributes.Add("onclick", "return view('" + this.GvList.DataKeys[i]["ID"].ToString() + "');");
                }
                PagerHelper.SetPageControl(AspNetPager1, dp, true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private void BindData()
        {
            string         id   = Request.QueryString["id"];
            CheckStockBLL  bll  = null;
            CheckStockBill info = new CheckStockBill();

            try
            {
                bll = BLLFactory.CreateBLL <CheckStockBLL>();
                if (string.IsNullOrEmpty(id) == false)
                {
                    info.ID = id;
                    info    = bll.GetInfo(info);
                    UIBindHelper.BindForm(this.Page, info);
                    this.hiID.Value         = info.ID;
                    this.HiCREATEUSER.Value = info.CREATEUSER;
                    this.HiCREATETIME.Value = info.CREATETIME.ToString();
                    this.BillDate.Text      = info.BillDate.ToString("yyyy-MM-dd");

                    this.btConfirm.Visible = true;
                    this.btBuild.Visible   = false;
                }
                else
                {
                    info               = new CheckStockBill();
                    info.Details       = new List <CheckStockDetail>();
                    this.BillNO.Text   = bll.GetNewBillNO();
                    this.BillDate.Text = DateTime.Now.ToString("yyyy-MM-dd");

                    LoginInfo user = this.GetLoginInfo();
                    this.CheckHeader.SelectedValue = user.UserID;
                }

                this.IsConfirmName.Text = info.IsConfirm == 0 ? "未确认" : "已确认";

                //绑定明细
                DataGridResult <CheckStockDetail> matList = new DataGridResult <CheckStockDetail>();
                matList.Total = 0;
                matList.Rows  = info.Details.OrderBy(p => p.Seq).ToList();

                this.hiCheckList.Value = matList.GetJsonSource();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #8
0
 /// <summary>
 /// 新增盘点单
 /// </summary>
 /// <param name="info"></param>
 public void Insert(CheckStockBill info)
 {
     try
     {
         using (IDataSession session = AppDataFactory.CreateMainSession())
         {
             session.OpenTs();
             session.Insert <CheckStockBill>(info);
             session.Insert <CheckStockDetail>(info.Details);
             session.CommitTs();
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Exemple #9
0
        /// <summary>
        /// 盘点确认
        /// </summary>
        /// <param name="info">盘点单</param>
        public void ConfirmCheck(CheckStockBill info)
        {
            CheckStockDAL dal  = new CheckStockDAL();
            StockDAL      sDal = new StockDAL();

            int seq = 1;

            foreach (CheckStockDetail detail in info.Details)
            {
                detail.ID     = Guid.NewGuid().ToString();
                detail.BillID = info.ID;
                detail.Seq    = seq;
                seq++;
            }

            using (IDataSession session = AppDataFactory.CreateMainSession())
            {
                session.OpenTs();

                dal.Session  = session;
                sDal.Session = session;

                //更新盘点单信息
                info.IsConfirm = 1;
                dal.Update(info);

                foreach (CheckStockDetail detail in info.Details)
                {
                    //更新库存信息
                    WHMatAmount matStock = sDal.GetStock(new WHMatAmount()
                    {
                        Warehouse    = info.Warehouse
                        , SaveSite   = detail.SaveSite
                        , MatID      = detail.MatID
                        , MatBarCode = detail.IDCode
                    });

                    matStock.MainAmount    = matStock.MainAmount * detail.FactAmount / matStock.ProductAmount;
                    matStock.ProductAmount = detail.FactAmount;

                    sDal.Update(matStock);
                }

                session.CommitTs();
            }
        }
Exemple #10
0
        /// <summary>
        /// 更新盘点单
        /// </summary>
        /// <param name="info"></param>
        public void Update(CheckStockBill info)
        {
            string sql = null;

            try
            {
                Session.Update <CheckStockBill>(info);

                sql = "delete from T_WH_CheckStockDetail where BillID = @BillID";
                Session.ExecuteSql(sql, new DataParameter("BillID", info.ID));

                Session.Insert <CheckStockDetail>(info.Details);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        /// <summary>
        /// 生成
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btBuild_Click(object sender, EventArgs e)
        {
            CheckStockBill info = new CheckStockBill();
            CheckStockBLL  bll  = null;

            bll = BLLFactory.CreateBLL <CheckStockBLL>();

            info = bll.BuildBill(new CheckStockBill {
                Warehouse = this.Warehouse.SelectedValue, AreaID = this.AreaID.SelectedValue
            });

            this.BillNO.Text = info.BillNO;
            //绑定明细
            DataGridResult <CheckStockDetail> matList = new DataGridResult <CheckStockDetail>();

            matList.Total = 0;
            matList.Rows  = info.Details;

            this.hiCheckList.Value = matList.GetJsonSource();
        }
Exemple #12
0
        /// <summary>
        /// 新增盘点单
        /// </summary>
        /// <param name="info"></param>
        public void Insert(CheckStockBill info)
        {
            info.ID         = Guid.NewGuid().ToString();
            info.BillNO     = this.GetNewBillNO();
            info.CREATEUSER = this.LoginUser.UserID;
            info.CREATETIME = DateTime.Now;
            info.UPDATEUSER = this.LoginUser.UserID;
            info.UPDATETIME = info.CREATETIME;

            int seq = 1;

            foreach (CheckStockDetail detail in info.Details)
            {
                detail.ID     = Guid.NewGuid().ToString();
                detail.BillID = info.ID;
                detail.Seq    = seq;
                seq++;
            }

            new CheckStockDAL().Insert(info);
        }
Exemple #13
0
        /// <summary>
        /// 获取盘点单信息
        /// </summary>
        /// <param name="info">入库信息</param>
        /// <returns></returns>
        public CheckStockBill GetInfo(CheckStockBill info)
        {
            string sql = null;
            List <DataParameter> parameters = new List <DataParameter>();

            try
            {
                using (IDataSession session = AppDataFactory.CreateMainSession())
                {
                    //获取数据
                    sql  = @"select t1.*,t3.Description as AreaName,u3.USERNAME as CheckHeaderName,t2.Description as WarehouseName
                            from T_WH_CheckStock t1
                            inner join T_WH_Warehouse t2 on t1.Warehouse=t2.ID
                            left outer join T_WH_AREA t3 on t1.AreaID=t3.ID
                            left outer join T_USER u3 on t1.CheckHeader=u3.USERID
                            where t1.ID = @ID";
                    info = session.Get <CheckStockBill>(sql, new DataParameter("ID", info.ID));

                    //获取明细信息
                    sql = @"select t1.ID,t1.Seq,t1.IDCode,t1.MatID,t1.SaveSite,t2.MatCode as MatCode,t2.MatName as MatName,
                            t1.StockAmount,t1.FactAmount,t1.ProfitAmount,t1.LossAmount,t1.Remark
                            ,t3.Description as SaveSiteName,t1.Unit,t4.Description as UnitName
                        from T_WH_CheckStockDetail t1
                        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 outer join T_WH_MatUnit t4 on t1.Unit=t4.ID
                        where t1.BillID=?BillID";
                    parameters.Add(new DataParameter("BillID", info.ID));
                    info.Details = session.GetList <CheckStockDetail>(sql, parameters.ToArray()).ToList();
                }

                return(info);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #14
0
        /// <summary>
        /// 生成盘点单
        /// </summary>
        /// <param name="condition">生成条件</param>
        /// <returns>盘点单</returns>
        public CheckStockBill BuildBill(CheckStockBill condition)
        {
            CheckStockBill info = new CheckStockDAL().BuildBill(condition);


            info.BillNO      = this.GetNewBillNO();
            info.Warehouse   = condition.Warehouse;
            info.AreaID      = condition.AreaID;
            info.CheckHeader = this.LoginUser.UserID;

            int seq = 1;

            foreach (CheckStockDetail detail in info.Details)
            {
                detail.ID         = Guid.NewGuid().ToString();
                detail.BillID     = info.ID;
                detail.FactAmount = detail.StockAmount;
                detail.Seq        = seq;
                seq++;
            }

            return(info);
        }
Exemple #15
0
        /// <summary>
        /// 更新盘点单
        /// </summary>
        /// <param name="info"></param>
        public void Update(CheckStockBill info)
        {
            info.UPDATEUSER = this.LoginUser.UserID;
            info.UPDATETIME = info.CREATETIME;

            int seq = 1;

            foreach (CheckStockDetail detail in info.Details)
            {
                detail.ID     = Guid.NewGuid().ToString();
                detail.BillID = info.ID;
                detail.Seq    = seq;
                seq++;
            }

            CheckStockDAL dal = new CheckStockDAL();

            using (IDataSession session = AppDataFactory.CreateMainSession())
            {
                dal.Session = session;
                dal.Update(info);
            }
        }
Exemple #16
0
 /// <summary>
 /// 获取盘点单列表
 /// </summary>
 /// <param name="condition"></param>
 /// <param name="page"></param>
 /// <returns></returns>
 public DataPage GetList(CheckStockBill condition, DataPage page)
 {
     return(new CheckStockDAL().GetList(condition, page));
 }
Exemple #17
0
 /// <summary>
 /// 获取盘点单信息
 /// </summary>
 /// <param name="info">入库信息</param>
 /// <returns></returns>
 public CheckStockBill GetInfo(CheckStockBill info)
 {
     return(new CheckStockDAL().GetInfo(info));
 }
Exemple #18
0
        /// <summary>
        /// 获取盘点单列表
        /// </summary>
        /// <param name="condition"></param>
        /// <param name="page"></param>
        /// <returns></returns>
        public DataPage GetList(CheckStockBill 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,t3.Description as AreaName,
                                    u3.USERNAME as CheckHeader,t1.Remark,t2.Description as WarehouseName,t1.IsConfirm
                                   from T_WH_CheckStock t1
                                    inner join T_WH_Warehouse t2 on t1.Warehouse=t2.ID
                                    left outer join T_WH_AREA t3 on t1.AreaID=t3.ID
                                    left outer join T_USER u3 on t1.CheckHeader=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.AreaID))
                {
                    sqlBuiler.Append(" and t1.AreaID = @AreaID");
                    parameters.Add(new DataParameter("ProviderID", condition.AreaID));
                }

                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 t1.CREATEUSER = @CREATEUSER");
                    parameters.Add(new DataParameter("CREATEUSER", condition.CREATEUSER));
                }
                //分页关键字段及排序
                page.KeyName = "ID";
                if (string.IsNullOrEmpty(page.SortExpression))
                {
                    page.SortExpression = "t1.BillDate DESC";
                }

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

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