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