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

View File

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

View File

@ -55,14 +55,25 @@
*/ */
if (auth()->user()->inGroup('beta')) { 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"> <li class="menu-item">
<a href="<?= route_to('nuevoPresupuestoCliente') ?>" class="menu-link"> <a href="javascript:void(0);" class="menu-link menu-toggle">
<i class="menu-icon tf-icons ti ti-settings"></i> <i class="menu-icon tf-icons ti ti-currency-dollar"></i>
Test Presupuestos cliente
</a> </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> </li>
<?php } ?> <?php } ?>

12675
xdebug.log

File diff suppressed because one or more lines are too long