protected void btSave_Click(object sender, EventArgs e) { MoveStockBill info = new MoveStockBill(); MoveStockBLL bll = null; try { UIBindHelper.BindModelByControls(this.Page, info); info.FromWarehouse = this.ToWarehouse.SelectedValue; info.ToWarehouse = this.ToWarehouse.SelectedValue; info.Details = LAF.Common.Serialization.JsonConvertHelper.DeserializeObject <List <MoveStockDetail> >(this.hiMatList.Value); foreach (MoveStockDetail detail in info.Details) { if (detail.IDCode == null) { detail.IDCode = ""; } } bll = BLLFactory.CreateBLL <MoveStockBLL>(); if (this.hiID.Value == "") { bll.InsideMoveStock(info); } ClientScript.RegisterStartupScript(this.GetType(), "myjs", "MSA('提示', '移库完成', function () { window.location.href='InsideMoveByMobile.aspx'; });", true); } catch (Exception ex) { throw ex; } }
/// <summary> /// 插入信息(单表) /// </summary> /// <param name="">信息</param> /// <returns>插入行数</returns> public int Insert(MoveStockBill model) { int count = 0; try { //插入基本信息 count = Session.Insert <MoveStockBill>(model); Session.Insert <MoveStockDetail>(model.Details); return(count); } catch (Exception ex) { throw ex; } }
/// <summary> /// 库内移动 /// </summary> /// <param name="bill">移动信息</param> public void InsideMoveStock(MoveStockBill bill) { MoveStockDAL msDal = new MoveStockDAL(); StockDAL sDal = new StockDAL(); bill.ID = Guid.NewGuid().ToString(); bill.BillNO = this.GetNewBillNO(); bill.FromWarehouse = bill.ToWarehouse; bill.FromWHHeader = this.LoginUser.UserID; bill.ToWHHeader = this.LoginUser.UserID; bill.MoveMode = "1"; bill.CREATEUSER = this.LoginUser.UserID; bill.CREATETIME = DateTime.Now; bill.UPDATEUSER = bill.CREATEUSER; bill.UPDATETIME = bill.CREATETIME; foreach (MoveStockDetail detail in bill.Details) { detail.ID = Guid.NewGuid().ToString(); detail.FromSaveSite = detail.ToSaveSite; detail.BillID = bill.ID; } List <MoveStockRecord> records = bill.Details.Select(p => new MoveStockRecord() { IDCode = p.IDCode, MatID = p.MatID, ToSaveSite = p.ToSaveSite, ToWarehouse = bill.ToWarehouse }).ToList(); using (IDataSession session = AppDataFactory.CreateMainSession()) { session.OpenTs(); msDal.Session = session; sDal.Session = session; msDal.Insert(bill); sDal.MoveStock(records); session.CommitTs(); } }
/// <summary> /// 获取库存移动单列表 /// </summary> /// <param name="condition"></param> /// <param name="page"></param> /// <returns></returns> public DataPage GetList(MoveStockBill 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,t1.ToWHHeader,u3.USERNAME as ToWHHeaderName, t1.Remark,t2.Description as ToWarehouseName from T_WH_MoveStockBill t1 inner join T_WH_Warehouse t2 on t1.Warehouse=t2.ID left outer join T_USER u3 on t1.ToWHHeader=u3.USERID left outer join T_WH_InMode t4 on t1.InStockMode=t4.ID where t1.MoveMode = @MoveMode"); parameters.Add(new DataParameter("MoveMode", condition.MoveMode)); if (!string.IsNullOrEmpty(condition.BillNO)) { sqlBuiler.Append(" and t1.BillNO like @BillNO"); parameters.Add(new DataParameter("BillNO", "%" + condition.BillNO + "%")); } if (!string.IsNullOrEmpty(condition.ToWarehouse)) { sqlBuiler.Append(" and t1.ToWarehouse = @ToWarehouse"); parameters.Add(new DataParameter("ToWarehouse", condition.ToWarehouse)); } 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 <MoveStockBill>(sqlBuiler.ToString(), parameters.ToArray(), page); } return(page); } catch (Exception ex) { throw ex; } }
/// <summary> /// 获取库内移动单列表 /// </summary> /// <param name="condition"></param> /// <param name="page"></param> /// <returns></returns> public DataPage GetInsideList(MoveStockBill condition, DataPage page) { condition.MoveMode = "1"; return(new MoveStockDAL().GetList(condition, page)); }