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; } }