Beispiel #1
0
 public static function calcularmillon($resultadosParciales)
 {
     $resultados = Test::cargarResultadosExcel($resultadosParciales);
     $aspirante = $resultadosParciales[0]->getAspirantes();
     //        $aspirante = new Aspirantes();
     $edad = $aspirante->getEdad();
     $sexo = $aspirante->getSexo();
     $datos = array("G12" => $sexo, "G14" => $edad);
     $idAspirante = $aspirante->getId();
     $resultado = ResultadosPeer::getResultado($resultadosParciales[0]->getPruebas()->getId(), $aspirante->getId());
     $resultadoMillon = test::procesarMillon($resultados, $datos, $idAspirante);
     // esto me devuelve un arreglo con las escalas y sus valores
     $aprobado = true;
     // inicializo un marcador de aprobacion del test
     //        var_dump($resultadoMillon); die();
     foreach ($resultadoMillon as $escala => $valor) {
         // Busco en la base de datos la escala correspondiente por nombre
         $criteria = new Criteria();
         $criteria->add(EscalasPeer::NOMBRE, $escala);
         $Escala = EscalasPeer::doSelectOne($criteria);
         // Creo el Resultadosescalas
         $result = new Resultadosescalas();
         $result->setEscalas($Escala);
         // le seteo la Escala
         $result->setValor($valor);
         // le seteo el valor
         $result->setResultados($resultado);
         // la asocio a el resultado general del test
         $result->save();
         // lo guardo
         if ($escala == "V" and $valor != 0) {
             // si saca algo distito a 0(cero) en la escala de validez, queda afuera
             $aprobado = false;
         }
         if ($escala != "V" and $valor > 70) {
             // si saca mas de 70 en cualquier otra escala, queda afuera
             $aprobado = false;
         }
     }
     // segun aprobado le sereo el estado del resultado Aprobacion o NO
     $resultado->setEstadosresultadosId($aprobado == true ? 1 : 2);
     // TODO: manopleado??
     $resultado->save();
     // guardo el resultado
     // no me quedaria nada mas por hacer ya estaria todo guardado.
 }
 /**
  * Adds an object to the instance pool.
  *
  * Propel keeps cached copies of objects in an instance pool when they are retrieved
  * from the database.  In some cases -- especially when you override doSelect*()
  * methods in your stub classes -- you may need to explicitly add objects
  * to the cache in order to ensure that the same objects are always returned by doSelect*()
  * and retrieveByPK*() calls.
  *
  * @param      Resultadosescalas $value A Resultadosescalas object.
  * @param      string $key (optional) key to use for instance map (for performance boost if key was already calculated externally).
  */
 public static function addInstanceToPool(Resultadosescalas $obj, $key = null)
 {
     if (Propel::isInstancePoolingEnabled()) {
         if ($key === null) {
             $key = (string) $obj->getId();
         }
         // if key === null
         self::$instances[$key] = $obj;
     }
 }