示例#1
0
        /// <summary>
        /// 当生产计划被标记为完成等状态时,更新该生产计划库存数量到空闲库存
        /// </summary>
        /// <param name="MainID"></param>
        public void UpPlanMD(int MainID)
        {
            Hownet.BLL.Repertory          bllRep = new Repertory();
            List <Hownet.Model.Repertory> li     = bllRep.DataTableToList(bllRep.GetList("(PlanID=" + MainID + ")").Tables[0]);
            List <Hownet.Model.Repertory> ll;

            Hownet.Model.Repertory modRep = new Hownet.Model.Repertory();
            if (li.Count > 0)
            {
                for (int i = 0; i < li.Count; i++)
                {
                    if (li[i].Amount > 0)
                    {
                        ll = bllRep.DataTableToList(bllRep.GetList("(PlanID=0) And (DepartmentID=" + li[i].DepartmentID + ") And (MListID=" + li[i].MListID + ")").Tables[0]);
                        if (ll.Count > 0)
                        {
                            ll[0].Amount += li[i].Amount;
                            bllRep.Update(ll[0]);
                        }
                        else
                        {
                            modRep        = bllRep.GetModel(li[i].ID);
                            modRep.PlanID = 0;
                            bllRep.Add(modRep);
                        }
                        li[i].Amount = 0;
                        bllRep.Update(li[i]);
                    }
                }
            }
        }
示例#2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="MainID"></param>
        /// <param name="t">真为审核,假为弃审</param>
        public void Verify(int MainID, bool t)
        {
            Hownet.BLL.ProduceSell               bllPS = new ProduceSell();
            Hownet.Model.ProduceSell             modPS = bllPS.GetModel(MainID);
            Hownet.BLL.MaterielList              bllML = new MaterielList();
            Hownet.Model.MaterielList            modML = new Hownet.Model.MaterielList();
            Hownet.BLL.Repertory                 bllRe = new Repertory();
            Hownet.Model.Repertory               modRe = new Hownet.Model.Repertory();
            List <Hownet.Model.WMSInventoryInfo> li    = GetModelList("(MainID=" + MainID + ")");

            if (li.Count > 0)
            {
                for (int i = 0; i < li.Count; i++)
                {
                    if (li[i].RepertoryID > 0)
                    {
                        modRe        = bllRe.GetModel(li[i].RepertoryID);
                        modRe.Amount = li[i].NowAmount;
                        bllRe.Update(modRe);
                    }
                    else
                    {
                        modRe              = new Hownet.Model.Repertory();
                        modML              = new Hownet.Model.MaterielList();
                        modRe.BrandID      = modML.BrandID = li[i].BrandID;
                        modRe.ColorID      = modML.ColorID = li[i].ColorID;
                        modRe.ColorOneID   = modML.ColorOneID = li[i].ColorOneID;
                        modRe.ColorTwoID   = modML.ColorTwoID = li[i].ColorTwoID;
                        modRe.CompanyID    = li[i].CompanyID;
                        modRe.DepartmentID = modPS.Depot;
                        modRe.MaterielID   = modML.MaterielID = li[i].MaterielID;
                        modRe.MeasureID    = modML.MeasureID = li[i].MeasureID;
                        modRe.SizeID       = modML.SizeID = li[i].SizeID;
                        modRe.MListID      = li[i].MListID = bllML.GetID(modML);
                        modRe.Amount       = li[i].NowAmount;
                        li[i].RepertoryID  = bllRe.Add(modRe);
                        Update(li[i]);
                    }
                }
            }
        }
示例#3
0
        /// <summary>
        /// 审核/弃审入库单
        /// </summary>
        /// <param name="ID">入库单ID</param>
        /// <param name="t">真为审核出库,假为弃审入库</param>
        public void Verify(int ID, bool t, int Depot)
        {
            Hownet.BLL.ProduceSellInfo bllPSI = new ProduceSellInfo();
            Hownet.BLL.Repertory       bllRep = new Repertory();
            Hownet.BLL.MaterielList    bllML  = new MaterielList();
            Hownet.BLL.RepertoryList   bllRL  = new RepertoryList();
            Hownet.Model.RepertoryList modRL  = new Model.RepertoryList();
            //Hownet.BLL.Measure bllMea = new Measure();
            Hownet.Model.Repertory              modRep = new Hownet.Model.Repertory();
            Hownet.Model.MaterielList           modML  = new Hownet.Model.MaterielList();
            List <Hownet.Model.ProduceSellInfo> li     = bllPSI.DataTableToList(bllPSI.GetList("(MainID=" + ID + ")").Tables[0]);

            Hownet.BLL.AmountInfo   bllAI = new AmountInfo();
            Hownet.Model.AmountInfo modAI;
            Hownet.BLL.OtherType    bllOT = new OtherType();
            DataTable dtOT      = bllOT.GetList("(Name='仓储单位')").Tables[0];
            int       measureid = 0;

            if (dtOT.Rows.Count > 0)
            {
                measureid = Convert.ToInt32(dtOT.Rows[0]["Value"]);
            }
            //DataTable dt = bllMea.GetList("(Name='件')").Tables[0];
            //if (dt.Rows.Count > 0)
            //    modRep.MeasureID = int.Parse(dt.Rows[0]["ID"].ToString());
            //else
            //    modRep.MeasureID = 0;
            for (int i = 0; i < li.Count; i++)
            {
                try
                {
                    modAI             = bllAI.GetModel(li[i].SalesInfoID);
                    modRep.BrandID    = modML.BrandID = li[i].BrandID;
                    modRep.ColorID    = modML.ColorID = li[i].ColorID;
                    modRep.ColorOneID = modML.ColorOneID = li[i].ColorOneID;
                    modRep.ColorTwoID = modML.ColorTwoID = li[i].ColorTwoID;
                    modRep.SizeID     = modML.SizeID = li[i].SizeID;
                    if (measureid > 0)
                    {
                        modRep.MeasureID = modML.MeasureID = measureid;
                    }
                    else
                    {
                        modRep.MeasureID = modML.MeasureID = li[i].MeasureID;
                    }
                    modRep.MaterielID   = modML.MaterielID = li[i].MaterielID;
                    modRep.Amount       = li[i].Amount;
                    modRep.DepartmentID = Depot;

                    if (li[i].MListID == 0)
                    {
                        modRep.MListID = li[i].MListID = bllML.GetID(modML);
                        bllPSI.Update(li[i]);
                    }
                    else
                    {
                        modRep.MListID = li[i].MListID;
                    }

                    if (li[i].RepertoryID == 0)
                    {
                        if (Depot > 0)
                        {
                            bllRep.InOrOut(modRep, !t);
                        }
                    }
                    if (li[i].RepertoryID > 0)
                    {
                        modRep = bllRep.GetModel(li[i].RepertoryID);
                        if (t)
                        {
                            modRep.Amount -= li[i].Amount;
                        }
                        else
                        {
                            modRep.Amount += li[i].Amount;
                        }
                        bllRep.Update(modRep);
                    }

                    if (li[i].RepertoryListID > 0)
                    {
                        modRL = bllRL.GetModel(li[i].RepertoryListID);
                        if (t)
                        {
                            modRL.Amount -= li[i].Amount;
                        }
                        else
                        {
                            modRL.Amount += li[i].Amount;
                        }
                        bllRL.Update(modRL);
                    }
                    if (modAI != null)
                    {
                        modAI.NotAmount = Convert.ToInt32(li[i].Amount);
                        bllAI.UpNotAmount(modAI, t);
                    }
                }

                catch (Exception ex)
                {
                }
            }
        }
示例#4
0
 /// <summary>
 /// 审核外协领料单
 /// </summary>
 /// <param name="MainID"></param>
 /// <param name="IsVerify">真为入库,假为出库</param>
 /// <param name="VerifyManID"></param>
 /// <returns></returns>
 public int VerifyWXOut(int MainID, bool IsVerify, int VerifyManID)
 {
     try
     {
         Hownet.Model.StockBack modSB = GetModel(MainID);
         if (IsVerify)
         {
             modSB.IsVerify   = 3;
             modSB.VerifyDate = DateTime.Now;
             modSB.VerifyMan  = VerifyManID;
         }
         else
         {
             modSB.IsVerify   = 1;
             modSB.VerifyDate = Convert.ToDateTime("1900-1-1");
             modSB.VerifyMan  = 0;
         }
         Update(modSB);
         Hownet.BLL.StockBackInfo          bllSBI = new StockBackInfo();
         Hownet.Model.StockBackInfo        modSBI;
         List <Hownet.Model.StockBackInfo> li = bllSBI.DataTableToList(bllSBI.GetList("(MainID=" + modSB.ID + ")").Tables[0]);
         Hownet.BLL.Repertory   bllR          = new Repertory();
         Hownet.Model.Repertory modR;
         if (li.Count > 0)
         {
             for (int i = 0; i < li.Count; i++)
             {
                 if (li[i].StockInfoID > 0)
                 {
                     modSBI = bllSBI.GetModel(li[i].StockInfoID);
                     if (IsVerify)
                     {
                         modSBI.NotPriceAmount += li[i].Amount;
                         modSBI.NotAmount      -= li[i].Amount;
                     }
                     else
                     {
                         modSBI.NotPriceAmount -= li[i].Amount;
                         modSBI.NotAmount      += li[i].Amount;
                     }
                     li[i].NotPriceAmount = modSBI.NotPriceAmount;
                     li[i].NotAmount      = modSBI.NotAmount;
                     bllSBI.Update(li[i]);
                     bllSBI.Update(modSBI);
                 }
                 if (li[i].DemandID > 0)
                 {
                     modR = bllR.GetModel(li[i].DemandID);
                     if (IsVerify)
                     {
                         modR.Amount -= li[i].Amount;
                         if (modR.Amount < 0)
                         {
                             modR.Amount = 0;
                         }
                     }
                     else
                     {
                         modR.Amount += li[i].Amount;
                     }
                     bllR.Update(modR);
                 }
             }
         }
         return(1);
     }
     catch (Exception ex)
     {
         return(0);
     }
 }
示例#5
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
 }