diff --git a/ci4/app/Controllers/Presupuestos/Presupuestoadmin.php b/ci4/app/Controllers/Presupuestos/Presupuestoadmin.php index 11a5668f..22b29d04 100755 --- a/ci4/app/Controllers/Presupuestos/Presupuestoadmin.php +++ b/ci4/app/Controllers/Presupuestos/Presupuestoadmin.php @@ -448,7 +448,9 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController 'retractilado' => model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_retractilado')->value, 'retractilado5' => model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_retractilado5')->value, 'ferro' => model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_ferro')->value, + 'ferro_2' => model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_ferro_2')->value, 'prototipo' => model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_prototipo')->value, + 'prototipo_2' => model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_prototipo_2')->value, 'solapas_grandes_cubierta' => model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_plegado_exceso_solapas_cubierta')->value, 'solapas_grandes_sobrecubierta' => model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_plegado_exceso_solapas_sobrecubierta')->value, 'solapas_grandes_faja' => model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_plegado_exceso_solapas_faja')->value, @@ -565,7 +567,6 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController $modelCliente = new ClienteModel(); $modelPapelGenerico = new PapelGenericoModel(); - $presupuesto = $this->model->find($id); $data = []; if ($presupuesto) { @@ -630,7 +631,9 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController $data['datosLibro']['acabadoFaja']['text'] = $modelAcabado->find($presupuesto->acabado_faja_id)->nombre; } $data['datosLibro']['prototipo'] = $presupuesto->prototipo; + $data['datosLibro']['prototipo2'] = $this->hasPrototipo2($id); $data['datosLibro']['ferro'] = $presupuesto->ferro; + $data['datosLibro']['ferro2'] = $this->hasFerro2($id); $data['datosLibro']['ferroDigital'] = $presupuesto->ferro_digital; $data['datosLibro']['marcapaginas'] = $presupuesto->marcapaginas; $data['datosLibro']['retractilado'] = $presupuesto->retractilado; @@ -659,6 +662,21 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController $data['direcciones'] = $this->obtenerDireccionesEnvio($id, $presupuesto->cliente_id); } + $data['direccionesFP'] = []; + $direccionFP1 = $this->obtenerDireccionesEnvio($id, $presupuesto->cliente_id, true, 1); + if(count($direccionFP1) > 0){ + $data['direccionesFP']['fp1'] = $direccionFP1; + } else { + $data['direccionesFP']['fp1'] = []; + } + $direccionFP2 = $this->obtenerDireccionesEnvio($id, $presupuesto->cliente_id, true, 2); + if(count($direccionFP2) > 0){ + $data['direccionesFP']['fp2'] = $direccionFP2; + } else { + $data['direccionesFP']['fp2'] = []; + } + $data['direccionesFP']['checkboxes'] = json_decode($presupuesto->getDireccionFPChecks()); + $data['comentarios_cliente'] = $presupuesto->comentarios_cliente; $data['comentarios_safekat'] = $presupuesto->comentarios_safekat; $data['comentarios_pdf'] = $presupuesto->comentarios_pdf; @@ -1951,7 +1969,7 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController return PresupuestoService::checkLineasEnvios($direccionesEnvio); } - protected function obtenerDireccionesEnvio($id, $cliente_id) + protected function obtenerDireccionesEnvio($id, $cliente_id, $is_fp = false, $num_fp = 0) { $model = model('App\Models\Presupuestos\PresupuestoDireccionesModel'); $model_direcciones = model('App\Models\Clientes\ClienteDireccionesModel'); @@ -1959,10 +1977,38 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController ->join('lg_proveedores', 'presupuesto_direcciones.proveedor_id = lg_proveedores.id') ->join('lg_paises', 'presupuesto_direcciones.pais_id = lg_paises.id') ->select('presupuesto_direcciones.*, lg_proveedores.nombre AS proveedor, lg_paises.nombre AS pais') - ->where('presupuesto_id', $id)->findAll(); + ->where('presupuesto_id', $id) + ->where('is_ferro_prototipo', $is_fp); + if ($is_fp) { + $direcciones = $direcciones + ->where('num_ferro_prototipo', $num_fp); + } - return $direcciones; + + return $direcciones->findAll(); } + protected function hasPrototipo2($presupuestoId){ + $servicios = (new PresupuestoServiciosExtraModel())->getResource($presupuestoId)->get()->getResultObject(); + $id_servicio = model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_prototipo_2')->value; + foreach ($servicios as $servicio) { + if ($servicio->tarifa_extra_id == $id_servicio) { + return true; + } + } + return false; + } + + protected function hasFerro2($presupuestoId) + { + $servicios = (new PresupuestoServiciosExtraModel())->getResource($presupuestoId)->get()->getResultObject(); + $id_servicio = model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_ferro_2')->value; + foreach ($servicios as $servicio) { + if ($servicio->tarifa_extra_id == $id_servicio) { + return true; + } + } + return false; + } } diff --git a/ci4/app/Controllers/Presupuestos/Presupuestodirecciones.php b/ci4/app/Controllers/Presupuestos/Presupuestodirecciones.php index 93f9b848..fb348542 100755 --- a/ci4/app/Controllers/Presupuestos/Presupuestodirecciones.php +++ b/ci4/app/Controllers/Presupuestos/Presupuestodirecciones.php @@ -55,6 +55,7 @@ class Presupuestodirecciones extends \App\Controllers\BaseResourceController $proveedor_id = $reqData['proveedor_id'] ?? ""; $entregaPieCalle = $reqData['entregaPieCalle'] ?? 0; $is_ferro_prototipo = $reqData['is_ferro_prototipo'] ?? 0; + $num_ferro_prototipo = $reqData['num_ferro_prototipo'] ?? 0; $data = [ "presupuesto_id" => $presupuesto_id, @@ -74,7 +75,8 @@ class Presupuestodirecciones extends \App\Controllers\BaseResourceController "proveedor" => $proveedor, "proveedor_id" => $proveedor_id, "entregaPieCalle" => $entregaPieCalle, - "is_ferro_prototipo" => $is_ferro_prototipo + "is_ferro_prototipo" => $is_ferro_prototipo, + "num_ferro_prototipo" => $num_ferro_prototipo ]; $response = $this->model->insert($data); diff --git a/ci4/app/Database/Migrations/2025-07-04-090000_FerroPrototipo2.php b/ci4/app/Database/Migrations/2025-07-04-090000_FerroPrototipo2.php new file mode 100644 index 00000000..ee46d797 --- /dev/null +++ b/ci4/app/Database/Migrations/2025-07-04-090000_FerroPrototipo2.php @@ -0,0 +1,33 @@ +db->table('config_variables_app')->insert([ + 'name' => 'id_servicio_ferro_2', + 'value' => '31', + 'description' => 'D del servicio extra "ferro (2 unidades)" que aparece en los presupuestos', + 'created_at' => date('Y-m-d H:i:s') + ]); + + $this->db->table('config_variables_app')->insert([ + 'name' => 'id_servicio_prototipo_2', + 'value' => '28', + 'description' => 'D del servicio extra "Prototipo (2 unidades)" que aparece en los presupuestos', + 'created_at' => date('Y-m-d H:i:s') + ]); + } + + public function down() + { + // Borrar los nuevos campos + $this->db->table('config_variables_app')->whereIn('name', [ + 'id_servicio_ferro_2', + 'id_servicio_prototipo_2' + ])->delete(); + } +} diff --git a/ci4/app/Language/es/Presupuestos.php b/ci4/app/Language/es/Presupuestos.php index 5a76511d..90c4d4b1 100755 --- a/ci4/app/Language/es/Presupuestos.php +++ b/ci4/app/Language/es/Presupuestos.php @@ -80,8 +80,10 @@ return [ 'acabadoFaja' => 'Acabado Faja', 'cosido' => 'Cosido', 'ferro' => 'Ferro', + 'ferro_2' => 'Ferro (2 uds.)', 'ferroDigital' => 'Ferro Digital', 'prototipo' => 'Prototipo', + 'prototipo_2' => 'Prototipo (2 uds.)', 'imagenesBnInterior' => 'Imágenes B/N interior', 'recogerEnTaller' => 'Recoger en taller', 'marcapaginas' => 'Marcapáginas', diff --git a/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_datosEnvios.php b/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_datosEnvios.php index 63246a7a..1529f8fb 100755 --- a/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_datosEnvios.php +++ b/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_datosEnvios.php @@ -1,68 +1,207 @@

-

-
+
-
- -
-
- - +
+
+ +
+
+ + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
TARIFA IDpais_idProveedor_idPallets? + +
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - -
TARIFA IDpais_idProveedor_idPallets?
-
- -
-
- recoger_en_taller == true ? 'checked' : ''; ?> > - +
+
+ recoger_en_taller == true ? 'checked' : ''; ?>> + +
-
-
-
- +
+
+ +
-
+ +
+ +
+
+
+
+ Dirección de envío ferro/prototipo +
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
TARIFA IDpais_idProveedor_idPallets? + +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+ +
+ +
+
+
+
+ Dirección de envío ferro/prototipo 2 +
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
TARIFA IDpais_idProveedor_idPallets? + +
+
+ +
+
+ + +
+
+ + +
+
+ +
+
+ +
+
+ +
-
- +
\ No newline at end of file diff --git a/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_datosLibroItems.php b/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_datosLibroItems.php index e481ca95..76c7a106 100755 --- a/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_datosLibroItems.php +++ b/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_datosLibroItems.php @@ -303,11 +303,20 @@
-
- -
+
+
+
+ +
+
+
@@ -326,6 +335,18 @@ +
+
+
+ +
+
+
+
diff --git a/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_presupuestoDireccionesForm.php b/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_presupuestoDireccionesForm.php index 14d190a1..2a688713 100755 --- a/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_presupuestoDireccionesForm.php +++ b/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_presupuestoDireccionesForm.php @@ -1,4 +1,4 @@ -