From fc94fcc55e8717b460efc9c4017c63abcf32c90b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaime=20Jim=C3=A9nez?= Date: Thu, 26 Dec 2024 09:54:42 +0100 Subject: [PATCH] arreglado incluir servicios manipulado defecto --- .../Presupuestos/Presupuestocliente.php | 48 +++++++++++++++++-- .../Services/PresupuestoClienteService.php | 10 ++-- 2 files changed, 49 insertions(+), 9 deletions(-) diff --git a/ci4/app/Controllers/Presupuestos/Presupuestocliente.php b/ci4/app/Controllers/Presupuestos/Presupuestocliente.php index f0c688c7..fe1fa816 100755 --- a/ci4/app/Controllers/Presupuestos/Presupuestocliente.php +++ b/ci4/app/Controllers/Presupuestos/Presupuestocliente.php @@ -997,9 +997,12 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController } } - foreach ($resultado_presupuesto['info']['serviciosDefecto'] as $servicio) { + foreach ($resultado_presupuesto['info']['serviciosDefecto']['encuadernacion'] as $servicio) { $this->guardarServicio($id, $servicio, 'encuadernacion'); } + foreach ($resultado_presupuesto['info']['serviciosDefecto']['manipulado'] as $servicio) { + $this->guardarServicio($id, $servicio, 'manipulado'); + } foreach ($resultado_presupuesto['info']['servicios_automaticos'] as $servicio) { if ($servicio->tarifa_id == 3 || $servicio->tarifa_id == 5 || $servicio->tarifa_id == 16) { // Servicios acabado @@ -1894,7 +1897,8 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController } // Servicios defecto - $servDefecto = PresupuestoCLienteService::getServiciosEncuadernacionDefault([ + $costeServiciosDefecto = 0.0; + $servDefectoEnc = PresupuestoCLienteService::getServiciosEncuadernacionDefault([ 'tipo_impresion_id' => $tipo_impresion_id, 'tirada' => $datosPedido->tirada, 'paginas' => intval($paginas) ?? 0, @@ -1905,10 +1909,43 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController 'paginasCuadernillo' => $paginasCuadernillo, ]); + + foreach ($servDefectoEnc as $servicio) { + if ($servicio->total <= 0) { + + $input_data['servicios'] = $servDefecto; + $errorModel = new ErrorPresupuesto(); + $errorModel->insertError( + $datos_entrada['id'], + auth()->user()->id, + 'No se puede obtener servicios', + $input_data + ); + $return_data = [ + 'errors' => (object) ([ + 'status' => 1 + ]), + ]; + return $return_data; + } - $costeServiciosDefecto = 0.0; - foreach ($servDefecto as $servicio) { + $costeServiciosDefecto += floatval($servicio->total); + if ($extra_info) { + $totalServicios += floatval($servicio->total); + $margenServicios += floatval($servicio->total) * floatval($servicio->margen) / 100.0; + } + } + + $servDefectoMan = PresupuestoCLienteService::getServiciosManipuladoDefault([ + 'tipo_impresion_id' => $tipo_impresion_id, + 'tirada' => $datosPedido->tirada, + 'POD' => $POD, + 'solapas' => intval($solapasCubierta) > 0 ? 1 : 0, + ]); + + + foreach ($servDefectoMan as $servicio) { if ($servicio->total <= 0) { $input_data['servicios'] = $servDefecto; @@ -2116,7 +2153,8 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController $return_data['info']['cubierta'] = $cubierta; $return_data['info']['sobrecubierta'] = $linea_sobrecubierta; $return_data['info']['guardas'] = $guardas; - $return_data['info']['serviciosDefecto'] = $servDefecto; + $return_data['info']['serviciosDefecto']['encuadernacion'] = $servDefectoEnc; + $return_data['info']['serviciosDefecto']['manipulado'] = $servDefectoMan; $return_data['info']['servicios_automaticos'] = $serviciosAutomaticos; } } diff --git a/ci4/app/Services/PresupuestoClienteService.php b/ci4/app/Services/PresupuestoClienteService.php index d066937d..2868f4bf 100644 --- a/ci4/app/Services/PresupuestoClienteService.php +++ b/ci4/app/Services/PresupuestoClienteService.php @@ -419,12 +419,14 @@ class PresupuestoClienteService extends BaseService public static function getServiciosManipuladoDefault($data) { + $tipo_impresion_id = $data['tipo_impresion_id'] ?? -1; $tirada = $data['tirada'] ?? -1; - $anchoDesarrollo = $data['anchoDesarrollo'] ?? -1; + $POD = $data['POD'] ?? -1; + $solapas = $data['solapas'] ?? -1; - /*$model = model('App\Models\Presupuestos\PresupuestoEncuadernacionesModel'); - $values = $model->initPresupuesto($tipo_impresion_id, $solapas, $tirada, $paginas, $ancho, $alto, $POD, $paginasCuadernillo);*/ - //return $values; + $model = model('App\Models\Presupuestos\PresupuestoManipuladosModel'); + $values = $model->initPresupuesto($tipo_impresion_id, $solapas, $tirada, $POD); + return $values; } public static function getServiciosManipulado($data)