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); + } + } + } + + + + + + +}