示例#1
0
 /// <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
 }