mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
Añadidas mejoras propuestas por Manolo a la importacion de RAMA
This commit is contained in:
@ -57,7 +57,8 @@ document.addEventListener('DOMContentLoaded', function () {
|
||||
headerMap[name.toLowerCase()] = idx;
|
||||
});
|
||||
|
||||
const missing = TABLE_COLUMNS.filter(col => !(col in headerMap));
|
||||
const requiredColumns = ["idpedido", ...TABLE_COLUMNS];
|
||||
const missing = requiredColumns.filter(col => !(col in headerMap));
|
||||
if (missing.length > 0) {
|
||||
Swal.fire({
|
||||
title: 'Error',
|
||||
@ -73,7 +74,19 @@ document.addEventListener('DOMContentLoaded', function () {
|
||||
|
||||
const rows = [];
|
||||
for (let i = 1; i < data.length; i++) {
|
||||
const rowData = TABLE_COLUMNS.map(col => data[i][headerMap[col]] ?? '');
|
||||
// Leer columnas necesarias desde Excel
|
||||
const input = data[i][headerMap["input"]] ?? '';
|
||||
const idlinea = data[i][headerMap["idlinea"]] ?? '';
|
||||
const idpedido = data[i][headerMap["idpedido"]] ?? ''; // aunque no esté en TABLE_COLUMNS, lo usamos aquí
|
||||
const descripcion = data[i][headerMap["descripcion"]] ?? '';
|
||||
const cnt_pedida = data[i][headerMap["cnt_pedida"]] ?? '';
|
||||
const precio_compra = data[i][headerMap["precio_compra"]] ?? '';
|
||||
|
||||
// Componer Ref. Cliente
|
||||
const refCliente = `${idpedido}-${idlinea}`;
|
||||
|
||||
// Solo mostramos las columnas necesarias (como en el orden de DataTable HTML)
|
||||
const rowData = [input, refCliente, descripcion, cnt_pedida, precio_compra];
|
||||
|
||||
// Llamar backend para validar la fila
|
||||
const result = await validarFila(rowData);
|
||||
@ -163,7 +176,8 @@ document.addEventListener('DOMContentLoaded', function () {
|
||||
|
||||
// Actualizar campo "Notas" con el enlace
|
||||
if (skUrl) {
|
||||
const notasHtml = `<a href="${skUrl}" target="_blank" class="btn btn-sm btn-secondary">Ver presupuesto</a>`;
|
||||
const skId = result.data?.sk_id ?? '';
|
||||
const notasHtml = `<a href="${skUrl}" target="_blank" class="btn btn-sm btn-secondary">Ver presupuesto (${skId})</a>`;
|
||||
// La columna de notas es la posición 6 (índice 6)
|
||||
rowData[6] = notasHtml;
|
||||
dataTable.row($row).data(rowData).draw(false); // Redibujar la fila SIN perder scroll ni filtros
|
||||
@ -176,7 +190,7 @@ document.addEventListener('DOMContentLoaded', function () {
|
||||
|
||||
if (result.price_warning) {
|
||||
html = skUrl ? `La fila se importó exitosamente, pero el precio se ha ajustado debajo de costes.<br><br><a href="${skUrl}" target="_blank" class="btn btn-primary mt-2">Ver presupuesto</a>`
|
||||
: 'La fila se importó exitosamente, pero el precio se ha ajustado debajo de costes.';
|
||||
: 'La fila se importó exitosamente, pero el precio se ha ajustado debajo de costes.';
|
||||
icon = 'warning';
|
||||
}
|
||||
|
||||
@ -284,10 +298,12 @@ document.addEventListener('DOMContentLoaded', function () {
|
||||
idsNoAjustados.push(result.data.sk_id);
|
||||
}
|
||||
|
||||
const skId = result.data?.sk_id ?? '';
|
||||
|
||||
if (skUrl) {
|
||||
fila.rowData[6] = `<a href="${skUrl}" target="_blank" class="btn btn-sm btn-primary">Ver presupuesto</a>`;
|
||||
fila.rowData[6] = `<a href="${skUrl}" target="_blank" class="btn btn-sm btn-primary">Ver presupuesto (${skId})</a>`;
|
||||
} else {
|
||||
fila.rowData[6] = `<span class="badge bg-success">Importado</span>`;
|
||||
fila.rowData[6] = `<span class="badge bg-success">Importado (${skId})</span>`;
|
||||
}
|
||||
} else {
|
||||
fila.rowData[6] = `<span class="badge bg-danger">${result.message ?? 'Error desconocido'}</span>`;
|
||||
|
||||
Reference in New Issue
Block a user