mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
commit antes del merge1
This commit is contained in:
@ -793,7 +793,7 @@ class Presupuestocliente extends \App\Controllers\GoBaseResourceController
|
||||
else
|
||||
$error->sobrecubierta = "";
|
||||
|
||||
$tarifaAcabadoSobrecubierta = intval($sobreCubierta->acabado ?? 0);
|
||||
$tarifaAcabadoSobrecubierta = intval(strlen($sobreCubierta['acabado'])==0 ? 0:$sobreCubierta['acabado']);
|
||||
$acabadoSobrecubierta = [];
|
||||
if($tarifaAcabadoSobrecubierta > 0){
|
||||
$model = model('App\Models\Presupuestos\PresupuestoAcabadosModel');
|
||||
@ -805,6 +805,45 @@ class Presupuestocliente extends \App\Controllers\GoBaseResourceController
|
||||
$coste_servicios += floatval($acabadoSobrecubierta[0]->total);
|
||||
}
|
||||
}
|
||||
|
||||
//Guardas
|
||||
if($reqData['guardas'] ?? 0 > 0){
|
||||
|
||||
$guardas = $reqData['guardas'];
|
||||
$papel_generico = [
|
||||
'id' => $guardas['papel'] ?? 0,
|
||||
'nombre' => $guardas['nombre'] ?? "",
|
||||
];
|
||||
$input_data['papel_generico'] = $papel_generico;
|
||||
$input_data['gramaje'] = $guardas['gramaje'] ?? 0;
|
||||
$input_data['datosPedido']->paginas = 8;
|
||||
$input_data['paginas_color'] = 8;
|
||||
$input_data['datosPedido']->paginas_impresion = $guardas['caras'] ?? 0;
|
||||
$input_data['datosPedido']->solapas_ancho = 0;
|
||||
$input_data['datosPedido']->solapas = 0;
|
||||
$input_data['isColor'] = 1;
|
||||
$input_data['isHq'] = 1;
|
||||
$input_data['uso'] = 'guardas';
|
||||
|
||||
// Para el caso de Fresado y Cosido tapa dura, las guardas son un diptico
|
||||
// y hay que imprimirlas como "cosido" (dos hojas pegadas). En el caso de espiral
|
||||
// o wire-o tapa dura, las guardas se imprimen como hojas sueltas
|
||||
if ($tipo_impresion_id == 1 || $tipo_impresion_id == 3) {
|
||||
$input_data['datosPedido']->isCosido = true;
|
||||
} else if ($tipo_impresion_id == 5 || $tipo_impresion_id == 7) {
|
||||
$input_data['datosPedido']->isCosido = false;
|
||||
}
|
||||
|
||||
$guardas = PresupuestoClienteService::obtenerGuardas($input_data);
|
||||
$coste_guardas = 0.0;
|
||||
if (count($guardas) > 0) {
|
||||
$coste_guardas += floatval($guardas['total_impresion']);
|
||||
}
|
||||
if($coste_guardas <= 0)
|
||||
$error->guardas = lang('Presupuestos.errores.noGuardas');
|
||||
else
|
||||
$error->guardas = "";
|
||||
}
|
||||
|
||||
// Servicios defecto
|
||||
$servDefecto = PresupuestoCLienteService::getServiciosEncuadernacionDefault([
|
||||
@ -814,7 +853,7 @@ class Presupuestocliente extends \App\Controllers\GoBaseResourceController
|
||||
'ancho' => $datosPedido->ancho,
|
||||
'alto' => $datosPedido->alto,
|
||||
'POD' => $POD,
|
||||
'solapas' => intval($reqData['solapasCubierta'] ?? 0),
|
||||
'solapas' => intval($reqData['solapasCubierta'] ?? 0)>0?1:0,
|
||||
]);
|
||||
$costeServiciosDefecto = 0.0;
|
||||
foreach ($servDefecto as $servicio) {
|
||||
@ -831,6 +870,9 @@ class Presupuestocliente extends \App\Controllers\GoBaseResourceController
|
||||
}
|
||||
}
|
||||
|
||||
if($reqData['guardas'] ?? 0 > 0){
|
||||
}
|
||||
|
||||
return [
|
||||
'errors' => $error,
|
||||
'total_lp' => $costeInterior+$coste_cubierta+$coste_sobrecubierta,
|
||||
@ -842,6 +884,7 @@ class Presupuestocliente extends \App\Controllers\GoBaseResourceController
|
||||
'interior' => $interior,
|
||||
'cubierta' => $cubierta,
|
||||
'sobrecubierta' => $linea_sobrecubierta,
|
||||
'guardas' => $guardas,
|
||||
'serviciosDefecto' => $servDefecto,
|
||||
];
|
||||
}
|
||||
|
||||
@ -146,6 +146,56 @@ class PresupuestoClienteService extends BaseService
|
||||
return $lineas_sobrecubierta;
|
||||
}
|
||||
|
||||
public static function obtenerGuardas($data)
|
||||
{
|
||||
|
||||
$uso = $data['uso'];
|
||||
$tipo_impresion_id = $data['tipo_impresion_id'];
|
||||
$datosPedido = $data['datosPedido'];
|
||||
$papel_generico = $data['papel_generico'];
|
||||
$gramaje = $data['gramaje'];
|
||||
$isColor = $data['isColor'];
|
||||
$isHq = $data['isHq'];
|
||||
$cliente_id = $data['cliente_id'];
|
||||
|
||||
$lineas_guardas = [];
|
||||
|
||||
for ($i = 0; $i < 2; $i++) {
|
||||
|
||||
$lineas = PresupuestoService::obtenerComparadorPlana([
|
||||
'uso' => $uso,
|
||||
'tipo_impresion_id' => $tipo_impresion_id,
|
||||
'datosPedido' => $datosPedido,
|
||||
'papel_generico' => $papel_generico,
|
||||
'gramaje' => $gramaje,
|
||||
'isColor' => $isColor,
|
||||
'isHq' => $isHq,
|
||||
'cliente_id' => $cliente_id,
|
||||
'a_favor_fibra' => $i
|
||||
]);
|
||||
|
||||
if (count($lineas) > 0) {
|
||||
$lineas_guardas = array_merge($lineas_guardas, $lineas);
|
||||
}
|
||||
}
|
||||
if (count($lineas_guardas) > 0) {
|
||||
|
||||
usort(
|
||||
$lineas_guardas,
|
||||
function ($a, $b) {
|
||||
$result = 0;
|
||||
if (floatval($a['fields']['total_impresion']) > floatval($b['fields']['total_impresion']))
|
||||
$result = 1;
|
||||
else if (floatval($a['fields']['total_impresion']) < floatval($b['fields']['total_impresion']))
|
||||
$result = -1;
|
||||
return $result;
|
||||
}
|
||||
);
|
||||
$lineas_guardas = $lineas_guardas[0]['fields'];
|
||||
$lineas_guardas['tipo_linea'] = 'lp_guardas';
|
||||
}
|
||||
return $lineas_guardas;
|
||||
}
|
||||
|
||||
/**
|
||||
* Obtiene las lineas de plana en el presupuesto de cliente
|
||||
|
||||
@ -392,7 +392,7 @@
|
||||
|
||||
<div class="row sobrecubierta enable-sobrecubierta" style="display: none;">
|
||||
|
||||
<div class="col-sm-3 mb-md-0 mb-2">
|
||||
<div class="col-sm-3 mb-md-0 mb-2 d-flex align-items-end">
|
||||
<div class="form-check form-switch mb-2">
|
||||
<input class="form-check-input calcular-presupuesto input-sobrecubierta" type="checkbox" id="solapasSobrecubierta" name="solapasSobrecubierta" value="0">
|
||||
<label class="form-check-label" for="solapasSobrecubierta">Solapas sobrecubierta</label>
|
||||
@ -409,7 +409,7 @@
|
||||
<div class="row sobrecubierta enable-sobrecubierta" style="display: none;">
|
||||
|
||||
<div class="col-sm-4 mb-md-0 mb-2">
|
||||
<label for="acabadosSobrecubierta" class="form-label">Acabados cubierta</label>
|
||||
<label for="acabadosSobrecubierta" class="form-label">Acabados sobrecubierta</label>
|
||||
<select id="acabadosSobrecubierta" name="acabadosSobrecubierta" class="form-control select2bs2 calcular-presupuesto" style="width: 100%;">
|
||||
<?php if (isset($datosPresupuesto->acabadosSobrecubierta) && is_array($datosPresupuesto->acabadosSobrecubierta) && !empty($datosPresupuesto->acabadosSobrecubierta)) :
|
||||
foreach ($datosPresupuesto->acabadosSobrecubierta as $acabado) : ?>
|
||||
@ -431,6 +431,10 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="errorGuardas" class="fv-plugins-message-container invalid-feedback" style="display: none;">
|
||||
<div>No existe combinación con las opciones seleccionadas. Pruebe con otro papel/gramaje</div>
|
||||
</div>
|
||||
|
||||
<div class="row guardas">
|
||||
<div class="col-sm-4 mb-md-0 mb-2">
|
||||
<label for="impresionGuardas" class="form-label">Impresión de guardas</label>
|
||||
|
||||
@ -637,6 +637,7 @@ async function calcularPresupuesto() {
|
||||
datos.guardas = {
|
||||
papel: $('#papelGuardas option:selected').val(),
|
||||
papel_nombre: $('#papelGuardas option:selected').text().trim(),
|
||||
gramaje: 170,
|
||||
caras: $('#impresionGuardas option:selected').val()
|
||||
}
|
||||
}
|
||||
@ -673,8 +674,19 @@ async function calcularPresupuesto() {
|
||||
$('#errorSobrecubierta').hide();
|
||||
|
||||
|
||||
if(response.errors.guardas.length > 0){
|
||||
$('#errorGuardas').show();
|
||||
error = true;
|
||||
}
|
||||
else
|
||||
$('#errorGuardas').hide();
|
||||
|
||||
if(response.errors.servicios.length > 0 || response.errors.serviciosDefecto.length > 0){
|
||||
error = true;
|
||||
$('#errorGeneral').show();
|
||||
}
|
||||
else{
|
||||
$('#errorGeneral').hide();
|
||||
}
|
||||
|
||||
console.log(response);
|
||||
|
||||
@ -61,6 +61,9 @@
|
||||
</button>
|
||||
</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>
|
||||
</div>
|
||||
|
||||
<table id="precios" class="table table-sm" style="display: none;">
|
||||
<caption>Precio/Unidad por tirada</caption>
|
||||
|
||||
@ -817,7 +817,7 @@
|
||||
/**
|
||||
* JJO
|
||||
*/
|
||||
--->
|
||||
|
||||
<li class="menu-header small text-uppercase">
|
||||
<span class="menu-header-text">Test JJO</span>
|
||||
</li>
|
||||
@ -827,6 +827,7 @@
|
||||
<div data-i18n="Test">Test</div>
|
||||
</a>
|
||||
</li>
|
||||
--->
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
Reference in New Issue
Block a user