ajustado para que de el mismo precio de envio (problema con los decimales)

This commit is contained in:
2025-03-06 20:15:38 +01:00
parent 44d484da29
commit a4658ce104
2 changed files with 10 additions and 7 deletions

View File

@ -1869,11 +1869,11 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$margen = 0;
$peso_envio = round(floatval(floatval($peso) * floatval($unidades) / 1000.0), 3); // peso libro * unidades y se pasa a kilogramos
$peso_envio = round(floatval(ceil(floatval($peso)) * floatval($unidades) / 1000.0), 3); // peso libro * unidades y se pasa a kilogramos
$tarifas_envio = $modelTarifaEnvio->getTarifaEnvio($pais_id, $cp, $peso_envio, $entregaPieCalle ? 'palets' : 'cajas');
for ($i = 0; $i < count($tarifas_envio); $i++) {
if ($peso_envio > $tarifas_envio[$i]->peso_max || floatval($tarifas_envio[$i]->precio_max) == 0) {
$tarifas_envio[$i]->precio = number_format(floatval($tarifas_envio[$i]->precio_min) + ($peso_envio - floatval($tarifas_envio[$i]->peso_min)) * floatval($tarifas_envio[$i]->precio_adicional), 2);
$tarifas_envio[$i]->precio = number_format(floatval($tarifas_envio[$i]->precio_max) + ($peso_envio - floatval($tarifas_envio[$i]->peso_max)) * floatval($tarifas_envio[$i]->precio_adicional), 2);
}
// si no se calcula linealmente
else {

View File

@ -226,7 +226,7 @@ class Envios {
var rowData = this.data();
peso_total_libro += parseFloat(rowData.peso)
})
return peso_total_libro;
return Math.ceil(peso_total_libro);
}
@ -271,6 +271,7 @@ class Envios {
var peso_total_libro = this.get_peso_libro();
const tirada = parseInt($('#tirada').val());
peso_total_libro = Math.ceil(peso_total_libro);
const peso_envio = peso_total_libro * tirada / 1000.0;
let pais = 1;
@ -282,7 +283,7 @@ class Envios {
if (datos_tarifa.id != null) {
if (peso_envio > parseFloat(datos_tarifa.peso_max) || parseFloat(datos_tarifa.peso_max) == 0) {
datos_tarifa.precio = parseFloat(datos_tarifa.peso_min) + (peso_envio - parseFloat(datos_tarifa.peso_min)) * parseFloat(datos_tarifa.precio_adicional);
datos_tarifa.precio = parseFloat(datos_tarifa.precio_max) + (peso_envio - parseFloat(datos_tarifa.peso_max)) * parseFloat(datos_tarifa.precio_adicional);
}
// si no se calcula linealmente
else {
@ -313,7 +314,9 @@ class Envios {
rowData.cantidad = cantidad;
}
peso_total_libro = Math.ceil(peso_total_libro);
const peso_envio = peso_total_libro * parseInt(rowData.cantidad) / 1000.0;
const tirada = parseInt($('#tirada').val());
var datos_tarifa = await self.get_precio_envio(peso_envio, rowData.pais_id, rowData.cp, parseInt(rowData.entregaPieCalle) == 1 ? 'palets' : 'cajas');
@ -485,8 +488,8 @@ class Envios {
})
const peso_envio = peso_total_libro * parseInt($('#add_cantidad').val()) / 1000.0
peso_total_libro = Math.ceil(peso_total_libro);
const peso_envio = peso_total_libro * parseInt($('#add_cantidad').val()) / 1000.0;
$.post('/presupuestodirecciones/datatable',
{