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) {

View File

@ -1138,7 +1138,7 @@ class PresupuestoService extends BaseService
else{
$nueva_linea = PresupuestoService::obtenerValorLineaPresupuesto($data, $linea);
if(count($nueva_linea) >0){
if(round($nueva_linea['fields']['total_impresion'],2) != $linea->total_linea){
if(round($nueva_linea['fields']['total_impresion'],2) != round($linea->total_linea, 2)){
(new PresupuestoLineaModel())->updatePreciosLineasPresupuesto($linea->id, $nueva_linea);
$linea_to_save = (new PresupuestoLineaModel())->find($linea->id);
$cambios = true;
@ -1355,7 +1355,7 @@ class PresupuestoService extends BaseService
$nueva_tarifa = $model->getPrecioTarifa($servicio->tarifa_acabado_id, $input_data['tirada'], $input_data['POD']);
if($nueva_tarifa && count($nueva_tarifa)>0){
if(round($nueva_tarifa[0]->precio_unidad, 2) != $servicio->precio_unidad ||
if(round($nueva_tarifa[0]->precio_unidad, 2) != round($servicio->precio_unidad,2) ||
$nueva_tarifa[0]->margen != $servicio->margen){
$servicio->precio_unidad = round($nueva_tarifa[0]->precio_unidad, 2);
@ -1386,7 +1386,7 @@ class PresupuestoService extends BaseService
$count = 0;
$nueva_tarifa = $model->getPrecioTarifa($servicio->tarifa_manipulado_id, $input_data['tirada'], $input_data['POD']);
if($nueva_tarifa && count($nueva_tarifa)>0){
if(round($nueva_tarifa[0]->precio_unidad, 2) != $servicio->precio_unidad ||
if(round($nueva_tarifa[0]->precio_unidad, 2) != round($servicio->precio_unidad,2) ||
$nueva_tarifa[0]->margen != $servicio->margen){
$servicio->precio_unidad = round($nueva_tarifa[0]->precio_unidad, 2);
@ -1468,12 +1468,16 @@ class PresupuestoService extends BaseService
}
// Si el presupuesto no es duplicado, se comprueba que
// no ha cambiado el precio unidad
if(round($nueva_tarifa[0]->precio_unidad, 2) != floatval($servicio->precio_unidad) ||
if($nueva_tarifa[0]->tiempo==null)
$nueva_tarifa[0]->tiempo = 0;
if($servicio->tiempo == null)
$servicio->tiempo = 0;
if(round($nueva_tarifa[0]->precio_unidad, 2) != round(floatval($servicio->precio_unidad),2) ||
$nueva_tarifa[0]->margen != floatval($servicio->margen) ||
$nueva_tarifa[0]->tiempo != floatval($servicio->tiempo)){
$servicio->precio_unidad = round($nueva_tarifa[0]->precio_unidad, 2);
$servicio->tiempo = $nueva_tarifa[0]->tiempo==null?"": round($nueva_tarifa[0]->tiempo, 2);
$servicio->tiempo = $nueva_tarifa[0]->tiempo==null?0: round($nueva_tarifa[0]->tiempo, 2);
$servicio->precio_total = round($nueva_tarifa[0]->total, 2);
$servicio->margen = round($nueva_tarifa[0]->margen);
$cambio = true;

View File

@ -55,14 +55,25 @@
*/
if (auth()->user()->inGroup('beta')) {
?>
<li class="menu-header small text-uppercase">
<span class="menu-header-text">Test JJO</span>
</li>
<li class="menu-item">
<a href="<?= route_to('nuevoPresupuestoCliente') ?>" class="menu-link">
<i class="menu-icon tf-icons ti ti-settings"></i>
Test
<a href="javascript:void(0);" class="menu-link menu-toggle">
<i class="menu-icon tf-icons ti ti-currency-dollar"></i>
Presupuestos cliente
</a>
<ul class="menu-sub">
<li class="menu-item">
<a href="<?= site_url("presupuestos/buscador") ?>" class="menu-link">
Mis presupuestos
</a>
</li>
</ul>
<ul class="menu-sub">
<li class="menu-item">
<a href="<?= route_to('nuevoPresupuestoCliente') ?>" class="menu-link">
Añadir
</a>
</li>
</ul>
</li>
<?php } ?>

12675
xdebug.log

File diff suppressed because one or more lines are too long