Exemplo n.º 1
0
 public static function doSelectByAccal()
 {
     $student_course_id = sfContext::getInstance()->getRequest()->getParameter('id');
     $student_course = StudentCoursePeer::retrieveByPK($student_course_id);
     if ($student_course) {
         if (!$student_course->getSubjectAccal()) {
             return array();
         }
         $accal = $student_course->getSubjectAccal()->getAcademicCalendar();
     } else {
         $accal_id = sfContext::getInstance()->getRequest()->getParameter('accal_id');
         $accal = AcademicCalendarPeer::retrieveByPK($accal_id);
     }
     if ($accal == null) {
         return array();
     }
     $c = new Criteria();
     $c->addAscendingOrderByColumn(AcademicCalendarPeer::CODE);
     $c->addAscendingOrderByColumn(SubjectPeer::NAME);
     $c->addAscendingOrderByColumn(EmployeePeer::NAME);
     $c->addJoin(AcademicCalendarPeer::ID, SubjectAccalPeer::ACADEMIC_CALENDAR_ID);
     $c->addJoin(SubjectPeer::ID, SubjectAccalPeer::SUBJECT_ID);
     $c->addJoin(EmployeePeer::ID, SubjectAccalPeer::EMPLOYEE_ID);
     $c->add(SubjectAccalPeer::ACADEMIC_CALENDAR_ID, $accal->getId());
     $objs = SubjectAccalPeer::doSelect($c);
     return $objs;
 }
Exemplo n.º 2
0
 public function getStudentCourse($con = null)
 {
     include_once 'lib/model/om/BaseStudentCoursePeer.php';
     if ($this->aStudentCourse === null && $this->student_course_id !== null) {
         $this->aStudentCourse = StudentCoursePeer::retrieveByPK($this->student_course_id, $con);
     }
     return $this->aStudentCourse;
 }
Exemplo n.º 3
0
 public function executePrintBankTransferForm()
 {
     $student_course = StudentCoursePeer::retrieveByPK($this->getRequestParameter('id'));
     $stu = StudentPeer::retrieveByPK($this->getRequestParameter('student_id'));
     $accal = $student_course->getSubjectAccal()->getAcademicCalendar();
     $job = JobPeer::retrieveByCode($this->getModuleName());
     $academic_process = $job->getAcademicProcess();
     $this->forward404Unless($student_course && $stu && $accal && $job && $academic_process);
     $c = new Criteria();
     $c->add(AcademicCostPeer::ACADEMIC_CALENDAR_ID, $accal->getId());
     $c->add(AcademicProcessPeer::CODE, $academic_process->getCode());
     $c->addJoin(AcademicProcessPeer::ID, AcademicCostPeer::ACADEMIC_PROCESS_ID);
     $costs = AcademicCostPeer::doSelect($c);
     $c = new Criteria();
     $c->add(StudentCoursePeer::STUDENT_ID, $stu->getId());
     $c->add(SubjectAccalPeer::ACADEMIC_CALENDAR_ID, $accal->getId());
     $c->add(StudentCoursePeer::STATUS, StudentCourse::STATUS_APPROVED);
     $c->addJoin(SubjectAccalPeer::ID, StudentCoursePeer::SUBJECT_ACCAL_ID);
     $scs = StudentCoursePeer::doSelect($c);
     $total_subject = 0;
     $total_credit = 0;
     $total_credit_cost = 0;
     $total_cost = 0;
     $total_subject_cost = 0;
     foreach ($costs as $c) {
         if ($c->getAcademicCostComponent()->getUnit() == AcademicCostComponent::UNIT_CREDIT) {
             foreach ($scs as $sc) {
                 $total_credit += $sc->getSubjectAccal()->getSubject()->getCredit();
                 $total_cost += $c->getAmount() * $sc->getSubjectAccal()->getSubject()->getCredit();
                 $total_credit_cost += $c->getAmount() * $sc->getSubjectAccal()->getSubject()->getCredit();
             }
         } elseif ($c->getAcademicCostComponent()->getUnit() == AcademicCostComponent::UNIT_SUBJECT) {
             foreach ($scs as $sc) {
                 ++$total_subject;
                 $total_cost += $c->getAmount();
                 $total_subject_cost += $c->getAmount();
             }
         } else {
             $total_cost += $c->getAmount();
         }
     }
     $this->stu = $stu;
     $this->accal = $accal;
     $this->costs = $costs;
     $this->total_credit = $total_credit;
     $this->total_credit_cost = $total_credit_cost;
     $this->total_cost = $total_cost;
     $this->total_subject = $total_subject;
     $this->total_subject_cost = $total_subject_cost;
     $this->setViewClass('sfDomPDF');
 }
Exemplo n.º 4
0
 public function executeInsertPaymentJournal()
 {
     $student_course = StudentCoursePeer::retrieveByPK($this->getRequestParameter('id'));
     $stu = StudentPeer::retrieveByPK($this->getRequestParameter('student_id'));
     $accal = $student_course->getAcademicCalendar();
     $job = JobPeer::retrieveByCode($this->getModuleName());
     $academic_process = $job->getAcademicProcess();
     $this->forward404Unless($student_course && $stu && $accal && $job && $academic_process);
     //		$c = new Criteria();
     //		$c->add(AcademicCostPeer::ACADEMIC_CALENDAR_ID, $accal->getId());
     //		$c->add(AcademicProcessPeer::CODE, $academic_process->getCode());
     //		$c->addJoin(AcademicProcessPeer::ID, AcademicCostPeer::ACADEMIC_PROCESS_ID);
     //		$costs = AcademicCostPeer::doSelect($c);
     #$c = new Criteria();
     #$c->add(StudentCoursePeer::STUDENT_ID, $stu->getId());
     #$c->add(SubjectAccalPeer::ACADEMIC_CALENDAR_ID, $accal->getId());
     #$c->add(StudentCoursePeer::STATUS, StudentCourse::STATUS_APPROVED);
     #$c->addJoin(SubjectAccalPeer::ID, StudentCoursePeer::SUBJECT_ACCAL_ID);
     #$scs = StudentCoursePeer::doSelect($c);
     $paids = $this->getRequestParameter('paid');
     foreach ($paids as $key => $val) {
         $c = AcademicCostPeer::retrieveByPK($key);
         $payment_journal = new PaymentJournal();
         $payment_journal->setAcademicCost($c);
         $payment_journal->setJob($job);
         $payment_journal->setPayer($stu->getId());
         #$amount = 0;
         #if ($c->getAcademicCostComponent()->getUnit() == AcademicCostComponent::UNIT_CREDIT) {
         #	foreach ($scs as $sc) {
         #		$amount += $c->getAmount() * $sc->getSubjectAccal()->getSubject()->getCredit();
         #	}
         #} elseif ($c->getAcademicCostComponent()->getUnit() == AcademicCostComponent::UNIT_SUBJECT) {
         #	foreach ($scs as $sc) {
         #		$amount += $c->getAmount();
         #	}
         #} else {
         $amount = $c->getAmount();
         #}
         $payment_journal->setAmount($amount);
         $payment_journal->setPaid($val);
         $payment_journal->setReceivable($amount - $val);
         $payment_journal->setAcademicProcess($academic_process);
         $payment_journal->setPayerType(PaymentJournal::PAYER_TYPE_STUDENT);
         if ($amount - $val == 0) {
             $payment_journal->setStatus('S');
         } elseif ($amount - $val > 0) {
             $payment_journal->setStatus('M');
         } elseif ($amount - $val < 0) {
             $payment_journal->setStatus('P');
         }
         $payment_journal->save();
         $ph = new PaymentHistory();
         $ph->setPaymentJournal($payment_journal);
         $ph->setAmount($val);
         $ph->save();
     }
     // activate all paid credit
     if ($this->hasRequestParameter('status[student_course]') && $this->getRequestParameter('status[student_course]') == 1) {
         $c = new Criteria();
         $c->add(StudentCoursePeer::STUDENT_ID, $stu->getId());
         $c->add(StudentCoursePeer::STATUS, StudentCourse::STATUS_APPROVED);
         $approved_scs = StudentCoursePeer::doSelect($c);
         foreach ($approved_scs as $asc) {
             $asc->setStatus(StudentCourse::STATUS_ACTIVE);
             $asc->save();
         }
     }
     // change student status to active
     if ($this->hasRequestParameter('status[student]') && $this->getRequestParameter('status[student]') == Student::STATUS_ACTIVE) {
         $stu->setStatus(Student::STATUS_ACTIVE);
         $stu->setAcademicCalendarId($accal->getId());
         $stu->save();
     }
     return $this->redirect('student_course/list?student_id=' . $stu->getId());
 }
Exemplo n.º 5
0
 public function executeSelectByStudentCourse()
 {
     $student_course_id = $this->getRequestParameter('student_course_id');
     $student_course = StudentCoursePeer::retrieveByPK($student_course_id);
     $this->forward404Unless($student_course);
     $content = array();
     $subject_accal = $student_course->getSubjectAccal();
     $objs = $subject_accal->getSubjectGradings();
     foreach ($objs as $o) {
         $content[$o->getGradeComponentId()] = $o->getGradeComponent()->toString();
     }
     $this->content = $content;
 }
Exemplo n.º 6
0
 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;
 }
Exemplo n.º 7
0
 public function executeGetKkm()
 {
     $sc_id = $this->getRequestParameter('student_course_id');
     $sc = StudentCoursePeer::retrieveByPK($sc_id);
     $this->forward404Unless($sc);
     $c = new Criteria();
     $c->add(SubjectGradingPeer::SUBJECT_ACCAL_ID, $sc->getSubjectAccalId());
     $sg = SubjectGradingPeer::doSelectOne($c);
     $this->forward404Unless($sg);
     return $this->renderText("<input type='text' size='7' value='" . $sg->getPercentage() . "' id='kkm' name='kkm'/>");
 }