/**
  *
  * @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'));
 }