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'); }
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 executeListLedgerAll() { $counseling_id = $this->getRequestParameter('counseling_id'); $counseling = CounselingPeer::retrieveByPK($counseling_id); $this->forward404Unless($counseling); $accal_id = $this->getRequestParameter('accal_id'); $academic_calendar = AcademicCalendarPeer::retrieveByPK($accal_id); $this->forward404Unless($academic_calendar); ## Penentuan Siswa $c = new Criteria(); $c->addJoin(VStudentAccalPeer::STUDENT_ID, VStudentActivePeer::ID); $c->add(VStudentAccalPeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId()); $c->add(VStudentAccalPeer::CLASS_GROUP_ID, $counseling->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); ## 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); $cd->add(ScoreRulePeer::CLASS_TYPE_ID, $counseling->getClassTypeId()); $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, ScoreRule::ONE, 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; ## 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; ## 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); $actions = array(); array_unshift($actions, array('name' => 'Print PDF', 'url' => "counseling_new/listLedgerAllAsPDF?accal_id=" . $academic_calendar->getId() . "&counseling_id=" . $counseling->getId(), 'color' => 'black', 'type' => 'direct')); array_unshift($actions, array('name' => 'Print Excel', 'url' => "counseling_new/listLedgerAllAsCSV?accal_id=" . $academic_calendar->getId() . "&counseling_id=" . $counseling->getId(), 'color' => 'black', 'type' => 'direct')); $this->actions = $actions; $actions2 = array(array('name' => '<span>' . $academic_calendar->toString() . '</span>', 'url' => 'counseling_new/list?academic_calendar_id=' . $academic_calendar->getId(), 'color' => 'volcadot')); array_push($actions2, array('name' => '<span>Ledger Penilaian</span>', 'url' => 'counseling_new/listLedger?accal_id=' . $academic_calendar->getId() . '&counseling_id=' . $counseling->getId(), 'color' => 'sun')); array_push($actions2, array('name' => '<span>Ledger Pembiasaan</span>', 'url' => 'counseling_new/listLedgerHabit?accal_id=' . $academic_calendar->getId() . '&counseling_id=' . $counseling->getId(), 'color' => 'sun')); array_push($actions2, array('name' => '<span>Ledger Gabungan</span>', 'url' => 'counseling_new/listLedgerAll?accal_id=' . $academic_calendar->getId() . '&counseling_id=' . $counseling->getId(), 'color' => 'sky', 'type' => 'direct')); array_push($actions2, array('name' => '<span>Ranking Paralel</span>', 'url' => 'counseling_new/listParalel?accal_id=' . $academic_calendar->getId() . '&counseling_id=' . $counseling->getId(), 'color' => 'sun')); array_push($actions2, array('name' => '<span>Ledger Nilai Raport</span>', 'url' => 'counseling_new/listLedgerRaport?accal_id=' . $academic_calendar->getId() . '&counseling_id=' . $counseling->getId(), 'color' => 'sun')); $this->actions2 = $actions2; $this->counseling = $counseling; $this->subtitle = $academic_calendar->getName() . ' # Kelas : ' . $counseling->getClassGroup()->toString(); $this->academic_calendar = $academic_calendar; }