/**
  * Calcula y recupera las ids de los pinchos finalistas
  *
  *
  * @param $numero numero de pinchos que pasan a la final
  * @throws PDOException si existe un error con la base de datos
  * @return $idPinchos array con las ids de los pinchos que pasan a la final
  *
  */
 public function calcularFinalistas($numero)
 {
     $pinchoMap = new Pinchomapper();
     $concursoMap = new Concursomapper();
     $stmt = $this->db->prepare("SELECT idpincho FROM pincho");
     $stmt->execute();
     $idPinchosRecuperados = $stmt->fetchAll();
     $notasVotacionProfesional = array();
     $totalVotacionPopular = array();
     $idsPincho = array();
     $arrayGlobal = array(array());
     $x = 0;
     foreach ($idPinchosRecuperados as $idPincho) {
         $notasVotacionProfesiona[$x] = $pinchoMap->recuperarNotaMedia($idPincho[0]) * 100;
         $totalVotacionPopular[$x] = $pinchoMap->recuperarTotalVotosPopulares($idPincho[0]);
         $idsPincho[$x] = $idPincho[0];
         $arrayGlobal[$x] = array('vp' => $notasVotacionProfesiona[$x], 'po' => $totalVotacionPopular[$x], 'id' => $idsPincho[$x]);
         $x++;
     }
     $x--;
     $numeroTotalPinchos = $x;
     $pinchosADevolver = $numeroTotalPinchos - $numero;
     $arrayGlobal = $pinchoMap->msort($arrayGlobal, array('vp', 'po', 'id'));
     $idPinchos = array();
     for (; $x > $pinchosADevolver; $x--) {
         $idPinchos[$x] = $arrayGlobal[$x]['id'];
         $pinchoMap->establecerFinalista($arrayGlobal[$x]['id']);
     }
     $concursoMap->faseFinal(1);
     return $idPinchos;
 }