Example #1
0
 public function executeListConcepto()
 {
     // inicializando variables
     $optionsConcepto = array();
     $optionsDivision = array();
     $optionsCarrera = array();
     $aAlumno = array();
     $division_id = "";
     $concepto_id = "";
     $periodo_id = "";
     $carrera_id = "";
     $aPeriodo = array();
     $aPosiblesNotas = array();
     $optionsPeriodo = array();
     $aNotaAlumno = array();
     $aNotaAlumnoObs = array();
     $sizeNota = 0;
     $establecimiento_id = $this->getUser()->getAttribute('fk_establecimiento_id');
     // tomando los datos del formulario
     $division_id = $this->getRequestParameter('division_id');
     $periodo_id = $this->getRequestParameter('periodo_id');
     $concepto_id = $this->getRequestParameter('concepto_id');
     $carrera_id = $this->getRequestParameter('carrera_id');
     // llenando el combo de division segun establecimiento
     $optionsDivision = $this->getDivisiones($establecimiento_id, $carrera_id);
     $optionsCarrera = $this->getCarreras($establecimiento_id);
     $optionsConcepto[] = "";
     $e = EstablecimientoPeer::retrieveByPk($establecimiento_id);
     $optionsConcepto = array_merge($optionsConcepto, $e->getConceptosArray());
     $aAlumno = $this->getAlumnos($division_id);
     $criteria = new Criteria();
     $criteria->add(PeriodoPeer::FK_CICLOLECTIVO_ID, $this->getUser()->getAttribute('fk_ciclolectivo_id'));
     $criteria->add(PeriodoPeer::CALCULAR, false);
     $aPeriodo = PeriodoPeer::doSelect($criteria);
     $optionsPeriodo[] = "Todos";
     foreach ($aPeriodo as $periodo) {
         $optionsPeriodo[$periodo->getId()] = $periodo->getDescripcion();
     }
     if ($periodo_id) {
         $aPeriodo = array();
         $aPeriodo[] = PeriodoPeer::retrieveByPK($periodo_id);
     }
     if (count($aAlumno) > 0) {
         // esto puede ser mejorado con solo una query bastante facilmente
         foreach ($aAlumno as $alumno) {
             foreach ($aPeriodo as $periodo) {
                 $criteria = new Criteria();
                 $criteria->add(BoletinConceptualPeer::FK_ALUMNO_ID, $alumno->getId());
                 $criteria->add(BoletinConceptualPeer::FK_PERIODO_ID, $periodo->getId());
                 $criteria->add(BoletinConceptualPeer::FK_CONCEPTO_ID, $concepto_id);
                 $aBoletinConceptual = BoletinConceptualPeer::doSelect($criteria);
                 $aNotaAlumno[$alumno->getId()][$periodo->getId()] = "";
                 $aNotaAlumnoObs[$alumno->getId()][$periodo->getId()] = "";
                 foreach ($aBoletinConceptual as $boletinConceptual) {
                     //if(method_exists($legajopedagogico->getResumen(),'getContents')) {
                     if ($boletinConceptual->getFkEscalanotaId()) {
                         $aNotaAlumno[$alumno->getId()][$periodo->getId()] = $boletinConceptual->getEscalanota()->getNombre();
                     }
                     if ($boletinConceptual->getObservacion()) {
                         if ($boletinConceptual->getObservacion() != null) {
                             $aNotaAlumnoObs[$alumno->getId()][$periodo->getId()] = $boletinConceptual->getObservacion();
                         }
                     }
                 }
             }
         }
     }
     $criteria = new Criteria();
     $criteria->add(EscalanotaPeer::FK_ESTABLECIMIENTO_ID, $establecimiento_id);
     $aPosiblesNotas = EscalanotaPeer::doSelect($criteria);
     foreach ($aPosiblesNotas as $p) {
         $actual = strlen($p->getNombre());
         if ($actual > $sizeNota) {
             $sizeNota = $actual;
         }
     }
     // llenar variables a mostrar en el template
     $this->optionsDivision = $optionsDivision;
     $this->optionsConcepto = $optionsConcepto;
     $this->aAlumno = $aAlumno;
     $this->division_id = $division_id;
     $this->concepto_id = $concepto_id;
     $this->periodo_id = $periodo_id;
     $this->carrera_id = $carrera_id;
     $this->optionsCarrera = $optionsCarrera;
     $this->aPeriodo = $aPeriodo;
     $this->aPosiblesNotas = $aPosiblesNotas;
     $this->optionsPeriodo = $optionsPeriodo;
     $this->aNotaAlumno = $aNotaAlumno;
     $this->aNotaAlumnoObs = $aNotaAlumnoObs;
     $this->sizeNota = $sizeNota;
 }