/// <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; } }
/// <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); }
/// <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; } }
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; } }
/// <summary> /// 删除信息 /// </summary> /// <param name=""></param> /// <returns>删除个数</returns> public int Delete(CheckStockBill info) { try { return(new CheckStockDAL().Delete(info)); } catch (Exception ex) { throw ex; } }
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; } }
/// <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; } }
/// <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(); } }
/// <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(); }
/// <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); }
/// <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; } }
/// <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); }
/// <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); } }
/// <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)); }
/// <summary> /// 获取盘点单信息 /// </summary> /// <param name="info">入库信息</param> /// <returns></returns> public CheckStockBill GetInfo(CheckStockBill info) { return(new CheckStockDAL().GetInfo(info)); }
/// <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; } }