protected function execute(InputInterface $input, OutputInterface $output) { $desde = (int) $input->getArgument('desde'); $output->writeln('Importando personas...'); $cantidad = 100; $progress = null; $importador = new ImportadorPersonas($this->getContainer(), $this->getContainer()->get('doctrine')->getManager()); $importador->Inicializar(); $progress = new ProgressBar($output, $importador->ObtenerCantidadTotal()); $progress->start(); $ResultadoFinal = new ResultadoImportacion($importador); while (true) { $resultado = $importador->Importar($desde, $cantidad); $ResultadoFinal->AgregarContadoresLote($resultado); $progress->setProgress($resultado->PosicionCursor()); if (!$resultado->HayMasRegistros()) { break; } $desde += $cantidad; } $progress->finish(); $output->writeln(''); $output->writeln(' Se importaron ' . $ResultadoFinal->RegistrosNuevos . ' registros nuevos.'); $output->writeln(' Se actualizaron ' . $ResultadoFinal->RegistrosActualizados . ' registros.'); $output->writeln(' Se ignoraron ' . $ResultadoFinal->RegistrosIgnorados . ' registros.'); $output->writeln('Importación finalizada, se procesaron ' . $ResultadoFinal->TotalRegistrosProcesados() . ' registros.'); }
/** * @Route("personas/") * @Template("YacareMunirgBundle:Importar:importar.html.twig") */ public function importarPersonasAction(Request $request) { $iniciar = (int) $request->query->get('iniciar'); if ($iniciar) { $desde = (int) $request->query->get('desde'); $cantidad = 100; $importador = new ImportadorPersonas($this->container, $this->getDoctrine()->getManager()); $importador->Inicializar(); $resultado = $importador->Importar($desde, $cantidad); return $this->ArrastrarVariables($request, array('importando' => 'personas', 'url' => 'importarpersonas', 'resultado' => $resultado, 'cantidad' => $cantidad)); } else { return $this->ArrastrarVariables($request, array('importando' => 'personas', 'url' => 'importarpersonas')); } }