/// <summary> /// /// </summary> /// <param name="MListID"></param> /// <param name="DemandID"></param> /// <param name="StockInfoID"></param> /// <param name="Amount"></param> /// <param name="TypeID"></param> /// <param name="TaskID"></param> /// <param name="RelatedID"></param> /// <param name="t">真的添加记录,假为删除记录</param> public void UpAmount(int MListID, int DemandID, int StockInfoID, decimal Amount, int TypeID, int TaskID, int RelatedID, bool t, int DepotID) { #region 使用原仓存 if (TypeID == (int)Hownet.BLL.BaseFile.MaterielDemandClass.PlanUseRep.使用原仓存) { if (t) { //查看之前使用库存的记录,将本次使用原仓存的数更新到数据表。 Hownet.BLL.Repertory bllRep = new Repertory(); Hownet.BLL.MaterielDemand bllMD = new MaterielDemand(); Hownet.Model.Repertory modRep = bllRep.GetModel(RelatedID); //需要转出的空闲物料 Hownet.Model.MaterielDemand modMD = bllMD.GetModel(DemandID); modRep.Amount = modRep.Amount - Amount; //扣掉有使用的空余数量 bllRep.Update(modRep); modMD.RepertoryAmount += Amount; //更新物料拆分表的已备料数量 bllMD.Update(modMD); //是否此前有本计划单的备料 DataTable dt = bllRep.GetList("(MListID=" + MListID + ") And (PlanID=" + TaskID + ") And (DepartmentID=" + DepotID + ")").Tables[0]; if (dt.Rows.Count > 0) { //已有,则加上本次数量 dt.Rows[0]["Amount"] = Convert.ToDecimal(dt.Rows[0]["Amount"]) + Amount; bllRep.UpdateByDt(dt); } else { //没有则插入此数量 modRep.Amount = Amount; modRep.PlanID = TaskID; modRep.DepartmentID = DepotID; bllRep.Add(modRep); } } else { } } #endregion #region 已申购数量 else if (TypeID == (int)Hownet.BLL.BaseFile.MaterielDemandClass.PlanUseRep.已申购数量) { if (t) { //更新这个生产计划中该物料的已申购数量 DataTable dt = GetList("(StockInfoID=" + StockInfoID + ") And (TypeID=" + (int)Hownet.BLL.BaseFile.MaterielDemandClass.PlanUseRep.已申购数量 + ")").Tables[0]; if (dt.Rows.Count > 0) { dt.Rows[0]["Amount"] = Convert.ToDecimal(dt.Rows[0]["Amount"]) + Amount; dt.Rows[0]["NotAmount"] = Convert.ToDecimal(dt.Rows[0]["NotAmount"]) + Amount; UpdateByDt(dt); } else { DataRow dr = dt.NewRow(); dr["RelatedID"] = RelatedID; dr["Amount"] = Amount; dr["DemandID"] = DemandID; dr["TypeID"] = (int)Hownet.BLL.BaseFile.MaterielDemandClass.PlanUseRep.已申购数量; dr["MListID"] = MListID; dr["TaskID"] = TaskID; dr["StockInfoID"] = 0; dr["NotAmount"] = Amount; dr["IsEnd"] = 0; dr["A"] = 1; dt.Rows.Add(dr); AddByDt(dt); } } else { } } #endregion #region 已采购数量 else if (TypeID == (int)BLL.BaseFile.MaterielDemandClass.PlanUseRep.已采购数量) { } #endregion }