public function dadosagendasearchAction() { $this->_helper->layout->disableLayout(); $page = $this->_request->getParam("page", 1); $limit = $this->_request->getParam("rows"); $sidx = $this->_request->getParam("sidx", 1); $sord = $this->_request->getParam("sord"); $filters = $this->_request->getParam("filters"); if ($filters != '') { $data = $this->buildWhereClause($filters); } $agendaModel = new AgendaModel(); $departmentModel = new DepartmentModel(); $companyModel = new CompanyModel(); if (isset($data['sql']) && $data['sql'] != '') { $agenda = $agendaModel->fetchAll($data['sql']); $count = count($agenda); if ($count > 0) { $agenda = $agendaModel->fetchAll($data['sql']); } else { $total_pages = 0; } $responce = new stdClass(); $responce->page = $page; $responce->records = $count; } else { $agenda = $agendaModel->fetchAll(); $count = count($agenda); if ($count > 0 && $limit > 0) { $total_pages = ceil($count / $limit); } else { $total_pages = 0; } if ($page > $total_pages) { $page = $total_pages; } $agenda = $agendaModel->fetchAll(); $responce = new stdClass(); $responce->page = $page; $responce->total = $total_pages; $responce->records = $count; } $i = 0; foreach ($agenda as $row) { $departmento = $departmentModel->getDepartmentByAgenda($row->cdagenda); $company = $companyModel->getCompanyByDepartment($departmento[0]->cddepartment); $responce->rows[$i]['id'] = $row->cdagenda; $responce->rows[$i]['cddepartment'] = $departmento[0]->cddepartment; $responce->rows[$i]['cdcompany'] = $company[0]->cdcompany; $responce->rows[$i]['cell'] = array($row->cdagenda, $row->nmagenda, $company[0]->nmcompany, $departmento[0]->nmdepartment, 'Ativo', $departmento[0]->cddepartment, $company[0]->cdcompany); $i++; } $this->view->dadosagendasearch = $responce; }