/**
  * Processa a pesquisa e retorna o html com o resultado da consulta [Ajax]
  */
 public function consultaProcessarAction()
 {
     parent::noTemplate();
     $oFormConsulta = new Administrativo_Form_ProtocoloConsulta();
     $oFormConsulta->populate($this->getRequest()->getParams());
     /**
      * Valores enviados para o controller
      */
     $aParametrosBusca = $oFormConsulta->getValues();
     $oPaginatorAdapter = new DBSeller_Controller_Paginator(Administrativo_Model_Protocolo::getQuery(), 'Administrativo_Model_Protocolo', 'Administrativo\\Protocolo');
     $oPaginatorAdapter->where("1 = 1");
     /**
      * Filtro por usuário
      */
     if (!empty($aParametrosBusca['usuario'])) {
         $oPaginatorAdapter->andWhere("e.usuario = {$aParametrosBusca['usuario']}");
     }
     /**
      * Filtro pelo código do protocolo
      */
     if (!empty($aParametrosBusca['protocolo'])) {
         $oPaginatorAdapter->andWhere("e.protocolo = '{$aParametrosBusca['protocolo']}'");
     }
     /**
      * Filtra pela data inicial e final
      */
     if (!empty($aParametrosBusca['data_processamento_inicial']) && !empty($aParametrosBusca['data_processamento_final'])) {
         $oPaginatorAdapter->andWhere("e.data_processamento BETWEEN '{$aParametrosBusca['data_processamento_inicial']}' AND\n                        '{$aParametrosBusca['data_processamento_final']}'");
     } else {
         if (!empty($aParametrosBusca['data_processamento_inicial'])) {
             $oPaginatorAdapter->andWhere("e.data_processamento = '{$aParametrosBusca['data_processamento_inicial']}'");
         } else {
             if (!empty($aParametrosBusca['data_processamento_final'])) {
                 $oPaginatorAdapter->andWhere("e.data_processamento = '{$aParametrosBusca['data_processamento_final']}'");
             }
         }
     }
     /**
      * Ordena os registros
      */
     $oPaginatorAdapter->orderBy("e.protocolo, e.data_processamento", $aParametrosBusca['ordenacao']);
     /**
      * Monta a paginação do GridPanel
      */
     $oResultado = new Zend_Paginator($oPaginatorAdapter);
     $oResultado->setItemCountPerPage(10);
     $oResultado->setCurrentPageNumber($this->_request->getParam('page'));
     /**
      * Valores enviados para a View
      */
     $this->view->oFormConsulta = $oFormConsulta;
     $this->view->protocolos = $oResultado;
     /**
      * Valores da pesquisa
      */
     if (is_array($aParametrosBusca)) {
         foreach ($aParametrosBusca as $sParametro => $sParametroValor) {
             if ($sParametroValor) {
                 $sParametroValor = str_replace('/', '-', $sParametroValor);
                 $this->view->sBusca .= "{$sParametro}/{$sParametroValor}/";
             }
         }
     }
 }