From 184e4f3427db81195ddcb0e8592b119bbef90365 Mon Sep 17 00:00:00 2001 From: imnavajas Date: Tue, 26 Nov 2024 16:13:36 +0100 Subject: [PATCH 1/2] Actualizacion automatica: 2024-11-26 16:13:34 --- ci4/app/Controllers/Utiles.php | 344 +++++++++++++++++++++++++++++++++ 1 file changed, 344 insertions(+) create mode 100644 ci4/app/Controllers/Utiles.php diff --git a/ci4/app/Controllers/Utiles.php b/ci4/app/Controllers/Utiles.php new file mode 100644 index 00000000..63978404 --- /dev/null +++ b/ci4/app/Controllers/Utiles.php @@ -0,0 +1,344 @@ +asObject()->where('tarifa_encuadernacion_id', $teOrigen)->findAll(); + + foreach ($tarifasTiradas as $tarifasTirada) { + + echo "--->" . $tarifasTirada->id . "
"; + + $tarifasLineas = $tel_model->asObject()->where('tirada_encuadernacion_id', $tarifasTirada->id)->findAll(); + + // Prepare the data + unset($tarifasTirada->id); + $tarifasTirada->tarifa_encuadernacion_id = $teDestino; + $tarifasTirada->created_at = date('Y-m-d H:i:s'); + $tarifasTirada->updated_at = date('Y-m-d H:i:s'); + //var_dump($tarifasTirada); + + // Insert it + $tet_model->insert($tarifasTirada); + $inserted_id = $tet_model->insertID(); + + foreach ($tarifasLineas as $tarifasLinea) { + + echo "------>" . $tarifasLinea->id . "
"; + + // Prepare the data + unset($tarifasLinea->id); + $tarifasLinea->tirada_encuadernacion_id = $inserted_id; + $tarifasLinea->created_at = date('Y-m-d H:i:s'); + $tarifasLinea->updated_at = date('Y-m-d H:i:s'); + //var_dump($tarifasLinea); + + // Insert it + $tel_model->insert($tarifasLinea); + + } + } + + } + + + public function get_tarifas_encuadernacion() + { + // Llamar al modelo + $model = model('App\Models\Tarifas\TarifaEncuadernacionModel'); + + // Obtener todos los resultados + $results = $model->where(['is_deleted' => 0])->findAll(); + + // Iterar sobre cada entidad + echo '
';
+        foreach ($results as $result) {
+            // Cada $result es una instancia de una entidad
+            print_r($result->toArray());  // Convierte la entidad a un array para imprimir sus valores
+        }
+        echo '
'; + } + + public function get_tarifa_encuadernacion($tarifaEncuadernacionId) + { + // Llamar a los modelos + $modelTE = model('App\Models\Tarifas\TarifaEncuadernacionModel'); + $modelTELineas = model('App\Models\Tarifas\TarifaEncuadernacionLineaModel'); + $modelTELineasHoras = model('App\Models\Tarifas\TarifaEncuadernacionLineaHorasModel'); + $modelTETiradas = model('App\Models\Tarifas\TarifaEncuadernacionTiradaModel'); + + + // Obtener el registro principal de tarifa_encuadernacion + $tarifas_encuadernacion = $modelTE->where([ + 'id' => $tarifaEncuadernacionId, + 'is_deleted' => 0 + ])->findAll(); + + // Verificar si se encontró la tarifa + if (empty($tarifas_encuadernacion)) { + echo "No se encontraron datos para la tarifa de encuadernación con ID: $tarifaEncuadernacionId."; + return; + } + + // Imprimir la tarifa de encuadernación principal + echo "

---------------------- DATO TARIFA ENCUADERNACION ----------------------

"; + foreach ($tarifas_encuadernacion as $tarifa_encuadernacion) { + echo "ID Tarifa: " . $tarifa_encuadernacion->id . "
"; + echo "Nombre: " . $tarifa_encuadernacion->nombre . "
"; + echo "
"; + } + + // Obtener las tiradas asociadas a esta tarifa de encuadernación + $tarifas_encuadernacion_tiradas = $modelTETiradas->where([ + 'tarifa_encuadernacion_id' => $tarifaEncuadernacionId, + 'is_deleted' => 0 + ])->findAll(); + + // Verificar si existen tiradas para la tarifa de encuadernación + if (empty($tarifas_encuadernacion_tiradas)) { + echo "No hay tiradas asociadas a esta tarifa de encuadernación."; + return; + } + + // Imprimir las tiradas asociadas + echo "

---------------------- DATO TARIFA ENCUADERNACION (TIRADAS) -------------

"; + foreach ($tarifas_encuadernacion_tiradas as $tarifa_encuadernacion_tirada) { + echo "ID Tirada: " . $tarifa_encuadernacion_tirada->id . "
"; + echo "Tirada Min: " . $tarifa_encuadernacion_tirada->tirada_min . "
"; + echo "Tirada Max: " . $tarifa_encuadernacion_tirada->tirada_max . "
"; + + // Obtener las líneas asociadas a esta tirada + $tarifas_encuadernacion_lineas = $modelTELineas->where([ + 'tirada_encuadernacion_id' => $tarifa_encuadernacion_tirada->id, + 'is_deleted' => 0 + ])->findAll(); + + // Verificar si existen líneas asociadas a la tirada + if (empty($tarifas_encuadernacion_lineas)) { + echo "No hay líneas asociadas a esta tirada de encuadernación.
"; + } else { + // Imprimir las líneas asociadas + echo ""; + } + + // Obtener las líneas y horas asociadas a esta tirada + $tarifas_encuadernacion_lineas_horas = $modelTELineasHoras->where([ + 'tirada_encuadernacion_id' => $tarifa_encuadernacion_tirada->id, + 'is_deleted' => 0 + ])->findAll(); + + // Verificar si existen líneas y horas asociadas a la tirada + if (empty($tarifas_encuadernacion_lineas_horas)) { + echo "No hay líneas y horas asociadas a esta tirada de encuadernación.
"; + } else { + // Imprimir las líneas asociadas + echo ""; + } + + echo "
"; + } + + echo "

---------------------- FIN DE DATO TARIFA ENCUADERNACION ----------------------

"; + } + + public function delete_tarifa_encuadernacion($tarifaEncuadernacionId) + { + // Llamar a los modelos + $modelTE = model('App\Models\Tarifas\TarifaEncuadernacionModel'); + $modelTELineas = model('App\Models\Tarifas\TarifaEncuadernacionLineaModel'); + $modelTELineasHoras = model('App\Models\Tarifas\TarifaEncuadernacionLineaHorasModel'); + $modelTETiradas = model('App\Models\Tarifas\TarifaEncuadernacionTiradaModel'); + + // Obtener el registro principal de tarifa_encuadernacion + $tarifas_encuadernacion = $modelTE->where([ + 'id' => $tarifaEncuadernacionId, + 'is_deleted' => 0 + ])->findAll(); + + // Verificar si se encontró la tarifa + if (empty($tarifas_encuadernacion)) { + echo "No se encontró la tarifa de encuadernación con ID: $tarifaEncuadernacionId."; + return; + } + + // Iniciar eliminación de datos asociados + echo "Eliminando datos asociados a la tarifa de encuadernación ID: $tarifaEncuadernacionId...
"; + + // Eliminar las tiradas asociadas a la tarifa de encuadernación + $tarifas_encuadernacion_tiradas = $modelTETiradas->where([ + 'tarifa_encuadernacion_id' => $tarifaEncuadernacionId, + 'is_deleted' => 0 + ])->findAll(); + + if (!empty($tarifas_encuadernacion_tiradas)) { + foreach ($tarifas_encuadernacion_tiradas as $tarifa_encuadernacion_tirada) { + // Eliminar las líneas de horas asociadas a cada tirada + $tarifas_encuadernacion_lineas_horas = $modelTELineasHoras->where([ + 'tirada_encuadernacion_id' => $tarifa_encuadernacion_tirada->id, + 'is_deleted' => 0 + ])->findAll(); + + if (!empty($tarifas_encuadernacion_lineas_horas)) { + foreach ($tarifas_encuadernacion_lineas_horas as $tarifa_encuadernacion_linea_hora) { + $modelTELineasHoras->delete($tarifa_encuadernacion_linea_hora->id); // Eliminar la línea/hora + echo "Eliminando Línea/Hora ID: " . $tarifa_encuadernacion_linea_hora->id . "
"; + } + } + + // Eliminar las líneas asociadas a cada tirada + $tarifas_encuadernacion_lineas = $modelTELineas->where([ + 'tirada_encuadernacion_id' => $tarifa_encuadernacion_tirada->id, + 'is_deleted' => 0 + ])->findAll(); + + if (!empty($tarifas_encuadernacion_lineas)) { + foreach ($tarifas_encuadernacion_lineas as $tarifa_encuadernacion_linea) { + $modelTELineas->delete($tarifa_encuadernacion_linea->id); // Eliminar la línea + echo "Eliminando Línea ID: " . $tarifa_encuadernacion_linea->id . "
"; + } + } + + // Eliminar la tirada + $modelTETiradas->delete($tarifa_encuadernacion_tirada->id); // Eliminar la tirada + echo "Eliminando Tirada ID: " . $tarifa_encuadernacion_tirada->id . "
"; + } + } + + echo "Proceso de eliminación completado."; + } + + public function clone_tarifa_encuadernacion($origenId, $destinoId) + { + // Llamar a los modelos + $modelTETiradas = model('App\Models\Tarifas\TarifaEncuadernacionTiradaModel'); + $modelTELineas = model('App\Models\Tarifas\TarifaEncuadernacionLineaModel'); + $modelTELineasHoras = model('App\Models\Tarifas\TarifaEncuadernacionLineaHorasModel'); + + // 1. Eliminar el contenido asociado de la tarifa destino + $this->delete_tarifa_encuadernacion($destinoId); + + // 2. Obtener las tiradas asociadas a la tarifa origen + $tiradasOrigen = $modelTETiradas->where([ + 'tarifa_encuadernacion_id' => $origenId, + 'is_deleted' => 0 + ])->findAll(); + + foreach ($tiradasOrigen as $tiradaOrigen) { + // Crear un nuevo registro para la tirada en la tarifa destino + $nuevaTirada = [ + 'tarifa_encuadernacion_id' => $destinoId, + 'proveedor_id' => $tiradaOrigen->proveedor_id, + 'importe_fijo' => $tiradaOrigen->importe_fijo, + 'tirada_min' => $tiradaOrigen->tirada_min, + 'tirada_max' => $tiradaOrigen->tirada_max, + 'user_created_id' => auth()->id(), + 'is_deleted' => 0, + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s') + ]; + + $nuevaTiradaId = $modelTETiradas->insert($nuevaTirada); + + + + // 3. Clonar las líneas asociadas a esta tirada + $lineasOrigen = $modelTELineas->where([ + 'tirada_encuadernacion_id' => $tiradaOrigen->id, + 'is_deleted' => 0 + ])->findAll(); + + foreach ($lineasOrigen as $lineaOrigen) { + $nuevaLinea = [ + 'tirada_encuadernacion_id' => $nuevaTiradaId, + 'paginas_libro_min' => $lineaOrigen->paginas_libro_min, + 'paginas_libro_max' => $lineaOrigen->paginas_libro_max, + 'dimensiones_id' => $lineaOrigen->dimensiones_id, + 'precio_min' => $lineaOrigen->precio_min, + 'precio_max' => $lineaOrigen->precio_max, + 'tirada_min' => $lineaOrigen->tirada_min, + 'tirada_max' => $lineaOrigen->tirada_max, + 'total_min' => $lineaOrigen->total_min, + 'margen' => $lineaOrigen->margen, + 'user_created_id' => auth()->id(), + 'is_deleted' => 0, + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s') + ]; + + $modelTELineas->insert($nuevaLinea); + } + + // 4. Clonar las líneas y horas asociadas a esta tirada + $lineasHorasOrigen = $modelTELineasHoras->where([ + 'tirada_encuadernacion_id' => $tiradaOrigen->id, + 'is_deleted' => 0 + ])->findAll(); + + foreach ($lineasHorasOrigen as $lineaHoraOrigen) { + $nuevaLineaHora = [ + 'tirada_encuadernacion_id' => $nuevaTiradaId, + 'tiempo_min' => $lineaHoraOrigen->tiempo_min, + 'tiempo_max' => $lineaHoraOrigen->tiempo_max, + 'precio_hora' => $lineaHoraOrigen->precio_hora, + 'total_min' => $lineaHoraOrigen->total_min, + 'margen' => $lineaHoraOrigen->margen, + 'user_created_id' => auth()->id(), + 'is_deleted' => 0, + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s') + ]; + + $modelTELineasHoras->insert($nuevaLineaHora); + } + } + } + + + + + + +} From 325c0acd1d022f923f5b3d2a15f4b07ada4a34b5 Mon Sep 17 00:00:00 2001 From: imnavajas Date: Wed, 27 Nov 2024 09:10:21 +0100 Subject: [PATCH 2/2] Creado util para clonar tarifas de encuadernacion --- ci4/app/Controllers/Utiles.php | 148 ++++++++++++++------------------- 1 file changed, 62 insertions(+), 86 deletions(-) diff --git a/ci4/app/Controllers/Utiles.php b/ci4/app/Controllers/Utiles.php index 63978404..c44a0aa8 100644 --- a/ci4/app/Controllers/Utiles.php +++ b/ci4/app/Controllers/Utiles.php @@ -32,50 +32,6 @@ class Utiles extends BaseController } - private function clonar_tarifa_encuadernacion($teOrigen, $teDestino) - { - - $tet_model = model('App\Models\Tarifas\TarifaEncuadernacionTiradaModel'); - $tel_model = model('App\Models\Tarifas\TarifaEncuadernacionLineaModel'); - - $tarifasTiradas = $tet_model->asObject()->where('tarifa_encuadernacion_id', $teOrigen)->findAll(); - - foreach ($tarifasTiradas as $tarifasTirada) { - - echo "--->" . $tarifasTirada->id . "
"; - - $tarifasLineas = $tel_model->asObject()->where('tirada_encuadernacion_id', $tarifasTirada->id)->findAll(); - - // Prepare the data - unset($tarifasTirada->id); - $tarifasTirada->tarifa_encuadernacion_id = $teDestino; - $tarifasTirada->created_at = date('Y-m-d H:i:s'); - $tarifasTirada->updated_at = date('Y-m-d H:i:s'); - //var_dump($tarifasTirada); - - // Insert it - $tet_model->insert($tarifasTirada); - $inserted_id = $tet_model->insertID(); - - foreach ($tarifasLineas as $tarifasLinea) { - - echo "------>" . $tarifasLinea->id . "
"; - - // Prepare the data - unset($tarifasLinea->id); - $tarifasLinea->tirada_encuadernacion_id = $inserted_id; - $tarifasLinea->created_at = date('Y-m-d H:i:s'); - $tarifasLinea->updated_at = date('Y-m-d H:i:s'); - //var_dump($tarifasLinea); - - // Insert it - $tel_model->insert($tarifasLinea); - - } - } - - } - public function get_tarifas_encuadernacion() { @@ -224,7 +180,7 @@ class Utiles extends BaseController if (!empty($tarifas_encuadernacion_lineas_horas)) { foreach ($tarifas_encuadernacion_lineas_horas as $tarifa_encuadernacion_linea_hora) { $modelTELineasHoras->delete($tarifa_encuadernacion_linea_hora->id); // Eliminar la línea/hora - echo "Eliminando Línea/Hora ID: " . $tarifa_encuadernacion_linea_hora->id . "
"; + echo "===sk >-Eliminando Línea/Hora ID: " . $tarifa_encuadernacion_linea_hora->id . "
"; } } @@ -237,17 +193,17 @@ class Utiles extends BaseController if (!empty($tarifas_encuadernacion_lineas)) { foreach ($tarifas_encuadernacion_lineas as $tarifa_encuadernacion_linea) { $modelTELineas->delete($tarifa_encuadernacion_linea->id); // Eliminar la línea - echo "Eliminando Línea ID: " . $tarifa_encuadernacion_linea->id . "
"; + echo "===>-Eliminando Línea ID: " . $tarifa_encuadernacion_linea->id . "
"; } } // Eliminar la tirada $modelTETiradas->delete($tarifa_encuadernacion_tirada->id); // Eliminar la tirada - echo "Eliminando Tirada ID: " . $tarifa_encuadernacion_tirada->id . "
"; + echo "=>-Eliminando Tirada ID: " . $tarifa_encuadernacion_tirada->id . "
"; } } - echo "Proceso de eliminación completado."; + echo " *** Proceso de eliminación completado. ***

"; } public function clone_tarifa_encuadernacion($origenId, $destinoId) @@ -269,20 +225,24 @@ class Utiles extends BaseController foreach ($tiradasOrigen as $tiradaOrigen) { // Crear un nuevo registro para la tirada en la tarifa destino $nuevaTirada = [ - 'tarifa_encuadernacion_id' => $destinoId, - 'proveedor_id' => $tiradaOrigen->proveedor_id, - 'importe_fijo' => $tiradaOrigen->importe_fijo, - 'tirada_min' => $tiradaOrigen->tirada_min, - 'tirada_max' => $tiradaOrigen->tirada_max, - 'user_created_id' => auth()->id(), - 'is_deleted' => 0, - 'created_at' => date('Y-m-d H:i:s'), - 'updated_at' => date('Y-m-d H:i:s') + 'tarifa_encuadernacion_id' => (int) $destinoId, + 'proveedor_id' => (int) $tiradaOrigen->proveedor_id, + 'importe_fijo' => (float) $tiradaOrigen->importe_fijo, + 'tirada_min' => (int) $tiradaOrigen->tirada_min, + 'tirada_max' => (int) $tiradaOrigen->tirada_max, + 'user_created_id' => (int) auth()->id(), + 'is_deleted' => 0 ]; - $nuevaTiradaId = $modelTETiradas->insert($nuevaTirada); - - + try { + $nuevaTiradaId = $modelTETiradas->insert($nuevaTirada); + if (!$nuevaTiradaId) { + throw new \Exception("Error al insertar el registro."); + } + echo "
==>+Tirada creada con ID: " . $nuevaTiradaId; + } catch (\Exception $e) { + echo "Error: " . $e->getMessage(); + } // 3. Clonar las líneas asociadas a esta tirada $lineasOrigen = $modelTELineas->where([ @@ -292,23 +252,30 @@ class Utiles extends BaseController foreach ($lineasOrigen as $lineaOrigen) { $nuevaLinea = [ - 'tirada_encuadernacion_id' => $nuevaTiradaId, - 'paginas_libro_min' => $lineaOrigen->paginas_libro_min, - 'paginas_libro_max' => $lineaOrigen->paginas_libro_max, - 'dimensiones_id' => $lineaOrigen->dimensiones_id, - 'precio_min' => $lineaOrigen->precio_min, - 'precio_max' => $lineaOrigen->precio_max, - 'tirada_min' => $lineaOrigen->tirada_min, - 'tirada_max' => $lineaOrigen->tirada_max, - 'total_min' => $lineaOrigen->total_min, - 'margen' => $lineaOrigen->margen, - 'user_created_id' => auth()->id(), - 'is_deleted' => 0, - 'created_at' => date('Y-m-d H:i:s'), - 'updated_at' => date('Y-m-d H:i:s') + 'tirada_encuadernacion_id' => (int) $nuevaTiradaId, + 'paginas_libro_min' => (float) $lineaOrigen->paginas_libro_min, + 'paginas_libro_max' => (float) $lineaOrigen->paginas_libro_max, + 'dimensiones_id' => (int) $lineaOrigen->dimensiones_id, + 'precio_min' => (float) $lineaOrigen->precio_min, + 'precio_max' => (float) $lineaOrigen->precio_max, + 'tirada_min' => (float) $lineaOrigen->tirada_min, + 'tirada_max' => (float) $lineaOrigen->tirada_max, + 'total_min' => (float) $lineaOrigen->total_min, + 'margen' => (float) $lineaOrigen->margen, + 'user_created_id' => (int) auth()->id(), + 'is_deleted' => 0 ]; - $modelTELineas->insert($nuevaLinea); + try { + $nuevaLineaId = $modelTELineas->insert($nuevaLinea); + if (!$nuevaLineaId) { + throw new \Exception("Error al insertar el registro."); + } + echo "
====>+Linea creada con ID: " . $nuevaLineaId; + } catch (\Exception $e) { + echo "Error: " . $e->getMessage(); + } + } // 4. Clonar las líneas y horas asociadas a esta tirada @@ -319,21 +286,30 @@ class Utiles extends BaseController foreach ($lineasHorasOrigen as $lineaHoraOrigen) { $nuevaLineaHora = [ - 'tirada_encuadernacion_id' => $nuevaTiradaId, - 'tiempo_min' => $lineaHoraOrigen->tiempo_min, - 'tiempo_max' => $lineaHoraOrigen->tiempo_max, - 'precio_hora' => $lineaHoraOrigen->precio_hora, - 'total_min' => $lineaHoraOrigen->total_min, - 'margen' => $lineaHoraOrigen->margen, - 'user_created_id' => auth()->id(), - 'is_deleted' => 0, - 'created_at' => date('Y-m-d H:i:s'), - 'updated_at' => date('Y-m-d H:i:s') + 'tirada_encuadernacion_id' => (int) $nuevaTiradaId, + 'tiempo_min' => (float) $lineaHoraOrigen->tiempo_min, + 'tiempo_max' => (float) $lineaHoraOrigen->tiempo_max, + 'precio_hora' => (float) $lineaHoraOrigen->precio_hora, + 'total_min' => (float) $lineaHoraOrigen->total_min, + 'margen' => (float) $lineaHoraOrigen->margen, + 'user_created_id' => (int) auth()->id(), + 'is_deleted' => 0 ]; - $modelTELineasHoras->insert($nuevaLineaHora); + try { + $nuevaLineaHoraId = $modelTELineasHoras->insert($nuevaLineaHora); + if (!$nuevaLineaHoraId) { + throw new \Exception("Error al insertar el registro."); + } + echo "
====>+Linea/Hora creado con ID: " . $nuevaLineaHoraId; + } catch (\Exception $e) { + echo "Error: " . $e->getMessage(); + } + } } + + echo "
*** Proceso de clonacion completado. ***

"; }