private IList <DocumentLine> GetLocationTransferDocumentLines(Document doc, Company company, String docID) { DocumentLine tmpData; IList <DocumentLine> list = new List <DocumentLine>(); Status lineStatus = WType.GetStatus(new Status { StatusID = DocStatus.New }); int curLine = 0; string curMaster = ""; Query = GetErpQuery("TRANSFER_LINE").Replace("__DOCUMENT", docID); DataSet ds = ReturnDataSet(Query, null, "TRANSFER_LINE", Command.Connection); if (ds == null || ds.Tables.Count == 0) { return(null); } try { foreach (DataRow dr in ds.Tables[0].Rows) { tmpData = new DocumentLine(); tmpData.Date1 = doc.Date1; curMaster = ""; tmpData.LineNumber = (int)double.Parse(dr["f470_rowid"].ToString()); tmpData.Sequence = tmpData.LineNumber; curLine = tmpData.LineNumber; tmpData.Document = doc; tmpData.IsDebit = false; tmpData.Quantity = double.Parse(dr["f470_cantidad"].ToString(), new NumberFormatInfo { NumberDecimalSeparator = Separator }); tmpData.CreatedBy = WmsSetupValues.SystemUser; tmpData.CreationDate = DateTime.Now; tmpData.Note = dr["f470_notas"].ToString(); tmpData.BinAffected = dr["ubicacion"].ToString(); tmpData.PostingUserName = dr["f470_id_un_movto"].ToString(); tmpData.LineStatus = lineStatus; //Location de donde proviene la mercancia curMaster = "Location:" + dr["bodega_entrada"].ToString(); tmpData.Location = WType.GetLocation(new Location { Company = company, ErpCode = dr["bodega_entrada"].ToString() }); //Lcation a donde va la mercancia curMaster = "Location To:" + dr["bodega_salida"].ToString(); tmpData.Location2 = WType.GetLocation(new Location { Company = company, ErpCode = dr["bodega_salida"].ToString() }); try { curMaster = "Product:" + dr["itemext"].ToString(); tmpData.Product = WType.GetProduct(new Product { Company = company, ProductCode = dr["f121_rowid_item"].ToString() }); tmpData.LineDescription = tmpData.Product.Name; //dr["ITEMDESC"].ToString(); tmpData.AccountItem = dr["itemext"].ToString(); //ITEM EXT curMaster = "Uom:" + dr["f470_id_unidad_medida"].ToString(); tmpData.Unit = WType.GetUnit(new Unit { ErpCode = dr["f470_id_unidad_medida"].ToString(), ErpCodeGroup = tmpData.Product.BaseUnit.ErpCodeGroup }); } catch (Exception ex) { ExceptionMngr.WriteEvent("GetLocationTransferDocumentLines: " + doc.DocNumber + "," + curLine.ToString() + "," + curMaster, ListValues.EventType.Error, ex, null, ListValues.ErrorCategory.ErpConnection); continue; // //Pone el Default Product // tmpData.Product = WType.GetProduct(new Product { Company = company, ProductCode = WmsSetupValues.DEFAULT }); // tmpData.LineDescription = "Unknown: " + dr["ITEMNMBR"].ToString(); // curMaster = "Uom:" + dr["UOFM"].ToString(); // tmpData.Unit = WType.GetUnit(new Unit { ErpCode = dr["UOFM"].ToString() }); } list.Add(tmpData); } return((list.Count > 0) ? list : null); } catch (Exception ex) { ExceptionMngr.WriteEvent("GetTransferDocumentLines: " + doc.DocNumber + "," + curLine.ToString() + "," + curMaster, ListValues.EventType.Error, ex, null, ListValues.ErrorCategory.ErpConnection); //throw; return(null); } }
private IList <DocumentLine> GetKitAssemblyDocumentLines(Document doc) { DocumentLine tmpData; IList <DocumentLine> list = new List <DocumentLine>(); Status lineStatus = WType.GetStatus(new Status { StatusID = DocStatus.New }); int curLine = 1; string curMaster = ""; Query = GetErpQuery("KITDOC_LINE").Replace("__DOCUMENT", doc.ErpMaster.ToString()); DataSet ds = ReturnDataSet(Query, null, "KITDOC_LINE", Command.Connection); if (ds == null || ds.Tables.Count == 0) { return(null); } if (ds.Tables[0].Select("rowid=0").Length == 0) { return(null); } try { foreach (DataRow dr in ds.Tables[0].Rows) { tmpData = new DocumentLine(); tmpData.Date1 = doc.Date1; tmpData.LineNumber = int.Parse(dr["rowid"].ToString()); //curLine++; tmpData.Sequence = tmpData.LineNumber; tmpData.LinkDocLineNumber = int.Parse(dr["row_padre"].ToString()); tmpData.Note = dr["type"].ToString(); //TODO: Revisar el Status en GP para traer el equivalente tmpData.LineStatus = lineStatus; tmpData.Document = doc; tmpData.IsDebit = false; tmpData.Quantity = double.Parse(dr["f470_cant_base"].ToString(), ListValues.DoubleFormat()); tmpData.CreatedBy = WmsSetupValues.SystemUser; tmpData.CreationDate = DateTime.Now; curMaster = "Location"; tmpData.Location = doc.Location; //WType.GetLocation(new Location { Company = CurCompany, ErpCode = dr["LOCNCODE"].ToString() }); try { curMaster = "Product"; tmpData.Product = WType.GetProduct(new Product { Company = CurCompany, ProductCode = dr["item_id"].ToString() });; curMaster = "Unit"; tmpData.Unit = WType.GetUnit(new Unit { ErpCode = dr["unit_id"].ToString(), ErpCodeGroup = tmpData.Product.BaseUnit.ErpCodeGroup }); } catch (Exception ex) { ExceptionMngr.WriteEvent("GetKitAssemblyDocumentLines: " + doc.DocNumber + "," + curLine.ToString() + "," + curMaster, ListValues.EventType.Error, ex, null, ListValues.ErrorCategory.ErpConnection); continue; //{ // //Pone el Default Product // tmpData.Product = WType.GetProduct(new Product { Company = CurCompany, ProductCode = WmsSetupValues.DEFAULT }); // tmpData.LineDescription = "Unknown: " + dr["ITEMNMBR"].ToString() + ", " + dr["ITEMDESC"].ToString(); // curMaster = "Unit"; // tmpData.Unit = WType.GetUnit(new Unit { ErpCode = dr["UOFM"].ToString() }); } list.Add(tmpData); } return((list.Count > 0) ? list : null); } catch (Exception ex) { ExceptionMngr.WriteEvent("GetKitAssemblyDocumentLines: " + doc.DocNumber + "," + curLine.ToString() + "," + curMaster, ListValues.EventType.Error, ex, null, ListValues.ErrorCategory.ErpConnection); throw; //return null; } }
public IList <ProductStock> GetErpStock(ProductStock data, bool detailed) { IList <ProductStock> result = new List <ProductStock>(); try { Command.Connection = new SqlConnection(CurCompany.ErpConnection.CnnString); Command.Connection.Open(); string sQuery, table, sWhere = ""; if (detailed) { sQuery = "SELECT * FROM IV00112 WHERE (QUANTITY > 0 OR ATYALLOC > 0) "; //IV00112 Tabla detallada de produto por BIN table = "IV00112"; } else { sQuery = "SELECT * FROM IV00102 WHERE RCRDTYPE = 2 AND QTYONHND > 0 "; table = "IV00102"; } if (data.Product != null && data.Product.ProductID != 0) { sWhere += " AND ITEMNMBR = '" + data.Product.ProductCode + "'"; } if (data.Bin != null && data.Bin.BinID != 0 && detailed) { sWhere += " AND BIN = '" + data.Bin.BinCode + "'"; } if (data.Bin != null && data.Bin.Location != null && data.Bin.Location.LocationID != 0) { sWhere += " AND LOCNCODE = '" + data.Bin.Location.ErpCode + "'"; } ds = ReturnDataSet(sQuery + sWhere, "", table, Command.Connection); if (ds == null || ds.Tables[0] == null || ds.Tables[0].Rows.Count == 0) { return(null); } //Creado el Ilist De ProductStock ProductStock record; foreach (DataRow dr in ds.Tables[0].Rows) { try { record = new ProductStock(); record.Product = WType.GetProduct(new Product { Company = CurCompany, ProductCode = dr["ITEMNMBR"].ToString() });; if (detailed) { record.Bin = new Bin { BinCode = dr["BIN"].ToString(), Location = data.Bin.Location }; record.Stock = double.Parse(dr["QUANTITY"].ToString()); record.PackStock = double.Parse(dr["ATYALLOC"].ToString()); } else { record.Bin = new Bin { BinCode = DefaultBin.MAIN, Location = data.Bin.Location }; record.Stock = double.Parse(dr["QTYONHND"].ToString()); record.PackStock = double.Parse(dr["ATYALLOC"].ToString()); } result.Add(record); } catch { } } return(result); } catch (Exception ex) { ExceptionMngr.WriteEvent("GetErpStock", ListValues.EventType.Error, ex, null, ListValues.ErrorCategory.ErpConnection); //throw; return(null); } }
private IList <DocumentLine> GetShippingDocumentLines(Document doc, Company company, string docID, bool useRemain) { DocumentLine tmpData; IList <DocumentLine> list = new List <DocumentLine>(); Status lineStatus = WType.GetStatus(new Status { StatusID = DocStatus.New }); int curLine = 0; string curMaster = ""; try { Query = GetErpQuery("SALESORDER_LINE").Replace("__DOCUMENT", docID); DataSet ds = ReturnDataSet(Query, null, "SALESORDER_LINE", Command.Connection); if (ds == null || ds.Tables.Count == 0) { return(null); } foreach (DataRow dr in ds.Tables[0].Rows) { tmpData = new DocumentLine(); tmpData.Date1 = doc.Date1; curMaster = ""; try { tmpData.Date2 = DateTime.Parse(dr["f431_fecha_entrega"].ToString()); } catch { } try { tmpData.Date3 = DateTime.Parse(dr["f431_fecha_cumplido"].ToString()); } catch { } tmpData.LineNumber = int.Parse(dr["f431_rowid"].ToString()); tmpData.Sequence = tmpData.LineNumber; curLine = tmpData.LineNumber; //TODO: Revisar el Status en GP para traer el equivalente tmpData.LineStatus = GetShippingStatus(0); tmpData.Document = doc; tmpData.IsDebit = false; if (useRemain) { tmpData.Quantity = double.Parse(dr["f431_cant_facturada_base"].ToString(), new NumberFormatInfo { NumberDecimalSeparator = Separator }); } else { tmpData.Quantity = double.Parse(dr["f431_cant_facturada_base"].ToString(), ListValues.DoubleFormat()); } //tmpData.QtyCancel = double.Parse(dr["QTYCANCE"].ToString(), ListValues.DoubleFormat()); //tmpData.QtyBackOrder = double.Parse(dr["QTYTBAOR"].ToString(), ListValues.DoubleFormat()); //tmpData.QtyPending = tmpData.Quantity - tmpData.QtyCancel - double.Parse(dr["QTYPRINV"].ToString(), ListValues.DoubleFormat()); //tmpData.QtyAllocated = double.Parse(dr["ATYALLOC"].ToString(), ListValues.DoubleFormat()); tmpData.CreatedBy = WmsSetupValues.SystemUser; tmpData.CreationDate = DateTime.Now; curMaster = "Location:" + dr["cod_bodega"].ToString(); tmpData.Location = WType.GetLocation(new Location { Company = company, ErpCode = dr["cod_bodega"].ToString() }); try { curMaster = "Product:" + dr["f121_rowid_item"].ToString(); tmpData.Product = WType.GetProduct(new Product { Company = company, ProductCode = dr["f121_rowid_item"].ToString() }); tmpData.LineDescription = dr["f120_descripcion"].ToString(); curMaster = "Uom:" + dr["f431_id_unidad_medida"].ToString(); tmpData.Unit = WType.GetUnit(new Unit { ErpCode = dr["f431_id_unidad_medida"].ToString(), ErpCodeGroup = tmpData.Product.BaseUnit.ErpCodeGroup }); } catch { //Pone el Default Product tmpData.Product = WType.GetProduct(new Product { Company = doc.Location.Company, ProductCode = WmsSetupValues.DEFAULT }); tmpData.LineDescription = "Unknown: " + dr["f121_rowid_item"].ToString() + ", " + dr["f120_descripcion"].ToString(); curMaster = "Uom:" + dr["f431_id_unidad_medida"].ToString(); tmpData.Unit = WType.GetUnit(new Unit { ErpCode = dr["f431_id_unidad_medida"].ToString() }); } //Manage Prices curMaster = "Prices Product:" + dr["f121_rowid_item"].ToString(); tmpData.UnitPrice = double.Parse(dr["f431_precio_unitario_base"].ToString(), ListValues.DoubleFormat()); tmpData.ExtendedPrice = double.Parse(dr["subtotal"].ToString(), ListValues.DoubleFormat()); //Asignacion de Address curMaster = "Address Doc:" + doc.DocNumber; //tmpData.DocumentLineAddresses = GetShippingDocumentAddress(tmpData.Document, tmpData, dr); list.Add(tmpData); } return((list.Count > 0) ? list : null); } catch (Exception ex) { ExceptionMngr.WriteEvent("GetShippingDocumentLines: " + doc.DocNumber + "," + curLine.ToString() + "," + curMaster, ListValues.EventType.Error, ex, null, ListValues.ErrorCategory.ErpConnection); //throw; return(null); } }
private IList <DocumentLine> GetKitAssemblyDocumentLines(Document doc) { DocumentLine tmpData; IList <DocumentLine> list = new List <DocumentLine>(); Status lineStatus = WType.GetStatus(new Status { StatusID = DocStatus.New }); int curLine = 1; string curMaster = ""; // BM10300 - KitAssembly Document Lines DataSet ds = ReturnDataSet("SELECT * FROM BM10300 WHERE 1=1 ", "TRX_ID='" + doc.DocNumber + "'", "BM10300", Command.Connection); if (ds == null || ds.Tables.Count == 0) { return(null); } try { foreach (DataRow dr in ds.Tables[0].Rows) { tmpData = new DocumentLine(); tmpData.Date1 = doc.Date1; tmpData.LineNumber = int.Parse(dr["Component_ID"].ToString()); //curLine++; tmpData.Sequence = tmpData.LineNumber; tmpData.LinkDocLineNumber = int.Parse(dr["Parent_Component_ID"].ToString()); tmpData.Note = dr["BM_Component_Type"].ToString(); //TODO: Revisar el Status en GP para traer el equivalente tmpData.LineStatus = lineStatus; tmpData.Document = doc; tmpData.IsDebit = false; tmpData.Quantity = double.Parse(dr["Extended_Standard_Quantity"].ToString(), ListValues.DoubleFormat()); tmpData.CreatedBy = WmsSetupValues.SystemUser; tmpData.CreationDate = DateTime.Now; curMaster = "Location"; tmpData.Location = WType.GetLocation(new Location { Company = CurCompany, ErpCode = dr["LOCNCODE"].ToString() }); try { curMaster = "Product"; tmpData.Product = WType.GetProduct(new Product { Company = CurCompany, ProductCode = dr["ITEMNMBR"].ToString() });; curMaster = "Unit"; tmpData.Unit = WType.GetUnit(new Unit { ErpCode = dr["UOFM"].ToString(), ErpCodeGroup = tmpData.Product.BaseUnit.ErpCodeGroup }); } catch (Exception ex) { ExceptionMngr.WriteEvent("GetKitAssemblyDocumentLines: " + doc.DocNumber + "," + curLine.ToString() + "," + curMaster, ListValues.EventType.Error, ex, null, ListValues.ErrorCategory.ErpConnection); continue; //{ // //Pone el Default Product // tmpData.Product = WType.GetProduct(new Product { Company = CurCompany, ProductCode = WmsSetupValues.DEFAULT }); // tmpData.LineDescription = "Unknown: " + dr["ITEMNMBR"].ToString() + ", " + dr["ITEMDESC"].ToString(); // curMaster = "Unit"; // tmpData.Unit = WType.GetUnit(new Unit { ErpCode = dr["UOFM"].ToString() }); } list.Add(tmpData); } return((list.Count > 0) ? list : null); } catch (Exception ex) { ExceptionMngr.WriteEvent("GetKitAssemblyDocumentLines: " + doc.DocNumber + "," + curLine.ToString() + "," + curMaster, ListValues.EventType.Error, ex, null, ListValues.ErrorCategory.ErpConnection); throw; //return null; } }