trabajando en resumen

This commit is contained in:
2025-02-04 09:26:32 +01:00
parent 61c2e885eb
commit 430cf0fd6c
5 changed files with 105 additions and 63 deletions

View File

@ -1244,7 +1244,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$resultado_presupuesto['info']['merma'] = $this->calcular_merma($selected_tirada, $POD); $resultado_presupuesto['info']['merma'] = $this->calcular_merma($selected_tirada, $POD);
$datos_presupuesto['faja'] = $faja; $datos_presupuesto['faja'] = $faja;
$id = $model_presupuesto->insertarPresupuestoCliente( $id = $model_presupuesto->insertarPresupuestoCliente(
$id, $id,
$selected_tirada, $selected_tirada,
@ -1961,7 +1961,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$peso_interior = 0.0; $peso_interior = 0.0;
foreach ($interior as $linea) { foreach ($interior as $linea) {
if (count($linea) > 0) { if (count($linea) > 0) {
$costeInterior += floatval($linea['total_impresion']); $costeInterior += round(floatval($linea['total_impresion']), 2);
$peso_interior += floatval($linea['peso']); $peso_interior += floatval($linea['peso']);
$lomo += floatval($linea['mano']); $lomo += floatval($linea['mano']);
$info['lomo_interior'] += floatval($linea['mano']); $info['lomo_interior'] += floatval($linea['mano']);
@ -2021,7 +2021,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
} }
foreach ($interior as $linea) { foreach ($interior as $linea) {
if (count($linea) > 0) { if (count($linea) > 0) {
$costeInterior += floatval($linea['total_impresion']); $costeInterior += round(floatval($linea['total_impresion']),2);
$peso_interior += floatval($linea['peso']); $peso_interior += floatval($linea['peso']);
$lomo += floatval($linea['mano']); $lomo += floatval($linea['mano']);
if ($extra_info) { if ($extra_info) {
@ -2073,7 +2073,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$coste_cubierta = 0.0; $coste_cubierta = 0.0;
$peso_cubierta = 0.0; $peso_cubierta = 0.0;
if (count($cubierta) > 0) { if (count($cubierta) > 0) {
$coste_cubierta += floatval($cubierta['total_impresion']); $coste_cubierta += round(floatval($cubierta['total_impresion']), 2);
$peso_cubierta += floatval($cubierta['peso']); $peso_cubierta += floatval($cubierta['peso']);
$lomo += floatval($cubierta['mano']); $lomo += floatval($cubierta['mano']);
if ($extra_info) { if ($extra_info) {
@ -2130,7 +2130,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
]; ];
return $return_data; return $return_data;
} }
$coste_servicios += floatval($acabadoCubierta[0]->total); $coste_servicios += round(floatval($acabadoCubierta[0]->total), 2);
} }
} }
@ -2157,7 +2157,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$linea_sobrecubierta = PresupuestoClienteService::obtenerSobrecubierta($input_data); $linea_sobrecubierta = PresupuestoClienteService::obtenerSobrecubierta($input_data);
if (count($linea_sobrecubierta) > 0) { if (count($linea_sobrecubierta) > 0) {
$coste_sobrecubierta += floatval($linea_sobrecubierta['total_impresion']); $coste_sobrecubierta += round(floatval($linea_sobrecubierta['total_impresion']),2);
$peso_sobrecubierta += floatval($linea_sobrecubierta['peso']); $peso_sobrecubierta += floatval($linea_sobrecubierta['peso']);
if ($extra_info) { if ($extra_info) {
@ -2215,7 +2215,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
return $return_data; return $return_data;
} }
$coste_servicios += floatval($acabadoSobrecubierta[0]->total); $coste_servicios += round(floatval($acabadoSobrecubierta[0]->total), 2);
} }
} }
} }
@ -2251,7 +2251,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$guardas = PresupuestoClienteService::obtenerGuardas($input_data); $guardas = PresupuestoClienteService::obtenerGuardas($input_data);
if (count($guardas) > 0) { if (count($guardas) > 0) {
$coste_guardas += floatval($guardas['total_impresion']); $coste_guardas += round(floatval($guardas['total_impresion']), 2);
$peso_guardas += floatval($guardas['peso']); $peso_guardas += floatval($guardas['peso']);
if ($extra_info) { if ($extra_info) {
@ -2305,7 +2305,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
if (count($linea_faja) > 0) { if (count($linea_faja) > 0) {
$linea_faja['tipo_linea'] = 'lp_faja'; $linea_faja['tipo_linea'] = 'lp_faja';
$coste_faja += floatval($linea_faja['total_impresion']); $coste_faja += round(floatval($linea_faja['total_impresion']), 2);
$peso_faja += floatval($linea_faja['peso']); $peso_faja += floatval($linea_faja['peso']);
if ($extra_info) { if ($extra_info) {
@ -2335,7 +2335,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
]; ];
return $return_data; return $return_data;
} }
// Acabado faja // Acabado faja
if (intval($faja['acabado']) != 0) { if (intval($faja['acabado']) != 0) {
@ -2362,7 +2362,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
return $return_data; return $return_data;
} }
$coste_servicios += floatval($acabadoFaja[0]->total); $coste_servicios += round(floatval($acabadoFaja[0]->total), 2);
} }
} }
} }
@ -2410,10 +2410,10 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
} }
$costeServiciosDefecto += floatval($servicio->total); $costeServiciosDefecto += round(floatval($servicio->total), 2);
if ($extra_info) { if ($extra_info) {
$totalServicios += floatval($servicio->total); $totalServicios += round(floatval($servicio->total), 2);
$margenServicios += floatval($servicio->total) * floatval($servicio->margen) / 100.0; $margenServicios += round(floatval($servicio->total) * floatval($servicio->margen) / 100.0, 2);
} }
} }
@ -2445,10 +2445,10 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
} }
$costeServiciosDefecto += floatval($servicio->total); $costeServiciosDefecto += round(floatval($servicio->total), 2);
if ($extra_info) { if ($extra_info) {
$totalServicios += floatval($servicio->total); $totalServicios += round(floatval($servicio->total), 2);
$margenServicios += floatval($servicio->total) * floatval($servicio->margen) / 100.0; $margenServicios += round(floatval($servicio->total) * floatval($servicio->margen) / 100.0, 2);
} }
} }
@ -2528,7 +2528,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
array_push($servicios, $servicio_solapas_cubierta); array_push($servicios, $servicio_solapas_cubierta);
if (!is_null($sobreCubierta) && $sobreCubierta) // Si hay sobrecubierta, siempre con solapas if (!is_null($sobreCubierta) && $sobreCubierta) // Si hay sobrecubierta, siempre con solapas
array_push($servicios, $servicio_solapas_sobrecubierta); array_push($servicios, $servicio_solapas_sobrecubierta);
if(!is_null($faja) && $faja && $faja != false) // Si hay faja, siempre con solapas if (!is_null($faja) && $faja && $faja != false) // Si hay faja, siempre con solapas
array_push($servicios, $servicio_solapas_faja); array_push($servicios, $servicio_solapas_faja);
@ -2560,10 +2560,10 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
return $return_data; return $return_data;
} }
$coste_servicios += floatval($resultado[0]->total); $coste_servicios += round(floatval($resultado[0]->total), 2);
if ($extra_info) { if ($extra_info) {
$totalServicios += floatval($resultado[0]->total); $totalServicios += round(floatval($resultado[0]->total), 2);
$margenServicios += floatval($resultado[0]->total) * floatval($resultado[0]->margen) / 100.0; $margenServicios += round(floatval($resultado[0]->total) * floatval($resultado[0]->margen) / 100.0, 2);
} }
} else if ($servicio->nombre == "ferro" || $servicio->nombre == "prototipo") { } else if ($servicio->nombre == "ferro" || $servicio->nombre == "prototipo") {
// Extra // Extra
@ -2590,10 +2590,10 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
array_push($serviciosAutomaticos, $resultado[0]); array_push($serviciosAutomaticos, $resultado[0]);
$coste_servicios += floatval($resultado[0]->precio); $coste_servicios += round(floatval($resultado[0]->precio), 2);
if ($extra_info) { if ($extra_info) {
$totalServicios += floatval($resultado[0]->precio); $totalServicios += round(floatval($resultado[0]->precio), 2);
$margenServicios += floatval($resultado[0]->precio) * floatval($resultado[0]->margen) / 100.0; $margenServicios += round(floatval($resultado[0]->precio) * floatval($resultado[0]->margen) / 100.0, 2);
} }
} else if ($servicio->nombre == 'solapas_cubierta' || $servicio->nombre == 'solapas_sobrecubierta' || $servicio->nombre == 'solapas_faja') { } else if ($servicio->nombre == 'solapas_cubierta' || $servicio->nombre == 'solapas_sobrecubierta' || $servicio->nombre == 'solapas_faja') {
// Servicios manipulado // Servicios manipulado
@ -2622,10 +2622,10 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
array_push($serviciosAutomaticos, $resultado[0]); array_push($serviciosAutomaticos, $resultado[0]);
} }
$coste_servicios += floatval($resultado[0]->total); $coste_servicios += round(floatval($resultado[0]->total), 2);
if ($extra_info) { if ($extra_info) {
$totalServicios += floatval($resultado[0]->total); $totalServicios += round(floatval($resultado[0]->total), 2);
$margenServicios += floatval($resultado[0]->total) * floatval($resultado[0]->margen) / 100.0; $margenServicios += round(floatval($resultado[0]->total) * floatval($resultado[0]->margen) / 100.0, 2);
} }
} }
} }
@ -2658,10 +2658,10 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
array_push($serviciosAutomaticos, $resultado[0]); array_push($serviciosAutomaticos, $resultado[0]);
} }
$coste_servicios += floatval($resultado[0]->total); $coste_servicios += round(floatval($resultado[0]->total), 2);
if ($extra_info) { if ($extra_info) {
$totalServicios += floatval($resultado[0]->total); $totalServicios += round(floatval($resultado[0]->total), 2);
$margenServicios += floatval($resultado[0]->total) * floatval($resultado[0]->margen) / 100.0; $margenServicios += round(floatval($resultado[0]->total) * floatval($resultado[0]->margen) / 100.0, 2);
} }
} }
@ -2693,14 +2693,58 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
array_push($serviciosAutomaticos, $resultado[0]); array_push($serviciosAutomaticos, $resultado[0]);
} }
$coste_servicios += floatval($resultado[0]->total); $coste_servicios += round(floatval($resultado[0]->total), 2);
if ($extra_info) { if ($extra_info) {
$totalServicios += floatval($resultado[0]->total); $totalServicios += round(floatval($resultado[0]->total), 2);
$margenServicios += floatval($resultado[0]->total) * floatval($resultado[0]->margen) / 100.0; $margenServicios += round(floatval($resultado[0]->total) * floatval($resultado[0]->margen) / 100.0, 2);
} }
} }
array_push($precio_u, round(($costeInterior + $coste_cubierta + $coste_sobrecubierta + $costeServiciosDefecto + $coste_servicios) / $tirada[$t], 4)); if (is_array($faja) && ($faja['solapas'] > 0 && intval($linea_faja['dimension_desarrollo']['ancho']) > 630)) {
// Servicios manipulado
$resultado = PresupuestoCLienteService::getServiciosManipulado([
'tarifa_id' => intval($servicio_solapas_grandes_faja->id),
'tirada' => $datosPedido->tirada,
'POD' => $POD,
]);
if ($resultado[0]->total <= 0) {
$errorModel = new ErrorPresupuesto();
$errorModel->insertError(
$datos_entrada['id'],
auth()->user()->id,
'No se puede obtener servicio de manupulado ' . ((string) $servicio->nombre),
$input_data
);
$return_data = [
'errors' => (object) ([
'status' => 1
]),
];
return $return_data;
} else {
array_push($serviciosAutomaticos, $resultado[0]);
}
$coste_servicios += round(floatval($resultado[0]->total), 2);
if ($extra_info) {
$totalServicios += round(floatval($resultado[0]->total), 2);
$margenServicios += round(floatval($resultado[0]->total) * floatval($resultado[0]->margen) / 100.0, 2);
}
}
$total_por_tirada = $costeInterior +
$coste_cubierta +
$coste_sobrecubierta +
$coste_guardas +
$coste_faja +
$costeServiciosDefecto + $coste_servicios;
array_push(
$precio_u,
round(($total_por_tirada) / $tirada[$t], 4)
);
array_push($peso, round($peso_interior + $peso_cubierta + $peso_sobrecubierta + $peso_guardas, 2)); array_push($peso, round($peso_interior + $peso_cubierta + $peso_sobrecubierta + $peso_guardas, 2));
if ($extra_info) { if ($extra_info) {
@ -2782,25 +2826,25 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
{ {
if (count($linea) == 0) if (count($linea) == 0)
return; return;
$totalPapel += $linea['precio_pedido']; $totalPapel += round($linea['precio_pedido'], 2);
$margenPapel += $linea['margen_papel_pedido']; $margenPapel += round($linea['margen_papel_pedido'], 2);
$sumForFactor += $linea['precio_pedido']; $sumForFactor += round($linea['precio_pedido'], 2);
$sumForFactor -= $linea['precio_pedido']; $sumForFactor -= round($linea['precio_pedido'], 2);
$totalImpresion += $linea['precio_impresion_horas']; $totalImpresion += round($linea['precio_impresion_horas'], 2);
$totalImpresion += $linea['precio_click_pedido']; $totalImpresion += round($linea['precio_click_pedido'], 2);
$sumForFactor += $linea['precio_click_pedido']; $sumForFactor += round($linea['precio_click_pedido'], 2);
if ($linea['tipo_maquina'] == 'inkjet') { if ($linea['tipo_maquina'] == 'inkjet') {
$totalImpresion += $linea['precio_tinta']; $totalImpresion += round($linea['precio_tinta'], 2);
if (array_key_exists('total_corte', $linea)) { if (array_key_exists('total_corte', $linea)) {
$totalImpresion += $linea['total_corte']; $totalImpresion += round($linea['total_corte'], 2);
$sumForFactor += $linea['total_corte']; $sumForFactor += round($linea['total_corte'], 2);
} }
} }
$margenImpresion += $linea['margen_impresion_horas']; $margenImpresion += round($linea['margen_impresion_horas'], 2);
$margenImpresion += $linea['margen_click_pedido']; $margenImpresion += round($linea['margen_click_pedido'], 2);
$sumForFactor -= $linea['margen_click_pedido']; $sumForFactor -= round($linea['margen_click_pedido'], 2);
} }
protected function calcular_lomo($lineas, $lomo_inicial) protected function calcular_lomo($lineas, $lomo_inicial)

View File

@ -1826,7 +1826,7 @@ class PresupuestoService extends BaseService
} }
} }
if ($uso == 'cubierta' || $uso == 'sobrecubierta') { if ($uso == 'cubierta' || $uso == 'sobrecubierta' || $uso == 'faja') {
$linea['fields']['dimension_desarrollo']['ancho'] = $datosPedido->anchoExteriores; $linea['fields']['dimension_desarrollo']['ancho'] = $datosPedido->anchoExteriores;
$linea['fields']['dimension_desarrollo']['alto'] = $datosPedido->altoExteriores; $linea['fields']['dimension_desarrollo']['alto'] = $datosPedido->altoExteriores;

View File

@ -370,8 +370,7 @@ id = -1;
searching: false, searching: false,
paging: true, paging: true,
info: false, info: false,
dom: '<"mt-4"><"float-end"B><"float-start"l> dom: '<"mt-4"><"float-end"B><"float-start"l><t><"mt-4 mb-3"p>',
<t><"mt-4 mb-3"p>',
ajax : $.fn.dataTable.pipeline( { ajax : $.fn.dataTable.pipeline( {
url: '<?= route_to('dataTableOfTarifaEncuadernacionLineasHoras') ?>', url: '<?= route_to('dataTableOfTarifaEncuadernacionLineasHoras') ?>',
data: function ( d ) { data: function ( d ) {
@ -570,8 +569,7 @@ id = -1;
searching: false, searching: false,
paging: true, paging: true,
info: false, info: false,
dom: '<"mt-4"><"float-end"B><"float-start"l> dom: '<"mt-4"><"float-end"B><"float-start"l><t><"mt-4 mb-3"p>',
<t><"mt-4 mb-3"p>',
ajax : $.fn.dataTable.pipeline( { ajax : $.fn.dataTable.pipeline( {
url: '<?= route_to('dataTableOfTarifaEncuadernacionLineas') ?>', url: '<?= route_to('dataTableOfTarifaEncuadernacionLineas') ?>',
data: function ( d ) { data: function ( d ) {
@ -776,8 +774,7 @@ id = -1;
paging: true, paging: true,
select: true, select: true,
info: false, info: false,
dom: '<"mt-4"><"float-end"B><"float-start"l> dom: '<"mt-4"><"float-end"B><"float-start"l><t><"mt-4 mb-3"p>',
<t><"mt-4 mb-3"p>',
ajax : $.fn.dataTable.pipeline( { ajax : $.fn.dataTable.pipeline( {
url: '<?= route_to('dataTableOfTarifaEncuadernacionTiradas') ?>', url: '<?= route_to('dataTableOfTarifaEncuadernacionTiradas') ?>',
data: { data: {

View File

@ -89,8 +89,8 @@ class Resumen {
let totalImpresionforMargen = 0; let totalImpresionforMargen = 0;
let margenImpresion = 0; let margenImpresion = 0;
let totalServicios = 0; let totalServicios = parseFloat(0);
let margenServicios = 0; let margenServicios = parseFloat(0);
let totalEnvios = 0; let totalEnvios = 0;
let margenEnvios = 0; let margenEnvios = 0;
@ -177,11 +177,11 @@ class Resumen {
if (typeof $("#tableOfServiciosEncuadernacion").DataTable() !== 'undefined' && $("#tableOfServiciosEncuadernacion").DataTable().rows().count() > 0) { if (typeof $("#tableOfServiciosEncuadernacion").DataTable() !== 'undefined' && $("#tableOfServiciosEncuadernacion").DataTable().rows().count() > 0) {
$('#tableOfServiciosEncuadernacion').DataTable().rows().every(function (rowIdx, tableLoop, rowLoop) { $('#tableOfServiciosEncuadernacion').DataTable().rows().every(function (rowIdx, tableLoop, rowLoop) {
let rowData = this.data(); let rowData = this.data();
let total_servicio = parseFloat(rowData.precio_total); let total_servicio = parseFloat(rowData.precio_total);
let margen_servicio = parseFloat(rowData.margen); let margen_servicio = parseFloat(rowData.margen);
totalServicios += total_servicio totalServicios += total_servicio
let base = total_servicio / (1 + margen_servicio / 100.0); let base = total_servicio / (1 + margen_servicio / 100.0);
margenServicios = total_servicio - base; margenServicios += parseFloat(total_servicio - base);
}); });
} }
@ -192,7 +192,7 @@ class Resumen {
let margen_servicio = parseFloat(rowData.margen); let margen_servicio = parseFloat(rowData.margen);
totalServicios += total_servicio totalServicios += total_servicio
let base = total_servicio / (1 + margen_servicio / 100.0); let base = total_servicio / (1 + margen_servicio / 100.0);
margenServicios = total_servicio - base; margenServicios += parseFloat(total_servicio - base);
}); });
} }
@ -202,7 +202,7 @@ class Resumen {
let total_servicio = parseFloat(rowData.precio); let total_servicio = parseFloat(rowData.precio);
let coste_servicio = parseFloat(rowData.coste); let coste_servicio = parseFloat(rowData.coste);
totalServicios += total_servicio totalServicios += total_servicio
margenServicios = total_servicio - coste_servicio; margenServicios += total_servicio - coste_servicio;
}); });
} }
@ -212,7 +212,7 @@ class Resumen {
let total_servicio = parseFloat(rowData.precio); let total_servicio = parseFloat(rowData.precio);
let coste_servicio = parseFloat(rowData.coste); let coste_servicio = parseFloat(rowData.coste);
totalServicios += total_servicio totalServicios += total_servicio
margenServicios = total_servicio - coste_servicio; margenServicios += total_servicio - coste_servicio;
}); });
} }
@ -223,7 +223,7 @@ class Resumen {
let margen_servicio = parseFloat(rowData.margen); let margen_servicio = parseFloat(rowData.margen);
totalServicios += total_servicio totalServicios += total_servicio
let base = total_servicio / (1 + margen_servicio / 100.0); let base = total_servicio / (1 + margen_servicio / 100.0);
margenServicios = total_servicio - base; margenServicios += parseFloat(total_servicio - base);
}); });
} }

View File

@ -96,8 +96,9 @@ class TiradasAlernativas {
self.table.row(row).remove().draw(); self.table.row(row).remove().draw();
$(document).trigger('update-envios', { tirada_inicial: $('#tirada').val(), tirada: data.tirada }); $('#tirada').val(data.tirada).trigger('change');
$(document).trigger('update-envios', { tirada_inicial: $('#tirada').val(), tirada: data.tirada });
}); });
$(document).on('update-tiradas-alternativas', async function () { $(document).on('update-tiradas-alternativas', async function () {