funcionalidad completa de ferro prototipo en cliente a excepción de guardar los checks de usar la misma dirección

This commit is contained in:
2025-06-28 18:15:49 +02:00
parent 4e2003b8b8
commit 47eafa75ec
6 changed files with 129 additions and 47 deletions

View File

@ -1561,11 +1561,11 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
}
if (count($direccionesFP1) > 0) {
$this->guardarLineaEnvio($id, $direccionesFP1, $peso_libro, true);
$this->guardarLineaEnvio($id, $direccionesFP1, $peso_libro, true, true, 1);
}
if (count($direccionesFP2) > 0) {
$this->guardarLineaEnvio($id, $direccionesFP2, $peso_libro, true);
$this->guardarLineaEnvio($id, $direccionesFP2, $peso_libro, true, true, 2);
}
if ($confirmar) {
@ -1708,6 +1708,11 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$data['direcciones'] = $this->obtenerDireccionesEnvio($id);
}
$direccionesFerroPrototipo = $this->obtenerDireccionesEnvioFerro($id);
if($direccionesFerroPrototipo && count($direccionesFerroPrototipo) > 0) {
$data['direccionesFerroPrototipo'] = $direccionesFerroPrototipo;
}
if (intval($presupuesto->estado_id) == 2) {
$data['resumen']['base'] = $presupuesto->total_antes_descuento;
$data['resumen']['total_envio'] = round(
@ -1871,7 +1876,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
}
protected function guardarLineaEnvio($presupuestoId, $direccion, $peso_libro, $coste_cero = false)
protected function guardarLineaEnvio($presupuestoId, $direccion, $peso_libro, $coste_cero = false, $is_ferro_prototipo = false, $num_ferro_prototipo = 0)
{
$unidades = intval($direccion['unidades']);
@ -1893,6 +1898,10 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
unset($data->id);
if($coste_cero) {
$data->coste = 0;
if($is_ferro_prototipo){
$data->is_ferro_prototipo = 1;
$data->num_ferro_prototipo = $num_ferro_prototipo;
}
} else {
$data->precio = $data->coste;
}
@ -3426,7 +3435,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
{
$model = model('App\Models\Presupuestos\PresupuestoDireccionesModel');
$direcciones = $model->where('presupuesto_id', $id)
->where('is_ferro_prototipo', 0)->asArray()->findAll();
->where('is_ferro_prototipo', 1)->get()->getResultArray();
return $direcciones;
}

View File

@ -435,6 +435,9 @@ return [
'paginas_multiplo_4' => 'El número total de páginas para <b>cosido</b> y <b>grapado</b> debe ser múltiplo de 4',
'paginas_pares' => 'El número de páginas debe ser par',
'extras_cubierta' => 'Rellene todos los campos',
'error_sameAddPrincipal_FP' => 'Debe añadir al menos una dirección en el envío para usarla',
'error_sameAddFP1' => 'Debe añadir al menos una dirección en el envío del primer ferro para usarla.'
],
'errores' => [

View File

@ -68,6 +68,9 @@
</div>
</div>
<div id="sk-alert-ferro-prototipo1">
</div>
<div id="direccionesFerroPrototipo" class="row col-sm-12 mb-5 justify-content-center d-none">
<div class="col-sm-8 mb-3 d-flex flex-column align-items-center">
<h3 class="mb-1 fw-bold"> Dirección de envío ferro/prototipo</h3>
@ -101,11 +104,14 @@
</div>
<div id="divDireccionesFerroPrototipo"
class="calcular-presupuesto col-sm-12 d-flex flex-column align-items-center div-direcciones-ferro-prototipo">
class="col-sm-12 d-flex flex-column align-items-center div-direcciones-ferro-prototipo">
</div>
</div>
<div id="sk-alert-ferro-prototipo2">
</div>
<div id="direccionesFerroPrototipo2" class="row col-sm-12 mb-5 justify-content-center d-none">
<div class="col-sm-8 mb-3 d-flex flex-column align-items-center">
<h3 class="mb-1 fw-bold"> Dirección de envío ferro/prototipo 2</h3>
@ -146,7 +152,7 @@
</div>
<div id="divDireccionesFerroPrototipo2"
class="calcular-presupuesto col-sm-12 d-flex flex-column align-items-center div-direcciones-ferro-prototipo">
class="col-sm-12 d-flex flex-column align-items-center div-direcciones-ferro-prototipo">
</div>
</div>