public function executeSaveRanks() { $counseling = CounselingPeer::retrieveByPK($this->getRequestParameter('counseling_id')); $this->forward404Unless($counseling); $academic_calendar = AcademicCalendarPeer::retrieveByPK($this->getRequestParameter('accal_id')); $this->forward404Unless($academic_calendar); $ranks = $this->getRequestParameter('rank'); foreach ($ranks as $student_id => $rank) { $c = new Criteria(); $c->add(StudentAccalPeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId()); $c->add(StudentAccalPeer::CLASS_GROUP_ID, $counseling->getClassGroupId()); $c->add(StudentAccalPeer::STUDENT_ID, $student_id); $sa = StudentAccalPeer::doSelectOne($c); if ($sa == null) { $sa = new StudentAccal(); } $sa->setStudentId($student_id); $sa->setAcademicCalendarId($academic_calendar->getId()); $sa->setClassGroupId($counseling->getClassGroupId()); $sa->setClassRank($rank); $sa->save(); } $totalScores = $this->getRequestParameter('totalScore'); foreach ($totalScores as $student_id => $totalScore) { $c = new Criteria(); $c->add(StudentAccalPeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId()); $c->add(StudentAccalPeer::CLASS_GROUP_ID, $counseling->getClassGroupId()); $c->add(StudentAccalPeer::STUDENT_ID, $student_id); $sa = StudentAccalPeer::doSelectOne($c); if ($sa == null) { $sa = new StudentAccal(); } $sa->setStudentId($student_id); $sa->setAcademicCalendarId($academic_calendar->getId()); $sa->setClassGroupId($counseling->getClassGroupId()); $sa->setTotalScore($totalScore); $sa->save(); } $avgScores = $this->getRequestParameter('avgScore'); foreach ($avgScores as $student_id => $avgScore) { $c = new Criteria(); $c->add(StudentAccalPeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId()); $c->add(StudentAccalPeer::CLASS_GROUP_ID, $counseling->getClassGroupId()); $c->add(StudentAccalPeer::STUDENT_ID, $student_id); $sa = StudentAccalPeer::doSelectOne($c); if ($sa == null) { $sa = new StudentAccal(); } $sa->setStudentId($student_id); $sa->setAcademicCalendarId($academic_calendar->getId()); $sa->setClassGroupId($counseling->getClassGroupId()); $sa->setAvgScore($avgScore); $sa->save(); } $statues = $this->getRequestParameter('status'); foreach ($statues as $student_id => $status) { $cr = new Criteria(); $cr->add(StudentRaportPeer::STUDENT_ID, $student_id); $cr->add(StudentRaportPeer::CLASS_GROUP_ID, $counseling->getClassGroupId()); $cr->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId()); $cr->add(StudentRaportPeer::GRADE_SPEC_ID, 57); $sr = StudentRaportPeer::doSelectOne($cr); if ($sr == null) { $sr = new StudentRaport(); } $sr->setStudentId($student_id); $sr->setAcademicCalendarId($academic_calendar->getId()); $sr->setClassGroupId($counseling->getClassGroupId()); $sr->setGradeSpecId(57); $sr->setRemark($status); $sr->save(); } $scores = $this->getRequestParameter('score'); foreach ($scores as $k => $score) { if ($score != null) { if ($score != '-') { $ids = split('_', $k); $cb = new Criteria(); $cb->add(StudentHabitPeer::CLASS_GROUP_ID, $counseling->getClassGroupId()); $cb->add(StudentHabitPeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId()); $cb->add(StudentHabitPeer::STUDENT_ID, $ids[0]); $cb->add(StudentHabitPeer::GRADE_COMPONENT_ID, $ids[1]); $sh = StudentHabitPeer::doSelectOne($cb); if ($sh == null) { $sh = new StudentHabit(); } $sh->setStudentId($ids[0]); $sh->setGradeComponentId($ids[1]); $sh->setAcademicCalendarId($academic_calendar->getId()); $sh->setClassGroupId($counseling->getClassGroupId()); $sh->setGrade($score); $sh->save(); } else { $ids = split('_', $k); $cb = new Criteria(); $cb->add(StudentHabitPeer::CLASS_GROUP_ID, $counseling->getClassGroupId()); $cb->add(StudentHabitPeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId()); $cb->add(StudentHabitPeer::STUDENT_ID, $ids[0]); $cb->add(StudentHabitPeer::GRADE_COMPONENT_ID, $ids[1]); $sh = StudentHabitPeer::doSelectOne($cb); if ($sh == null) { $sh->delete(); } } } } return $this->redirect('counseling_hist/listLedger?accal_id=' . $academic_calendar->getId() . '&counseling_id=' . $counseling->getId()); }