Пример #1
0
 public function executeSaveUploadKnowledge()
 {
     $scores = $this->getRequestParameter('score');
     $id_course = 0;
     foreach ($scores as $k => $score) {
         if ($score != null) {
             if ($score != '-') {
                 $ids = split('_', $k);
                 #$ids [0] == Id Student
                 #$ids [1] == Id Course Schedule
                 #$ids [2] == Id Grade Spec
                 $course_schedule = CourseSchedulePeer::retrieveByPK($ids[1]);
                 $id_course = $course_schedule->getId();
                 $cw = new Criteria();
                 $cw->add(CourseRegulationPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
                 $cw->add(CourseRegulationPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
                 $cw->add(CourseRegulationPeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId());
                 $c_regulation = CourseRegulationPeer::doSelectOne($cw);
                 $cd = new Criteria();
                 $cd->add(StudentAccalPeer::STUDENT_ID, $ids[0]);
                 $cd->add(StudentAccalPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
                 $cd->add(StudentAccalPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
                 $stu_accal = StudentAccalPeer::doSelectOne($cd);
                 if ($ids[2] == 92) {
                     $cm = new Criteria();
                     $cm->add(CourseRegulationPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
                     $cm->add(CourseRegulationPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
                     $cm->add(CourseRegulationPeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId());
                     $c_regulation = CourseRegulationPeer::doSelectOne($cm);
                     $c = new Criteria();
                     $c->add(StudentRaportPeer::STUDENT_ID, $ids[0]);
                     $c->add(StudentRaportPeer::GRADE_SPEC_ID, $ids[2]);
                     $c->add(StudentRaportPeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId());
                     $c->add(StudentRaportPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
                     $c->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
                     $g = StudentRaportPeer::doSelectOne($c);
                     if ($g == null) {
                         $g = new StudentRaport();
                     }
                     $g->setStudentId($ids[0]);
                     $g->setGradeSpecId($ids[2]);
                     $g->setGrade($score);
                     $g->setSubjectCurrId($course_schedule->getSubjectCurrId());
                     $g->setClassGroupId($course_schedule->getClassGroupId());
                     $g->setAcademicCalendarId($course_schedule->getAcademicCalendarId());
                     $g->setCitationId($stu_accal->getId());
                     $g->save();
                     if ($c_regulation) {
                         $cg = new Criteria();
                         $cg->add(StudentRaportPeer::STUDENT_ID, $ids[0]);
                         $cg->add(StudentRaportPeer::GRADE_SPEC_ID, $ids[2]);
                         $cg->add(StudentRaportPeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId());
                         $cg->add(StudentRaportPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
                         $cg->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
                         $nr = StudentRaportPeer::doSelectOne($cg);
                         $f = new Criteria();
                         $f->add(StudentRaportPeer::STUDENT_ID, $ids[0]);
                         $f->add(StudentRaportPeer::GRADE_SPEC_ID, 14);
                         $f->add(StudentRaportPeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId());
                         $f->add(StudentRaportPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
                         $f->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
                         $uh = StudentRaportPeer::doSelectOne($f);
                         if ($nr->getGrade() >= $c_regulation->getKkm()) {
                             if ($uh == null) {
                                 $uh = new StudentRaport();
                             }
                             $uh->setStudentId($ids[0]);
                             $uh->setGradeSpecId(14);
                             $uh->setGrade($c_regulation->getKkm());
                             $uh->setSubjectCurrId($course_schedule->getSubjectCurrId());
                             $uh->setClassGroupId($course_schedule->getClassGroupId());
                             $uh->setAcademicCalendarId($course_schedule->getAcademicCalendarId());
                             $uh->setCitationId($stu_accal->getId());
                             $uh->save();
                         } elseif ($nr->getGrade() < $c_regulation->getKkm()) {
                             if ($uh == null) {
                                 $uh = new StudentRaport();
                                 $uh->setStudentId($ids[0]);
                                 $uh->setGradeSpecId(14);
                                 $uh->setGrade($nr->getGrade());
                                 $uh->setSubjectCurrId($course_schedule->getSubjectCurrId());
                                 $uh->setClassGroupId($course_schedule->getClassGroupId());
                                 $uh->setAcademicCalendarId($course_schedule->getAcademicCalendarId());
                                 $uh->setCitationId($stu_accal->getId());
                                 $uh->save();
                             } else {
                                 if ($nr->getGrade() > $uh->getGrade()) {
                                     $uh->setStudentId($ids[0]);
                                     $uh->setGradeSpecId(14);
                                     $uh->setGrade($nr->getGrade());
                                     $uh->setSubjectCurrId($course_schedule->getSubjectCurrId());
                                     $uh->setClassGroupId($course_schedule->getClassGroupId());
                                     $uh->setAcademicCalendarId($course_schedule->getAcademicCalendarId());
                                     $uh->setCitationId($stu_accal->getId());
                                     $uh->save();
                                 }
                             }
                         }
                     }
                 } else {
                     $c = new Criteria();
                     $c->add(StudentRaportPeer::STUDENT_ID, $ids[0]);
                     $c->add(StudentRaportPeer::GRADE_SPEC_ID, $ids[2]);
                     $c->add(StudentRaportPeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId());
                     $c->add(StudentRaportPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
                     $c->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
                     $g = StudentRaportPeer::doSelectOne($c);
                     if ($g == null) {
                         $g = new StudentRaport();
                     }
                     $g->setStudentId($ids[0]);
                     $g->setGradeSpecId($ids[2]);
                     $g->setGrade($score);
                     $g->setSubjectCurrId($course_schedule->getSubjectCurrId());
                     $g->setClassGroupId($course_schedule->getClassGroupId());
                     $g->setAcademicCalendarId($course_schedule->getAcademicCalendarId());
                     $g->setCitationId($stu_accal->getId());
                     $g->save();
                     $cg = new Criteria();
                     $cg->add(StudentRaportPeer::STUDENT_ID, $ids[0]);
                     $cg->add(StudentRaportPeer::GRADE_SPEC_ID, 22);
                     $cg->add(StudentRaportPeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId());
                     $cg->add(StudentRaportPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
                     $cg->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
                     $cg->add(StudentRaportPeer::CITATION_ID, $stu_accal->getId());
                     $praktek_uts = StudentRaportPeer::doSelectOne($cg);
                     $cf = new Criteria();
                     $cf->add(StudentRaportPeer::STUDENT_ID, $ids[0]);
                     $cf->add(StudentRaportPeer::GRADE_SPEC_ID, 23);
                     $cf->add(StudentRaportPeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId());
                     $cf->add(StudentRaportPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
                     $cf->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
                     $cf->add(StudentRaportPeer::CITATION_ID, $stu_accal->getId());
                     $teori_uts = StudentRaportPeer::doSelectOne($cf);
                     if ($praktek_uts != null && $teori_uts != null) {
                         $score_uts = round(($praktek_uts->getGrade() + $teori_uts->getGrade()) / 2);
                         $f = new Criteria();
                         $f->add(StudentRaportPeer::STUDENT_ID, $ids[0]);
                         $f->add(StudentRaportPeer::GRADE_SPEC_ID, 14);
                         $f->add(StudentRaportPeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId());
                         $f->add(StudentRaportPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
                         $f->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
                         $f->add(StudentRaportPeer::CITATION_ID, $stu_accal->getId());
                         $uts = StudentRaportPeer::doSelectOne($f);
                         if ($uts == null) {
                             $uts = new StudentRaport();
                         }
                         $uts->setStudentId($ids[0]);
                         $uts->setGradeSpecId(14);
                         $uts->setGrade($score_uts);
                         $uts->setSubjectCurrId($course_schedule->getSubjectCurrId());
                         $uts->setClassGroupId($course_schedule->getClassGroupId());
                         $uts->setAcademicCalendarId($course_schedule->getAcademicCalendarId());
                         $uts->setCitationId($stu_accal->getId());
                         $uts->save();
                     } elseif ($praktek_uts != null && $teori_uts == null) {
                         $score_uts = $praktek_uts->getGrade();
                         $f = new Criteria();
                         $f->add(StudentRaportPeer::STUDENT_ID, $ids[0]);
                         $f->add(StudentRaportPeer::GRADE_SPEC_ID, 14);
                         $f->add(StudentRaportPeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId());
                         $f->add(StudentRaportPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
                         $f->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
                         $f->add(StudentRaportPeer::CITATION_ID, $stu_accal->getId());
                         $uts = StudentRaportPeer::doSelectOne($f);
                         if ($uts == null) {
                             $uts = new StudentRaport();
                         }
                         $uts->setStudentId($ids[0]);
                         $uts->setGradeSpecId(14);
                         $uts->setGrade($score_uts);
                         $uts->setSubjectCurrId($course_schedule->getSubjectCurrId());
                         $uts->setClassGroupId($course_schedule->getClassGroupId());
                         $uts->setAcademicCalendarId($course_schedule->getAcademicCalendarId());
                         $uts->setCitationId($stu_accal->getId());
                         $uts->save();
                     } elseif ($praktek_uts == null && $teori_uts != null) {
                         $score_uts = $teori_uts->getGrade();
                         $f = new Criteria();
                         $f->add(StudentRaportPeer::STUDENT_ID, $ids[0]);
                         $f->add(StudentRaportPeer::GRADE_SPEC_ID, 14);
                         $f->add(StudentRaportPeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId());
                         $f->add(StudentRaportPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
                         $f->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
                         $f->add(StudentRaportPeer::CITATION_ID, $stu_accal->getId());
                         $uts = StudentRaportPeer::doSelectOne($f);
                         if ($uts == null) {
                             $uts = new StudentRaport();
                         }
                         $uts->setStudentId($ids[0]);
                         $uts->setGradeSpecId(14);
                         $uts->setGrade($score_uts);
                         $uts->setSubjectCurrId($course_schedule->getSubjectCurrId());
                         $uts->setClassGroupId($course_schedule->getClassGroupId());
                         $uts->setAcademicCalendarId($course_schedule->getAcademicCalendarId());
                         $uts->setCitationId($stu_accal->getId());
                         $uts->save();
                     }
                     # Praktek UAS dan Teori UAS
                     $ct = new Criteria();
                     $ct->add(StudentRaportPeer::STUDENT_ID, $ids[0]);
                     $ct->add(StudentRaportPeer::GRADE_SPEC_ID, 27);
                     $ct->add(StudentRaportPeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId());
                     $ct->add(StudentRaportPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
                     $ct->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
                     $praktek_uas = StudentRaportPeer::doSelectOne($ct);
                     $ch = new Criteria();
                     $ch->add(StudentRaportPeer::STUDENT_ID, $ids[0]);
                     $ch->add(StudentRaportPeer::GRADE_SPEC_ID, 28);
                     $ch->add(StudentRaportPeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId());
                     $ch->add(StudentRaportPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
                     $ch->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
                     $teori_uas = StudentRaportPeer::doSelectOne($ch);
                     if ($praktek_uas != null && $teori_uas != null) {
                         $score_uas = round(($praktek_uas->getGrade() + $teori_uas->getGrade()) / 2);
                         $fg = new Criteria();
                         $fg->add(StudentRaportPeer::STUDENT_ID, $ids[0]);
                         $fg->add(StudentRaportPeer::GRADE_SPEC_ID, 15);
                         $fg->add(StudentRaportPeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId());
                         $fg->add(StudentRaportPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
                         $fg->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
                         $fg->add(StudentRaportPeer::CITATION_ID, $stu_accal->getId());
                         $uas = StudentRaportPeer::doSelectOne($fg);
                         if ($uas == null) {
                             $uas = new StudentRaport();
                         }
                         $uas->setStudentId($ids[0]);
                         $uas->setGradeSpecId(15);
                         $uas->setGrade($score_uas);
                         $uas->setSubjectCurrId($course_schedule->getSubjectCurrId());
                         $uas->setClassGroupId($course_schedule->getClassGroupId());
                         $uas->setAcademicCalendarId($course_schedule->getAcademicCalendarId());
                         $uas->setCitationId($stu_accal->getId());
                         $uas->save();
                     } elseif ($praktek_uas != null && $teori_uas == null) {
                         $score_uas = $praktek_uas->getGrade();
                         $fg = new Criteria();
                         $fg->add(StudentRaportPeer::STUDENT_ID, $ids[0]);
                         $fg->add(StudentRaportPeer::GRADE_SPEC_ID, 15);
                         $fg->add(StudentRaportPeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId());
                         $fg->add(StudentRaportPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
                         $fg->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
                         $fg->add(StudentRaportPeer::CITATION_ID, $stu_accal->getId());
                         $uas = StudentRaportPeer::doSelectOne($fg);
                         if ($uas == null) {
                             $uas = new StudentRaport();
                         }
                         $uas->setStudentId($ids[0]);
                         $uas->setGradeSpecId(15);
                         $uas->setGrade($score_uas);
                         $uas->setSubjectCurrId($course_schedule->getSubjectCurrId());
                         $uas->setClassGroupId($course_schedule->getClassGroupId());
                         $uas->setAcademicCalendarId($course_schedule->getAcademicCalendarId());
                         $uas->setCitationId($stu_accal->getId());
                         $uas->save();
                     } elseif ($praktek_uas == null && $teori_uas != null) {
                         $score_uas = $teori_uas->getGrade();
                         $fg = new Criteria();
                         $fg->add(StudentRaportPeer::STUDENT_ID, $ids[0]);
                         $fg->add(StudentRaportPeer::GRADE_SPEC_ID, 15);
                         $fg->add(StudentRaportPeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId());
                         $fg->add(StudentRaportPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
                         $fg->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
                         $fg->add(StudentRaportPeer::CITATION_ID, $stu_accal->getId());
                         $uas = StudentRaportPeer::doSelectOne($fg);
                         if ($uas == null) {
                             $uas = new StudentRaport();
                         }
                         $uas->setStudentId($ids[0]);
                         $uas->setGradeSpecId(15);
                         $uas->setGrade($score_uas);
                         $uas->setSubjectCurrId($course_schedule->getSubjectCurrId());
                         $uas->setClassGroupId($course_schedule->getClassGroupId());
                         $uas->setAcademicCalendarId($course_schedule->getAcademicCalendarId());
                         $uas->setCitationId($stu_accal->getId());
                         $uas->save();
                     }
                 }
             } else {
                 $ids = split('_', $k);
                 $c = new Criteria();
                 $c->add(StudentRaportPeer::STUDENT_ID, $ids[0]);
                 $c->add(StudentRaportPeer::GRADE_SPEC_ID, $ids[1]);
                 $c->add(StudentRaportPeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId());
                 $c->add(StudentRaportPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
                 $c->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
                 $g = StudentRaportPeer::doSelectOne($c);
                 if ($g != null) {
                     $g->delete();
                 }
             }
         }
     }
     return $this->redirect('course_score_new/uploadKnowledgeFinish?course_id=' . $id_course);
 }
Пример #2
0
 public function executeSaveRaportHistory()
 {
     $course_id = $this->getRequestParameter('course_id');
     $course_schedule = CourseSchedulePeer::retrieveByPK($course_id);
     $this->forward404Unless($course_schedule);
     $cw = new Criteria();
     $cw->add(CourseRegulationPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
     $cw->add(CourseRegulationPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
     $cw->add(CourseRegulationPeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId());
     $c_regulation = CourseRegulationPeer::doSelectOne($cw);
     if ($c_regulation) {
         $scores = $this->getRequestParameter('score');
         foreach ($scores as $k => $score) {
             if ($score != null) {
                 if ($score != '-') {
                     $ids = split('_', $k);
                     $cd = new Criteria();
                     $cd->add(StudentAccalPeer::STUDENT_ID, $ids[0]);
                     $cd->add(StudentAccalPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
                     $cd->add(StudentAccalPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
                     $stu_accal = StudentAccalPeer::doSelectOne($cd);
                     $c = new Criteria();
                     $c->add(StudentRaportPeer::STUDENT_ID, $ids[0]);
                     $c->add(StudentRaportPeer::GRADE_SPEC_ID, $ids[1]);
                     $c->add(StudentRaportPeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId());
                     $c->add(StudentRaportPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
                     $c->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
                     $g = StudentRaportPeer::doSelectOne($c);
                     if ($g == null) {
                         $g = new StudentRaport();
                     }
                     $g->setStudentId($ids[0]);
                     $g->setGradeSpecId($ids[1]);
                     $g->setGrade($score);
                     $g->setSubjectCurrId($course_schedule->getSubjectCurrId());
                     $g->setClassGroupId($course_schedule->getClassGroupId());
                     $g->setAcademicCalendarId($course_schedule->getAcademicCalendarId());
                     $g->setCitationId($stu_accal->getId());
                     $g->save();
                 } else {
                     $ids = split('_', $k);
                     $c = new Criteria();
                     $c->add(StudentRaportPeer::STUDENT_ID, $ids[0]);
                     $c->add(StudentRaportPeer::GRADE_SPEC_ID, $ids[1]);
                     $c->add(StudentRaportPeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId());
                     $c->add(StudentRaportPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
                     $c->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
                     $g = StudentRaportPeer::doSelectOne($c);
                     if ($g != null) {
                         $g->delete();
                     }
                 }
             }
         }
         #Nilai Utama dan Remed
         $exams = $this->getRequestParameter('exam');
         foreach ($exams as $k => $exam) {
             if ($exam != null) {
                 if ($exam != '-') {
                     $ids = split('_', $k);
                     $cd = new Criteria();
                     $cd->add(StudentAccalPeer::STUDENT_ID, $ids[0]);
                     $cd->add(StudentAccalPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
                     $cd->add(StudentAccalPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
                     $stu_accal = StudentAccalPeer::doSelectOne($cd);
                     $c = new Criteria();
                     $c->add(StudentRaportPeer::STUDENT_ID, $ids[0]);
                     $c->add(StudentRaportPeer::GRADE_SPEC_ID, $ids[1]);
                     $c->add(StudentRaportPeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId());
                     $c->add(StudentRaportPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
                     $c->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
                     $g = StudentRaportPeer::doSelectOne($c);
                     if ($g == null) {
                         $g = new StudentRaport();
                     }
                     $g->setStudentId($ids[0]);
                     $g->setGradeSpecId($ids[1]);
                     $g->setGrade($exam);
                     $g->setSubjectCurrId($course_schedule->getSubjectCurrId());
                     $g->setClassGroupId($course_schedule->getClassGroupId());
                     $g->setAcademicCalendarId($course_schedule->getAcademicCalendarId());
                     $g->setCitationId($stu_accal->getId());
                     $g->save();
                     $grade_spec = GradeSpecPeer::retrieveByPK($ids[1]);
                     #Nilai Utama
                     if ($grade_spec->getCode() == 'NU') {
                         $cg = new Criteria();
                         $cg->add(StudentRaportPeer::STUDENT_ID, $ids[0]);
                         $cg->add(StudentRaportPeer::GRADE_SPEC_ID, $grade_spec->getId());
                         $cg->add(StudentRaportPeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId());
                         $cg->add(StudentRaportPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
                         $cg->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
                         $nu = StudentRaportPeer::doSelectOne($cg);
                         $f = new Criteria();
                         $f->add(StudentRaportPeer::STUDENT_ID, $ids[0]);
                         $f->add(StudentRaportPeer::GRADE_SPEC_ID, $grade_spec->getParent());
                         $f->add(StudentRaportPeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId());
                         $f->add(StudentRaportPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
                         $f->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
                         $uh = StudentRaportPeer::doSelectOne($f);
                         if ($uh == null) {
                             $uh = new StudentRaport();
                         }
                         $uh->setStudentId($ids[0]);
                         $uh->setGradeSpecId($grade_spec->getParent());
                         $uh->setGrade($nu->getGrade());
                         $uh->setSubjectCurrId($course_schedule->getSubjectCurrId());
                         $uh->setClassGroupId($course_schedule->getClassGroupId());
                         $uh->setAcademicCalendarId($course_schedule->getAcademicCalendarId());
                         $uh->setCitationId($stu_accal->getId());
                         $uh->save();
                         #Nilai Remedial
                     } elseif ($grade_spec->getCode() == 'NR') {
                         $cg = new Criteria();
                         $cg->add(StudentRaportPeer::STUDENT_ID, $ids[0]);
                         $cg->add(StudentRaportPeer::GRADE_SPEC_ID, $grade_spec->getId());
                         $cg->add(StudentRaportPeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId());
                         $cg->add(StudentRaportPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
                         $cg->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
                         $nr = StudentRaportPeer::doSelectOne($cg);
                         $f = new Criteria();
                         $f->add(StudentRaportPeer::STUDENT_ID, $ids[0]);
                         $f->add(StudentRaportPeer::GRADE_SPEC_ID, $grade_spec->getParent());
                         $f->add(StudentRaportPeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId());
                         $f->add(StudentRaportPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
                         $f->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
                         $uh = StudentRaportPeer::doSelectOne($f);
                         if ($nr->getGrade() >= $c_regulation->getKkm()) {
                             if ($uh == null) {
                                 $uh = new StudentRaport();
                             }
                             $uh->setStudentId($ids[0]);
                             $uh->setGradeSpecId($grade_spec->getParent());
                             $uh->setGrade($c_regulation->getKkm());
                             $uh->setSubjectCurrId($course_schedule->getSubjectCurrId());
                             $uh->setClassGroupId($course_schedule->getClassGroupId());
                             $uh->setAcademicCalendarId($course_schedule->getAcademicCalendarId());
                             $uh->setCitationId($stu_accal->getId());
                             $uh->save();
                         } elseif ($nr->getGrade() < $c_regulation->getKkm()) {
                             if ($uh == null) {
                                 $uh = new StudentRaport();
                                 $uh->setStudentId($ids[0]);
                                 $uh->setGradeSpecId($grade_spec->getParent());
                                 $uh->setGrade($nr->getGrade());
                                 $uh->setSubjectCurrId($course_schedule->getSubjectCurrId());
                                 $uh->setClassGroupId($course_schedule->getClassGroupId());
                                 $uh->setAcademicCalendarId($course_schedule->getAcademicCalendarId());
                                 $uh->setCitationId($stu_accal->getId());
                                 $uh->save();
                             } else {
                                 if ($nr->getGrade() > $uh->getGrade()) {
                                     $uh->setStudentId($ids[0]);
                                     $uh->setGradeSpecId($grade_spec->getParent());
                                     $uh->setGrade($nr->getGrade());
                                     $uh->setSubjectCurrId($course_schedule->getSubjectCurrId());
                                     $uh->setClassGroupId($course_schedule->getClassGroupId());
                                     $uh->setAcademicCalendarId($course_schedule->getAcademicCalendarId());
                                     $uh->setCitationId($stu_accal->getId());
                                     $uh->save();
                                 }
                             }
                         }
                         #Nilai Pengayaan
                     } elseif ($grade_spec->getCode() == 'NP') {
                         $cg = new Criteria();
                         $cg->add(StudentRaportPeer::STUDENT_ID, $ids[0]);
                         $cg->add(StudentRaportPeer::GRADE_SPEC_ID, $grade_spec->getId());
                         $cg->add(StudentRaportPeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId());
                         $cg->add(StudentRaportPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
                         $cg->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
                         $nr = StudentRaportPeer::doSelectOne($cg);
                         $f = new Criteria();
                         $f->add(StudentRaportPeer::STUDENT_ID, $ids[0]);
                         $f->add(StudentRaportPeer::GRADE_SPEC_ID, $grade_spec->getParent());
                         $f->add(StudentRaportPeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId());
                         $f->add(StudentRaportPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
                         $f->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
                         $uh = StudentRaportPeer::doSelectOne($f);
                         if ($nr->getGrade() >= $uh->getGrade()) {
                             $score_atas = $nr->getGrade() - $uh->getGrade();
                             $score_bawah = round(0.1 * (100 - $uh->getGrade()));
                             $score = round($uh->getGrade() + $score_atas / $score_bawah);
                             if ($uh == null) {
                                 $uh = new StudentRaport();
                             }
                             $uh->setStudentId($ids[0]);
                             $uh->setGradeSpecId($grade_spec->getParent());
                             $uh->setGrade($score);
                             $uh->setSubjectCurrId($course_schedule->getSubjectCurrId());
                             $uh->setClassGroupId($course_schedule->getClassGroupId());
                             $uh->setAcademicCalendarId($course_schedule->getAcademicCalendarId());
                             $uh->setCitationId($stu_accal->getId());
                             $uh->save();
                         }
                     }
                 } else {
                     $ids = split('_', $k);
                     $c = new Criteria();
                     $c->add(StudentRaportPeer::STUDENT_ID, $ids[0]);
                     $c->add(StudentRaportPeer::GRADE_SPEC_ID, $ids[1]);
                     $c->add(StudentRaportPeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId());
                     $c->add(StudentRaportPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
                     $c->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
                     $g = StudentRaportPeer::doSelectOne($c);
                     if ($g != null) {
                         $g->delete();
                     }
                 }
             }
         }
     }
     return $this->redirect('course_score/listHistory');
 }