/** * Action responsável por listar as contas */ public function listarContasAction() { parent::noTemplate(); $aRecord = array(); $iLimit = $this->_request->getParam('rows'); $iPage = $this->_request->getParam('page'); $sSord = $this->_request->getParam('sord'); /** * Valores enviados para o controller */ $aParametrosBusca = $this->_request->getParam('form'); $oPaginatorAdapter = new DBSeller_Controller_Paginator(Contribuinte_Model_PlanoContaAbrasf::getQuery(), 'Contribuinte_Model_PlanoContaAbrasf', 'Contribuinte\\PlanoContaAbrasf'); $oPaginatorAdapter->where("1 = 1"); /** * Filtro pela conta abrasf */ if (!empty($aParametrosBusca['conta_abrasf'])) { $oPaginatorAdapter->andWhere("e.conta_abrasf = '{$aParametrosBusca['conta_abrasf']}'"); } /** * Filtro pela tributação */ if (!empty($aParametrosBusca['tributavel'])) { $oPaginatorAdapter->andWhere("e.tributavel = '{$aParametrosBusca['tributavel']}'"); } /** * Filtro pela obrigatoriedade */ if (!empty($aParametrosBusca['obrigatorio'])) { $oPaginatorAdapter->andWhere("e.obrigatorio = '{$aParametrosBusca['obrigatorio']}'"); } /** * Ordena os registros */ $oPaginatorAdapter->orderBy("e.id, e.conta_abrasf", $sSord); /** * Monta a paginação do GridPanel */ $oResultado = new Zend_Paginator($oPaginatorAdapter); $oResultado->setItemCountPerPage($iLimit); $oResultado->setCurrentPageNumber($iPage); $iTotal = $oResultado->getTotalItemCount(); $iTotalPages = $iTotal > 0 && $iLimit > 0 ? ceil($iTotal / $iLimit) : 0; foreach ($oResultado as $oPlanoContaAbrasf) { $oDadosColuna = new StdClass(); $oDadosColuna->id = $oPlanoContaAbrasf->getId(); $oDadosColuna->conta_abrasf = $oPlanoContaAbrasf->getContaAbrasf(); $oDadosColuna->titulo_contabil_desc = $oPlanoContaAbrasf->getTituloContabilDesc(); $oDadosColuna->tributavel = $oPlanoContaAbrasf->getTributavel(); $oDadosColuna->obrigatorio = $oPlanoContaAbrasf->getObrigatorio(); $aRecord[] = $oDadosColuna; } /** * Parametros de retorno do AJAX */ $aRetornoJson = array('total' => $iTotalPages, 'page' => $iPage, 'records' => $iTotal, 'rows' => $aRecord); echo $this->getHelper('json')->sendJson($aRetornoJson); }