public function executeSaveScoreEks() { $counsel_id = $this->getRequestParameter('counseling_id'); $counseling = CounselingPeer::retrieveByPK($counsel_id); $this->forward404Unless($counseling); $this->counseling = $counseling; $accal_id = $this->getRequestParameter('accal_id'); $academic_calendar = AcademicCalendarPeer::retrieveByPK($accal_id); $this->forward404Unless($academic_calendar); $this->academic_calendar = $academic_calendar; $schedule = SchedulePeer::retrieveByPk($this->getRequestParameter('schedule_id')); $this->forward404Unless($schedule); $this->schedule = $schedule; $schedule_detail = ScheduleDetailPeer::retrieveByPk($this->getRequestParameter('detail_id')); $this->forward404Unless($schedule_detail); $this->schedule_detail = $schedule_detail; $cj = new Criteria(); $cj->add(GradeConversionPeer::DEPARTMENT_ID, $academic_calendar->getDepartmentId()); $cj->add(GradeConversionPeer::GRADE_CONVERSION_TEMPLATE_ID, 19); $cj->add(GradeConversionPeer::TYPE_CONVERSION, ScoreRule::FIVE); $cj->addDescendingOrderByColumn(GradeConversionPeer::MAX_VALUE); $grade_convs = GradeConversionPeer::doSelect($cj); $scores = $this->getRequestParameter('score'); foreach ($scores as $k => $score) { if ($score != null) { if ($score != '-') { $ids = split('_', $k); ## $ids[0] = Cur13 Ekskul Id ## $ids[1] = Grade Spec Id $c = new Criteria(); $c->add(Cur13GradeEkskulPeer::CUR13_EKSKUL_ID, $ids[0]); $c->add(Cur13GradeEkskulPeer::GRADE_SPEC_ID, $ids[1]); $cur13_grade_ekskul = Cur13GradeEkskulPeer::doSelectOne($c); if ($cur13_grade_ekskul == null) { $cur13_grade_ekskul = new Cur13GradeEkskul(); } $cur13_grade_ekskul->setCur13EkskulId($ids[0]); $cur13_grade_ekskul->setGradeSpecId($ids[1]); $cur13_grade_ekskul->setGrade($score); $cur13_grade_ekskul->save(); $cc = new Criteria(); $cc->add(Cur13GradeEkskulPeer::CUR13_EKSKUL_ID, $ids[0]); $cur13_grades = Cur13GradeEkskulPeer::doSelect($cc); if ($cur13_grades) { $total = 0; $count = 0; foreach ($cur13_grades as $cur13_grade) { $count += 1; $total += $cur13_grade->getGrade(); } $avg = round($total / $count); $scale = number_format($avg / 100 * 4, 2); $remark = ''; foreach ($grade_convs as $gc) { if ($avg >= $gc->getMinValue() && $avg < $gc->getMaxValue() + 1) { $remark = $gc->getName(); } } $cur13_ekskul = Cur13EkskulPeer::retrieveByPK($ids[0]); $cur13_ekskul->setGradeScale($scale); $cur13_ekskul->setGrade($avg); $cur13_ekskul->setRemark($remark); $cur13_ekskul->save(); } } else { $ids = split('_', $k); ## $ids[0] = Cur13 Ekskul Id ## $ids[1] = Grade Spec Id $c = new Criteria(); $c->add(Cur13GradeEkskulPeer::CUR13_EKSKUL_ID, $ids[0]); $c->add(Cur13GradeEkskulPeer::GRADE_SPEC_ID, $ids[1]); $cur13_grade_ekskul = Cur13GradeEkskulPeer::doSelectOne($c); if ($cur13_grade_ekskul != null) { $cur13_grade_ekskul->delete(); } } } } return $this->redirect('counseling_sd/listEksStu?id=' . $schedule->getId() . '&detail_id=' . $schedule_detail->getId() . '&accal_id=' . $academic_calendar->getId() . '&counseling_id=' . $counseling->getId()); }
public function getCur13GradeEkskulsJoinGradeSpec($criteria = null, $con = null) { include_once 'lib/model/om/BaseCur13GradeEkskulPeer.php'; if ($criteria === null) { $criteria = new Criteria(); } elseif ($criteria instanceof Criteria) { $criteria = clone $criteria; } if ($this->collCur13GradeEkskuls === null) { if ($this->isNew()) { $this->collCur13GradeEkskuls = array(); } else { $criteria->add(Cur13GradeEkskulPeer::CUR13_EKSKUL_ID, $this->getId()); $this->collCur13GradeEkskuls = Cur13GradeEkskulPeer::doSelectJoinGradeSpec($criteria, $con); } } else { $criteria->add(Cur13GradeEkskulPeer::CUR13_EKSKUL_ID, $this->getId()); if (!isset($this->lastCur13GradeEkskulCriteria) || !$this->lastCur13GradeEkskulCriteria->equals($criteria)) { $this->collCur13GradeEkskuls = Cur13GradeEkskulPeer::doSelectJoinGradeSpec($criteria, $con); } } $this->lastCur13GradeEkskulCriteria = $criteria; return $this->collCur13GradeEkskuls; }
public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME) { $keys = Cur13GradeEkskulPeer::getFieldNames($keyType); if (array_key_exists($keys[0], $arr)) { $this->setId($arr[$keys[0]]); } if (array_key_exists($keys[1], $arr)) { $this->setCur13EkskulId($arr[$keys[1]]); } if (array_key_exists($keys[2], $arr)) { $this->setGradeSpecId($arr[$keys[2]]); } if (array_key_exists($keys[3], $arr)) { $this->setGrade($arr[$keys[3]]); } if (array_key_exists($keys[4], $arr)) { $this->setRemark($arr[$keys[4]]); } if (array_key_exists($keys[5], $arr)) { $this->setGradeScale($arr[$keys[5]]); } if (array_key_exists($keys[6], $arr)) { $this->setTotalValue($arr[$keys[6]]); } if (array_key_exists($keys[7], $arr)) { $this->setAvgValue($arr[$keys[7]]); } if (array_key_exists($keys[8], $arr)) { $this->setCreatedAt($arr[$keys[8]]); } }
public static function retrieveByPKs($pks, $con = null) { if ($con === null) { $con = Propel::getConnection(self::DATABASE_NAME); } $objs = null; if (empty($pks)) { $objs = array(); } else { $criteria = new Criteria(); $criteria->add(Cur13GradeEkskulPeer::ID, $pks, Criteria::IN); $objs = Cur13GradeEkskulPeer::doSelect($criteria, $con); } return $objs; }