public function attendanceAction() { $department_id = $this->_getParam('department_id'); $programme_id = $this->_getParam('programme_id'); $semester_id = $this->_getParam('semester_id'); $faculty_id = $this->_getParam('faculty_id'); $dateFrom = $this->_getParam('date_from'); $dateUpto = $this->_getParam('date_upto'); $format = $this->_getParam('format', 'html'); $faculty = new Acad_Model_Member_Faculty(); if (true) { $faculty->setFacultyId($faculty_id); } $faculty->setDepartment($department_id); $objLevel = null; if ($department_id) { $objLevel = new Acad_Model_Department(); $objLevel->setDepartment($department_id); } if ($department_id and $programme_id and $semester_id) { $objLevel = new Acad_Model_Class(); $objLevel->setDepartment($department_id)->setProgramme_id($programme_id)->setSemester($semester_id); } $subjects = $faculty->getInHandSubjects($objLevel, TRUE); foreach ($subjects as $subject_code => $subjectClasses) { $subject = new Acad_Model_Course_Subject(array('subject_code' => $subject_code)); $subjectName = $subject->getSubject_name(); foreach ($subjectClasses as $key => $subjectClass) { $subjects[$subject_code][$key]['subject_name'] = $subjectName; } } switch (strtolower($format)) { case 'test': $this->_helper->logger($subjects); return; case 'html': $this->_helper->logger($subjects); $this->_helper->viewRenderer->setNoRender(false); $this->_helper->layout()->enableLayout(); $this->view->assign('department_id', $this->view->escape($department_id)); $urlSubjectDetail = $this->_helper->url('attendance', 'subject'); $this->view->assign('urlSubjetDetail', $this->view->escape($urlSubjectDetail)); $this->view->assign('subjects', $subjects); $this->view->assign('date_from', $this->view->escape($dateFrom)); $this->view->assign('date_upto', $this->view->escape($dateUpto)); $this->view->assign('faculty', $faculty); $this->view->assign('viewLevel', $objLevel); return; case 'json': echo $this->_helper->json($subjects, false); return; case 'jsonp': $callback = $this->_getParam('callback'); echo $callback . '(' . $this->_helper->json($subjects, false) . ')'; return; } }
/** * Save a sessional datesheet * * @param array|Acad_Model_Test_Sessional * @return void */ public function save($sessional) { if ($sessional instanceof Acad_Model_Test_Sessional) { $id = $sessional->getTest_info_id(); if ((string) $id === (string) (int) $id) { $data['date_of_conduct'] = $sessional->getDate_of_conduct(); $data['time'] = $sessional->getTime(); $data['max_marks'] = $sessional->getMax_marks(); $data['pass_marks'] = $sessional->getPass_marks(); return $this->getDbTable()->update($data, "test_info_id = {$id}"); } else { $data['date_of_conduct'] = $sessional->getDate_of_conduct(); $data['time'] = $sessional->getTime(); $data['max_marks'] = $sessional->getMax_marks(); $data['pass_marks'] = $sessional->getPass_marks(); $data['department_id'] = $sessional->getDepartment_id(); $data['degree_id'] = $sessional->getDegree_id(); $data['semester_id'] = $sessional->getSemester_id(); $data['subject_code'] = $sessional->getSubject_code(); $data['test_id'] = $sessional->getTest_id(); $data['test_type_id'] = $sessional->getTest_type_id(); $today = new Zend_Date(); $data['date_of_announcemnet'] = $today->toString('YYYY-MM-dd'); $class = new Acad_Model_Class(); $class->setDepartment($sessional->getDepartment_id())->setDegree($sessional->getDegree_id())->setSemester($sessional->getSemester_id()); $studentInfo = $class->getStudents(); $candidates = array(); $cols = array('test_info_id', 'student_roll_no'); $this->getDbTable()->getAdapter()->beginTransaction(); $this->getDbTable()->insert($data); $id = $this->getDbTable()->getAdapter()->lastInsertId('test_info', 'test_info_id'); foreach ($studentInfo as $key => $student) { $candidates[] = "({$id}, " . $student['student_roll_no'] . ")"; } // build the statement $sql = "INSERT INTO " . $this->getDbTable()->getAdapter()->quoteIdentifier('test_marks', true) . ' (' . implode(', ', $cols) . ') ' . 'VALUES ' . implode(', ', $candidates); try { $this->getDbTable()->getAdapter()->query($sql); } catch (Zend_Exception $e) { $this->getDbTable()->getAdapter()->rollBack(); throw new Zend_Exception('Can not get students\' list. Error Msg :' . $e->getMessage(), Zend_Log::ERR); } $this->getDbTable()->getAdapter()->commit(); return $id; } } }
public function getsubjectAction() { $request = $this->getRequest(); //$faculty_id = $request->getParam('faculty_id'); $department = $request->getParam('department_id'); $degree = $request->getParam('degree_id'); $semester = $request->getParam('semester_id'); $showModes = $request->getParam('modes'); $format = $this->getRequest()->getParam('format', 'json'); $faculty = new Acad_Model_Member_Faculty(); $class = null; if (isset($department) and isset($degree) and isset($semester)) { $class = new Acad_Model_Class(); $class->setDepartment($department)->setDegree($degree)->setSemester($semester); } $result = $faculty->getSubjects($class, $showModes); switch (strtolower($format)) { case 'json': echo $this->_helper->json($result, false); return; case 'jsonp': $callback = $request->getParam('callback'); echo $callback . '(' . $this->_helper->json($result, false) . ')'; return; case 'select': echo '<select id="facultySubject">'; echo '<option value="">Select one</option>'; foreach ($result as $subjectCode => $subjectInfo) { foreach ($subjectInfo as $key => $subject) { $mode = isset($subject['subject_mode_id']) ? $subject['subject_mode_id'] : null; $modeValStr = isset($mode) ? '_' . $mode : null; $modeTxtStr = isset($mode) ? ' - ' . $mode : null; echo '<option value="' . $subjectCode . $modeValStr . '">' . ucwords(strtolower($subject['subject_name'])) . $modeTxtStr . '</option>'; } } echo '</select>'; return; } header("HTTP/1.1 400 Bad Request"); }
/** * * Enter description here ... * @param Acad_Model_Class $class * @FIXME It is not complete */ public function save(Acad_Model_Class $class) { $data = array('department_id' => $class->getDepartment(), 'degree_id' => $class->getDegree(), 'batchstart' => $class->getBatchStart()); }
private function saveClassInfo($class_info) { $class = new Acad_Model_Class(); try { $class_id = $class->saveInfo($class_info); Zend_Registry::get('logger')->debug('New class added,$class_id = ' . $class_id); return $class_id; } catch (Exception $e) { return false; } }
public function tempAction() { $class = new Acad_Model_Class(); $class->setDepartment('CSE')->setDegree('BTECH')->setSemester('4'); $faculty = new Acad_Model_Member_Faculty(); $result = $faculty->getSubjects($class); echo '<pre>'; print_r($result); //$this->_helper->logger($result); }
/** * Test conducted in class. * @param Acad_Model_Class $class */ public function getConducted(Acad_Model_Class $class) { $sql = 'SELECT test_id, (SELECT test_id FROM test WHERE test_type_id = ? ORDER BY test_id DESC LIMIT 1) AS max_test_id FROM test_info WHERE (department_id = ? AND degree_id = ? AND semester_id = ? AND test_type_id = ?) ORDER BY test_type_id,test_id DESC LIMIT 1'; $bind[] = self::getTest_type_id(); $bind[] = $class->getDepartment(); $bind[] = $class->getDegree(); $bind[] = $class->getSemester(); $bind[] = self::getTest_type_id(); return Zend_Db_Table::getDefaultAdapter()->query($sql, $bind)->fetch(); }
/** * Get Faculty Subjects in hand * @param Acad_Model_Member_Faculty $faculty * @param Acad_Model_Class|Acad_Model_Department $viewLevel = null * @param bool $showModes = null * @return array */ public function fetchInHandSubjects(Acad_Model_Member_Faculty $faculty, $viewLevel = NULL, $showModes = NULL) { $select = $this->getDbTable()->getAdapter()->select(); $select->distinct()->from('period_attendance2', array('subject_code', 'department_id', 'programme_id', 'semester_id'))->where('faculty_id = ?', $faculty->getMemberId()); if (isset($showModes)) { $select->columns('subject_mode_id'); } if ($viewLevel instanceof Acad_Model_Class) { $select->where('department_id = ?', $viewLevel->getDepartment())->where('programme_id = ?', $viewLevel->getProgramme_id())->where('semester_id = ?', $viewLevel->getSemester()); } elseif ($viewLevel instanceof Acad_Model_Department) { $select->where('department_id = ?', $viewLevel->getDepartment()); } return $select->query()->fetchAll(Zend_Db::FETCH_GROUP); }
/** * Fetches Batch Id of a Student, * Member_id must be set before calling this function * @return int the Batch_id of student */ public function fetchBatchId() { $member_id = $this->getMember_id(true); $student_class_object = new Acad_Model_StudentClass(); $student_class_object->setMember_id($member_id); $batch_identifier_class_id = $student_class_object->fetchBatchIdentifierClassId(); $class_object = new Acad_Model_Class(); $class_object->setClass_id($batch_identifier_class_id); $class_object->fetchInfo(); $batch_id = $class_object->getBatch_id(); return $batch_id; }
/** * Get students in this period. * @return array $groups */ public function getStudents($periodDate, $faculty = null) { $class = new Acad_Model_Class(); $class->setDepartment($this->getDepartment())->setDegree($this->getDegree())->setSemester($this->getSemester()); $groupWiseStudents = array(); $groups = self::getGroups($periodDate, $faculty); foreach ($groups as $key => $group) { $groupWiseStudents[$group['group_id']] = $class->getStudents($group['group_id']); } }
/** * Get Faculty Subjects * @param Acad_Model_Member_Faculty $faculty * @return array */ public function fetchSubjects(Acad_Model_Member_Faculty $faculty, Acad_Model_Class $class = NULL, $showModes = NULL) { $select = $this->getDbTable()->getAdapter()->select(); $select->distinct()->from('subject_faculty', array('subject_code'))->join('subject', 'subject_faculty.subject_code = subject.subject_code', array('subject_name'))->join('subject_department', 'subject_department.subject_code = subject.subject_code', array())->where('subject_faculty.staff_id = ?', $faculty->getMemberId()); if (isset($showModes)) { $select->columns('subject_mode_id'); } if (isset($class)) { $select->where('subject_department.department_id = ?', $class->getDepartment())->where('subject_department.degree_id = ?', $class->getDegree())->where('subject_department.semester_id = ?', $class->getSemester()); } return $select->query()->fetchAll(Zend_Db::FETCH_GROUP); }
public function getclassunmarkedattAction() { $request = $this->getRequest(); $department = $request->getParam('department_id'); $programme_id = $request->getParam('degree_id'); $semester = $request->getParam('semester_id'); $class = new Acad_Model_Class(); $class->setDepartment($department)->setProgramme_id($programme_id)->setSemester($semester); $result = $class->getUnmarkedAttendance(); $response = new stdClass(); $response->page = 1; $response->total = 1; $response->records = count($result); $response->rows = $result; echo $this->_helper->json($response, false); //$this->_helper->logger($result); }
public function getstudentsAction() { $request = $this->getRequest(); $department_id = $request->getParam('department_id'); $degree_id = $request->getParam('degree_id'); $semester_id = $request->getParam('semester_id'); $group_id = $request->getParam('group_id'); if ('ALL' == strtoupper($group_id) or !isset($group_id)) { $groups = Acad_Model_DbTable_Groups::getClassGroups($department_id, $degree_id); } else { $groups = array($group_id); } $studentList = array(); $resultSet = array(); $resultSet['totalgroups'] = count($groups); $resultSet['group_id'] = $groups; $totalrows = 0; $totalstudents = 0; foreach ($groups as $key => $group_id) { $group_number = substr($group_id, strlen($group_id) - 1); $class = new Acad_Model_Class(); $class->setDepartment($department_id)->setDegree($degree_id)->setSemester($semester_id); $studentList = Acad_Model_ClassMapper::fetchSemesterStudents($class, $group_id); $totalstudents = $totalstudents + count($studentList); if ($totalrows < count($studentList)) { $totalrows = count($studentList); } $resultSet[$group_id] = array("group_number" => $group_number, "students" => $studentList); } $resultSet['totalrows'] = $totalrows; $resultSet['totalstudents'] = $totalstudents; echo $this->_helper->json($resultSet, false); }
private function generateReport($member_id) { $class_ids = $this->getAllClassIds($member_id); $member_data = array(); for ($i = 1; $i < 9; $i++) { $member_data['SEMESTER ' . $i] = '----'; } $member_data['TENTH BOARD'] = '----'; $member_data['TENTH MARKS'] = '----'; $member_data['TENTH YEAR'] = '----'; $member_data['TWELFTH BOARD'] = '----'; $member_data['TWELFTH MARKS'] = '----'; $member_data['TWELFTH YEAR'] = '----'; $member_data['AIEEE RANK'] = '----'; $member_data['LEET RANK'] = '----'; if (is_array($class_ids)) { $class_backlog_count = array(); foreach ($class_ids as $class_id) { $cnt = $this->getSemesterBackLogCount($member_id, $class_id); $class_backlog_count[$class_id]['backlogs'] = $cnt; } foreach ($class_backlog_count as $class_id => $array) { $cls = new Acad_Model_Class(); $cls->setClass_id($class_id); $cls_inf = $cls->fetchInfo(); if ($cls_inf instanceof Acad_Model_Class) { $semester_id = $cls->getSemester_id(); } if ($class_backlog_count[$class_id]['backlogs'] == 0) { unset($class_backlog_count[$class_id]['backlogs']); $student = new Acad_Model_Member_Student(); $student->setMember_id($member_id); $dmc_info_id = $student->fetchLatestDmcInfoId($class_id); if (!empty($dmc_info_id)) { $dmc_info = new Acad_Model_Course_DmcInfo(); $dmc_info->setDmc_info_id($dmc_info_id); $info = $dmc_info->fetchInfo(); if ($info instanceof Acad_Model_Course_DmcInfo) { $total_marks = $info->getMax_marks(); $marks_obtained = $info->getMarks_obtained(); } $percentage = 100 * ($marks_obtained / $total_marks); $percentage = round($percentage, 2); $member_data['SEMESTER ' . $semester_id] = $percentage . ' % '; } } else { $member_data['SEMESTER ' . $semester_id] = $class_backlog_count[$class_id]['backlogs']; } } foreach ($member_data as $k => $value) { if (empty($value)) { $member_data[$k] = '----'; } } $matric_data = $this->fetchMatricData($member_id); $member_data['TENTH BOARD'] = $matric_data['board']; $member_data['TENTH MARKS'] = $matric_data['marks_obtained']; $member_data['TENTH YEAR'] = $matric_data['passing_year']; $twelfth_data = $this->fetchTwelfthData($member_id); $member_data['TWELFTH BOARD'] = $twelfth_data['board']; $member_data['TWELFTH MARKS'] = $twelfth_data['marks_obtained']; $member_data['TWELFTH YEAR'] = $twelfth_data['passing_year']; $aieee_data = $this->fetchCompetitiveExamData('AIEEE', $member_id); if (empty($aieee_data['all_india_rank'])) { $member_data['AIEEE RANK'] = '----'; } else { $member_data['AIEEE RANK'] = $aieee_data['all_india_rank']; } $leet_data = $this->fetchCompetitiveExamData('LEET', $member_id); if (empty($leet_data['all_india_rank'])) { $member_data['LEET RANK'] = '----'; } else { $member_data['LEET RANK'] = $leet_data['all_india_rank']; } return $member_data; } }