/// <summary> /// 获取列表 /// </summary> /// <param name="condition">条件</param> /// <param name="page">数据页</param> /// <returns>数据页</returns> public DataPage GetList(UseMatBill condition, DataPage page) { string sql = null; List <DataParameter> parameters = new List <DataParameter>(); try { sql = this.GetQuerySql(condition, ref parameters); //分页关键字段及排序 page.KeyName = "PID"; if (string.IsNullOrEmpty(page.SortExpression)) { page.SortExpression = "UPDATETIME DESC"; } using (IDataSession session = AppDataFactory.CreateMainSession()) { page = session.GetDataPage <UseMatBill>(sql, parameters.ToArray(), page); } return(page); } catch (Exception ex) { throw ex; } }
public void Insert(UseMatBill bill) { using (IDataSession session = AppDataFactory.CreateMainSession()) { session.OpenTs(); session.Insert <UseMatBill>(bill); session.Insert <UseMatAmount>(bill.Amounts); session.Insert <UseMatDetail>(bill.Details); session.CommitTs(); } }
public void Update(UseMatBill bill) { bill.UPDATEUSER = this.LoginUser.UserID; bill.UPDATETIME = DateTime.Now; foreach (UseMatAmount item in bill.Amounts) { item.USEID = bill.PID; } foreach (UseMatDetail item in bill.Details) { item.USEID = bill.PID; } new UseMatDAL().Update(bill); }
/// <summary> /// 获取领料单信息 /// </summary> /// <param name="">条件</param> /// <returns>*信息</returns> public UseMatBill Get(UseMatBill model) { UseMatBill info = null; List <DataParameter> parameters = new List <DataParameter>(); string sql = null; using (IDataSession session = AppDataFactory.CreateMainSession()) { //基本信息 sql = @"SELECT um.PID,si.BatchNumber,fi.PNAME AS FACTORYNAME,pi.PNAME AS ProduceName,pl.PLNAME AS PLName ,wh.Description as WarehouseName FROM T_WH_UseMat um INNER JOIN T_FP_SUPPLYINFO si on um.SUPPLYID = si.PID LEFT OUTER JOIN T_FP_ProducePlan pp ON si.PLANID = pp.PID LEFT OUTER JOIN T_FP_FACTORYINFO fi ON pp.FACTORYPID =fi.PID LEFT OUTER JOIN T_FP_PRODUCTINFO pi ON pp.PRODUCTIONID = pi.PID LEFT OUTER JOIN T_FP_PRODUCTLINE pl on pp.PRID = pl.PID LEFT OUTER JOIN T_WH_Warehouse wh on si.Warehouse=wh.ID where um.PID = @PID"; info = session.Get <UseMatBill>(sql, new DataParameter("PID", model.PID)); //领料数量 sql = @"select mat.MatName,uma.AMOUNT,mu.Description as UnitName from T_WH_UseMatAmount uma left outer join T_WH_Mat mat on uma.MATRIALID = mat.ID left outer join T_WH_MatUnit mu on mat.UnitCode = mu.ID"; parameters.Clear(); parameters.Add(new DataParameter("PID", model.PID)); info.Amounts = session.GetList <UseMatAmount>(sql, parameters.ToArray()).ToList(); //领料明细 sql = @"select whs.Description as SaveSite,umd.MatBarCode,mat.MatName,umd.AMOUNT,twms.UnitName as Unit from T_WH_UseMatDetail umd left outer join T_WH_MatIDCode mic on umd.MatBarCode=mic.IDCode left outer join T_WH_MatSpec twms on mic.MatSpec = twms.ID left outer join T_WH_Site whs on umd.SaveSite = whs.ID left outer join T_WH_Mat mat on umd.MATRIALID = mat.ID left outer join T_WH_MatUnit mu on mat.UnitCode = mu.ID"; parameters.Clear(); parameters.Add(new DataParameter("PID", model.PID)); info.Details = session.GetList <UseMatDetail>(sql, parameters.ToArray()).ToList(); } return(info); }
private void BindData() { UseMatBLL bll = null; DataPage dp = new DataPage(); UseMatBill condition = new UseMatBill(); try { bll = BLLFactory.CreateBLL <UseMatBLL>(); condition.BatchNumber = this.BatchNumber.Text; PagerHelper.InitPageControl(this.AspNetPager1, dp, true); dp = bll.GetList(condition, dp); List <UseMatBill> list = dp.Result as List <UseMatBill>; this.GvList.DataSource = list; this.GvList.DataBind(); for (int i = 0; i < this.GvList.Rows.Count; i++) { string pid = null; if (this.GvList.DataKeys[i]["PID"] != null) { pid = this.GvList.DataKeys[i]["PID"].ToString(); string viewClick = string.Format("return view('{0}');", pid); (this.GvList.Rows[i].Cells[6].FindControl("LinkView") as LinkButton).Attributes.Add("onclick", viewClick); (this.GvList.Rows[i].Cells[6].FindControl("LinkView") as LinkButton).Text = "查看"; (this.GvList.Rows[i].Cells[7].FindControl("LinkBuild") as LinkButton).Visible = false; } else { (this.GvList.Rows[i].Cells[6].FindControl("LinkView") as LinkButton).Enabled = false; } } PagerHelper.SetPageControl(AspNetPager1, dp, true); } catch (Exception ex) { throw ex; } }
public void Delete(UseMatBill bill) { string sql = null; using (IDataSession session = AppDataFactory.CreateMainSession()) { session.OpenTs(); session.Delete <UseMatBill>(bill); sql = "delete from T_WH_UseMatAmount where USEID = @USEID"; session.ExecuteSql(sql, new DataParameter("USEID", bill.PID)); session.Insert <UseMatAmount>(bill.Amounts); sql = "delete from T_WH_UseMatDetail where USEID = @USEID"; session.ExecuteSql(sql, new DataParameter("USEID", bill.PID)); session.Insert <UseMatDetail>(bill.Details); session.CommitTs(); } }
public void Insert(UseMatBill bill) { bill.PID = Guid.NewGuid().ToString(); bill.CREATEUSER = this.LoginUser.UserID; bill.CREATETIME = DateTime.Now; bill.UPDATEUSER = this.LoginUser.UserID; bill.UPDATETIME = DateTime.Now; foreach (UseMatAmount item in bill.Amounts) { item.USEID = bill.PID; } foreach (UseMatDetail item in bill.Details) { item.USEID = bill.PID; } new UseMatDAL().Insert(bill); }
private void BindData() { string id = Request.QueryString["id"]; UseMatBLL bll = null; UseMatBill info = new UseMatBill(); try { bll = BLLFactory.CreateBLL <UseMatBLL>(); if (!string.IsNullOrEmpty(id)) { info.PID = id; info = bll.Get(info); UIBindHelper.BindForm(this.Page, info); PDNAME.Text = info.ProduceName; FNAME.Text = info.FactoryName; REMARK.Text = info.REMARK; DELIVERYDATE.Text = info.DELIVERYDATE.ToString(); } //绑定明细 DataGridResult <UseMatAmount> supplyMaterialInfo = new DataGridResult <UseMatAmount>(); supplyMaterialInfo.Total = info.Amounts.Count; supplyMaterialInfo.Rows = info.Amounts; this.hiMaterialList.Value = supplyMaterialInfo.GetJsonSource(); DataGridResult <UseMatDetail> details = new DataGridResult <UseMatDetail>(); details.Total = info.Details.Count; details.Rows = info.Details; this.hiUseMatList.Value = details.GetJsonSource(); } catch (Exception ex) { throw ex; } }
/// <summary> /// 获取查询语句 /// </summary> /// <param name="user">查询条件</param> /// <param name="parameters">参数</param> /// <returns>查询语句</returns> private string GetQuerySql(UseMatBill condition, ref List <DataParameter> parameters) { StringBuilder sqlBuilder = new StringBuilder(); StringBuilder whereBuilder = new StringBuilder(); try { //构成查询语句 sqlBuilder.Append(@"SELECT si.PID as SUPPLYID,si.UPDATETIME,si.BatchNumber,si.DELIVERYDATE,fi.PNAME AS FACTORYNAME, pi.PNAME AS ProduceName,pl.PLNAME AS PLNAME,wh.Description as WarehouseName,um.PID FROM T_FP_SUPPLYINFO si LEFT OUTER JOIN T_FP_ProducePlan pp ON si.PLANID = pp.PID LEFT OUTER JOIN T_FP_FACTORYINFO fi ON pp.FACTORYPID =fi.PID LEFT OUTER JOIN T_FP_PRODUCTINFO pi ON pp.PRODUCTIONID = pi.PID LEFT OUTER JOIN T_FP_PRODUCTLINE pl on pp.PRID = pl.PID LEFT OUTER JOIN T_WH_Warehouse wh on si.Warehouse=wh.ID LEFT OUTER JOIN T_WH_UseMat um on si.PID = um.SUPPLYID "); if (string.IsNullOrEmpty(condition.BatchNumber) == false) { whereBuilder.Append(" AND si.BatchNumber like @BatchNumber"); parameters.Add(new DataParameter("BatchNumber", "%" + condition.BatchNumber + "%")); } //查询条件 if (whereBuilder.Length > 0) { sqlBuilder.Append(" WHERE " + whereBuilder.ToString().Substring(4)); } return(sqlBuilder.ToString()); } catch (Exception ex) { throw ex; } }
public UseMatBill Build(string supplyID) { UseMatBill bill = new UseMatBill(); SupplyInfo supply = new SupplyInfo() { PID = supplyID }; //获取要货信息 supply = new SupplyInfoBLL().Get(supply); supply.Details = new SupplyInfoBLL().GetList(supply.PID); bill.PID = Guid.NewGuid().ToString(); bill.SUPPLYID = supply.PID; bill.Amounts = new List <UseMatAmount>(); bill.Details = new List <UseMatDetail>(); UseMatDAL umDAL = new UseMatDAL(); foreach (SupplyMaterialInfo detail in supply.Details) { bill.Amounts.Add(new UseMatAmount { PID = Guid.NewGuid().ToString(), USEID = bill.PID, MATRIALID = detail.MATRIALID, AMOUNT = detail.AMOUNT, Unit = detail.Unit }); //获取可用库存 List <WHMatAmount> stockList = new UseMatDAL().GetMayUseStock(new WHMatAmount { Warehouse = supply.Warehouse, MatID = detail.MATRIALID }); if (stockList.Count == 0) { continue; } int index = 0; while (detail.AMOUNT > 0) { if (index > stockList.Count - 1) { break; } detail.AMOUNT = detail.AMOUNT - Convert.ToInt32(stockList[0].MainAmount); //更新库存 stockList[index].MainAmount = 0; stockList[index].ProductAmount = 0; bill.Details.Add(new UseMatDetail { PID = Guid.NewGuid().ToString(), USEID = bill.PID, SaveSite = stockList[index].SaveSite, MatBarCode = stockList[index].MatBarCode, MATRIALID = stockList[index].MatID, AMOUNT = stockList[index].MainAmount, Unit = stockList[index].Unit }); index++; } } this.Insert(bill); return(bill); }
/// <summary> /// 获取列表 /// </summary> /// <param name="condition">条件</param> /// <param name="page">数据页</param> /// <returns>数据页</returns> public DataPage GetList(UseMatBill condition, DataPage page) { return(new UseMatDAL().GetList(condition, page)); }
public void Delete(UseMatBill bill) { new UseMatDAL().Delete(bill); }
/// <summary> /// 获取领料单信息 /// </summary> /// <param name="">条件</param> /// <returns>*信息</returns> public UseMatBill Get(UseMatBill model) { return(new UseMatDAL().Get(model)); }