/** * * @param boolean $validar default en true Esta variable es para que no me haga el checkeo de totales al inicio y al final * @param integer $cantDeFondosDelExcel default en 0. Indica el numero de registros que hay en el excel original * @param integer $cantRegistros, default en 0 para que traiga todos. Es el LIMIT que quiero ponerle al traerme registros para procesar * @param boolean $eliminarArchivosDeFondoYLineas default en true. Si esta en true me elimina los registros que haya en fondos y fondos_lineas_de_acciones * @return <type> */ function migrator($validar = 1, $cantDeFondosDelExcel = 0, $cantRegistros = 0, $eliminarArchivosDeFondoYLineas = 1) { // solo migro por defecto instits y jurisdiccionales // y no me importa si estan chekeados o no $cosasAmigrar = 'ij'; if ($validar == 2) { $cosasAmigrar = 'ijc'; } if ($validar == 1) { $tempsComprobacion = $this->ZFondoWork->temporalesFiltradosX('ijc', $cantRegistros, $eliminarArchivosDeFondoYLineas); $totTemps = count($tempsComprobacion); if ($totTemps != $cantDeFondosDelExcel || $cantDeFondosDelExcel == 0) { $this->set('msg', ''); $this->set('msg_type', ''); $this->set('msg_check', "hay solo {$totTemps} registros en z_fondo_work, cuando en el excel hay {$cantDeFondosDelExcel}."); $this->set('msg_check_type', 'error'); return; } // generalmente si quiero validar es porque estoy realizando // la migracion definitiva // en ese caso quiero aegurarme que tanto las instituciones // como los jurisdiccionales // esten checkeados ya sea su CUE o sus TOTALES $cosasAmigrar = 'ijc'; } $iMi = $this->ZFondoWork->migrar($cosasAmigrar, $cantRegistros, $eliminarArchivosDeFondoYLineas); switch ($iMi) { case -1: $msg = "La migración finalizó correctamente: " . implode(', ', $this->ZFondoWork->migrationStatus); $msg_type = "notice"; break; case $iMi > 0: $msg = "La migración finalizó correctamente: " . implode(', ', $this->ZFondoWork->migrationStatus); $msg_type = "success"; break; case $iMi < 1: $msg = "La migración resultó con ERRORES: " . implode(', ', $this->ZFondoWork->migrationStatus); $msg_type = "error"; break; } $msg_check = ''; $msg_check_type = ''; $pasoOk = $this->ZFondoWork->checkCantRegistrosFondoConExcel($cantDeFondosDelExcel); if ($pasoOk != 0) { $msg_check = "[{$pasoOk} registros en el excel)]. No se migraron todos los registros que hay en el excel original."; $msg_check_type = 'error'; } $this->set('msg', $msg); $this->set('msg_type', $msg_type); $this->set('msg_check', $msg_check); $this->set('msg_check_type', $msg_check_type); }
function testMigrar() { $this->ZFondoWork->Fondo =& ClassRegistry::init('Fondo'); // Se elimina lo que esta en el fixture $this->ZFondoWork->Fondo->del(1); $this->ZFondoWork->Fondo->del(2); // asegurarse que no queda ningun registro $this->assertEqual(0, $this->ZFondoWork->Fondo->find('count')); // ciorro la migracion para instituciones y jurisdiccionales checkeados $resu = $this->ZFondoWork->migrar('ijc', 0, true); $this->assertTrue($resu > 0); // esto asegura que no hubo error $this->assertEqual(1, $resu); // hay 1 registro $this->assertEqual(2, $this->ZFondoWork->Fondo->FondosLineasDeAccion->find('count')); $this->assertEqual(1, $this->ZFondoWork->Fondo->find('count')); // Se elimina lo que esta en el fixture $this->ZFondoWork->Fondo->del(1); // corro la migracion para instituciones y jurisdiccionales sin importar si estan o no checkeados $resu = $this->ZFondoWork->migrar('ij', 0, true); $this->assertEqual(3, $resu); $this->assertEqual(3, $this->ZFondoWork->Fondo->find('count')); $this->assertEqual(5, $this->ZFondoWork->Fondo->FondosLineasDeAccion->find('count')); }