modificando albaranes

This commit is contained in:
2025-03-25 17:44:43 +01:00
parent 7b3096efb3
commit 180b845b1a
2 changed files with 46 additions and 8 deletions

View File

@ -57,7 +57,7 @@ $('#generar_albaranes').on('click', function(){
generarAlbaran(item);
});
}
calcular_cantidades_albaranes();
cambios_cantidad_albaranes();
}
});
})
@ -451,13 +451,28 @@ function generarAlbaran(item){
$(document).on('change', '#tablaAlbaran' + item.albaran.id + ' .cantidad-albaran', function(){
let table = $('#tablaAlbaran' + item.albaran.id).DataTable();
let row = $(this).closest('tr'); // Encuentra la fila actual
let rowIndex = table.row(row).index(); // Obtiene el índice de la fila
let newValue = $(this).val(); // Obtiene el nuevo valor del input
// Actualiza el DataTable
table.cell(rowIndex, 2).data(newValue);
calcular_cantidades_albaranes();
const previousValue = table.cell(rowIndex, 2).data();
const newValue = $(this).val(); // Obtiene el nuevo valor del input
let cantidad = calcular_cantidad_albaranes();
if(cantidad-previousValue+newValue <= parseInt($('#total_tirada').val()) ){
// Actualiza el DataTable
table.cell(rowIndex, 2).data(newValue);
const cajas = parseInt(table.cell(rowIndex, 6).data());
table.cell(rowIndex, 7).data(parseInt(newValue/cajas));
cambios_cantidad_albaranes();
}
else{
$(this).val(previousValue);
table.cell(rowIndex, 7).data(previousValue);
table.draw();
}
});
}
@ -502,6 +517,8 @@ $(document).on('change', '.mostrar-precios', function(){
var albaran_id = $(this).attr('albaran_id');
var table = $('#tablaAlbaran' + albaran_id).DataTable();
var url = '<?= route_to('actualizarAlbaran', ':id') ?>';
url = url.replace(':id', albaran_id );
@ -563,6 +580,16 @@ $(document).on('change', '.albaran_linea', function(){
};
data[elementId.split('_').slice(0, -1).join('_')] = $(this).val();
if(elementId.includes('cajas')){
var cajas = $(this).val();
var linea_id = elementId.split('_').slice(-1)[0];
var table = $('#tablaAlbaran' + $(this).attr('albaran')).DataTable();
var row = table.row($(this).closest('tr')).index();
var cantidad = table.cell(row, 2).data();
table.cell(row, 7).data(parseInt(cantidad/cajas));
data['ejemplares_por_caja'] = parseInt(cantidad/cajas);
}
var linea_id = $(this).attr('linea');
var url = '<?= route_to('actualizarLineaAlbaran', ':id') ?>';
url = url.replace(':id', linea_id );
@ -711,21 +738,31 @@ $.ajax({
generarAlbaran(item);
});
calcular_cantidades_albaranes();
cambios_cantidad_albaranes();
}
}
});
function calcular_cantidades_albaranes(){
function calcular_cantidad_albaranes(){
let cantidad_albaranes = 0;
const tablas = $('.table.table-albaran');
const tabla_pedido = $('#tableOfLineasPedido').DataTable();
const titulo = tabla_pedido.column(3).data().toArray()[0];
for(var i = 0; i < tablas.length; i++){
var table = $(tablas[i]).DataTable();
table.rows().every(function(){
cantidad_albaranes += parseInt(this.data().cantidad) || 0;
if(titulo && titulo.length >0 && this.data() && titulo.includes(this.data().titulo)){
cantidad_albaranes += parseInt(this.data().cantidad) || 0;
}
});
}
return cantidad_albaranes;
}
function cambios_cantidad_albaranes(){
const cantidad_albaranes = calcular_cantidad_albaranes();
check_cantidad_albaranes(cantidad_albaranes);
}

View File

@ -99,6 +99,7 @@ var tableOfLineasPedido = new DataTable('#tableOfLineasPedido',{
drawCallback: function(){
$(this.api().table().container()).find('table').css('width', '100%');
this.api().columns.adjust();
cambios_cantidad_albaranes();
},
footerCallback: function (row, data, start, end, display) {
let api = this.api();