Version 2.1.11.0: tabla de log configurable (Hana:logTable) y lotes completos en la NC de Recibo

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
GeorgeandClaude Sonnet 5.5 committed 2026-10-19 16:42:12 -05:00
1 parent 48167d9138
commit 20f3a59d35
8 files changed
+36 -9

No files matched your search

@@ -27,7 +27,7 @@ namespace Net.Data.HelperData.Log
{
hana.Open();
HanaCommand hanaCommand = hana.CreateCommand();
hanaCommand.CommandText = "INSERT INTO \"ITC_WMS_SAP\".\"ITCA_LOG_INTEGRACION\" (\"CODIGO\", \"ORIGEN\", \"TRAMA_ORIGEN\", \"TRAMA_RESPUESTA\", \"PROCESO\", \"FECHA\", \"NRO_ORDEN\", \"DOCENTRY\", \"DOCNUMSAP\", \"DOCENTRYSAP\", \"HORA\") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
hanaCommand.CommandText = $"INSERT INTO \"ITC_WMS_SAP\".\"{LocalData.LogTable}\" (\"CODIGO\", \"ORIGEN\", \"TRAMA_ORIGEN\", \"TRAMA_RESPUESTA\", \"PROCESO\", \"FECHA\", \"NRO_ORDEN\", \"DOCENTRY\", \"DOCNUMSAP\", \"DOCENTRYSAP\", \"HORA\") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
hanaCommand.Parameters.Add("CODIGO", HanaDbType.VarChar).Value = Guid.NewGuid().ToString();
hanaCommand.Parameters.Add("ORIGEN", HanaDbType.VarChar).Value = "ServiceLayer";
hanaCommand.Parameters.Add("TRAMA_ORIGEN", HanaDbType.Blob).Value = trama;
+7
View File
@@ -10,6 +10,10 @@ namespace Net.Data
// Esquema HANA: por defecto la compañia del Service Layer (SapServiceLayer:company)
public static string Schema { get; private set; }
// Tabla de log de integracion (esquema fijo ITC_WMS_SAP). QA/Desarrollo: ITCA_LOG_INTEGRACION;
// produccion: ITCA_LOG_INTEGRACION_PROD (Hana:logTable en appsettings.json)
public static string LogTable { get; private set; } = "ITCA_LOG_INTEGRACION";
// Unico punto de lectura de las credenciales HANA (seccion "Hana" de appsettings.json)
public static void Configure(IConfiguration configuration)
{
@@ -32,6 +36,9 @@ namespace Net.Data
}
Schema = schema;
var logTable = configuration["Hana:logTable"];
if (!string.IsNullOrWhiteSpace(logTable)) LogTable = logTable.Trim();
}
}
}
+11 -1
View File
@@ -486,6 +486,11 @@ namespace Net.Data.WMS.Recibo
}
}
});
// Stock de HANA menor a la cantidad: el resto va a un lote nuevo para que los lotes sumen la cantidad de la linea
if (CantidadPendiente > 0)
{
line.BatchNumbers.Add(new BE_CreditNotesBatchNumbers() { BatchNumber = DateTime.Now.ToString("yyyyMMddhhmmss"), Quantity = (double)CantidadPendiente });
}
}
else
{
@@ -501,7 +506,7 @@ namespace Net.Data.WMS.Recibo
{
line.BatchNumbers.Clear();
var ReferenciaFactura = returnRequest.DocumentLines.FirstOrDefault(t => t.LineNum == line.LineNum);
var ListaStock = _Invoice.DocumentLines.FirstOrDefault(InvoiceLine => InvoiceLine.LineNum == ReferenciaFactura.BaseLine).BatchNumbers;
var ListaStock = _Invoice.DocumentLines.FirstOrDefault(InvoiceLine => InvoiceLine.LineNum == ReferenciaFactura.BaseLine)?.BatchNumbers ?? new List<BE_InvoicesBatchNumbers>();
if (ListaStock.Count > 0)
{
var CantidadPendiente = line.Quantity;
@@ -522,6 +527,11 @@ namespace Net.Data.WMS.Recibo
}
}
});
// Lotes de la factura menores a la cantidad: el resto va a un lote nuevo para que los lotes sumen la cantidad de la linea
if (CantidadPendiente > 0)
{
line.BatchNumbers.Add(new BE_CreditNotesBatchNumbers() { BatchNumber = DateTime.Now.ToString("yyyyMMddhhmmss"), Quantity = (double)CantidadPendiente });
}
}
else
{