Пример #1
0
 public function executeListScore()
 {
     $course_schedule = CourseSchedulePeer::retrieveByPk($this->getRequestParameter('course_id'));
     $this->forward404Unless($course_schedule);
     $course_schedule_id = $course_schedule->getId();
     $cr = new Criteria();
     $cr->add(GradeSpecPeer::PARENT, 1);
     $this->grade1 = GradeSpecPeer::doSelect($cr);
     $this->count1 = GradeSpecPeer::doCount($cr);
     $cw = new Criteria();
     $cw->add(GradeSpecPeer::PARENT, 7);
     $this->grade2 = GradeSpecPeer::doSelect($cw);
     $this->count2 = GradeSpecPeer::doCount($cw);
     $cb = new Criteria();
     $cb->add(CourseRegulationPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
     $cb->add(CourseRegulationPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
     $cb->add(CourseRegulationPeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId());
     $course_reg = CourseRegulationPeer::doSelectOne($cb);
     $c = new Criteria();
     $c->add(StudentAccalPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
     $c->add(StudentAccalPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
     $c->addJoin(VStudentActivePeer::ID, StudentAccalPeer::STUDENT_ID);
     $c->addJoin(StudentPeer::ID, VStudentActivePeer::ID);
     $c->addAscendingOrderByColumn(StudentPeer::CLASS_NAME);
     $rpp = $this->getRequestParameter('max_per_page', $this->getUser()->getAttribute('max_per_page', ParamsPeer::retrieveByCode('row_per_page')->getValue(), 'student'));
     $this->getUser()->setAttribute('max_per_page', $rpp, 'student');
     $pager = new sfPropelPager('Student', $rpp);
     $pager->setCriteria($c);
     $page = $this->getRequestParameter('page', $this->getUser()->getAttribute('page', 1, 'student'));
     $this->getUser()->setAttribute('page', $page, 'student');
     $pager->setPage($page);
     $pager->init();
     $this->pager = $pager;
     $this->student_count = StudentPeer::doCount($c);
     $actions = array();
     array_unshift($actions, array('name' => 'Print Excel', 'url' => "rpt_course/listScoreAsCSV?course_id=" . $course_schedule->getId(), 'color' => 'black', 'type' => 'direct'));
     array_unshift($actions, array('name' => 'Print PDF', 'url' => "rpt_course/listScoreAsPDF?course_id=" . $course_schedule->getId(), 'color' => 'black', 'type' => 'direct'));
     $this->actions = $actions;
     $this->subtitle = $course_schedule->getSubjectCurr()->getSubject()->getName() . ' - (' . $course_schedule->getClassGroup()->toString() . ' # ' . $course_schedule->getAcademicCalendar()->getName() . ')';
     $actions2 = array(array('name' => '<span>Riwayat Agenda Kelas</span>', 'url' => 'rpt_course/listAgenda?course_id=' . $course_schedule->getId(), 'color' => 'sun'));
     array_unshift($actions2, array('name' => '<span>Riwayat Akademik</span>', 'url' => 'rpt_course/list', 'color' => 'sun'));
     array_push($actions2, array('name' => '<span>Riwayat Absensi Kelas</span>', 'url' => 'rpt_course/listAbsence?course_id=' . $course_schedule->getId(), 'color' => 'sun'));
     array_push($actions2, array('name' => '<span>Riwayat Jadwal Tugas/Ulangan/PR</span>', 'url' => 'rpt_course/listSched?course_id=' . $course_schedule->getId(), 'color' => 'sun'));
     array_push($actions2, array('name' => '<span>Riwayat Bimbingan Konseling</span>', 'url' => 'rpt_course/listCounseling?course_id=' . $course_schedule->getId(), 'color' => 'sun'));
     array_push($actions2, array('name' => '<span>Riwayat Penilaian</span>', 'url' => 'rpt_course/listScore?course_id=' . $course_schedule->getId(), 'color' => 'sun', 'type' => 'direct'));
     $this->actions2 = $actions2;
     $this->type = 'list';
     $this->course_schedule = $course_schedule;
     $this->course_reg = $course_reg;
 }
        <?php 
use_helper('Object', 'Validation', 'myHelper');
echo include_partial('global/tab', array('actions2' => $actions2));
echo form_remote_tag(array('url' => 'course_score/salvareCounseling', 'update' => 'content', 'script' => 'true', 'before' => "this.blur();showIndicator('content', 'snakebig_black');", 'complete' => "hideIndicator()", 'name' => 'edit_form'));
echo include_partial('global/title4', array('actions' => $actions, 'subtitle' => $subtitle, 'type' => $type, 'title' => __('Penilaian Keseluruhan')));
echo input_hidden_tag('action_type', '');
echo input_hidden_tag('course_id', $course_schedule->getId());
echo input_hidden_tag('employee_id', $employee_id);
$grade1_ids = array();
$grade2_ids = array();
$cem = new Criteria();
$cem->add(CourseRegulationPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
$cem->add(CourseRegulationPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
$cem->add(CourseRegulationPeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId());
$course_reg = CourseRegulationPeer::doSelectOne($cem);
$cer = new Criteria();
$cer->add(GradeSpecKkmPeer::COURSE_SCHEDULE_ID, $course_schedule->getId());
$gradespecs = GradeSpecKkmPeer::doSelect($cer);
$specs = array();
foreach ($gradespecs as $gradespec) {
    $specs[$gradespec->getGradeSpecId()] = $gradespec->getKkm();
}
?>

        <table class="list_score">
        <tr><td class="list_score">
                    
                <table class="list_content" width="100%">		
                <thead>
                        <tr>
                                <th class="score" width="5%" height="25px">#</th>
Пример #3
0
?>
            				</tr>
						  </thead>
						<tbody>
						 	<tr class="list">
								<td><?php 
echo strlen($course_schedule->getSubjectCurrId()) > 0 ? $course_schedule->getSubjectCurr()->getSubject()->getName() : 'n/a';
?>
</td>
								<td>
                                	<?php 
$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) {
    echo $c_regulation->getKkm() ? $c_regulation->getKkm() : '0';
} else {
    echo '0';
}
?>
                                </td>
								<?php 
foreach ($grade1 as $g1) {
    $cr = new Criteria();
    $cr->add(StudentRaportPeer::STUDENT_ID, $student->getId());
    $cr->add(StudentRaportPeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId());
    $cr->add(StudentRaportPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
    $cr->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
    $cr->add(StudentRaportPeer::GRADE_SPEC_ID, $g1->getId());
Пример #4
0
 public function executeAddKkm()
 {
     $course_schedule = CourseSchedulePeer::retrieveByPk($this->getRequestParameter('course_id'));
     $this->forward404Unless($course_schedule);
     $cur13_ki = Cur13KiPeer::retrieveByPK($this->getRequestParameter('cur13_ki_id'));
     $this->forward404Unless($cur13_ki);
     $this->cur13_ki = $cur13_ki;
     $c = new Criteria();
     $c->add(CourseRegulationPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
     $c->add(CourseRegulationPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
     $c->add(CourseRegulationPeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId());
     $course_reg = CourseRegulationPeer::doSelectOne($c);
     if ($course_reg == null) {
         $course_reg = new CourseRegulation();
     }
     $this->course_reg = $course_reg;
     $this->course_schedule = $course_schedule;
     $this->subtitle = $course_schedule->getAcademicCalendar()->getName() . ' # ' . $course_schedule->getSubjectCurr()->getSubject()->getName() . ' - id:' . $course_schedule->getId();
     $actions = array(array('name' => 'save', 'type' => 'submit', 'options' => array('class' => 'save_button', 'onclick' => "action_type.value=this.value")));
     if ($cur13_ki->getId() == ScoreRule::THREE) {
         array_unshift($actions, array('name' => 'Kembali', 'url' => 'course_sd/listKi3?course_id=' . $course_schedule->getId(), 'color' => 'black'));
     } else {
         array_unshift($actions, array('name' => 'Kembali', 'url' => 'course_sd/listKi4?course_id=' . $course_schedule->getId(), 'color' => 'black'));
     }
     $this->actions = $actions;
 }
Пример #5
0
                                                                    <tr class="list"><td colspan="100"><div class="no_record"><?php 
    echo __('No record found');
    ?>
</div></td></tr>
                                                                <?php 
} else {
    ?>
                                                                    <?php 
    $i = 0;
    foreach ($pager->getResults() as $formula) {
        ?>
                                                                        <?php 
        $c = new Criteria();
        $c->add(CourseRegulationPeer::ID, $course_regulation->getId());
        $c->add(CourseRegulationPeer::FORMULA_ID, $formula->getId());
        $course_formula = CourseRegulationPeer::doSelectOne($c);
        ?>
                                                                        <tr class="list<?php 
        ++$i;
        if ($i % 2 == 0) {
            echo ' even';
        }
        ?>
">
                                                                            <td nowrap="nowrap" style="text-align: center;">
                                                                                <?php 
        if ($course_formula) {
            echo checkbox_tag('formulas', $formula->getId(), true, array('id' => 'formulas'));
            echo $i + ($pager->getPage() - 1) * $pager->getMaxPerPage();
        } else {
            echo checkbox_tag('formulas', $formula->getId(), false, array('id' => 'formulas'));
Пример #6
0
 public function executeGetListAfective()
 {
     $course_id = $this->getRequestParameter('course_id');
     $course_schedule = CourseSchedulePeer::retrieveByPK($course_id);
     $this->forward404Unless($course_schedule);
     $this->course_schedule = $course_schedule;
     $grade_spec_id = $this->getRequestParameter('grade_spec_id');
     $grade_spec = GradeSpecPeer::retrieveByPK($grade_spec_id);
     $this->forward404Unless($grade_spec);
     $this->grade_spec = $grade_spec;
     if ($grade_spec_id) {
         $c = new Criteria();
         $c->addJoin(VStudentAccalPeer::STUDENT_ID, VStudentActivePeer::ID);
         $c->add(VStudentAccalPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
         $c->add(VStudentAccalPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
         $c->addAscendingOrderByColumn(VStudentAccalPeer::CLASS_NAME);
     } else {
         $c = new Criteria();
         $c->add(VStudentAccalPeer::ACADEMIC_CALENDAR_ID, -1);
     }
     $rpp = $this->getRequestParameter('max_per_page', $this->getUser()->getAttribute('max_per_page', ParamsPeer::retrieveByCode('row_per_page')->getValue(), 'student'));
     $this->getUser()->setAttribute('max_per_page', $rpp, 'student');
     $pager = new sfPropelPager('VStudentAccal', $rpp);
     $pager->setCriteria($c);
     $page = $this->getRequestParameter('page', $this->getUser()->getAttribute('page', 1, 'student'));
     $this->getUser()->setAttribute('page', $page, 'student');
     $pager->setPage($page);
     $pager->init();
     $this->pager = $pager;
     ## Mengelompokkan Penilaian Anak berdasarkan Tahun Ajaran dan Kelas
     $cr = new Criteria();
     $cr->add(StudentGradeRaportPeer::COURSE_SCHEDULE_ID, $course_schedule->getId());
     $stugrades = StudentGradeRaportPeer::doSelect($cr);
     $this->stugrades = $stugrades;
     $grades = array();
     $grade_avg = array();
     foreach ($stugrades as $stugrade) {
         $grades[$stugrade->getStudentAccalId() . '#' . $stugrade->getGradeSpecId()] = $stugrade->getGrade();
         $grade_avg[$stugrade->getGradeSpecId()] = (array_key_exists($stugrade->getGradeSpecId(), $grade_avg) ? $grade_avg[$stugrade->getGradeSpecId()] : 0) + $stugrade->getGrade();
     }
     $this->grades = $grades;
     $this->grade_avg = $grade_avg;
     $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());
     $course_reg = CourseRegulationPeer::doSelectOne($cw);
     $this->course_reg = $course_reg;
     $this->subtitle = $grade_spec->toString() . ' - ' . $grade_spec->getParentName();
     $actions3 = array(array('name' => 'save', 'type' => 'submit', 'options' => array('class' => 'save_button', 'onclick' => "action_type.value=this.value")), array('name' => 'get_template', 'url' => "course_afective/getTemplateAfective?course_id=" . $course_id . "&grade_spec_id=" . $grade_spec_id, 'color' => 'black', 'type' => 'direct'), array('name' => 'reset', 'type' => 'reset', 'options' => array('class' => 'save_button', 'onclick' => "\$\$('.score').each(function(el){el.style.borderColor='';el.style.borderWidth='';});")));
     $this->actions3 = $actions3;
 }
Пример #7
0
 public function executePrintTryout()
 {
     $course_schedule = CourseSchedulePeer::retrieveByPk($this->getRequestParameter('course_id'));
     $this->forward404Unless($course_schedule);
     $course_schedule_id = $course_schedule->getId();
     $cr = new Criteria();
     $cr->add(GradeSpecPeer::PARENT, 45);
     $this->grade = GradeSpecPeer::doSelect($cr);
     $this->count = GradeSpecPeer::doCount($cr);
     $cd = new Criteria();
     $cd->add(StudentTryoutPeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId());
     $cd->add(StudentTryoutPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
     $cd->add(StudentTryoutPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
     $stugrades = StudentTryoutPeer::doSelect($cd);
     $grades = array();
     $grade_avg = array();
     foreach ($stugrades as $stugrade) {
         $grades[$stugrade->getStudentId() . '#' . $stugrade->getGradeSpecId()] = $stugrade->getGrade();
         $grade_avg[$stugrade->getStudentId() . '#' . $stugrade->getGradeSpecId()] = (array_key_exists($stugrade->getStudentId() . '#' . $stugrade->getGradeSpecId(), $grade_avg) ? $grade_avg[$stugrade->getStudentId() . '#' . $stugrade->getGradeSpecId()] : 0) + $stugrade->getGrade();
     }
     $this->grades = $grades;
     $this->grade_avg = $grade_avg;
     $c = new Criteria();
     $c->addJoin(VStudentAccalPeer::STUDENT_ID, VStudentActivePeer::ID);
     $c->add(VStudentAccalPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
     $c->add(VStudentAccalPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
     $c->addAscendingOrderByColumn(VStudentAccalPeer::CLASS_NAME);
     $rpp = $this->getRequestParameter('max_per_page', $this->getUser()->getAttribute('max_per_page', ParamsPeer::retrieveByCode('row_per_page')->getValue(), 'student'));
     $this->getUser()->setAttribute('max_per_page', $rpp, 'student');
     $pager = new sfPropelPager('VStudentAccal', $rpp);
     $pager->setCriteria($c);
     $page = $this->getRequestParameter('page', $this->getUser()->getAttribute('page', 1, 'student'));
     $this->getUser()->setAttribute('page', $page, 'student');
     $pager->setPage($page);
     $pager->init();
     $this->pager = $pager;
     $this->student_count = VStudentAccalPeer::doCount($c);
     $this->subtitle = $course_schedule->getSubjectCurr()->getSubject()->getName() . ' - ' . $course_schedule->getClassGroup()->toString();
     $this->course_schedule = $course_schedule;
     $cem = new Criteria();
     $cem->add(CourseRegulationPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
     $cem->add(CourseRegulationPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
     $cem->add(CourseRegulationPeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId());
     $course_reg = CourseRegulationPeer::doSelectOne($cem);
     $this->course_reg = $course_reg;
     $this->papersize = 'a4';
     $this->setLayout(false);
     $this->orientation = 'potrait';
     $this->setViewClass('sfDomPDF');
 }
Пример #8
0
 public function executeSaveUpload()
 {
     $scores = $this->getRequestParameter('score');
     $id_course = 0;
     $id_student = 0;
     foreach ($scores as $k => $score) {
         if ($score != null) {
             if ($score != '-') {
                 $ids = split('_', $k);
                 $course_schedule = CourseSchedulePeer::retrieveByPK($ids[1]);
                 $id_course = $course_schedule->getId();
                 $student = StudentPeer::retrieveByPK($ids[0]);
                 $id_student = $student->getId();
                 $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[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();
             } else {
                 $ids = split('_', $k);
                 $course_schedule = CourseSchedulePeer::retrieveByPK($ids[1]);
                 $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->delete();
                 }
             }
         }
     }
     $hiddenscores = $this->getRequestParameter('hiddenscore');
     foreach ($hiddenscores as $j => $hiddenscore) {
         $ids = split('_', $j);
         $course_schedule = CourseSchedulePeer::retrieveByPK($ids[1]);
         $student = StudentPeer::retrieveByPK($ids[0]);
         $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);
         $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) {
             $cr = new Criteria();
             $cr->add(GradeSpecPeer::PARENT, 1);
             $cr->addAscendingOrderByColumn(GradeSpecPeer::ID);
             $grade1 = GradeSpecPeer::doSelect($cr);
             $count1 = GradeSpecPeer::doCount($cr);
             $ct = new Criteria();
             $ct->add(GradeSpecPeer::PARENT, 7);
             $ct->addAscendingOrderByColumn(GradeSpecPeer::ID);
             $grade2 = GradeSpecPeer::doSelect($ct);
             $count2 = GradeSpecPeer::doCount($ct);
             $student_grades = array();
             $student_total_grades = 0;
             $student_grade_count = 0;
             $student_grades2 = array();
             $student_total_grades2 = 0;
             $student_grade_count2 = 0;
             $connection = Propel::getConnection();
             $statement = $connection->createStatement();
             $sql = "SELECT grade_spec_id, sum(grade) grade FROM grade_spec g left outer join student_raport s on grade_spec_id = g.id WHERE PARENT=" . $grade1[0]->getParent() . " and student_id = " . $student->getId() . " and subject_curr_id = " . $course_schedule->getSubjectCurrId() . " and class_group_id = " . $course_schedule->getClassGroupId() . " and academic_calendar_id = " . $course_schedule->getAcademicCalendarId() . " group by student_id, subject_curr_id, class_group_id, academic_calendar_id, grade_spec_id";
             $result = $statement->executeQuery($sql, ResultSet::FETCHMODE_NUM);
             while ($result->next()) {
                 $ra = $result->getRow();
                 $student_grades[$ra[0]] = $ra[1];
                 $student_total_grades += $ra[1];
                 $student_grade_count += 1;
             }
             $sql2 = "SELECT grade_spec_id, sum(grade) grade FROM grade_spec g left outer join student_raport s on grade_spec_id = g.id WHERE PARENT=" . $grade2[0]->getParent() . " and student_id = " . $student->getId() . " and subject_curr_id = " . $course_schedule->getSubjectCurrId() . " and class_group_id = " . $course_schedule->getClassGroupId() . " and academic_calendar_id = " . $course_schedule->getAcademicCalendarId() . " group by student_id, subject_curr_id, class_group_id, academic_calendar_id, grade_spec_id";
             $result2 = $statement->executeQuery($sql2, ResultSet::FETCHMODE_NUM);
             while ($result2->next()) {
                 $ra2 = $result2->getRow();
                 $student_grades2[$ra2[0]] = $ra2[1];
                 $student_total_grades2 += $ra2[1];
                 $student_grade_count2 += 1;
             }
             foreach ($grade1 as $g1) {
                 if (array_key_exists($g1->getId(), $student_grades)) {
                     $student_grades[$g1->getId()];
                 }
             }
             $avg1 = 0;
             if ($student_grade_count > 0) {
                 $avg1 = round($student_total_grades / $student_grade_count);
             }
             foreach ($grade2 as $g2) {
                 if (array_key_exists($g2->getId(), $student_grades2)) {
                     $student_grades2[$g2->getId()];
                 }
             }
             $avg2 = 0;
             if ($student_grade_count2 > 0) {
                 $avg2 = round($student_total_grades2 / $student_grade_count2);
             }
             $cm = new Criteria();
             $cm->add(StudentRaportPeer::STUDENT_ID, $student->getId());
             $cm->add(StudentRaportPeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId());
             $cm->add(StudentRaportPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
             $cm->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
             $stu_scores = StudentRaportPeer::doSelect($cm);
             $student_score = array();
             foreach ($stu_scores as $stu_score) {
                 $student_score[$stu_score->getGradeSpecId()] = $stu_score->getGrade();
             }
             ## Format 2 (RUH+UTS+UAS)/3
             if ($c_regulation->getFormulaId() == 2) {
                 $scoreBLP = round(($avg1 + $student_score[14] + $student_score[15]) / 3);
                 # Format 3 (3RUH+UTS+UAS)/5
             } elseif ($c_regulation->getFormulaId() == 3) {
                 $scoreBLP = round((3 * $avg1 + $student_score[14] + $student_score[15]) / 5);
                 ## Format 4 (2RUH+RTGS+UTS+UAS)/5
             } elseif ($c_regulation->getFormulaId() == 4) {
                 $scoreBLP = round((2 * $avg1 + $avg2 + $student_score[14] + $student_score[15]) / 5);
                 ## Format 5 (2RUH+RTGS+UAS)/4
             } elseif ($c_regulation->getFormulaId() == 5) {
                 $scoreBLP = round((2 * $avg1 + $avg2 + $student_score[15]) / 4);
                 ## Format 6 (2RUH+UAS)/3
             } elseif ($c_regulation->getFormulaId() == 6) {
                 $scoreBLP = round((2 * $avg1 + $student_score[15]) / 3);
                 ## Format 7 (50%RUH+10%RTGS+20%UTS+20%UAS)
             } elseif ($c_regulation->getFormulaId() == 7) {
                 $scoreBLP = round(0.5 * $avg1 + 0.1 * $avg2 + 0.2 * $student_score[14] + 0.2 * $student_score[15]);
                 ## Format 8  (2NH+UTS+UAS)/4
             } elseif ($c_regulation->getFormulaId() == 8) {
                 #$nh = round((7 * $avg1 + 3 * $avg2) / 10);
                 $nh = round((3 * $ids[1] + $ids[2]) / 4);
                 $scoreBLP = round(($nh + $student_score[14] + $student_score[15]) / 4);
                 ## Format 9  (3NH+NUTS+NUKK)/5
             } elseif ($c_regulation->getFormulaId() == 9) {
                 #$nh = round((3*$avg1+$avg2)/5);
                 $nh = round(0.6 * $ids[1] + 0.4 * $ids[2]);
                 $scoreBLP = round((3 * $nh + $student_score[14] + $student_score[15]) / 5);
                 ## Format 10 (70%*NH+30%*(UTS+UAS))
             } elseif ($c_regulation->getFormulaId() == 10) {
                 #$nh = round($ids[1] + 2 * $ids[2]);
                 #$nh = round((0.6 * $ids [1]) + (0.4 * $ids [2]));
                 #$scoreBLP = round(0.6 * $nh + 0.4 * ($ids[3] + $ids[4]));
                 #$nh = round($avg1 + 2 * $avg2);
                 $nh = round(0.6 * $avg1 + 0.4 * $avg2);
                 $scoreBLP = round(0.6 * $nh + 0.4 * ($student_score[14] + $student_score[15]));
                 ## Format 1 atau Lainnya (RTGS+RUH+UTS+UAS)/4
             } else {
                 $scoreBLP = round(($avg1 + $avg2 + $student_score[14] + $student_score[15]) / 4);
             }
             $cn = new Criteria();
             $cn->add(StudentRaportPeer::STUDENT_ID, $ids[0]);
             $cn->add(StudentRaportPeer::GRADE_SPEC_ID, 16);
             $cn->add(StudentRaportPeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId());
             $cn->add(StudentRaportPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
             $cn->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
             $graport = StudentRaportPeer::doSelectOne($cn);
             if ($graport == null) {
                 $graport = new StudentRaport();
             }
             $graport->setStudentId($ids[0]);
             $graport->setGradeSpecId(16);
             $graport->setGrade($scoreBLP);
             $graport->setSubjectCurrId($course_schedule->getSubjectCurrId());
             $graport->setClassGroupId($course_schedule->getClassGroupId());
             $graport->setAcademicCalendarId($course_schedule->getAcademicCalendarId());
             $graport->setCitationId($stu_accal->getId());
             $graport->save();
             ## Menyimpan Nilai Raport Murni
             $ii = new Criteria();
             $ii->add(StudentRaportPeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId());
             $ii->add(StudentRaportPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
             $ii->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
             $ii->add(StudentRaportPeer::STUDENT_ID, $ids[0]);
             $ii->add(StudentRaportPeer::GRADE_SPEC_ID, 88);
             $gi = StudentRaportPeer::doSelectOne($ii);
             if ($gi == null) {
                 $gi = new StudentRaport();
             }
             $gi->setStudentId($ids[0]);
             $gi->setGradeSpecId(88);
             $gi->setGrade($scoreBLP);
             $gi->setSubjectCurrId($course_schedule->getSubjectCurrId());
             $gi->setClassGroupId($course_schedule->getClassGroupId());
             $gi->setAcademicCalendarId($course_schedule->getAcademicCalendarId());
             $gi->setCitationId($stu_accal->getId());
             $gi->save();
         }
     }
     return $this->redirect('course_score/uploadFinish?course_id=' . $id_course);
 }
Пример #9
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()) {
                             $score_atas = $nr->getGrade() - $c_regulation->getKkm();
                             $score_bawah = round(0.1 * (100 - $c_regulation->getKkm()));
                             $score = round($c_regulation->getKkm() + $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();
                         }
                         #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');
 }
Пример #10
0
 public function executeSave()
 {
     $subject_id = $this->getRequestParameter('subject_id');
     $class_id = $this->getRequestParameter('class_id');
     $accal_id = $this->getRequestParameter('accal_id');
     $score1s = $this->getRequestParameter('score1');
     foreach ($score1s as $k => $score1) {
         if ($score1 != null) {
             if ($score1 != '-') {
                 $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, $subject_id);
                 $c->add(StudentRaportPeer::CLASS_GROUP_ID, $class_id);
                 $c->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $accal_id);
                 $g = StudentRaportPeer::doSelectOne($c);
                 if ($g == null) {
                     $g = new StudentRaport();
                 }
                 $g->setStudentId($ids[0]);
                 $g->setGradeSpecId($ids[1]);
                 $g->setGrade($score1);
                 $g->setSubjectCurrId($subject_id);
                 $g->setClassGroupId($class_id);
                 $g->setAcademicCalendarId($accal_id);
                 $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, $subject_id);
                 $c->add(StudentRaportPeer::CLASS_GROUP_ID, $class_id);
                 $c->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $accal_id);
                 $g = StudentRaportPeer::doSelectOne($c);
                 if ($g != null) {
                     $g->delete();
                 }
             }
         }
     }
     $score2s = $this->getRequestParameter('score2');
     foreach ($score2s as $k => $score2) {
         if ($score2 != null) {
             if ($score2 != '-') {
                 $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, $subject_id);
                 $c->add(StudentRaportPeer::CLASS_GROUP_ID, $class_id);
                 $c->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $accal_id);
                 $g = StudentRaportPeer::doSelectOne($c);
                 if ($g == null) {
                     $g = new StudentRaport();
                 }
                 $g->setStudentId($ids[0]);
                 $g->setGradeSpecId($ids[1]);
                 $g->setGrade($score2);
                 $g->setSubjectCurrId($subject_id);
                 $g->setClassGroupId($class_id);
                 $g->setAcademicCalendarId($accal_id);
                 $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, $subject_id);
                 $c->add(StudentRaportPeer::CLASS_GROUP_ID, $class_id);
                 $c->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $accal_id);
                 $g = StudentRaportPeer::doSelectOne($c);
                 if ($g != null) {
                     $g->delete();
                 }
             }
         }
     }
     $scoreUTSs = $this->getRequestParameter('scoreUTS');
     foreach ($scoreUTSs as $k => $scoreUTS) {
         if ($scoreUTS != null) {
             if ($scoreUTS != '-') {
                 $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, $subject_id);
                 $c->add(StudentRaportPeer::CLASS_GROUP_ID, $class_id);
                 $c->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $accal_id);
                 $g = StudentRaportPeer::doSelectOne($c);
                 if ($g == null) {
                     $g = new StudentRaport();
                 }
                 $g->setStudentId($ids[0]);
                 $g->setGradeSpecId($ids[1]);
                 $g->setGrade($scoreUTS);
                 $g->setSubjectCurrId($subject_id);
                 $g->setClassGroupId($class_id);
                 $g->setAcademicCalendarId($accal_id);
                 $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, $subject_id);
                 $c->add(StudentRaportPeer::CLASS_GROUP_ID, $class_id);
                 $c->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $accal_id);
                 $g = StudentRaportPeer::doSelectOne($c);
                 if ($g != null) {
                     $g->delete();
                 }
             }
         }
     }
     $scoreUASs = $this->getRequestParameter('scoreUAS');
     foreach ($scoreUASs as $k => $scoreUAS) {
         if ($scoreUAS != null) {
             if ($scoreUAS != '-') {
                 $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, $subject_id);
                 $c->add(StudentRaportPeer::CLASS_GROUP_ID, $class_id);
                 $c->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $accal_id);
                 $g = StudentRaportPeer::doSelectOne($c);
                 if ($g == null) {
                     $g = new StudentRaport();
                 }
                 $g->setStudentId($ids[0]);
                 $g->setGradeSpecId($ids[1]);
                 $g->setGrade($scoreUAS);
                 $g->setSubjectCurrId($subject_id);
                 $g->setClassGroupId($class_id);
                 $g->setAcademicCalendarId($accal_id);
                 $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, $subject_id);
                 $c->add(StudentRaportPeer::CLASS_GROUP_ID, $class_id);
                 $c->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $accal_id);
                 $g = StudentRaportPeer::doSelectOne($c);
                 if ($g != null) {
                     $g->delete();
                 }
             }
         }
     }
     $course_schedule = CourseSchedulePeer::retrieveByPK($this->getRequestParameter('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->getFormulaId() == 7 || $c_regulation->getFormulaId() == 10) {
         $totalAVGs = $this->getRequestParameter('totalAVG');
         foreach ($totalAVGs as $student_id => $totalAVG) {
             $f = new Criteria();
             $f->add(StudentRaportPeer::SUBJECT_CURR_ID, $subject_id);
             $f->add(StudentRaportPeer::CLASS_GROUP_ID, $class_id);
             $f->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $accal_id);
             $f->add(StudentRaportPeer::STUDENT_ID, $student_id);
             $f->add(StudentRaportPeer::GRADE_SPEC_ID, 14);
             $sr3 = StudentRaportPeer::doSelectOne($f);
             $h = new Criteria();
             $h->add(StudentRaportPeer::SUBJECT_CURR_ID, $subject_id);
             $h->add(StudentRaportPeer::CLASS_GROUP_ID, $class_id);
             $h->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $accal_id);
             $h->add(StudentRaportPeer::STUDENT_ID, $student_id);
             $h->add(StudentRaportPeer::GRADE_SPEC_ID, 15);
             $sr4 = StudentRaportPeer::doSelectOne($h);
             $uts_score = $sr3 != null ? $sr3->getGrade() : 0;
             $uas_score = $sr4 != null ? $sr4->getGrade() : 0;
             $scoreBLP = round(($totalAVG + $uts_score + $uas_score) * 0.25);
             $i = new Criteria();
             $i->add(StudentRaportPeer::SUBJECT_CURR_ID, $subject_id);
             $i->add(StudentRaportPeer::CLASS_GROUP_ID, $class_id);
             $i->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $accal_id);
             $i->add(StudentRaportPeer::STUDENT_ID, $student_id);
             $i->add(StudentRaportPeer::GRADE_SPEC_ID, 16);
             $g = StudentRaportPeer::doSelectOne($i);
             if ($g == null) {
                 $g = new StudentRaport();
             }
             $g->setStudentId($student_id);
             $g->setGradeSpecId(16);
             $g->setGrade($scoreBLP);
             $g->setSubjectCurrId($subject_id);
             $g->setClassGroupId($class_id);
             $g->setAcademicCalendarId($accal_id);
             $g->save();
         }
     } elseif ($c_regulation->getFormulaId() == 8) {
         $uhAVGs = $this->getRequestParameter('uhAVG');
         foreach ($uhAVGs as $student_id => $uhAVG) {
             $f = new Criteria();
             $f->add(StudentRaportPeer::SUBJECT_CURR_ID, $subject_id);
             $f->add(StudentRaportPeer::CLASS_GROUP_ID, $class_id);
             $f->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $accal_id);
             $f->add(StudentRaportPeer::STUDENT_ID, $student_id);
             $f->add(StudentRaportPeer::GRADE_SPEC_ID, 14);
             $sr3 = StudentRaportPeer::doSelectOne($f);
             $h = new Criteria();
             $h->add(StudentRaportPeer::SUBJECT_CURR_ID, $subject_id);
             $h->add(StudentRaportPeer::CLASS_GROUP_ID, $class_id);
             $h->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $accal_id);
             $h->add(StudentRaportPeer::STUDENT_ID, $student_id);
             $h->add(StudentRaportPeer::GRADE_SPEC_ID, 15);
             $sr4 = StudentRaportPeer::doSelectOne($h);
             $uts_score = $sr3 != null ? $sr3->getGrade() : 0;
             $uas_score = $sr4 != null ? $sr4->getGrade() : 0;
             $scoreBLP = round(($uhAVG + $uts_score + $uas_score) / 3);
             $i = new Criteria();
             $i->add(StudentRaportPeer::SUBJECT_CURR_ID, $subject_id);
             $i->add(StudentRaportPeer::CLASS_GROUP_ID, $class_id);
             $i->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $accal_id);
             $i->add(StudentRaportPeer::STUDENT_ID, $student_id);
             $i->add(StudentRaportPeer::GRADE_SPEC_ID, 16);
             $g = StudentRaportPeer::doSelectOne($i);
             if ($g == null) {
                 $g = new StudentRaport();
             }
             $g->setStudentId($student_id);
             $g->setGradeSpecId(16);
             $g->setGrade($scoreBLP);
             $g->setSubjectCurrId($subject_id);
             $g->setClassGroupId($class_id);
             $g->setAcademicCalendarId($accal_id);
             $g->save();
         }
     } elseif ($c_regulation->getFormulaId() == 9) {
         $uh3AVGs = $this->getRequestParameter('uh3AVG');
         foreach ($uh3AVGs as $student_id => $uh3AVG) {
             $f = new Criteria();
             $f->add(StudentRaportPeer::SUBJECT_CURR_ID, $subject_id);
             $f->add(StudentRaportPeer::CLASS_GROUP_ID, $class_id);
             $f->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $accal_id);
             $f->add(StudentRaportPeer::STUDENT_ID, $student_id);
             $f->add(StudentRaportPeer::GRADE_SPEC_ID, 14);
             $sr3 = StudentRaportPeer::doSelectOne($f);
             $h = new Criteria();
             $h->add(StudentRaportPeer::SUBJECT_CURR_ID, $subject_id);
             $h->add(StudentRaportPeer::CLASS_GROUP_ID, $class_id);
             $h->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $accal_id);
             $h->add(StudentRaportPeer::STUDENT_ID, $student_id);
             $h->add(StudentRaportPeer::GRADE_SPEC_ID, 15);
             $sr4 = StudentRaportPeer::doSelectOne($h);
             $uts_score = $sr3 != null ? $sr3->getGrade() : 0;
             $uas_score = $sr4 != null ? $sr4->getGrade() : 0;
             $scoreBLP = round(($uh3AVG + $uts_score + $uas_score) * 0.2);
             $i = new Criteria();
             $i->add(StudentRaportPeer::SUBJECT_CURR_ID, $subject_id);
             $i->add(StudentRaportPeer::CLASS_GROUP_ID, $class_id);
             $i->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $accal_id);
             $i->add(StudentRaportPeer::STUDENT_ID, $student_id);
             $i->add(StudentRaportPeer::GRADE_SPEC_ID, 16);
             $g = StudentRaportPeer::doSelectOne($i);
             if ($g == null) {
                 $g = new StudentRaport();
             }
             $g->setStudentId($student_id);
             $g->setGradeSpecId(16);
             $g->setGrade($scoreBLP);
             $g->setSubjectCurrId($subject_id);
             $g->setClassGroupId($class_id);
             $g->setAcademicCalendarId($accal_id);
             $g->save();
         }
     } elseif ($c_regulation->getFormulaId() == 11) {
         $tgsAVGs = $this->getRequestParameter('tgsAVG');
         foreach ($tgsAVGs as $student_id => $tgsAVG) {
             $f = new Criteria();
             $f->add(StudentRaportPeer::SUBJECT_CURR_ID, $subject_id);
             $f->add(StudentRaportPeer::CLASS_GROUP_ID, $class_id);
             $f->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $accal_id);
             $f->add(StudentRaportPeer::STUDENT_ID, $student_id);
             $f->add(StudentRaportPeer::GRADE_SPEC_ID, 14);
             $sr3 = StudentRaportPeer::doSelectOne($f);
             $h = new Criteria();
             $h->add(StudentRaportPeer::SUBJECT_CURR_ID, $subject_id);
             $h->add(StudentRaportPeer::CLASS_GROUP_ID, $class_id);
             $h->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $accal_id);
             $h->add(StudentRaportPeer::STUDENT_ID, $student_id);
             $h->add(StudentRaportPeer::GRADE_SPEC_ID, 15);
             $sr4 = StudentRaportPeer::doSelectOne($h);
             $uts_score = $sr3 != null ? $sr3->getGrade() : 0;
             $uas_score = $sr4 != null ? $sr4->getGrade() : 0;
             $scoreBLP = round(($tgsAVG + $uts_score + $uas_score) / 5);
             $i = new Criteria();
             $i->add(StudentRaportPeer::SUBJECT_CURR_ID, $subject_id);
             $i->add(StudentRaportPeer::CLASS_GROUP_ID, $class_id);
             $i->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $accal_id);
             $i->add(StudentRaportPeer::STUDENT_ID, $student_id);
             $i->add(StudentRaportPeer::GRADE_SPEC_ID, 16);
             $g = StudentRaportPeer::doSelectOne($i);
             if ($g == null) {
                 $g = new StudentRaport();
             }
             $g->setStudentId($student_id);
             $g->setGradeSpecId(16);
             $g->setGrade($scoreBLP);
             $g->setSubjectCurrId($subject_id);
             $g->setClassGroupId($class_id);
             $g->setAcademicCalendarId($accal_id);
             $g->save();
         }
     } else {
         $totalAVGs = $this->getRequestParameter('totalAVG');
         foreach ($totalAVGs as $student_id => $totalAVG) {
             $f = new Criteria();
             $f->add(StudentRaportPeer::SUBJECT_CURR_ID, $subject_id);
             $f->add(StudentRaportPeer::CLASS_GROUP_ID, $class_id);
             $f->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $accal_id);
             $f->add(StudentRaportPeer::STUDENT_ID, $student_id);
             $f->add(StudentRaportPeer::GRADE_SPEC_ID, 14);
             $sr3 = StudentRaportPeer::doSelectOne($f);
             $h = new Criteria();
             $h->add(StudentRaportPeer::SUBJECT_CURR_ID, $subject_id);
             $h->add(StudentRaportPeer::CLASS_GROUP_ID, $class_id);
             $h->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $accal_id);
             $h->add(StudentRaportPeer::STUDENT_ID, $student_id);
             $h->add(StudentRaportPeer::GRADE_SPEC_ID, 15);
             $sr4 = StudentRaportPeer::doSelectOne($h);
             $uts_score = $sr3 != null ? $sr3->getGrade() : 0;
             $uas_score = $sr4 != null ? $sr4->getGrade() : 0;
             $scoreBLP = round(($totalAVG + $uts_score + $uas_score) * 0.25);
             $i = new Criteria();
             $i->add(StudentRaportPeer::SUBJECT_CURR_ID, $subject_id);
             $i->add(StudentRaportPeer::CLASS_GROUP_ID, $class_id);
             $i->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $accal_id);
             $i->add(StudentRaportPeer::STUDENT_ID, $student_id);
             $i->add(StudentRaportPeer::GRADE_SPEC_ID, 16);
             $g = StudentRaportPeer::doSelectOne($i);
             if ($g == null) {
                 $g = new StudentRaport();
             }
             $g->setStudentId($student_id);
             $g->setGradeSpecId(16);
             $g->setGrade($scoreBLP);
             $g->setSubjectCurrId($subject_id);
             $g->setClassGroupId($class_id);
             $g->setAcademicCalendarId($accal_id);
             $g->save();
         }
     }
     return $this->redirect('course/listScore?employee_id=' . $this->getRequestParameter('employee_id'));
 }