public static function retrieveByName($name, $con = null) { if ($con === null) { $con = Propel::getConnection(self::DATABASE_NAME); } $criteria = new Criteria(GradeConversionPeer::DATABASE_NAME); $criteria->add(GradeConversionPeer::NAME, $name); $v = GradeConversionPeer::doSelect($criteria, $con); return !empty($v) > 0 ? $v[0] : null; }
public function createDescription($grades) { $descriptionArray = array(); $templateId = 0; $descPerRemark = array(); foreach ($grades as $grade) { if ($grade) { $descPerRemark[$grade->getRemark()][] = $grade; } } $kelompok = 1; foreach ($descPerRemark as $remark => $grades) { $c = new Criteria(); $c->add(GradeConversionPeer::GRADE_CONVERSION_TEMPLATE_ID, $this->gradeConversionTemplate->getId(), Criteria::EQUAL); $c->add(GradeConversionPeer::NAME, $remark, Criteria::EQUAL); $template = GradeConversionPeer::doSelectOne($c); if (!$template) { continue; } $gradeCount = count($grades); $n = 1; $descriptionTemp = ''; foreach ($grades as $grade) { $thisTerm = $grade->getCur13Term(); if ($n == 1) { $descriptionTemp .= $kelompok == 1 ? strtolower($template->getDescription()) : $template->getDescription(); } $descriptionTemp .= ' ' . $thisTerm->getDescription(); if ($n != $gradeCount && $n != $gradeCount - 1) { $descriptionTemp .= ','; } if ($n == $gradeCount - 1) { $descriptionTemp .= ' dan'; } $n++; } $descriptionArray[$template->getMaxValue()] = $descriptionTemp; $kelompok++; } krsort($descriptionArray); $description = implode('. ', $descriptionArray); return $description; }
public function executeUpdatePackaged() { $student_id = $this->getRequestParameter('student_id'); $student = StudentPeer::retrieveByPK($student_id); $this->forward404Unless($student); $this->student = $student; $academic_calendar_id = $this->getRequestParameter('academic_calendar_id'); $academic_calendar = AcademicCalendarPeer::retrieveByPK($academic_calendar_id); $this->forward404Unless($academic_calendar); $class_group_id = $this->getRequestParameter('class_group_id'); $class_group = ClassGroupPeer::retrieveByPK($class_group_id); $this->forward404Unless($class_group); $status = $this->getRequestParameter('status'); $this->forward404Unless($status); $subject_accals = $academic_calendar->getSubjectAccals(); $sas = array(); foreach ($subject_accals as $sa) { if ($sa->getSubject()) { $sas[] = $sa->getId(); } } $saved_sas = array(); $saved_student_courses = $student->getStudentCourses(); foreach ($saved_student_courses as $ssc) { $saved_sas[] = $ssc->getSubjectAccalId(); } $disabled_sa = array_intersect($sas, $saved_sas); // calculate sc rules $objs = SubjectAccalPeer::doSelectByAccal(); foreach ($objs as $o) { $content[$o->getId()] = $o->toStringWithLector(); $c = new Criteria(); $c->add(SubjectAccalPeer::ID, $o->getId()); $c->add(SubjectCurrPeer::SUBJECT_ID, $o->getSubjectId()); $c->addJoin(AcademicCalendarPeer::ID, SubjectAccalPeer::ACADEMIC_CALENDAR_ID); $c->addJoin(AcademicCalendarPeer::CURRICULUM_ID, SubjectCurrPeer::CURRICULUM_ID); $c->addJoin(SubjectCurrPeer::ID, SubjectPrereqPeer::SUBCURR); $sps = SubjectPrereqPeer::doSelect($c); foreach ($sps as $sp) { $s = $sp->getSubjectCurrRelatedBySubcurrPrereq()->getSubject(); // prereq subject must be in closed state $c = new Criteria(); $c->add(SubjectAccalPeer::SUBJECT_ID, $s->getId()); $c->add(StudentCoursePeer::STUDENT_ID, $student_id); $c->add(StudentCoursePeer::STATUS, StudentCourse::STATUS_CLOSED); $c->addJoin(StudentCoursePeer::SUBJECT_ACCAL_ID, SubjectAccalPeer::ID); $scs = StudentCoursePeer::doSelect($c); $isPassGrade = false; $isPassCredit = true; $isPassIndex = true; foreach ($scs as $sc) { $grade = $sc->getFinalGrade(); $gc = GradeConversionPeer::retrieveByName($grade[0]); // check prereq subject grade if ($gc && $gc->getGrade() >= $sp->getGradeConversion()->getGrade()) { $isPassGrade = true; } else { $isPassGrade = false; } // check credit requirement if ($sp->getTotalCredit() > 0) { if ($sc->getTotalCreditClosed() >= $sp->getTotalCredit()) { $isPassCredit = true; } else { $isPassCredit = false; } } // check index requirement if ($sp->getPerformanceIndex() > 0) { if ($sc->getPerformanceIndex() >= $sp->getPerformanceIndex()) { $isPassIndex = true; } else { $isPassIndex = false; } } } $s0 = $sp->getSubjectCurrRelatedBySubcurrPrereq()->getSubject()->toString(); $s1 = $sp->getSubjectCurrRelatedBySubcurr()->getSubject()->toString(); if (!$isPassGrade || !$isPassCredit || !$isPassIndex) { $disabled_sa[] = $o->getId(); } } } $selected_sa = array_diff($sas, $disabled_sa); foreach ($selected_sa as $sa_id) { $student_course = new StudentCourse(); $student_course->setStudentId($student_id); $student_course->setSubjectAccalId($sa_id); $student_course->setStatus($status); $student_course->setClassGroupId($class_group_id); $student_course->save(); } return $this->redirect('student_course_s/list?student_id=' . $student->getId()); }
public function getPerformanceIndex() { $student = $this->getStudent(); $scs = $student->getVStudentCourses(); $total_credit = 0; $total_grade = 0; foreach ($scs as $sc) { if ($sc->getStatus() == VStudentCourse::STATUS_CLOSED && $sc->isPass()) { $grade = $sc->getFinalGrade(); $gc = GradeConversionPeer::retrieveByName($grade[0]); $total_credit += $sc->getSubjectAccal()->getSubject()->getCredit(); $total_grade += $gc->getGrade() * $sc->getSubjectAccal()->getSubject()->getCredit(); } } if ($total_credit > 0 && $total_grade > 0) { return $total_grade / $total_credit; } return 0; }
public function executeListRecapt() { $employee_id = sfContext::getInstance()->getUser()->getAttribute('user_id', null, 'bo'); $employee = EmployeePeer::retrieveByPK($employee_id); $this->forward404Unless($employee); $course_schedule = CourseSchedulePeer::retrieveByPk($this->getRequestParameter('course_id')); $this->forward404Unless($course_schedule); $this->course_schedule = $course_schedule; $actions = array(array('name' => 'save', 'type' => 'submit', 'options' => array('class' => 'save_button', 'onclick' => "action_type.value=this.value"))); #array_unshift($actions, array('name'=>'Print Excel','url'=>"course_sd/listRecaptAsCSV?course_id=".$course_schedule->getId(), 'color'=>'black', 'type'=>'direct')); #array_unshift($actions, array('name'=>'Print PDF','url'=>"course_sd/listRecaptAsPDF?course_id=".$course_schedule->getId(), 'color'=>'black', 'type'=>'direct')); $this->actions = $actions; ## Mengambil Kompetensi Dasar Untuk KI.3 $cur13_ki = ScoreRule::THREE; $ct = new Criteria(); $ct->add(Cur13TermPeer::CUR13_KI_ID, $cur13_ki); $ct->add(Cur13TermPeer::COURSE_SCHEDULE_ID, $course_schedule->getId()); $cur13_terms = Cur13TermPeer::doSelect($ct); $cur13_term_count = Cur13TermPeer::doCount($ct); $this->cur13_terms = $cur13_terms; $this->cur13_term_count = $cur13_term_count; $actions2 = array(array('name' => '<span>Penilaian 2013</span>', 'url' => 'course_sd/list?accal_id=' . $course_schedule->getAcademicCalendarId() . '&class_id=' . $course_schedule->getClassGroupId(), 'color' => 'sky')); array_push($actions2, array('name' => '<span>Proses Nilai KI.3 (Pengetahuan)</span>', 'url' => 'course_sd/listRecapt?course_id=' . $course_schedule->getId(), 'color' => 'sun', 'type' => 'direct')); array_push($actions2, array('name' => '<span>Proses Nilai KI.4 (Keterampilan)</span>', 'url' => 'course_sd/listRecaptKi4?course_id=' . $course_schedule->getId(), 'color' => 'sky')); $this->actions2 = $actions2; $this->subtitle = $course_schedule->getAcademicCalendar()->getName() . ' # ' . $course_schedule->getSubjectCurr()->getSubject()->getName() . ' - id:' . $course_schedule->getId(); $this->type = 'edit'; $this->cur13_ki = $cur13_ki; $this->title = 'Proses Nilai Raport KI.3 (Pengetahuan)'; $c = new Criteria(); $c->add(StudentAccalPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId()); $c->add(StudentAccalPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId()); $c->addJoin(StudentPeer::ID, StudentAccalPeer::STUDENT_ID); $c->add(StudentPeer::STATUS, Student::STATUS_ACTIVE); $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; ## Mengambil Student Accal Id $cm = new Criteria(); $cm->add(StudentAccalPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId()); $cm->add(StudentAccalPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId()); $stu_accals = StudentAccalPeer::doSelect($cm); $student_accal_id = array(); foreach ($stu_accals as $stu_accal) { $student_accal_id[$stu_accal->getStudentId()] = $stu_accal->getId(); } $this->student_accal_id = $student_accal_id; $cri = new Criteria(); $stuterms = Cur13GradeTermPeer::doSelect($cri); $this->stuterms = $stuterms; $grade_scale = array(); $grade_value = array(); $remark = array(); foreach ($stuterms as $stuterm) { $grade_scale[$stuterm->getStudentAccalId() . '#' . $stuterm->getCur13TermId()] = $stuterm->getGradeScale(); $grade_value[$stuterm->getStudentAccalId() . '#' . $stuterm->getCur13TermId()] = $stuterm->getGrade(); $remark[$stuterm->getStudentAccalId() . '#' . $stuterm->getCur13TermId()] = $stuterm->getRemark(); } $this->grade_scale = $grade_scale; $this->grade_value = $grade_value; $this->remark = $remark; $ct = new Criteria(); $ct->add(GradeConversionPeer::GRADE_CONVERSION_TEMPLATE_ID, 17); $grade_convs = GradeConversionPeer::doSelect($ct); $descript_select = array(); foreach ($grade_convs as $grade_conv) { $descript_select[$grade_conv->getName()] = $grade_conv->getDescription(); } $this->descript_select = $descript_select; }
public function executeListRecaptAfective() { $employee_id = sfContext::getInstance()->getUser()->getAttribute('user_id', null, 'bo'); $employee = EmployeePeer::retrieveByPK($employee_id); $this->forward404Unless($employee); $this->employee_id = $employee_id; $course_schedule = CourseSchedulePeer::retrieveByPk($this->getRequestParameter('course_id')); $this->forward404Unless($course_schedule); $course_schedule_id = $course_schedule->getId(); $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); $actions = array(array('name' => 'save', 'type' => 'submit', 'options' => array('class' => 'save_button', 'onclick' => "action_type.value=this.value"))); $this->actions = $actions; $this->subtitle = $course_schedule->getSubjectCurr()->getSubject()->getName() . ' - (' . $course_schedule->getClassGroup()->toString() . ' # ' . $course_schedule->getAcademicCalendar()->getName() . ')'; $this->type = 'edit'; $this->course_schedule = $course_schedule; ##Nilai Observasi $cr = new Criteria(); $cr->add(GradeSpecPeer::CODE, 'Obs', Criteria::IN); $cr->addAscendingOrderByColumn(GradeSpecPeer::ID); $prakteks = GradeSpecPeer::doSelect($cr); $prakteks_ids = array(); foreach ($prakteks as $praktek) { $prakteks_ids[] = $praktek->getId(); } $this->prakteks = $prakteks; $this->prakteks_ids = $prakteks_ids; ## Mengelompokkan Penilaian Anak berdasarkan Tahun Ajaran dan Kelas $cr = new Criteria(); $cr->add(StudentGradeRaportPeer::COURSE_SCHEDULE_ID, $course_schedule->getId(), Criteria::IN); $cr->add(StudentGradeRaportPeer::GRADE_SPEC_ID, $prakteks_ids, Criteria::IN); $stugrades = StudentGradeRaportPeer::doSelect($cr); $this->stugrades = $stugrades; $student_avg = array(); $student_total = array(); foreach ($stugrades as $stugrade) { $student_avg[$stugrade->getStudentAccalId()] = (array_key_exists($stugrade->getStudentAccalId(), $student_avg) ? $student_avg[$stugrade->getStudentAccalId()] : 0) + $stugrade->getGrade(); $student_total[$stugrade->getStudentAccalId()] = (array_key_exists($stugrade->getStudentAccalId(), $student_total) ? $student_total[$stugrade->getStudentAccalId()] : 0) + 1; } $this->student_avg = $student_avg; $this->student_total = $student_total; #End Nilai Observasi ##Nilai Diri Sendiri $cri = new Criteria(); $cri->add(GradeSpecPeer::CODE, 'Diri', Criteria::IN); $cri->addAscendingOrderByColumn(GradeSpecPeer::ID); $projects = GradeSpecPeer::doSelect($cri); $projects_ids = array(); foreach ($projects as $project) { $projects_ids[] = $project->getId(); } $this->projects = $projects; $this->projects_ids = $projects_ids; ## Mengelompokkan Penilaian Anak berdasarkan Tahun Ajaran dan Kelas $crm = new Criteria(); $crm->add(StudentGradeRaportPeer::COURSE_SCHEDULE_ID, $course_schedule->getId(), Criteria::IN); $crm->add(StudentGradeRaportPeer::GRADE_SPEC_ID, $projects_ids, Criteria::IN); $stuprojects = StudentGradeRaportPeer::doSelect($crm); $this->stugrades = $stuprojects; $project_avg = array(); $project_total = array(); foreach ($stuprojects as $stuproject) { $project_avg[$stuproject->getStudentAccalId()] = (array_key_exists($stuproject->getStudentAccalId(), $project_avg) ? $project_avg[$stuproject->getStudentAccalId()] : 0) + $stuproject->getGrade(); $project_total[$stuproject->getStudentAccalId()] = (array_key_exists($stuproject->getStudentAccalId(), $project_total) ? $project_total[$stuproject->getStudentAccalId()] : 0) + 1; } $this->project_avg = $project_avg; $this->project_total = $project_total; #End Nilai Diri ##Nilai Antar Teman $crt = new Criteria(); $crt->add(GradeSpecPeer::CODE, 'Antar', Criteria::IN); $crt->addAscendingOrderByColumn(GradeSpecPeer::ID); $portfolios = GradeSpecPeer::doSelect($crt); $portfolio_ids = array(); foreach ($portfolios as $portfolio) { $portfolio_ids[] = $portfolio->getId(); } $this->portfolios = $portfolios; $this->portfolio_ids = $portfolio_ids; ## Mengelompokkan Penilaian Anak berdasarkan Tahun Ajaran dan Kelas $crn = new Criteria(); $crn->add(StudentGradeRaportPeer::COURSE_SCHEDULE_ID, $course_schedule->getId(), Criteria::IN); $crn->add(StudentGradeRaportPeer::GRADE_SPEC_ID, $portfolio_ids, Criteria::IN); $stuportfolios = StudentGradeRaportPeer::doSelect($crn); $this->stuportfolios = $stuportfolios; $portfolio_avg = array(); $portfolio_total = array(); foreach ($stuportfolios as $stuportfolio) { $portfolio_avg[$stuportfolio->getStudentAccalId()] = (array_key_exists($stuportfolio->getStudentAccalId(), $portfolio_avg) ? $portfolio_avg[$stuportfolio->getStudentAccalId()] : 0) + $stuportfolio->getGrade(); $portfolio_total[$stuportfolio->getStudentAccalId()] = (array_key_exists($stuportfolio->getStudentAccalId(), $portfolio_total) ? $portfolio_total[$stuportfolio->getStudentAccalId()] : 0) + 1; } $this->portfolio_avg = $portfolio_avg; $this->portfolio_total = $portfolio_total; #End Nilai Antar teman ##Nilai Jurnal Guru $crw = new Criteria(); $crw->add(GradeSpecPeer::CODE, 'JG', Criteria::IN); $crw->addAscendingOrderByColumn(GradeSpecPeer::ID); $jurnals = GradeSpecPeer::doSelect($crw); $jurnal_ids = array(); foreach ($jurnals as $jurnal) { $jurnal_ids[] = $jurnal->getId(); } $this->jurnals = $jurnals; $this->jurnal_ids = $jurnal_ids; ## Mengelompokkan Penilaian Anak berdasarkan Tahun Ajaran dan Kelas $cro = new Criteria(); $cro->add(StudentGradeRaportPeer::COURSE_SCHEDULE_ID, $course_schedule->getId(), Criteria::IN); $cro->add(StudentGradeRaportPeer::GRADE_SPEC_ID, $jurnal_ids, Criteria::IN); $stujurnals = StudentGradeRaportPeer::doSelect($cro); $this->stujurnals = $stujurnals; $jurnal_avg = array(); $jurnal_total = array(); foreach ($stujurnals as $stujurnal) { $jurnal_avg[$stujurnal->getStudentAccalId()] = (array_key_exists($stujurnal->getStudentAccalId(), $jurnal_avg) ? $jurnal_avg[$stujurnal->getStudentAccalId()] : 0) + $stujurnal->getGrade(); $jurnal_total[$stujurnal->getStudentAccalId()] = (array_key_exists($stujurnal->getStudentAccalId(), $jurnal_total) ? $jurnal_total[$stujurnal->getStudentAccalId()] : 0) + 1; } $this->jurnal_avg = $jurnal_avg; $this->jurnal_total = $jurnal_total; #End Nilai Jurnal Guru $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; $cti = new Criteria(); $cti->add(FormulaPeer::FORMULA_TYPE, Formula::TYPE_AFEKTIF); $formula = FormulaPeer::doSelectOne($cti); $this->formula = $formula; $actions2 = array(array('name' => '<span>Nilai Sikap Per Kategori</span>', 'url' => 'course_afective/listAfective?course_id=' . $course_schedule->getId(), 'color' => 'sky')); array_unshift($actions2, array('name' => '<span>' . $course_schedule->getAcademicCalendar()->getName() . '</span>', 'url' => 'course_score_new/list', 'color' => 'sky')); array_push($actions2, array('name' => '<span>Nilai Sikap Keseluruhan</span>', 'url' => 'course_afective/listAllAfective?course_id=' . $course_schedule->getId(), 'color' => 'sky')); array_push($actions2, array('name' => '<span>Rekap Nilai Sikap</span>', 'url' => 'course_afective/listRecaptAfective?course_id=' . $course_schedule->getId(), 'color' => 'sun', 'type' => 'direct')); $this->actions2 = $actions2; $cb = new Criteria(); $cb->add(GradeConversionPeer::DEPARTMENT_ID, $course_schedule->getAcademicCalendar()->getDepartmentId()); $cb->add(GradeConversionPeer::TYPE_CONVERSION, GradeConversion::TYPE_AFEKTIF); $grade_convs = GradeConversionPeer::doSelect($cb); $grade_select = array(); foreach ($grade_convs as $grade_conv) { $grade_select[$grade_conv->getGrade()] = $grade_conv->getName(); } $this->grade_select = $grade_select; $this->grade_convs = $grade_convs; $this->title = 'Rekap Nilai Sikap'; $this->tipe = 'afective'; $this->setTemplate('listRecapt'); }
public function executePrintFinal2() { $counseling_id = $this->getRequestParameter('counseling_id'); $counseling = CounselingPeer::retrieveByPK($counseling_id); $this->forward404Unless($counseling); $academic_calendar = AcademicCalendarPeer::retrieveByPK($this->getRequestParameter('accal_id')); $this->forward404Unless($academic_calendar); $time = $this->getRequestParameter('time'); $time2 = $this->getRequestParameter('time2'); $tgl = $this->getRequestParameter('tgl_cetak'); $c = new Criteria(); $c->add(TempTablePeer::COUNSELING_ID, $counseling->getId()); $c->add(TempTablePeer::TIME, $time); $c->addJoin(VStudentActivePeer::ID, TempTablePeer::STUDENT_ID); $c->addAscendingOrderByColumn(VStudentActivePeer::CLASS_NAME); $students = VStudentActivePeer::doSelect($c); $this->forward404Unless($students); ## Daftar Mata Pelajaran di Jadwal Pelajaran $cw = new Criteria(); $cw->add(VCoursePeer::CLASS_GROUP_ID, $counseling->getClassGroupId()); $cw->add(VCoursePeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId()); $subjects = VCoursePeer::doSelect($cw); $course_ids = array(); $subject_ids = array(); foreach ($subjects as $subject) { $subject_ids[] = $subject->getSubjectCurrId(); $course_ids[$subject->getSubjectCurrId()] = $subject->getId(); } $this->subjects = $subjects; $this->course_ids = $course_ids; ## Menentukan Aturan Penilaian (Akhir Semester) $cd = new Criteria(); $cd->add(ScoreRulePeer::CLASS_GROUP_ID, $counseling->getClassGroup()->getParent()); $cd->add(ScoreRulePeer::ACADEMIC_CALENDAR_ID, $counseling->getAcademicCalendarId()); $cd->add(ScoreRulePeer::TYPE, ScoreRule::TYPE_TWO); $score_rule = ScoreRulePeer::doSelectOne($cd); $this->score_rule = $score_rule; ## Menentukan Aturan Penilaian (Tengah Semester) $cd = new Criteria(); $cd->add(ScoreRulePeer::CLASS_GROUP_ID, $counseling->getClassGroup()->getParent()); $cd->add(ScoreRulePeer::ACADEMIC_CALENDAR_ID, $counseling->getAcademicCalendarId()); $cd->add(ScoreRulePeer::TYPE, ScoreRule::TYPE_ONE); $cd->add(ScoreRulePeer::CLASS_TYPE_ID, $counseling->getClassTypeId()); $score_rule = ScoreRulePeer::doSelectOne($cd); $this->score_rule = $score_rule; ## Memunculkan semua mata pelajaran yang ada di aturan penilaian ## Mengelompokannya untuk kelompok A $cm = new Criteria(); $cm->add(ScoreRuleSubjectPeer::SCORE_RULE_ID, $score_rule->getId(), Criteria::IN); $cm->add(ScoreRuleSubjectPeer::PUBLISHED, ScoreRule::ONE, Criteria::IN); #$cm->add(ScoreRuleSubjectPeer::SUBJECT_CURR_ID, $subject_ids, Criteria::IN); $cton1 = $cm->getNewCriterion(ScoreRuleSubjectPeer::SUBJECT_TYPE, ScoreRuleSubject::SUBJECT_ONE, Criteria::IN); $cton2 = $cm->getNewCriterion(ScoreRuleSubjectPeer::SUBJECT_TYPE, ScoreRuleSubject::SUBJECT_THREE, Criteria::IN); $cton1->addOr($cton2); $cm->add($cton1); $cm->addAscendingOrderByColumn(ScoreRuleSubjectPeer::SEQUENCE); $list_subs = ScoreRuleSubjectPeer::doSelect($cm); $subject_count = ScoreRuleSubjectPeer::doCount($cm); $this->list_subs = $list_subs; $this->subject_count = $subject_count; ## Memunculkan semua mata pelajaran yang ada di aturan penilaian ## Mengelompokannya untuk kelompok B $cmt = new Criteria(); $cmt->add(ScoreRuleSubjectPeer::SCORE_RULE_ID, $score_rule->getId(), Criteria::IN); $cmt->add(ScoreRuleSubjectPeer::PUBLISHED, ScoreRule::ONE, Criteria::IN); $cmt->add(ScoreRuleSubjectPeer::SUBJECT_TYPE, ScoreRuleSubject::SUBJECT_TWO, Criteria::IN); $cmt->addAscendingOrderByColumn(ScoreRuleSubjectPeer::SEQUENCE); $list_subject = ScoreRuleSubjectPeer::doSelect($cmt); $subj_count = ScoreRuleSubjectPeer::doCount($cmt); $this->list_subject = $list_subject; $this->subj_count = $subj_count; $cmti = new Criteria(); $cmti->add(ScoreRuleSubjectPeer::SCORE_RULE_ID, $score_rule->getId(), Criteria::IN); $cmti->add(ScoreRuleSubjectPeer::PUBLISHED, ScoreRule::ONE, Criteria::IN); $cmti->add(ScoreRuleSubjectPeer::SUBJECT_TYPE, 5, Criteria::IN); $cmti->addAscendingOrderByColumn(ScoreRuleSubjectPeer::SEQUENCE); $group_b = ScoreRuleSubjectPeer::doSelectOne($cmti); $this->group_b = $group_b; $cte = new Criteria(); $cte->add(StudentAccalPeer::CLASS_GROUP_ID, $counseling->getClassGroupId()); $cte->add(StudentAccalPeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId()); $stuaccals = StudentAccalPeer::doSelect($cte); $this->stuaccals = $stuaccals; $stuaccal_id = array(); foreach ($stuaccals as $stuaccal) { $stuaccal_id[$stuaccal->getStudentId()] = $stuaccal->getId(); } $this->stuaccal_id = $stuaccal_id; ## Mengelompokkan Penilaian Pengetahuan berdasarkan Tahun Ajaran dan Kelas $cr = new Criteria(); $stugrades = StudentGradeRaportPeer::doSelect($cr); $this->stugrades = $stugrades; $grades = array(); $grades_value = array(); $remarks = array(); $grade_avg = array(); foreach ($stugrades as $stugrade) { $grades[$stugrade->getStudentAccalId() . '#' . $stugrade->getCourseScheduleId() . '#' . $stugrade->getGradeSpecId()] = $stugrade->getGrade(); $grades_value[$stugrade->getStudentAccalId() . '#' . $stugrade->getCourseScheduleId() . '#' . $stugrade->getGradeSpecId()] = $stugrade->getGradeValue(); $remarks[$stugrade->getStudentAccalId() . '#' . $stugrade->getCourseScheduleId() . '#' . $stugrade->getGradeSpecId()] = $stugrade->getRemark(); $grade_avg[$stugrade->getCourseScheduleId() . '#' . $stugrade->getGradeSpecId()] = (array_key_exists($stugrade->getCourseScheduleId() . '#' . $stugrade->getGradeSpecId(), $grade_avg) ? $grade_avg[$stugrade->getCourseScheduleId() . '#' . $stugrade->getGradeSpecId()] : 0) + $stugrade->getGradeValue(); } $this->grades = $grades; $this->grade_avg = $grade_avg; $this->grades_value = $grades_value; $this->remarks = $remarks; $cmi = new Criteria(); $cmi->add(GradeConversionPeer::DEPARTMENT_ID, $academic_calendar->getDepartmentId()); $cmi->add(GradeConversionPeer::TYPE_CONVERSION, GradeConversion::TYPE_ALL); $grade_conversions = GradeConversionPeer::doSelect($cmi); $grade_select = array(); $detail_select = array(); foreach ($grade_conversions as $grade_conv) { $grade_select[$grade_conv->getName()] = $grade_conv->getDescription(); $detail_select[$grade_conv->getName()] = $grade_conv->getDetail(); } $this->detail_select = $detail_select; $this->grade_select = $grade_select; $this->grade_conversions = $grade_conversions; $cmit = new Criteria(); $cmit->add(GradeConversionPeer::DEPARTMENT_ID, $academic_calendar->getDepartmentId()); $grade_convs = GradeConversionPeer::doSelect($cmit); $remark_select = array(); $name_select = array(); $descript_select = array(); foreach ($grade_convs as $grade_conve) { $remark_select[$grade_conve->getName() . '#' . $grade_conve->getTypeConversion()] = $grade_conve->getDescription(); $name_select[$grade_conve->getGrade() . '#' . $grade_conve->getTypeConversion()] = $grade_conve->getName(); $descript_select[$grade_conve->getGrade() . '#' . $grade_conve->getTypeConversion()] = $grade_conve->getDetail(); } $cbt = new Criteria(); $cbt->add(GradeConversionPeer::DEPARTMENT_ID, $academic_calendar->getDepartmentId()); $cbt->add(GradeConversionPeer::TYPE_CONVERSION, GradeConversion::TYPE_KNOWLEDGE); $know_convs = GradeConversionPeer::doSelect($cbt); $this->know_convs = $know_convs; $cbti = new Criteria(); $cbti->add(GradeConversionPeer::DEPARTMENT_ID, $academic_calendar->getDepartmentId()); $cbti->add(GradeConversionPeer::TYPE_CONVERSION, GradeConversion::TYPE_SKILL); $skill_convs = GradeConversionPeer::doSelect($cbti); $this->skill_convs = $skill_convs; $this->name_select = $name_select; $this->remark_select = $remark_select; $this->grade_conversions = $grade_conversions; ## Penilaian Habit $cmi = new Criteria(); $cmi->add(StudentHabitPeer::CLASS_GROUP_ID, $counseling->getClassGroupId()); $cmi->add(StudentHabitPeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId()); $student_habits = StudentHabitPeer::doSelect($cmi); $habit = array(); foreach ($student_habits as $student_habit) { $habit[$student_habit->getGradeComponentId() . '#' . $student_habit->getStudentId()] = $student_habit; } $this->student_habits = $student_habits; $this->habit = $habit; $cwi = new Criteria(); $cwi->add(CourseRegulationPeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId()); $cwi->add(CourseRegulationPeer::CLASS_GROUP_ID, $counseling->getClassGroupId()); $c_regulations = CourseRegulationPeer::doSelect($cwi); $course_reg = array(); foreach ($c_regulations as $cr) { $course_reg[$cr->getAcademicCalendarId() . '#' . $cr->getSubjectCurrId() . '#' . $cr->getClassGroupId()] = $cr->getKkm(); } $this->c_regulations = $c_regulations; $this->course_reg = $course_reg; ## Ekskul $cwe = new Criteria(); $cwe->add(GradeComponentPeer::DEPARTMENT_ID, $counseling->getAcademicCalendar()->getDepartmentId(), Criteria::IN); $cton1 = $cwe->getNewCriterion(GradeComponentPeer::GRADE_SPEC_ID, 20, Criteria::IN); $cton2 = $cwe->getNewCriterion(GradeComponentPeer::PUBLISHED, 1, Criteria::IN); $cton1->addAnd($cton2); $cwe->add($cton1); $this->grade_components = GradeComponentPeer::doSelect($cwe); $this->grade_count = GradeComponentPeer::doCount($cwe); $this->course_reg = $course_reg; $ce = new Criteria(); $ce->add(DepartmentDetailPeer::DEPARTMENT_ID, $counseling->getAcademicCalendar()->getDepartmentId()); $this->department_detail = DepartmentDetailPeer::doSelectOne($ce); $cb = new Criteria(); $cb->add(StudentAbsencePeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId()); $cb->addGroupByColumn(StudentAbsencePeer::STUDENT_ID); $cb->addGroupByColumn(StudentAbsencePeer::START); $cb->addGroupByColumn(StudentAbsencePeer::ACADEMIC_CALENDAR_ID); $cb->addGroupByColumn(StudentAbsencePeer::CLASS_GROUP_ID); $sas = StudentabsencePeer::doSelect($cb); $absence = array(); if (count($sas)) { foreach ($sas as $sa) { $absence[$sa->getStatus() . '#' . $sa->getStudentId()] = (array_key_exists($sa->getStatus() . '#' . $sa->getStudentId(), $absence) ? $absence[$sa->getStatus() . '#' . $sa->getStudentId()] : 0) + 1; } } $this->absence = $absence; $cmot = new Criteria(); $cmot->add(StudentAccalPeer::CLASS_GROUP_ID, $counseling->getClassGroupId()); $cmot->add(StudentAccalPeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId()); $cmot->addJoin(StudentPeer::ID, StudentAccalPeer::STUDENT_ID); $this->student_count = StudentPeer::doCount($cmot); $this->students = $students; $this->subtitle = ''; $this->counseling = $counseling; $this->tanggal = $time; $this->tgl_cetak = $tgl; $this->time2 = $time2; $this->academic_calendar = $academic_calendar; $this->orientation = 'portrait'; $this->papersize = 'a4'; $this->setViewClass('sfDomPDF'); }
public static function retrieveByPKs($pks, $con = null) { if ($con === null) { $con = Propel::getConnection(self::DATABASE_NAME); } $objs = null; if (empty($pks)) { $objs = array(); } else { $criteria = new Criteria(); $criteria->add(GradeConversionPeer::ID, $pks, Criteria::IN); $objs = GradeConversionPeer::doSelect($criteria, $con); } return $objs; }
if ($pager->getNbResults() < 1) { ?> <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 $grade_conversion) { $c = new Criteria(); $c->add(GradeConversionPeer::TYPE_CONVERSION, $grade_conversion->getTypeConversion()); $c->add(GradeConversionPeer::DEPARTMENT_ID, $grade_conversion->getDepartmentId()); $grade_conversion->child = GradeConversionPeer::doCount($c); ?> <tr id='cs_<?php echo $grade_conversion->getId(); ?> ' class="list<?php ++$i; if ($i % 2 == 0) { echo ' even'; } ?> "> <td id='cs_<?php echo $grade_conversion->getId(); ?> _expand' style="vertical-align: middle; text-align: center;">
public function getGradeConversion($con = null) { include_once 'lib/model/om/BaseGradeConversionPeer.php'; if ($this->aGradeConversion === null && $this->grade_conversion_id !== null) { $this->aGradeConversion = GradeConversionPeer::retrieveByPK($this->grade_conversion_id, $con); } return $this->aGradeConversion; }
public function executeSaveScoreSma() { $accal_id = $this->getRequestParameter('accal_id'); $academic_calendar = AcademicCalendarPeer::retrieveByPK($accal_id); $this->forward404Unless($academic_calendar); $this->academic_calendar = $academic_calendar; $schedule = SchedulePeer::retrieveByPk($this->getRequestParameter('schedule_id')); $this->forward404Unless($schedule); $this->schedule = $schedule; $schedule_detail = ScheduleDetailPeer::retrieveByPk($this->getRequestParameter('detail_id')); $this->forward404Unless($schedule_detail); $this->schedule_detail = $schedule_detail; $cj = new Criteria(); $cj->add(GradeConversionPeer::DEPARTMENT_ID, $academic_calendar->getDepartmentId()); $cj->add(GradeConversionPeer::GRADE_CONVERSION_TEMPLATE_ID, 19); $cj->add(GradeConversionPeer::TYPE_CONVERSION, ScoreRule::FIVE); $cj->addDescendingOrderByColumn(GradeConversionPeer::MAX_VALUE); $grade_convs = GradeConversionPeer::doSelect($cj); $scores = $this->getRequestParameter('score'); foreach ($scores as $k => $score) { if ($score != null) { if ($score != '-') { $ids = split('_', $k); ## $ids[0] = Cur13 Ekskul Id ## $ids[1] = Grade Spec Id $cur13_ekskul = Cur13EkskulPeer::retrieveByPK($ids[0]); $cur13_ekskul->setRemark($score); $cur13_ekskul->save(); } else { $ids = split('_', $k); ## $ids[0] = Cur13 Ekskul Id ## $ids[1] = Grade Spec Id $cur13_ekskul = Cur13EkskulPeer::retrieveByPK($ids[0]); if ($cur13_ekskul != null) { $cur13_ekskul->delete(); } } } } return $this->redirect('extracurricular_new/listEksStu?id=' . $schedule->getId() . '&detail_id=' . $schedule_detail->getId() . '&accal_id=' . $academic_calendar->getId()); }
public function prepareConversionKi4() { $this->gradeConversionTemplateKi1 = GradeConversionTemplatePeer::getKi4($this->department); if (!$this->gradeConversionTemplateKi1) { return false; } $c = new Criteria(); $c->add(GradeConversionPeer::GRADE_CONVERSION_TEMPLATE_ID, $this->gradeConversionTemplateKi4->getId(), Criteria::EQUAL); $this->gradeConversionKi4 = GradeConversionPeer::doSelect($c); if ($this->gradeConversionKi4) { return true; } else { return false; } }
public static function doSelectJoinAllExceptSubject(Criteria $c, $con = null) { $c = clone $c; if ($c->getDbName() == Propel::getDefaultDB()) { $c->setDbName(self::DATABASE_NAME); } SubjectTransferPeer::addSelectColumns($c); $startcol2 = SubjectTransferPeer::NUM_COLUMNS - SubjectTransferPeer::NUM_LAZY_LOAD_COLUMNS + 1; GradeConversionPeer::addSelectColumns($c); $startcol3 = $startcol2 + GradeConversionPeer::NUM_COLUMNS; TestApplicantPeer::addSelectColumns($c); $startcol4 = $startcol3 + TestApplicantPeer::NUM_COLUMNS; $c->addJoin(SubjectTransferPeer::GRADE_CONVERSION_ID, GradeConversionPeer::ID); $c->addJoin(SubjectTransferPeer::TEST_APPLICANT_ID, TestApplicantPeer::ID); $rs = BasePeer::doSelect($c, $con); $results = array(); while ($rs->next()) { $omClass = SubjectTransferPeer::getOMClass(); $cls = Propel::import($omClass); $obj1 = new $cls(); $obj1->hydrate($rs); $omClass = GradeConversionPeer::getOMClass(); $cls = Propel::import($omClass); $obj2 = new $cls(); $obj2->hydrate($rs, $startcol2); $newObject = true; for ($j = 0, $resCount = count($results); $j < $resCount; $j++) { $temp_obj1 = $results[$j]; $temp_obj2 = $temp_obj1->getGradeConversion(); if ($temp_obj2->getPrimaryKey() === $obj2->getPrimaryKey()) { $newObject = false; $temp_obj2->addSubjectTransfer($obj1); break; } } if ($newObject) { $obj2->initSubjectTransfers(); $obj2->addSubjectTransfer($obj1); } $omClass = TestApplicantPeer::getOMClass(); $cls = Propel::import($omClass); $obj3 = new $cls(); $obj3->hydrate($rs, $startcol3); $newObject = true; for ($j = 0, $resCount = count($results); $j < $resCount; $j++) { $temp_obj1 = $results[$j]; $temp_obj3 = $temp_obj1->getTestApplicant(); if ($temp_obj3->getPrimaryKey() === $obj3->getPrimaryKey()) { $newObject = false; $temp_obj3->addSubjectTransfer($obj1); break; } } if ($newObject) { $obj3->initSubjectTransfers(); $obj3->addSubjectTransfer($obj1); } $results[] = $obj1; } return $results; }
public function getGradeConversionsJoinDepartment($criteria = null, $con = null) { include_once 'lib/model/om/BaseGradeConversionPeer.php'; if ($criteria === null) { $criteria = new Criteria(); } elseif ($criteria instanceof Criteria) { $criteria = clone $criteria; } if ($this->collGradeConversions === null) { if ($this->isNew()) { $this->collGradeConversions = array(); } else { $criteria->add(GradeConversionPeer::GRADE_CONVERSION_TEMPLATE_ID, $this->getId()); $this->collGradeConversions = GradeConversionPeer::doSelectJoinDepartment($criteria, $con); } } else { $criteria->add(GradeConversionPeer::GRADE_CONVERSION_TEMPLATE_ID, $this->getId()); if (!isset($this->lastGradeConversionCriteria) || !$this->lastGradeConversionCriteria->equals($criteria)) { $this->collGradeConversions = GradeConversionPeer::doSelectJoinDepartment($criteria, $con); } } $this->lastGradeConversionCriteria = $criteria; return $this->collGradeConversions; }
public function executePrintFinal() { $counseling_id = $this->getRequestParameter('counseling_id'); $counseling = CounselingPeer::retrieveByPK($counseling_id); $this->forward404Unless($counseling); $academic_calendar = AcademicCalendarPeer::retrieveByPK($this->getRequestParameter('accal_id')); $this->forward404Unless($academic_calendar); $time = $this->getRequestParameter('time'); $time2 = $this->getRequestParameter('time2'); $tgl = $this->getRequestParameter('tgl_cetak'); $term = $this->getRequestParameter('term'); $c = new Criteria(); $c->add(TempTablePeer::COUNSELING_ID, $counseling->getId()); $c->add(TempTablePeer::TIME, $time); $c->addJoin(VStudentActivePeer::ID, TempTablePeer::STUDENT_ID); $c->addAscendingOrderByColumn(VStudentActivePeer::CLASS_NAME); $students = VStudentActivePeer::doSelect($c); $this->forward404Unless($students); ## Mengelompokkan Penilaian Anak berdasarkan Tahun Ajaran dan Kelas $cri = new Criteria(); $cri->add(StudentNotePeer::CLASS_GROUP_ID, $counseling->getClassGroupId()); $cri->add(StudentNotePeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId()); $stunotes = StudentNotePeer::doSelect($cri); $notes = array(); foreach ($stunotes as $stunote) { $notes[$stunote->getStudentId() . '#' . $stunote->getRanking()] = $stunote->getNote(); } $this->notes = $notes; $this->stunotes = $stunotes; ## Daftar Mata Pelajaran di Jadwal Pelajaran $cw = new Criteria(); $cw->add(VCoursePeer::CLASS_GROUP_ID, $counseling->getClassGroupId()); $cw->add(VCoursePeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId()); $subjects = VCoursePeer::doSelect($cw); $subject_ids = array(); foreach ($subjects as $subject) { $subject_ids[] = $subject->getSubjectCurrId(); } $this->subjects = $subjects; ## Mengelompokkan Penilaian Anak berdasarkan Tahun Ajaran dan Kelas $cr = new Criteria(); $cr->add(StudentRaportPeer::CLASS_GROUP_ID, $counseling->getClassGroupId()); $cr->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId()); $stugrades = StudentRaportPeer::doSelect($cr); $this->stugrades = $stugrades; ## Menentukan Aturan Penilaian $cd = new Criteria(); #$cd->add(ScoreRulePeer::ACADEMIC_CALENDAR_ID, $counseling->getAcademicCalendarId()); $cd->add(ClassGroupPeer::DEPARTMENT_ID, $counseling->getAcademicCalendar()->getDepartmentId()); $cd->addJoin(ScoreRulePeer::CLASS_GROUP_ID, ClassGroupPeer::ID); $cd->add(ScoreRulePeer::TYPE, 6); $score_rule = ScoreRulePeer::doSelectOne($cd); $this->score_rule = $score_rule; ## Menentukan Aturan Penilaian Yang digunakan $cm = new Criteria(); $cm->add(ScoreRuleSubjectPeer::SCORE_RULE_ID, $score_rule->getId(), Criteria::IN); $cm->add(ScoreRuleSubjectPeer::PUBLISHED, 1, Criteria::IN); $cm->add(ScoreRuleSubjectPeer::SUBJECT_CURR_ID, $subject_ids, Criteria::IN); $cm->addAscendingOrderByColumn(ScoreRuleSubjectPeer::SEQUENCE); $list_subs = ScoreRuleSubjectPeer::doSelect($cm); $subject_count = ScoreRuleSubjectPeer::doCount($cm); $this->list_subs = $list_subs; $this->subject_count = $subject_count; ## Kelompokkan Mata Pelajaran Muatan Nasional $cmi = new Criteria(); $cmi->add(ScoreRuleSubjectPeer::SCORE_RULE_ID, $score_rule->getId(), Criteria::IN); $cmi->add(ScoreRuleSubjectPeer::PUBLISHED, 1, Criteria::IN); $cmi->add(ScoreRuleSubjectPeer::SUBJECT_TYPE, 1, Criteria::IN); $cmi->add(ScoreRuleSubjectPeer::SUBJECT_CURR_ID, $subject_ids, Criteria::IN); $cmi->addAscendingOrderByColumn(ScoreRuleSubjectPeer::SEQUENCE); $subs1 = ScoreRuleSubjectPeer::doSelect($cmi); $subs1_count = ScoreRuleSubjectPeer::doCount($cmi); $this->subs1 = $subs1; $this->subs1_count = $subs1_count; ## Kelompokkan Mata Pelajaran Muatan Lokal $ciw = new Criteria(); $ciw->add(ScoreRuleSubjectPeer::SCORE_RULE_ID, $score_rule->getId(), Criteria::IN); $ciw->add(ScoreRuleSubjectPeer::PUBLISHED, 1, Criteria::IN); $ciw->add(ScoreRuleSubjectPeer::SUBJECT_TYPE, 2, Criteria::IN); $ciw->add(ScoreRuleSubjectPeer::SUBJECT_CURR_ID, $subject_ids, Criteria::IN); $ciw->addAscendingOrderByColumn(ScoreRuleSubjectPeer::SEQUENCE); $subs2 = ScoreRuleSubjectPeer::doSelect($ciw); $subs2_count = ScoreRuleSubjectPeer::doCount($ciw); $this->subs2 = $subs2; $this->subs2_count = $subs2_count; ## Kelompokkan Mata Pelajaran IPA $ci = new Criteria(); $ci->add(ScoreRuleSubjectPeer::SCORE_RULE_ID, $score_rule->getId(), Criteria::IN); $ci->add(ScoreRuleSubjectPeer::PUBLISHED, 1, Criteria::IN); $ci->add(ScoreRuleSubjectPeer::SUBJECT_TYPE, 3, Criteria::IN); $ci->add(ScoreRuleSubjectPeer::SUBJECT_CURR_ID, $subject_ids, Criteria::IN); $ci->addAscendingOrderByColumn(ScoreRuleSubjectPeer::SEQUENCE); $ipas = ScoreRuleSubjectPeer::doSelect($ci); $ipas_count = ScoreRuleSubjectPeer::doCount($ci); $this->ipas = $ipas; $this->ipas_count = $ipas_count; ## Kelompokkan Mata Pelajaran IPS $cit = new Criteria(); $cit->add(ScoreRuleSubjectPeer::SCORE_RULE_ID, $score_rule->getId(), Criteria::IN); $cit->add(ScoreRuleSubjectPeer::PUBLISHED, 1, Criteria::IN); $cit->add(ScoreRuleSubjectPeer::SUBJECT_TYPE, 4, Criteria::IN); $cit->add(ScoreRuleSubjectPeer::SUBJECT_CURR_ID, $subject_ids, Criteria::IN); $cit->addAscendingOrderByColumn(ScoreRuleSubjectPeer::SEQUENCE); $ips = ScoreRuleSubjectPeer::doSelect($cit); $ips_count = ScoreRuleSubjectPeer::doCount($cit); $this->ips = $ips; $this->ips_count = $ips_count; ## Kelompokkan Mata Pelajaran Setelah IPS $cet = new Criteria(); $cet->add(ScoreRuleSubjectPeer::SCORE_RULE_ID, $score_rule->getId(), Criteria::IN); $cet->add(ScoreRuleSubjectPeer::PUBLISHED, 1, Criteria::IN); $cet->add(ScoreRuleSubjectPeer::SUBJECT_TYPE, 5, Criteria::IN); $cet->add(ScoreRuleSubjectPeer::SUBJECT_CURR_ID, $subject_ids, Criteria::IN); $cet->addAscendingOrderByColumn(ScoreRuleSubjectPeer::SEQUENCE); $subs3 = ScoreRuleSubjectPeer::doSelect($cet); $subs3_count = ScoreRuleSubjectPeer::doCount($cet); $this->subs3 = $subs3; $this->subs3_count = $subs3_count; ## Kelompokkan Mata Pelajaran Pilihan $cetr = new Criteria(); $cetr->add(ScoreRuleSubjectPeer::SCORE_RULE_ID, $score_rule->getId(), Criteria::IN); $cetr->add(ScoreRuleSubjectPeer::PUBLISHED, 1, Criteria::IN); $cetr->add(ScoreRuleSubjectPeer::SUBJECT_TYPE, 6, Criteria::IN); #$cet->add(ScoreRuleSubjectPeer::SUBJECT_CURR_ID, $subject_ids, Criteria::IN); $cetr->addAscendingOrderByColumn(ScoreRuleSubjectPeer::SEQUENCE); $subs4 = ScoreRuleSubjectPeer::doSelect($cetr); $subs4_count = ScoreRuleSubjectPeer::doCount($cetr); $this->subs4 = $subs4; $this->subs4_count = $subs4_count; ## Mengelompokkan Penilaian Anak berdasarkan Tahun Ajaran dan Kelas $cem = new Criteria(); $cem->add(StudentAccalPeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId()); $cem->add(StudentAccalPeer::CLASS_GROUP_ID, $counseling->getClassGroupId()); $cem->add(StudentAccalPeer::STATUS, 1); $stu_accs = StudentAccalPeer::doSelect($cem); $this->stu_accs = $stu_accs; $cw = new Criteria(); $cw->add(CourseRegulationPeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId()); $cw->add(CourseRegulationPeer::CLASS_GROUP_ID, $counseling->getClassGroupId()); $c_regulations = CourseRegulationPeer::doSelect($cw); $this->c_regulations = $c_regulations; $crd = new Criteria(); $crd->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId()); $crd->add(StudentRaportPeer::CLASS_GROUP_ID, $counseling->getClassGroupId()); $stud_raports = StudentRaportPeer::doSelect($crd); $sub_grade_spec = array(); foreach ($stud_raports as $stu_raport) { $sub_grade_spec[$stu_raport->getGradeSpecId() . '#' . $stu_raport->getStudentId()] = $stu_raport; } $this->sub_grade_spec = $sub_grade_spec; $specs = array(); foreach ($stu_accs as $stu_acc) { $specs[$stu_acc->getStudentId()] = $stu_acc->getId(); } $this->specs = $specs; $grades = array(); $grade_avg = array(); foreach ($stugrades as $stugrade) { $grades[$stugrade->getSubjectCurrId() . '#' . $stugrade->getStudentId() . '#' . $stugrade->getGradeSpecId()] = $stugrade->getGrade(); $grade_avg[$stugrade->getSubjectCurrId() . '#' . $stugrade->getGradeSpecId()] = (array_key_exists($stugrade->getsubjectCurrId() . '#' . $stugrade->getGradeSpecId(), $grade_avg) ? $grade_avg[$stugrade->getSubjectCurrId() . '#' . $stugrade->getGradeSpecId()] : 0) + $stugrade->getGrade(); } $this->grades = $grades; $this->grade_avg = $grade_avg; $course_reg = array(); foreach ($c_regulations as $cr) { $course_reg[$cr->getSubjectCurrId()] = $cr->getKkm(); } $this->course_reg = $course_reg; $ce = new Criteria(); $ce->add(DepartmentDetailPeer::DEPARTMENT_ID, $counseling->getAcademicCalendar()->getDepartmentId()); $this->department_detail = DepartmentDetailPeer::doSelectOne($ce); $cwe = new Criteria(); $cwe->add(GradeComponentPeer::DEPARTMENT_ID, $academic_calendar->getDepartmentId(), Criteria::IN); $cton1 = $cwe->getNewCriterion(GradeComponentPeer::GRADE_SPEC_ID, 20, Criteria::IN); $cton2 = $cwe->getNewCriterion(GradeComponentPeer::PUBLISHED, 1, Criteria::IN); $cton1->addAnd($cton2); $cwe->add($cton1); $this->grade_components = GradeComponentPeer::doSelect($cwe); $cmot = new Criteria(); $cmot->add(StudentAccalPeer::CLASS_GROUP_ID, $counseling->getClassGroupId()); $cmot->add(StudentAccalPeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId()); $cmot->addJoin(StudentPeer::ID, StudentAccalPeer::STUDENT_ID); $this->student_count = StudentPeer::doCount($cmot); $this->students = $students; $this->subtitle = ''; $this->counseling = $counseling; $this->tanggal = $time; $this->tgl_cetak = $tgl; $this->time2 = $time2; $this->term = $term; $this->academic_calendar = $academic_calendar; $ctn = new Criteria(); $ctn->add(GradeConversionPeer::DEPARTMENT_ID, $academic_calendar->getDepartmentId()); $grade_conversions = GradeConversionPeer::doSelect($ctn); $name_select = array(); foreach ($grade_conversions as $grade_conversion) { $name_select[$grade_conversion->getTypeConversion() . '#' . $grade_conversion->getGrade()] = $grade_conversion; } $this->name_select = $name_select; ## Spesialisasi Untuk MI if ($academic_calendar->getDepartmentId() == 6) { $this->orientation = 'landscape'; $this->papersize = 'legal'; $this->setTemplate('printFinal'); ## Spesialisasi Untuk SMPIA 9 } elseif ($academic_calendar->getDepartmentId() == 11) { $this->orientation = 'portrait'; $this->papersize = 'a4'; $this->setTemplate('printFinalSMP9'); } else { $this->orientation = 'portrait'; $this->papersize = 'a4'; $this->setTemplate('printFinal'); } $this->setViewClass('sfDomPDF'); }
public function executeSelectByAccal() { $student_course_id = $this->getRequestParameter('student_course_id'); $student_course = StudentCoursePeer::retrieveByPK($student_course_id); if (!$student_course) { $student_course = new StudentCourse(); } $student_id = $this->getRequestParameter('student_id'); $student = StudentPeer::retrieveByPK($student_id); // $this->forward404Unless($student); $accal_id = $this->getRequestParameter('accal_id'); $accal = AcademicCalendarPeer::retrieveByPK($accal_id); $disabled = array(); if ($student) { $student_courses = $student->getStudentCoursesJoinSubjectAccal(); foreach ($student_courses as $sc) { if ($sc->getSubjectAccal()->getAcademicCalendarId() == $accal->getId() && $student_course->getSubjectAccalId() != $sc->getSubjectAccal()->getId()) { $disabled[] = $sc->getSubjectAccal()->getId(); } } } $content = array(); $objs = SubjectAccalPeer::doSelectByAccal(); if ($student) { foreach ($objs as $o) { $content[$o->getId()] = $o->toString(); $c = new Criteria(); $c->add(SubjectAccalPeer::ID, $o->getId()); $c->add(SubjectCurrPeer::SUBJECT_ID, $o->getSubjectId()); $c->addJoin(AcademicCalendarPeer::ID, SubjectAccalPeer::ACADEMIC_CALENDAR_ID); $c->addJoin(AcademicCalendarPeer::CURRICULUM_ID, SubjectCurrPeer::CURRICULUM_ID); $c->addJoin(SubjectCurrPeer::ID, SubjectPrereqPeer::SUBCURR); $sps = SubjectPrereqPeer::doSelect($c); foreach ($sps as $sp) { $s = $sp->getSubjectCurrRelatedBySubcurrPrereq()->getSubject(); // prereq subject must be in closed state $c = new Criteria(); $c->add(SubjectAccalPeer::SUBJECT_ID, $s->getId()); $c->add(StudentCoursePeer::STUDENT_ID, $student_id); $c->add(StudentCoursePeer::STATUS, StudentCourse::STATUS_CLOSED); $c->addJoin(StudentCoursePeer::SUBJECT_ACCAL_ID, SubjectAccalPeer::ID); $scs = StudentCoursePeer::doSelect($c); $isPassGrade = false; $isPassCredit = true; $isPassIndex = true; foreach ($scs as $sc) { $grade = $sc->getFinalGrade(); $gc = GradeConversionPeer::retrieveByName($grade[0]); // check prereq subject grade if ($gc && $gc->getGrade() >= $sp->getGradeConversion()->getGrade()) { $isPassGrade = true; } else { $isPassGrade = false; } // check credit requirement if ($sp->getTotalCredit() > 0) { if ($sc->getTotalCreditClosed() >= $sp->getTotalCredit()) { $isPassCredit = true; } else { $isPassCredit = false; } } // check index requirement if ($sp->getPerformanceIndex() > 0) { if ($sc->getPerformanceIndex() >= $sp->getPerformanceIndex()) { $isPassIndex = true; } else { $isPassIndex = false; } } } $s0 = $sp->getSubjectCurrRelatedBySubcurrPrereq()->getSubject()->toString(); $s1 = $sp->getSubjectCurrRelatedBySubcurr()->getSubject()->toString(); // echo "<div align=left><pre>"; // echo "$s1 -> $s0 | isPassGrade:$isPassGrade isPassCredit:$isPassCredit isPassIndex:$isPassIndex"; // echo "</pre></div>"; if (!$isPassGrade || !$isPassCredit || !$isPassIndex) { $disabled[] = $o->getId(); } } } } else { foreach ($objs as $o) { $content[$o->getId()] = $o->toString(); } } $this->content = $content; $this->disabled = $disabled; }
public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME) { $keys = GradeConversionPeer::getFieldNames($keyType); if (array_key_exists($keys[0], $arr)) { $this->setId($arr[$keys[0]]); } if (array_key_exists($keys[1], $arr)) { $this->setGradeConversionTemplateId($arr[$keys[1]]); } if (array_key_exists($keys[2], $arr)) { $this->setDepartmentId($arr[$keys[2]]); } if (array_key_exists($keys[3], $arr)) { $this->setName($arr[$keys[3]]); } if (array_key_exists($keys[4], $arr)) { $this->setGrade($arr[$keys[4]]); } if (array_key_exists($keys[5], $arr)) { $this->setMinValue($arr[$keys[5]]); } if (array_key_exists($keys[6], $arr)) { $this->setMaxValue($arr[$keys[6]]); } if (array_key_exists($keys[7], $arr)) { $this->setTypeConversion($arr[$keys[7]]); } if (array_key_exists($keys[8], $arr)) { $this->setMinScale($arr[$keys[8]]); } if (array_key_exists($keys[9], $arr)) { $this->setMaxScale($arr[$keys[9]]); } if (array_key_exists($keys[10], $arr)) { $this->setDescription($arr[$keys[10]]); } if (array_key_exists($keys[11], $arr)) { $this->setDetail($arr[$keys[11]]); } }
public function executeDelete() { $grade_conversion = GradeConversionPeer::retrieveByPk($this->getRequestParameter('id')); $this->forward404Unless($grade_conversion); $ref_error = 0; foreach ($grade_conversion->getRefCountMethods() as $ref) { $method = "count" . $ref['affix']; $count = $grade_conversion->{$method}(); if ($count > 0) { ++$ref_error; $this->getRequest()->setError('grade_conversion/delete/' . sfInflector::camelize($ref['table']), $count); } } if ($ref_error > 0) { $this->getRequest()->setError('grade_conversion/delete', '_ERR_DELETE_ (' . $grade_conversion->toString() . ' - id:' . $grade_conversion->getId() . ')'); } else { $grade_conversion->delete(); } return $this->forward('grade_conversion', 'list'); }
public function executeSaveScoreEks() { $counsel_id = $this->getRequestParameter('counseling_id'); $counseling = CounselingPeer::retrieveByPK($counsel_id); $this->forward404Unless($counseling); $this->counseling = $counseling; $accal_id = $this->getRequestParameter('accal_id'); $academic_calendar = AcademicCalendarPeer::retrieveByPK($accal_id); $this->forward404Unless($academic_calendar); $this->academic_calendar = $academic_calendar; $schedule = SchedulePeer::retrieveByPk($this->getRequestParameter('schedule_id')); $this->forward404Unless($schedule); $this->schedule = $schedule; $schedule_detail = ScheduleDetailPeer::retrieveByPk($this->getRequestParameter('detail_id')); $this->forward404Unless($schedule_detail); $this->schedule_detail = $schedule_detail; $cj = new Criteria(); $cj->add(GradeConversionPeer::DEPARTMENT_ID, $academic_calendar->getDepartmentId()); $cj->add(GradeConversionPeer::GRADE_CONVERSION_TEMPLATE_ID, 19); $cj->add(GradeConversionPeer::TYPE_CONVERSION, ScoreRule::FIVE); $cj->addDescendingOrderByColumn(GradeConversionPeer::MAX_VALUE); $grade_convs = GradeConversionPeer::doSelect($cj); $scores = $this->getRequestParameter('score'); foreach ($scores as $k => $score) { if ($score != null) { if ($score != '-') { $ids = split('_', $k); ## $ids[0] = Cur13 Ekskul Id ## $ids[1] = Grade Spec Id $c = new Criteria(); $c->add(Cur13GradeEkskulPeer::CUR13_EKSKUL_ID, $ids[0]); $c->add(Cur13GradeEkskulPeer::GRADE_SPEC_ID, $ids[1]); $cur13_grade_ekskul = Cur13GradeEkskulPeer::doSelectOne($c); if ($cur13_grade_ekskul == null) { $cur13_grade_ekskul = new Cur13GradeEkskul(); } $cur13_grade_ekskul->setCur13EkskulId($ids[0]); $cur13_grade_ekskul->setGradeSpecId($ids[1]); $cur13_grade_ekskul->setGrade($score); $cur13_grade_ekskul->save(); $cc = new Criteria(); $cc->add(Cur13GradeEkskulPeer::CUR13_EKSKUL_ID, $ids[0]); $cur13_grades = Cur13GradeEkskulPeer::doSelect($cc); if ($cur13_grades) { $total = 0; $count = 0; foreach ($cur13_grades as $cur13_grade) { $count += 1; $total += $cur13_grade->getGrade(); } $avg = round($total / $count); $scale = number_format($avg / 100 * 4, 2); $remark = ''; foreach ($grade_convs as $gc) { if ($avg >= $gc->getMinValue() && $avg < $gc->getMaxValue() + 1) { $remark = $gc->getName(); } } $cur13_ekskul = Cur13EkskulPeer::retrieveByPK($ids[0]); $cur13_ekskul->setGradeScale($scale); $cur13_ekskul->setGrade($avg); $cur13_ekskul->setRemark($remark); $cur13_ekskul->save(); } } else { $ids = split('_', $k); ## $ids[0] = Cur13 Ekskul Id ## $ids[1] = Grade Spec Id $c = new Criteria(); $c->add(Cur13GradeEkskulPeer::CUR13_EKSKUL_ID, $ids[0]); $c->add(Cur13GradeEkskulPeer::GRADE_SPEC_ID, $ids[1]); $cur13_grade_ekskul = Cur13GradeEkskulPeer::doSelectOne($c); if ($cur13_grade_ekskul != null) { $cur13_grade_ekskul->delete(); } } } } return $this->redirect('counseling_sd/listEksStu?id=' . $schedule->getId() . '&detail_id=' . $schedule_detail->getId() . '&accal_id=' . $academic_calendar->getId() . '&counseling_id=' . $counseling->getId()); }
<th><?php echo __('Credit'); ?> </td> <th><?php echo __('Grade'); ?> </td> </tr> <?php $i = 0; $total_credit = 0; $total_grade = 0; foreach ($courses as $c) { $grade = $c->getFinalGrade(); $gc = GradeConversionPeer::retrieveByName($grade[0]); $total_credit += $c->getSubjectAccal()->getSubject()->getCredit(); $total_grade += $gc->getGrade() * $c->getSubjectAccal()->getSubject()->getCredit(); ++$i; ?> <tr <?php echo $i % 2 == 0 ? 'style="background-color: #F4F4F2;"' : ''; ?> > <td style="border: 1px solid black;padding: 2px 3px;" nowrap><?php echo $i; ?> </td> <td style="border: 1px solid black;padding: 2px 3px;" nowrap><?php echo $c->getSubjectAccal()->getSubject()->getCode(); ?>