/** * Consulta notas para exportar RPS */ public function rpsConsultarAction() { parent::noTemplate(); $aParametros = $this->getRequest()->getParams(); /** * Verifica se foi informado mês e ano da competência */ if (!empty($aParametros['mes_competencia']) && !empty($aParametros['ano_competencia'])) { $oContribuinte = $this->_session->contribuinte; $sCodigosContribuintes = implode(',', $oContribuinte->getContribuintes()); $oPaginatorAdapter = new DBSeller_Controller_Paginator(Contribuinte_Model_Nota::getQuery(), 'Contribuinte_Model_Nota', 'Contribuinte\\Nota'); /** * Monta a query de consulta */ $oPaginatorAdapter->where("e.id_contribuinte in ({$sCodigosContribuintes})"); $oPaginatorAdapter->andWhere("e.mes_comp = {$aParametros['mes_competencia']}"); $oPaginatorAdapter->andWhere("e.ano_comp = {$aParametros['ano_competencia']}"); if (!empty($aParametros['numero_rps'])) { $oPaginatorAdapter->andWhere("e.nota = {$aParametros['numero_rps']}"); } $oPaginatorAdapter->orderBy('e.nota', 'DESC'); /** * Monta a paginação do GridPanel */ $oResultado = new Zend_Paginator($oPaginatorAdapter); $oResultado->setItemCountPerPage(10); $oResultado->setCurrentPageNumber($this->_request->getParam('page')); foreach ($oResultado as $oNota) { $oNota->oContribuinte = $oContribuinte; $oNota->lNaoGeraGuia = !$oNota->getEmite_guia(); $oNota->lGuiaEmitida = Contribuinte_Model_Guia::existeGuia($oContribuinte, $oNota->getMes_comp(), $oNota->getAno_comp(), Contribuinte_Model_Guia::$DOCUMENTO_ORIGEM_NFSE); /** * Informações da nota substituta */ $oNota->oNotaSubstituida = NULL; if ($oNota->getIdNotaSubstituida()) { $oNota->oNotaSubstituida = Contribuinte_Model_Nota::getById($oNota->getIdNotaSubstituida()); } /** * Informações da nota substituta */ $oNota->oNotaSubstituta = NULL; if ($oNota->getIdNotaSubstituta()) { $oNota->oNotaSubstituta = Contribuinte_Model_Nota::getById($oNota->getIdNotaSubstituta()); } } /** * Valores da pesquisa para montar a paginação */ if (is_array($aParametros)) { foreach ($aParametros as $sParametro => $sParametroValor) { if ($sParametroValor) { $sParametroValor = str_replace('/', '-', $sParametroValor); $this->view->sBusca .= "{$sParametro}/{$sParametroValor}/"; } } } $this->view->oDadosNota = $oResultado; } }
/** * 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); }
/** * Tela inicial */ public function indexAction() { $sBusca = $this->getRequest()->getParam('busca'); $oPaginatorAdapter = new DBSeller_Controller_Paginator(Administrativo_Model_Usuario::getQuery(), 'Administrativo_Model_Usuario', 'Administrativo\\Usuario'); $sWhere = ' 1 = 1 '; if ($sBusca != '') { $sBuscaLower = mb_strtolower($sBusca, 'UTF-8'); $sWhere .= " AND ( "; $sWhere .= " LOWER(e.nome) LIKE '%{$sBuscaLower}%' OR "; $sWhere .= " LOWER(e.login) LIKE '%{$sBuscaLower}%' OR "; $sWhere .= " LOWER(e.email) LIKE '%{$sBuscaLower}%' "; $sWhere .= " ) "; } $oUsuario = $this->view->user; // Se usuario nao for administrador if (!$oUsuario->getAdministrativo()) { // Se não for do tipo Fiscal e com perfil de Fiscal ou Tomador if ($oUsuario->getTipo() != 3 && !in_array($this->view->user->getPerfil()->getId(), array(4, 5))) { $sWhere .= " AND e.cnpj = '{$this->view->user->getCnpj()}'"; } else { if ($this->view->user->getPerfil()->getId() == 4) { // Se não for usuário de perfil Tomador $sWhere .= " AND e.id = '{$this->view->user->getId()}'"; } else { // Se for usuário de perfil Fiscal $sWhere .= " AND (e.administrativo IS NULL OR e.administrativo = false)"; } } } $oPaginatorAdapter->where($sWhere); $oUsuarios = new Zend_Paginator($oPaginatorAdapter); $oUsuarios->setItemCountPerPage(10); $oUsuarios->setCurrentPageNumber($this->getRequest()->getParam('page')); $this->view->usuarios = $oUsuarios; $this->view->formBusca = $this->formBusca($sBusca); $this->view->busca = $this->getRequest()->getParam('busca'); }
/** * Método para retornar os dados das contas em formato json para a DBJqGrid * * @param array $aParametros * @param bool $bDetalhes * @return array */ protected function retornaContasGuiaDesif(array $aParametros, $bDetalhes = FALSE) { $aRecord = array(); $iLimit = $aParametros['rows']; $iPage = $aParametros['page']; $sSord = $aParametros['sord']; $oContribuinte = $this->_session->contribuinte; $sCodigosContribuintes = NULL; $oPaginatorAdapter = new DBSeller_Controller_Paginator(Contribuinte_Model_ImportacaoDesif::getQuery(), 'Contribuinte_Model_ImportacaoDesif', 'Contribuinte\\ImportacaoDesif'); foreach ($oContribuinte->getContribuintes() as $iIdContribuinte) { if ($sCodigosContribuintes == NULL) { $sCodigosContribuintes .= $iIdContribuinte; } else { $sCodigosContribuintes .= ',' . $iIdContribuinte; } } $oPaginatorAdapter->where("e.contribuinte in ({$sCodigosContribuintes})"); if (isset($aParametros['id'])) { $oPaginatorAdapter->andWhere("e.id = {$aParametros['id']}"); } $oPaginatorAdapter->orderBy("e.competencia_inicial, e.competencia_final", $sSord); /** * Monta a paginação do GridPanel */ $oResultado = new Zend_Paginator($oPaginatorAdapter); $oResultado->setItemCountPerPage($iLimit); $oResultado->setCurrentPageNumber($iPage); foreach ($oResultado as $oDesif) { $aValores = Contribuinte_Model_ImportacaoDesif::getTotalReceitasGuia($oDesif->getId(), $bDetalhes); /** * Verifica se for para exibir as aliquotas detalhadas */ if ($bDetalhes) { foreach ($aValores['aliquotas_issqn'] as $iAliqIssqn => $aReceitas) { $aRecord[] = array('id_importacao_desif' => $oDesif->getId(), 'aliq_issqn' => DBSeller_Helper_Number_Format::toFloat($iAliqIssqn), 'total_receita' => DBSeller_Helper_Number_Format::toMoney($aReceitas['total_receita'], 2, 'R$ '), 'total_iss' => DBSeller_Helper_Number_Format::toMoney($aReceitas['total_iss'], 2, 'R$ ')); } } else { if ($aValores['total_receita'] > 0 && $aValores['total_iss'] > 0) { $aRecord[] = array('id' => $oDesif->getId(), 'competencia_inicial' => $oDesif->getCompetenciaInicial(), 'competencia_final' => $oDesif->getCompetenciaFinal(), 'total_receita' => DBSeller_Helper_Number_Format::toMoney($aValores['total_receita'], 2, 'R$ '), 'total_iss' => DBSeller_Helper_Number_Format::toMoney($aValores['total_iss'], 2, 'R$ '), 'aValores' => $aValores); } } } $iTotal = $oResultado->getTotalItemCount(); $iTotalPages = $iTotal > 0 && $iLimit > 0 ? ceil($iTotal / $iLimit) : 0; /** * Parametros de retorno do AJAX */ $aRetornoJson = array('total' => $iTotalPages, 'page' => $iPage, 'records' => $iTotal, 'rows' => $aRecord); return $aRetornoJson; }
/** * Processa a pesquisa e retorna o html com o resultado da consulta [Ajax] */ public function consultaProcessarAction() { parent::noTemplate(); $oFormConsulta = new Contribuinte_Form_NotaConsulta(); $oFormConsulta->populate($this->getRequest()->getParams()); $sCodigosContribuintes = NULL; $oContribuinte = $this->_session->contribuinte; $aParametrosBusca = $oFormConsulta->getValues(); $oPaginatorAdapter = new DBSeller_Controller_Paginator(Contribuinte_Model_Nota::getQuery(), 'Contribuinte_Model_Nota', 'Contribuinte\\Nota'); foreach ($oContribuinte->getContribuintes() as $iIdContribuinte) { if ($sCodigosContribuintes == NULL) { $sCodigosContribuintes .= $iIdContribuinte; } else { $sCodigosContribuintes .= ',' . $iIdContribuinte; } } $oPaginatorAdapter->where("e.id_contribuinte in ({$sCodigosContribuintes}) "); if (!empty($aParametrosBusca['numero_nota'])) { $oPaginatorAdapter->andWhere("e.nota = '{$aParametrosBusca['numero_nota']}' "); } if (!empty($aParametrosBusca['retido'])) { $oPaginatorAdapter->andWhere('e.s_dados_iss_retido = 2 '); } if (!empty($aParametrosBusca['cpfcnpj'])) { $oPaginatorAdapter->andWhere("e.t_cnpjcpf = '{$aParametrosBusca['cpfcnpj']}'"); } if (!empty($aParametrosBusca['im'])) { $oPaginatorAdapter->andWhere("e.im = '{$aParametrosBusca['im']}'"); } if (!empty($aParametrosBusca['data_emissao_inicial']) && !empty($aParametrosBusca['data_emissao_final'])) { $oPaginatorAdapter->andWhere("e.dt_nota BETWEEN '{$aParametrosBusca['data_emissao_inicial']}' AND\n '{$aParametrosBusca['data_emissao_final']}'"); } else { if (!empty($aParametrosBusca['data_emissao_inicial'])) { $oPaginatorAdapter->andWhere("e.dt_nota >= '{$aParametrosBusca['data_emissao_inicial']}' "); } else { if (!empty($aParametrosBusca['data_emissao_final'])) { $oPaginatorAdapter->andWhere("e.dt_nota <= '{$aParametrosBusca['data_emissao_final']}' "); } } } if ($aParametrosBusca['ordenacao_campo'] == 'competencia') { $oPaginatorAdapter->orderBy('e.ano_comp', $aParametrosBusca['ordenacao_direcao']); $oPaginatorAdapter->orderBy('e.mes_comp', $aParametrosBusca['ordenacao_direcao']); } else { $oPaginatorAdapter->orderBy("e.{$aParametrosBusca['ordenacao_campo']}", $aParametrosBusca['ordenacao_direcao']); } $oResultado = new Zend_Paginator($oPaginatorAdapter); $oResultado->setItemCountPerPage(10); $oResultado->setCurrentPageNumber($this->_request->getParam('page')); $this->view->oFormConsulta = $oFormConsulta; $this->view->notas = $oResultado; if (is_array($aParametrosBusca)) { foreach ($aParametrosBusca as $sParametro => $sParametroValor) { if ($sParametroValor) { $sParametroValor = str_replace('/', '-', $sParametroValor); $this->view->sBusca .= "{$sParametro}/{$sParametroValor}/"; } } } }
/** * 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}/"; } } } }