public function executeGrabarNotasConcepto() { // inicializando variables $aDatosTablaEscalaNota = array(); // tomando los datos del formulario $division_id = $this->getRequestParameter('division_id'); $concepto_id = $this->getRequestParameter('concepto_id'); $periodo_id = $this->getRequestParameter('periodo_id'); $carrera_id = $this->getRequestParameter('carrera_id'); $aNota = $this->getRequestParameter('nota'); $aNotaObs = $this->getRequestParameter('notaObs'); $cantNotas = count($aNota); if ($cantNotas > 0) { // tomo escala notas $establecimiento_id = $this->getUser()->getAttribute('fk_establecimiento_id'); $aDatosTablaEscalaNota = $this->getEscalanota($establecimiento_id); //grabo al disco $con = Propel::getConnection(); try { //$con->begin(); $criteria = new Criteria(); foreach ($aNota as $alumno_id => $aPeriodo) { foreach ($aPeriodo as $periodoid => $nota) { $cton1 = $criteria->getNewCriterion(BoletinConceptualPeer::FK_ALUMNO_ID, $alumno_id); $cton2 = $criteria->getNewCriterion(BoletinConceptualPeer::FK_PERIODO_ID, $periodoid); $cton3 = $criteria->getNewCriterion(BoletinConceptualPeer::FK_CONCEPTO_ID, $concepto_id); $cton1->addAnd($cton2)->addAnd($cton3); $criteria->addOr($cton1); } } BoletinActividadesPeer::doDelete($criteria); foreach ($aNota as $alumno_id => $aPeriodo) { foreach ($aPeriodo as $periodoid => $nota) { // estaria bueno hacer todos los insert en una sola query $boletin = new BoletinConceptual(); $boletin->setFkAlumnoId($alumno_id); $boletin->setFkPeriodoId($periodoid); $boletin->setFkConceptoId($concepto_id); if ($nota) { if (array_key_exists($nota, $aDatosTablaEscalaNota)) { $boletin->setFkEscalanotaId($aDatosTablaEscalaNota[$nota]); } } if ($aNotaObs[$alumno_id][$periodoid]) { $boletin->setObservacion($aNotaObs[$alumno_id][$periodoid]); } $boletin->setFecha(date("Y-m-d")); $boletin->save(); } } //$con->commit(); } catch (Exception $e) { //$con->rollback(); throw $e; } } return $this->redirect("boletin/listConcepto?division_id={$division_id}&concepto_id={$concepto_id}&periodo_id={$periodo_id}&carrera_id={$carrera_id}"); }