dejado para pruebas

This commit is contained in:
2024-05-03 11:18:09 +02:00
parent 650ac199a0
commit fca975fad4
7 changed files with 3685 additions and 6 deletions

View File

@ -765,6 +765,7 @@ class Presupuestocliente extends \App\Controllers\GoBaseResourceController
// Sobrecubierta
$coste_sobrecubierta = 0.0;
$linea_sobrecubierta = [];
$acabadoSobrecubierta = [];
$sobreCubierta = $reqData["sobrecubierta"] ?? null;
if(!is_null($sobreCubierta)){
@ -807,6 +808,7 @@ class Presupuestocliente extends \App\Controllers\GoBaseResourceController
}
//Guardas
$guardas = [];
if($reqData['guardas'] ?? 0 > 0){
$guardas = $reqData['guardas'];
@ -863,21 +865,80 @@ class Presupuestocliente extends \App\Controllers\GoBaseResourceController
$costeServiciosDefecto += floatval($servicio->total);
}
// Servicios
$servicios = $reqData['servicios'] ?? [];
if($reqData['guardas'] ?? 0 > 0){
array_push($servicios, 62); // Plegado de guardas
}
/*
'retractilado' => 3,
'retractilado5' => 5,
'ferro' => 24,
'prototipo' => 9,
'fajaColor' => 16,
'plegadoGuardas' => 62,
*/
$serviciosAutomaticos = [];
foreach($servicios as $servicio){
if(intval($servicio) == 3 || intval($servicio) == 5 || intval($servicio) == 16)
{
// Servicios acabado
$resultado = PresupuestoCLienteService::getServiciosManipulado([
'tarifa_id' => $servicio,
'tirada' => $datosPedido->tirada,
'POD' => $POD,
]);
array_push($serviciosAutomaticos, $resultado[0]);
if($resultado[0]->total <= 0 )
$error->servicios = lang('Presupuestos.errores.errorPresupuesto');
$coste_servicios += floatval($resultado[0]->total);
}
else if (intval($servicio) == 24 || intval($servicio) == 9 )
{
// Servicios preimpresion
$resultado = PresupuestoCLienteService::getServiciosPreimpresion([
'tarifa_id' => $servicio,
]);
array_push($serviciosAutomaticos, $resultado[0]);
if($resultado[0]->total <= 0 )
$error->servicios = lang('Presupuestos.errores.errorPresupuesto');
$coste_servicios += floatval($resultado[0]->total);
}
else if (intval($servicio) == 62)
{
// Servicios manipulado
$resultado = PresupuestoCLienteService::getServiciosManipulado([
'tarifa_id' => $servicio,
'tirada' => $datosPedido->tirada,
'POD' => $POD,
]);
array_push($serviciosAutomaticos, $resultado[0]);
if($resultado[0]->total <= 0 )
$error->servicios = lang('Presupuestos.errores.errorPresupuesto');
$coste_servicios += floatval($resultado[0]->total);
}
}
array_push($precio_u, round(($costeInterior + $coste_cubierta + $coste_sobrecubierta + $costeServiciosDefecto + $coste_servicios)/$tirada[$t], 4));
foreach($error as $err){
if($err != "")
break;
}
}
if($reqData['guardas'] ?? 0 > 0){
}
return [
'errors' => $error,
'total_lp' => $costeInterior+$coste_cubierta+$coste_sobrecubierta,
'acabadoCubierta' => $acabadoCubierta,
'acabadoSobrecubierta' => $acabadoSobrecubierta,
'total_servicios_defecto' => $costeServiciosDefecto,
'total_servicios_automaticos' => $coste_servicios,
'tiradas' => $tirada,
'precio_u' => $precio_u,
@ -886,6 +947,7 @@ class Presupuestocliente extends \App\Controllers\GoBaseResourceController
'sobrecubierta' => $linea_sobrecubierta,
'guardas' => $guardas,
'serviciosDefecto' => $servDefecto,
'servicios_automaticos' => $serviciosAutomaticos,
];
}

View File

@ -331,6 +331,37 @@ class PresupuestoClienteService extends BaseService
return $values;
}
public static function getServiciosManipulado($data){
$tarifa_id = $data['tarifa_id'] ?? -1;
$tirada = $data['tirada'] ?? -1;
$POD = $data['POD'] ?? -1;
$model = model('App\Models\Presupuestos\PresupuestoManipuladosModel');
$values = $model->getPrecioTarifa($tarifa_id, $tirada, $POD);
return $values;
}
public static function getServiciosPreimpresion($data){
$tarifa_id = $data['tarifa_id'] ?? -1;
$model = model('App\Models\Presupuestos\PresupuestoPreimpresionesModel');
$values = $model->getPrecioTarifa($tarifa_id);
return $values;
}
public static function getServiciosAcabados($data){
$tarifa_id = $data['tarifa_id'] ?? -1;
$tirada = $data['tirada'] ?? -1;
$POD = $data['POD'] ?? -1;
$model = model('App\Models\Presupuestos\PresupuestoAcabadosModel');
$values = $model->getPrecioTarifa($tarifa_id, $tirada, $POD);
return $values;
}
/**
* Obtiene las lineas de rotativa en el presupuesto de cliente
* Selecciona entre las más económicas

View File

@ -73,6 +73,11 @@
</div>
<div class="row">
<div id="errorTiradas" class="fv-plugins-message-container invalid-feedback" style="display: none;">
<div>No puede mezclar tiradas mayores de 30 unidades con tiradas menores de 30 unidades</div>
</div>
<div class="col-sm-3 mb-3">
<label for="tirada" class="form-label">
<?= lang('Presupuestos.tirada') ?> 1

View File

@ -578,9 +578,27 @@ $('.calcular-presupuesto').on('change', function () {
calcularPresupuesto();
});
function comprobarTiradasPOD(){
const tiradas = getTiradas();
//Comprobar que todos los elementos del array tiradas estan por encima de 30 o por debajo
const tiradasPOD = tiradas.every(tirada => tirada <= 30);
const tiradasNoPOD = tiradas.every(tirada => tirada > 30);
if (tiradasPOD == !tiradasNoPOD) {
return true;
}
return false;
}
async function calcularPresupuesto() {
if(!comprobarTiradasPOD()){
$('#errorTiradas').show();
return;
}
$('#errorTiradas').hide();
// se obtiene la propiedad serv_id de los checkboxes seleccionados de la clase .servicio-extra
if (!checkValues()) {
return;

View File

@ -62,7 +62,10 @@
</div>
<div id="errorGeneral" class="fv-plugins-message-container invalid-feedback" style="display: none;">
<p>Se ha producido un error al calcular el presupuesto. Póngase en contacto con el administrador</p>
<p>Se ha producido un error <br>
al calcular el presupuesto. <br>
Póngase en contacto con el <br>
administrador.</p>
</div>
<table id="precios" class="table table-sm" style="display: none;">

View File

@ -817,7 +817,7 @@
/**
* JJO
*/
--->
<li class="menu-header small text-uppercase">
<span class="menu-header-text">Test JJO</span>
</li>
@ -827,7 +827,7 @@
<div data-i18n="Test">Test</div>
</a>
</li>
--->
</ul>

3560
xdebug.log

File diff suppressed because one or more lines are too long