terminado añadir presupuesto a falta de volver en el botón

This commit is contained in:
jaimejimenezortega
2024-05-18 12:07:30 +02:00
parent 6c748a8a2d
commit 1741d6cd60
4 changed files with 12734 additions and 41 deletions

View File

@ -671,7 +671,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
'servicios' => $servicios,
);
$return_data = $this->calcular_presupuesto($datos_presupuesto, true); //TRUE FOR DEBUG
$return_data = $this->calcular_presupuesto($datos_presupuesto, 0, true); //TRUE FOR DEBUG
array_merge($return_data, [$csrfTokenName => $newTokenHash]);
return $this->respond($return_data);
@ -840,7 +840,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
'servicios' => $servicios,
);
$resultado_presupuesto = $this->calcular_presupuesto($datos_presupuesto , true);
$resultado_presupuesto = $this->calcular_presupuesto($datos_presupuesto , $selected_tirada, true);
if(isset($resultado_presupuesto['errors'])){
$errors = $resultado_presupuesto['errors'];
@ -863,8 +863,8 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
for ($i=0; $i<count($tirada); $i++) {
$resultado_presupuesto['totales'][$i]['coste_envio'] = 0.0;
$resultado_presupuesto['totales'][$i]['margen_envio'] = 0.0;
$resultado_presupuesto['info']['totales'][$i]['coste_envio'] = 0.0;
$resultado_presupuesto['info']['totales'][$i]['margen_envio'] = 0.0;
foreach ($reqData['direcciones'] as $direccion){
@ -876,8 +876,8 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$coste = floatval($coste_envio[0]->coste);
$margen = ($coste * floatval($coste_envio[0]->margen))/100.0;
$coste -= $margen;
$resultado_presupuesto['totales'][$i]['coste_envio'] += $coste;
$resultado_presupuesto['totales'][$i]['margen_envio'] += $margen;
$resultado_presupuesto['info']['totales'][$i]['coste_envio'] += $coste;
$resultado_presupuesto['info']['totales'][$i]['margen_envio'] += $margen;
}
}
}
@ -888,14 +888,14 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
for ($i=0; $i<count($tirada); $i++) {
if($tirada[$i] != $selected_tirada){
$coste_total = $resultado_presupuesto['totales'][$i]['totalImpresion'] + $resultado_presupuesto['totales'][$i]['totalPapel'] +
$resultado_presupuesto['totales'][$i]['margenImpresion'] + $resultado_presupuesto['totales'][$i]['margenPapel'];
$coste_envio = $resultado_presupuesto['totales'][$i]['coste_envio'] + $resultado_presupuesto['totales'][$i]['margen_envio'];
$margen_total = round(($resultado_presupuesto['totales'][$i]['margenImpresion'] +
$resultado_presupuesto['totales'][$i]['margenPapel'] +
$resultado_presupuesto['totales'][$i]['margen_envio'])/($coste_total+$coste_envio)*100.0, 2);
$total_pedido =round(($coste_total + $resumen_totales['totalServicios']+$resumen_totales['margenServicios'] + $coste_envio), 2);
$precio_u = round(($coste_total + $resumen_totales['totalServicios']+$resumen_totales['margenServicios'] + $coste_envio)/$tirada[$i], 4);
$coste_total = $resultado_presupuesto['info']['totales'][$i]['totalImpresion'] + $resultado_presupuesto['info']['totales'][$i]['totalPapel'] +
$resultado_presupuesto['info']['totales'][$i]['margenImpresion'] + $resultado_presupuesto['info']['totales'][$i]['margenPapel'];
$coste_envio = $resultado_presupuesto['info']['totales'][$i]['coste_envio'] + $resultado_presupuesto['info']['totales'][$i]['margen_envio'];
$margen_total = round(($resultado_presupuesto['info']['totales'][$i]['margenImpresion'] +
$resultado_presupuesto['info']['totales'][$i]['margenPapel'] +
$resultado_presupuesto['info']['totales'][$i]['margen_envio'])/($coste_total+$coste_envio)*100.0, 2);
$total_pedido =round(($coste_total + $resultado_presupuesto['info']['totales'][$i]['totalServicios']+$resultado_presupuesto['info']['totales'][$i]['margenServicios'] + $coste_envio), 2);
$precio_u = round(($coste_total + $resultado_presupuesto['info']['totales'][$i]['totalServicios']+$resultado_presupuesto['info']['totales'][$i]['margenServicios'] + $coste_envio)/$tirada[$i], 4);
array_push($tiradas_alternativas, (object)array(
'tirada' => $tirada[$i],
@ -907,7 +907,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
));
}
else{
$resumen_totales = $resultado_presupuesto['totales'][$i];
$resumen_totales = $resultado_presupuesto['info']['totales'][$i];
}
}
@ -1099,9 +1099,10 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
return $data;
}
protected function calcular_presupuesto($datos_entrada , $extra_info =false)
protected function calcular_presupuesto($datos_entrada , $selected_tirada, $extra_info =false)
{
try {
$return_data = [];
if($extra_info){
$info = [
@ -1541,9 +1542,22 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
'porcentajeMargenImpresion' => $porcentajeMargenImpresion,
'porcentajeMargenServicios' => $porcentajeMargenServicios));
}
if($extra_info && $tirada[$t] == $selected_tirada){
$info['lomo_cubierta'] = $lomo;
$info['lomo_sobrecubierta'] = $lomo_sobrecubierta;
$return_data['info'] = $info;
$return_data['info']['interior'] = $interior;
$return_data['info']['cubierta'] = $cubierta;
$return_data['info']['sobrecubierta'] = $linea_sobrecubierta;
$return_data['info']['guardas'] = $guardas;
$return_data['info']['serviciosDefecto'] = $servDefecto;
$return_data['info']['servicios_automaticos'] = $serviciosAutomaticos;
}
}
$return_data = [
$return_data += [
'errors' => $error,
'total_lp' => $costeInterior + $coste_cubierta + $coste_sobrecubierta,
'acabadoCubierta' => $acabadoCubierta,
@ -1553,23 +1567,12 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
'tiradas' => $tirada,
'precio_u' => $precio_u,
'peso' => $peso,
'lomo_cubierta' => $lomo,
'lomo_sobrecubierta'=> $lomo_sobrecubierta,
];
if($extra_info){
$info['lomo_cubierta'] = $lomo;
$info['lomo_sobrecubierta'] = $lomo_sobrecubierta;
$return_data['info'] = $info;
$return_data['info']['interior'] = $interior;
$return_data['info']['cubierta'] = $cubierta;
$return_data['info']['sobrecubierta'] = $linea_sobrecubierta;
$return_data['info']['guardas'] = $guardas;
$return_data['info']['serviciosDefecto'] = $servDefecto;
$return_data['info']['servicios_automaticos'] = $serviciosAutomaticos;
$return_data['totales'] = $totales;
$return_data['info']['totales'] = $totales;
}
return $return_data;
} catch (Exception $e) {