solucionados algunos problemas con las tiradas alternativas

This commit is contained in:
2025-03-19 12:19:08 +01:00
parent 042ab22b08
commit b9a742a7a7
3 changed files with 25 additions and 16 deletions

View File

@ -378,14 +378,16 @@ class Presupuestotiradasalternativas extends \App\Controllers\BaseResourceContro
$json_data_extra = json_decode($json_data_extra, true); $json_data_extra = json_decode($json_data_extra, true);
if (count($json_data_extra) > 0) { if (count($json_data_extra) > 0) {
$extra = new Presupuestoserviciosextra(); $extra = new Presupuestoserviciosextra();
$POD = (new \App\Models\Configuracion\ConfigVariableModel())->getVariable('POD')->value; $json_data_extra = array_map(function($item) {
$result = $extra->getServiciosExtra($json_data_extra, $reqData['tirada'], $POD); return $item['tarifa_id'];
}, $json_data_extra);
$result = $extra->getServiciosExtra($json_data_extra);
if (count($result) > 0) { if (count($result) > 0) {
foreach ($result as $servicio) { foreach ($result as $servicio) {
$servicios->coste += round(floatval($servicio->total), 2); $servicios->coste += round(floatval($servicio->precio), 2);
$base = round(floatval($servicio->total / (1 + $servicio->margen / 100.0)), 2); $base = round(floatval($servicio->precio / (1 + floatval($servicio->margen) / 100.0)), 2);
$base = round(floatval($base / $datosPedido->tirada) , 2)* $datosPedido->tirada; $base = round(floatval($base / $datosPedido->tirada) , 2)* $datosPedido->tirada;
$servicios->margen += round(floatval($servicio->total - $base), 2); $servicios->margen += round(floatval($servicio->precio - $base), 2);
} }
} }
} }

View File

@ -208,9 +208,10 @@ class Resumen {
$('#tableOfServiciosPreimpresion').DataTable().rows().every(function (rowIdx, tableLoop, rowLoop) { $('#tableOfServiciosPreimpresion').DataTable().rows().every(function (rowIdx, tableLoop, rowLoop) {
let rowData = this.data(); let rowData = this.data();
let total_servicio = self.roundToTwoDecimals(parseFloat(rowData.precio)); let total_servicio = self.roundToTwoDecimals(parseFloat(rowData.precio));
let coste_servicio = self.roundToTwoDecimals(parseFloat(rowData.coste)); let base = (parseFloat(rowData.precio / (1 + parseFloat(rowData.margen) / 100.0)).toFixed(2));
base = self.roundToTwoDecimals(base / parseInt($('#tirada').val()))*parseInt($('#tirada').val());
margenServicios += self.roundToTwoDecimals(parseFloat(total_servicio - base));
totalServicios += total_servicio totalServicios += total_servicio
margenServicios += total_servicio - coste_servicio;
}); });
} }
@ -218,9 +219,10 @@ class Resumen {
$('#tableOfServiciosExtra').DataTable().rows().every(function (rowIdx, tableLoop, rowLoop) { $('#tableOfServiciosExtra').DataTable().rows().every(function (rowIdx, tableLoop, rowLoop) {
let rowData = this.data(); let rowData = this.data();
let total_servicio = self.roundToTwoDecimals(parseFloat(rowData.precio)); let total_servicio = self.roundToTwoDecimals(parseFloat(rowData.precio));
let coste_servicio = self.roundToTwoDecimals(parseFloat(rowData.margen)); let base = (parseFloat(rowData.precio / (1 + parseFloat(rowData.margen) / 100.0)).toFixed(2));
totalServicios += total_servicio base = self.roundToTwoDecimals(base / parseInt($('#tirada').val()))*parseInt($('#tirada').val());
margenServicios += total_servicio - coste_servicio; margenServicios += self.roundToTwoDecimals(parseFloat(total_servicio - base));
totalServicios += total_servicio;
}); });
} }

View File

@ -172,7 +172,7 @@ class TiradasAlernativas {
let datos = { let datos = {
id: id, id: id,
tirada: this.tirada.val(), tirada: tirada,
peso_libro: this.get_peso_libro(), peso_libro: this.get_peso_libro(),
tirada_base: $('#tirada').val(), tirada_base: $('#tirada').val(),
paginas: $('#paginas').val(), paginas: $('#paginas').val(),
@ -225,18 +225,23 @@ class TiradasAlernativas {
} }
/*
$('#tableOfServiciosPreimpresion').DataTable().rows().every(function (rowIdx, tableLoop, rowLoop) { $('#tableOfServiciosPreimpresion').DataTable().rows().every(function (rowIdx, tableLoop, rowLoop) {
var rowData = this.data(); var rowData = this.data();
costes_servicios += parseFloat(rowData.coste); var base = (parseFloat(rowData.precio / (1 + parseFloat(rowData.margen) / 100.0)).toFixed(2));
margen_servicios += parseFloat(rowData.precio) - parseFloat(rowData.coste); base = parseFloat((parseFloat(base) / datos.tirada).toFixed(2)) * datos.tirada;
costes_servicios += parseFloat(rowData.precio);
margen_servicios += parseFloat(rowData.precio) - base;
}); });
$('#tableOfServiciosExtra').DataTable().rows().every(function (rowIdx, tableLoop, rowLoop) { $('#tableOfServiciosExtra').DataTable().rows().every(function (rowIdx, tableLoop, rowLoop) {
var rowData = this.data(); var rowData = this.data();
costes_servicios += parseFloat(rowData.coste); var base = (parseFloat(rowData.precio / (1 + parseFloat(rowData.margen) / 100.0)).toFixed(2));
margen_servicios += parseFloat(rowData.precio) - parseFloat(rowData.coste); base = parseFloat((parseFloat(base) / datos.tirada).toFixed(2)) * datos.tirada;
costes_servicios += parseFloat(rowData.precio);
margen_servicios += parseFloat(rowData.precio) - base;
}); });
*/
if (data.envios) { if (data.envios) {
coste_envio += data.envios.coste; coste_envio += data.envios.coste;
margen_envio += data.envios.margen; margen_envio += data.envios.margen;