public void Verify(int MainID, bool IsVerify) { Hownet.BLL.Pack2DepotMain bllPDM = new Pack2DepotMain(); Hownet.Model.Pack2DepotMain modPDM = bllPDM.GetModel(MainID); List <Hownet.Model.Pack2DepotInfo> li = DataTableToList(GetList("(MainID=" + MainID + ")").Tables[0]); Hownet.BLL.Repertory bllRep = new Repertory(); Hownet.BLL.PackAmount bllPA = new PackAmount(); Hownet.BLL.RepertoryList bllRL = new RepertoryList(); Hownet.BLL.MaterielList bllML = new MaterielList(); Hownet.Model.MaterielList modML = new Model.MaterielList(); Hownet.Model.RepertoryList modRL = new Model.RepertoryList(); DataTable dtRL = new DataTable(); Hownet.Model.PackAmount modPA = new Hownet.Model.PackAmount(); Hownet.Model.Repertory modRep = new Hownet.Model.Repertory(); modRep.BrandName = modRep.ColorName = modRep.ColorOneName = modRep.ColorTwoName = modRep.CompanyName = modRep.DeparmentName = modRep.DepotInfoName = modRep.MaterielName = modRep.MeasureName = modRep.Remark = modRep.SizeName = modRep.SpecName = modRep.SupplierName = modRep.SupplierSN = string.Empty; Hownet.BLL.OtherType bllOT = new Hownet.BLL.OtherType(); DataTable dtOT = bllOT.GetTypeList("成品单位").Tables[0]; decimal one = 1; decimal two = 1; int dM = 0; if (dtOT.Rows.Count > 0) { one = Convert.ToDecimal(dtOT.Select("(Name='车间换算')")[0]["Value"]); two = Convert.ToDecimal(dtOT.Select("(Name='仓储换算')")[0]["Value"]); dM = Convert.ToInt32(dtOT.Select("(Name='仓储单位')")[0]["Value"]); } try { for (int i = 0; i < li.Count; i++) { modPA = bllPA.GetModel(li[i].PackAmountID); if (IsVerify) { if (one > 1 || two > 1) { if (one > 0) { modPA.Amount -= ((int)(li[i].NowAmount * two / one)); } } else { modPA.Amount -= li[i].NowAmount; } if (modPA.Amount < 0) { modPA.Amount = 0; } } else { if (one > 1 || two > 1) { if (one > 0) { modPA.Amount += ((int)(li[i].NowAmount * two / one)); } } else { modPA.Amount += li[i].NowAmount; } } bllPA.Update(modPA); modRep = new Hownet.Model.Repertory(); modRep.BrandName = modRep.ColorName = modRep.ColorOneName = modRep.ColorTwoName = modRep.CompanyName = modRep.DeparmentName = modRep.DepotInfoName = modRep.MaterielName = modRep.MeasureName = modRep.Remark = modRep.SizeName = modRep.SpecName = modRep.SupplierName = modRep.SupplierSN = string.Empty; modRep.DepartmentID = modPDM.DepotID; 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; modRep.MaterielID = modML.MaterielID = li[i].MaterielID; if (dM > 0) { modRep.MeasureID = dM; } else { modRep.MeasureID = li[i].MeasureID; } modML.MeasureID = modRep.MeasureID; modRep.Amount = li[i].NowAmount; modRep.MListID = li[i].MListID; if (li[i].DepotBrandID > 0) { modRep.BrandID = modML.BrandID = li[i].DepotBrandID; modRep.MListID = bllML.GetID(modML); } modRep.ID = bllRep.InOrOut(modRep, IsVerify); if (li[i].DepotInfoID > 0) { dtRL = bllRL.GetList("(BatchNumber=" + li[i].MListID + ") And (DepotInfoID=" + li[i].DepotInfoID + ")").Tables[0]; if (dtRL.Rows.Count == 0) { if (IsVerify) { modRL = new Model.RepertoryList(); modRL.A = 1; modRL.NotAmount = modRL.Amount = li[i].NowAmount; modRL.BatchNumber = li[i].MListID; modRL.DateTime = DateTime.Now; modRL.DepotInfoID = li[i].DepotInfoID; modRL.DepotInfoName = string.Empty; modRL.ID = 0; modRL.IsEnd = false; modRL.MainID = modRep.ID; modRL.PlanID = 0; modRL.QRID = li[i].MListID.ToString(); modRL.Remark = string.Empty; modRL.SpecID = 0; modRL.SpecName = string.Empty; modRL.StockListID = 0; bllRL.Add(modRL); } } else if (dtRL.Rows.Count == 1) { modRL = bllRL.GetModel(Convert.ToInt32(dtRL.Rows[0]["ID"])); if (IsVerify) { modRL.Amount += li[i].NowAmount; } else { modRL.Amount -= li[i].NowAmount; } bllRL.Update(modRL); } else if (dtRL.Rows.Count > 1) { List <Hownet.Model.RepertoryList> liRL = bllRL.DataTableToList(dtRL); for (int j = 1; j < liRL.Count; j++) { liRL[0].Amount += liRL[j].Amount; bllRL.Delete(liRL[j].ID); } if (IsVerify) { liRL[0].Amount += li[i].NowAmount; } else { liRL[0].Amount -= li[i].NowAmount; } bllRL.Update(liRL[0]); } } } if (!IsVerify) { modPDM.IsVerify = 1; modPDM.VerifyDate = Convert.ToDateTime("1900-1-1"); modPDM.VerifyMan = 0; bllPDM.Update(modPDM); } } catch (Exception ex) { } }
/// <summary> /// 审核/弃审入库单 /// </summary> /// <param name="ID">入库单ID</param> /// <param name="t">真为审核入库,假为弃审出库</param> public void Verify(int ID, bool t, int VerifyMan, int DepotID, int TypeID) { if (TypeID == (int)Enums.TableType.P2D) { try { Hownet.BLL.Product2DepotInfo bllP2DI = new Product2DepotInfo(); Hownet.BLL.AmountInfo bllAI = new AmountInfo(); Hownet.BLL.Repertory bllRep = new Repertory(); Hownet.BLL.MaterielList bllML = new MaterielList(); Hownet.BLL.Materiel bllMat = new Materiel(); Hownet.Model.AmountInfo modAI = new Hownet.Model.AmountInfo(); Hownet.Model.Repertory modRep = new Model.Repertory(); Hownet.Model.MaterielList modML = new Hownet.Model.MaterielList(); Hownet.BLL.RepertoryList bllRL = new RepertoryList(); Hownet.Model.RepertoryList modRL = new Model.RepertoryList(); DataTable dtRL = new DataTable(); Hownet.Model.Product2Depot modP2D = GetModel(ID); DataTable dtP2DI = bllP2DI.GetList("(MainID=" + ID + ")").Tables[0]; List <Hownet.Model.Product2DepotInfo> li = bllP2DI.DataTableToList(bllP2DI.GetList("(MainID=" + ID + ")").Tables[0]); modAI.TableTypeID = 1; Hownet.BLL.OtherType bllOT = new Hownet.BLL.OtherType(); DataTable dtOT = bllOT.GetTypeList("成品单位").Tables[0]; decimal one = 1; decimal two = 1; int dM = 0; if (dtOT.Rows.Count > 0) { one = Convert.ToDecimal(dtOT.Select("(Name='车间换算')")[0]["Value"]); two = Convert.ToDecimal(dtOT.Select("(Name='仓储换算')")[0]["Value"]); dM = Convert.ToInt32(dtOT.Select("(Name='仓储单位')")[0]["Value"]); } for (int i = 0; i < li.Count; i++) { modRep = new Model.Repertory(); modRep.DepartmentID = DepotID; modRep.BrandName = modRep.ColorName = modRep.ColorOneName = modRep.ColorTwoName = modRep.CompanyName = modRep.DeparmentName = modRep.DepotInfoName = modRep.MaterielName = modRep.MeasureName = modRep.Remark = modRep.SizeName = modRep.SpecName = modRep.SupplierName = modRep.SupplierSN = string.Empty; 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; modRep.MaterielID = modML.MaterielID = li[i].MaterielID; modRep.MeasureID = modML.MeasureID = bllMat.GetModel(li[i].MaterielID).MeasureID; modAI.MainID = li[i].TaskID; modRep.Amount = modAI.NotAmount = li[i].Amount; modRep.MListID = modAI.MListID = li[i].MListID; if (li[i].MListID == 0) { modAI.MListID = li[i].MListID = bllML.GetID(modML); bllP2DI.Update(li[i]); if (dM > 0) { modML.MeasureID = dM; } modRep.MListID = bllML.GetID(modML); } else { if (dM > 0) { modML.MeasureID = dM; } modRep.MListID = bllML.GetID(modML); } if (li[i].TaskID > 0) { if (t) { if (one > 1 || two > 1) { modAI.Amount -= ((int)(li[i].Amount * two / one)); } else { modAI.Amount -= li[i].Amount; } if (modAI.Amount < 0) { modAI.Amount = 0; } } else { if (one > 1 || two > 1) { modAI.Amount += ((int)(li[i].Amount * two / one)); } else { modAI.Amount += li[i].Amount; } } bllAI.UpNotAmount(modAI, t); } if (dM > 0) { modRep.MeasureID = dM; } else { modRep.MeasureID = modML.MeasureID; } modRep.ID = bllRep.InOrOut(modRep, t); if (li[i].DepotInfoID > 0) { dtRL = bllRL.GetList("(BatchNumber=" + li[i].MListID + ") And (DepotInfoID=" + li[i].DepotInfoID + ")").Tables[0]; if (dtRL.Rows.Count == 0) { if (t) { modRL = new Model.RepertoryList(); modRL.A = 1; modRL.NotAmount = modRL.Amount = li[i].Amount; modRL.BatchNumber = li[i].MListID; modRL.DateTime = DateTime.Now; modRL.DepotInfoID = li[i].DepotInfoID; modRL.DepotInfoName = string.Empty; modRL.ID = 0; modRL.IsEnd = false; modRL.MainID = modRep.ID; modRL.PlanID = 0; modRL.QRID = li[i].MListID.ToString(); modRL.Remark = string.Empty; modRL.SpecID = 0; modRL.SpecName = string.Empty; modRL.StockListID = 0; bllRL.Add(modRL); } } else if (dtRL.Rows.Count == 1) { modRL = bllRL.GetModel(Convert.ToInt32(dtRL.Rows[0]["ID"])); if (t) { modRL.Amount += li[i].Amount; } else { modRL.Amount -= li[i].Amount; } bllRL.Update(modRL); } else if (dtRL.Rows.Count > 1) { List <Hownet.Model.RepertoryList> liRL = bllRL.DataTableToList(dtRL); for (int j = 1; j < liRL.Count; j++) { liRL[0].Amount += liRL[j].Amount; bllRL.Delete(liRL[j].ID); } if (t) { liRL[0].Amount += li[i].Amount; } else { liRL[0].Amount -= li[i].Amount; } bllRL.Update(liRL[0]); } } } if (t) { modP2D.IsVerify = 3; modP2D.VerifyDate = DateTime.Today; modP2D.VerifyMan = VerifyMan; } else { modP2D.IsVerify = 1; modP2D.VerifyDate = DateTime.Parse("1900-1-1"); modP2D.VerifyMan = 0; } Update(modP2D); } catch (Exception ex) { } } else if (TypeID == (int)Enums.TableType.P2Pack) { try { Hownet.BLL.Product2DepotInfo bllP2DI = new Product2DepotInfo(); Hownet.BLL.AmountInfo bllAI = new AmountInfo(); Hownet.BLL.PackAmount bllPA = new PackAmount(); Hownet.BLL.MaterielList bllML = new MaterielList(); Hownet.BLL.Materiel bllMat = new Materiel(); Hownet.Model.AmountInfo modAI = new Hownet.Model.AmountInfo(); Hownet.Model.PackAmount modPA = new Hownet.Model.PackAmount(); Hownet.Model.MaterielList modML = new Hownet.Model.MaterielList(); Hownet.Model.Product2Depot modP2D = GetModel(ID); Hownet.BLL.OtherType bllOT = new OtherType(); DataTable dtOT = bllOT.GetTypeList("成品单位").Tables[0]; int TaskMeasureID = 0; DataRow[] drs = dtOT.Select("(Name='车间单位')"); if (drs.Length == 1) { TaskMeasureID = Convert.ToInt32(drs[0]["Value"]); } List <Hownet.Model.Product2DepotInfo> li = bllP2DI.DataTableToList(bllP2DI.GetList("(MainID=" + ID + ")").Tables[0]); modAI.TableTypeID = 1; modPA.DepartmentID = DepotID; for (int i = 0; i < li.Count; i++) { if (li[i].MaterielID > 0) { modPA.BrandID = modML.BrandID = li[i].BrandID; modPA.ColorID = modML.ColorID = li[i].ColorID; modPA.ColorOneID = modML.ColorOneID = li[i].ColorOneID; modPA.ColorTwoID = modML.ColorTwoID = li[i].ColorTwoID; modPA.SizeID = modML.SizeID = li[i].SizeID; modPA.MaterielID = modML.MaterielID = li[i].MaterielID; modML.MeasureID = bllMat.GetModel(li[i].MaterielID).MeasureID; if (TaskMeasureID > 0) { modPA.MeasureID = TaskMeasureID; } else { modPA.MeasureID = modML.MeasureID; } modAI.MainID = li[i].TaskID; modPA.PlanID = li[i].TaskID; modPA.Remark = string.Empty; modPA.Amount = modAI.NotAmount = li[i].Amount; if (li[i].ColorID > 0 && li[i].SizeID > 0) { if (li[i].MListID == 0) { modAI.MListID = modPA.MListID = li[i].MListID = bllML.GetID(modML); bllP2DI.Update(li[i]); } else { modAI.MListID = modPA.MListID = li[i].MListID; } bllAI.UpNotAmount(modAI, t); bllPA.InOrOut(modPA, t); } } else { bllP2DI.Delete(li[i].ID); } } if (t) { modP2D.IsVerify = 3; modP2D.VerifyDate = DateTime.Today; modP2D.VerifyMan = VerifyMan; } else { modP2D.IsVerify = 1; modP2D.VerifyDate = DateTime.Parse("1900-1-1"); modP2D.VerifyMan = 0; } Update(modP2D); } catch (Exception ex) { } } }
/// <param name="t">真为审核入库,假为弃审出库</param> public bool VerifyStock(int MainID, int PackID, bool t, int VerifyMan) { try { Hownet.BLL.StockBack bllSB = new StockBack(); Hownet.BLL.StockBackInfo bllSBI = new StockBackInfo(); Hownet.BLL.Repertory bllRep = new Repertory(); Hownet.BLL.Deparment bllDep = new Deparment(); Hownet.BLL.PackAmount bllPA = new PackAmount(); Hownet.BLL.MaterielList bllML = new MaterielList(); Hownet.BLL.Materiel bllMat = new Materiel(); Hownet.Model.PackAmount modPA = new Hownet.Model.PackAmount(); Hownet.Model.MaterielList modML = new Hownet.Model.MaterielList(); Hownet.Model.StockBack modSB = bllSB.GetModel(MainID); Hownet.Model.StockBackInfo modSBI = new Hownet.Model.StockBackInfo(); Hownet.Model.Repertory modRep = new Hownet.Model.Repertory(); Hownet.Model.Deparment modDep = bllDep.GetModel(PackID); List <Hownet.Model.StockBackInfo> li = bllSBI.DataTableToList(bllSBI.GetList("(MainID=" + MainID + ")").Tables[0]); modPA.DepartmentID = PackID; for (int i = 0; i < li.Count; i++) { modRep.BrandID = modPA.BrandID = modML.BrandID = li[i].BrandID; modRep.ColorID = modPA.ColorID = modML.ColorID = li[i].ColorID; modRep.ColorOneID = modPA.ColorOneID = modML.ColorOneID = li[i].ColorOneID; modRep.ColorTwoID = modPA.ColorTwoID = modML.ColorTwoID = li[i].ColorTwoID; modRep.SizeID = modPA.SizeID = modML.SizeID = li[i].SizeID; modRep.MaterielID = modPA.MaterielID = modML.MaterielID = li[i].MaterielID; modRep.MeasureID = modPA.MeasureID = modML.MeasureID = bllMat.GetModel(li[i].MaterielID).MeasureID; modRep.PlanID = modPA.PlanID = 0; modRep.Remark = modPA.Remark = string.Empty; modRep.DepartmentID = modPA.DepartmentID = modSB.DepotID; modRep.Amount = modPA.Amount = li[i].Amount; modSBI = bllSBI.GetModel(li[i].StockInfoID); if (modSBI != null) { if (t) { modSBI.NotAmount -= li[i].Amount; } else { modSBI.NotAmount += li[i].Amount; } bllSBI.Update(modSBI); } if (li[i].MListID == 0) { modRep.MListID = modPA.MListID = li[i].MListID = bllML.GetID(modML); bllSBI.Update(li[i]); } else { modRep.MListID = modPA.MListID = li[i].MListID; } if (modDep.TypeID == 39) { bllPA.InOrOut(modPA, t); } else if (modDep.TypeID == 42) { bllRep.InOrOut(modRep, t); } } if (t) { modSB.IsVerify = 3; modSB.VerifyDate = DateTime.Today; modSB.VerifyMan = VerifyMan; } else { modSB.IsVerify = 1; modSB.VerifyDate = DateTime.Parse("1900-1-1"); modSB.VerifyMan = 0; } bllSB.Update(modSB); return(true); } catch (Exception ex) { return(false); } }