/// <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]); } } } }
/// <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]); } } } }
/// <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) { } } }
/// <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); } }
/// <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 }