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