/** * * Enter description here ... * @param Acad_Model_Department $dept * @param string $dateFrom * @param string $degree * @param int $semester */ public function fetchAttendanceDetail(Acad_Model_Department $dept, $dateFrom = null, $degree = null, $semester = null) { if (null == isset($dateFrom)) { $dateFrom = 'CURRENT_DATE'; } $select = $this->getDbTable()->getAdapter()->select()->from('period_attendance', array('staff_id', 'marked_date'))->join('timetable', '`period_attendance`.`timetable_id` = `timetable`.`timetable_id`', array('period.degree_id', 'period.semester_id', 'periods_covered', 'subject_code', 'subject_mode_id', 'group_id'))->join('period', '`timetable`.`period_id` = `period`.`period_id`', array())->where('`period_attendance`.period_date = ?', $dateFrom)->where('timetable.department_id = ?', $dept->getDepartment()); return $select->query()->fetchAll(); }
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; } }
public function attendanceAction() { $department = new Acad_Model_Department(); $request = $this->getRequest(); $department_id = $request->getParam('department_id'); $programme_id = $request->getParam('programme_id', 'BTECH'); $dateFrom = $request->getParam('date_from'); $dateUpto = $request->getParam('date_upto'); $semester = $request->getParam('semester'); $format = $this->_getParam('format', 'html'); $authContent = Zend_Auth::getInstance()->getIdentity(); if ('mgmt' == strtolower($authContent['department_id'])) { $this->view->assign('aboveDepartments', TRUE); } else { $department_id = $authContent['department_id']; } $this->view->assign('programme_id', $programme_id); $this->view->assign('department_id', $department_id); if (isset($department_id) and isset($programme_id)) { $attendance = $department->getStudentAttendance($programme_id, $dateFrom, $dateUpto, $semester); switch (strtolower($format)) { case 'test': $this->_helper->logger($attendance); return; case 'html': $this->_helper->viewRenderer->setNoRender(false); $this->_helper->layout()->enableLayout(); $this->view->assign('department_id', $department_id); $this->view->assign('date_from', $dateFrom); $this->view->assign('date_upto', $dateUpto); $this->view->assign('attendance', $attendance); $session_startdate = Acad_Model_DbTable_AcademicSession::getSessionStartDate(); $this->view->assign('session_startdate', $session_startdate); return; case 'json': echo $this->_helper->json($attendance, false); return; } } }
/** * An semesterwise overview of student attendance. * @param Acad_Model_Department $department * @param string $programme * @param date_string $date_from * @param date_string $date_upto * @param int $semester */ public function fetchAttendance(Acad_Model_Department $department, $programme = NULL, $date_from = NULL, $date_upto = NULL, $semester = null) { $dept = $department->getDepartment(); $studentAttendance = new Acad_Model_DbTable_StudentAttendance2(); $order = array('semester_id', 'subject_mode_id', 'subject_code', 'group_id'); $rawResult = $studentAttendance->stats($dept, $programme, $semester, null, null, null, $date_from, $date_upto, true, $order); $processed = array(); foreach ($rawResult as $department_id => $attendanceList) { foreach ($attendanceList as $key => $attendance) { $subjectCode = $attendance['subject_code']; $subjectMode = $attendance['subject_mode_id']; $group_id = $attendance['group_id']; $semester_id = $attendance['semester_id']; unset($attendance['subject_code']); unset($attendance['subject_mode_id']); unset($attendance['group_id']); unset($attendance['semester_id']); $processed[$semester_id][$subjectMode][$subjectCode][$group_id][] = $attendance; } } return $processed; }
/** * 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); }
/** * Department wise detail of data * Enter description here ... */ public function getdetaildataAction() { $request = $this->getRequest(); //Getting Request Parameters $period_dateobj = new Zend_Date($request->getParam('attendance_date'), 'dd-MM-YYYY'); $period_date = $period_dateobj->toString('YYYY-MM-dd'); $department = $request->getParam('department_id'); //$this->_helper->viewRenderer->setNoRender(false); //$this->_helper->layout()->enableLayout(); $depttObj = new Acad_Model_Department(); $depttObj->setDepartment($department); $result = $depttObj->getAttendanceDetail($period_date); $this->_helper->logger($result); $this->gridparam['page'] = $request->getParam('page', 1); // get the requested page $this->gridparam['limit'] = $request->getParam('rows', 20); // rows limit in Grid $this->_count = count($result); $response = new stdClass(); foreach ($result as $key => $value) { $response->rows[$key]['id'] = $value['subject_code']; $response->rows[$key]['cell'] = array($value['staff_id'], $value['marked_date'], $value['degree_id'], $value['semester_id'], $value['periods_covered'], $value['subject_code'], $value['subject_mode_id'], $value['group_id']); } $response->page = $this->gridparam['page']; $response->total = 1; $response->records = $this->_count; echo $this->_helper->json($response, false); }