diff --git a/src/PENIntegracao.php b/src/PENIntegracao.php index fc13bec75..030553692 100755 --- a/src/PENIntegracao.php +++ b/src/PENIntegracao.php @@ -80,12 +80,10 @@ public function montarBotaoControleProcessos() { $objAtividadeRN = new AtividadeRN(); $numRegistros = $objAtividadeRN->contarRN0035($objAtividadeDTO); - $objPenUnidadeDTO = new PenUnidadeDTO(); - $objPenUnidadeDTO->retNumIdUnidade(); - $objPenUnidadeDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); - $objPenUnidadeRN = new PenUnidadeRN(); + // Verifica se existe uma unidade mapeada + $bolUnidadeMapeada = $objTramiteEmBlocoRN->existeUnidadeMapeadaParaUnidadeLogada(); - if ($numRegistros > 0 && $objPenUnidadeRN->contar($objPenUnidadeDTO) != 0) { + if ($numRegistros > 0 && $bolUnidadeMapeada) { $numTabBotao = $objPaginaSEI->getProxTabBarraComandosSuperior(); $strAcoesProcedimento .= ''; $strAcoesProcedimento .= 'getDiretorioImagens()) . '" class="infraCorBarraSistema" alt="Incluir Processos no Bloco de Trâmite" title="Incluir Processos no Bloco de Trâmite" />'; @@ -169,15 +167,9 @@ public function montarBotaoProcesso(ProcedimentoAPI $objSeiIntegracaoDTO) } } - $objPenUnidadeDTO = new PenUnidadeDTO(); - $objPenUnidadeDTO->retNumIdUnidade(); - $objPenUnidadeDTO->setNumIdUnidade($numIdUnidadeAtual); - $objPenUnidadeRN = new PenUnidadeRN(); - $bolUnidadeMapeada = false; - - if($objPenUnidadeRN->contar($objPenUnidadeDTO) != 0) { - $bolUnidadeMapeada = true; - } + // Verifica se existe uma unidade mapeada + $bolUnidadeMapeada = $objTramiteEmBlocoRN->existeUnidadeMapeadaParaUnidadeLogada(); + //Apresenta o botão de expedir processo if ($bolUnidadeMapeada && !$bolProcessoEmBloco && $bolFlagAberto && $bolAcaoExpedirProcesso && $bolProcessoEstadoNormal && $objProcedimentoDTO->getStrStaNivelAcessoGlobalProtocolo() != ProtocoloRN::$NA_SIGILOSO) { $numTabBotao = $objPaginaSEI->getProxTabBarraComandosSuperior(); diff --git a/src/pen_tramite_bloco_listar.php b/src/pen_tramite_bloco_listar.php index 40bd0f0ce..ad683b5e6 100644 --- a/src/pen_tramite_bloco_listar.php +++ b/src/pen_tramite_bloco_listar.php @@ -217,7 +217,8 @@ $objPenBlocoProcessoRN = new PenBlocoProcessoRN(); $arrTramiteEmBlocoProtocolo = $objPenBlocoProcessoRN->listar($objPenBlocoProcessoDTO); - if (!empty($arrTramiteEmBlocoProtocolo) && $linha['estado'] == $objTramiteEmBloco->retornarEstadoDescricao(TramiteEmBlocoRN::$TE_ABERTO)) { + $bolUnidadeMapeada = $objTramiteEmBloco->existeUnidadeMapeadaParaUnidadeLogada(); + if (!empty($arrTramiteEmBlocoProtocolo) && $bolUnidadeMapeada && $linha['estado'] == $objTramiteEmBloco->retornarEstadoDescricao(TramiteEmBlocoRN::$TE_ABERTO)) { $strResultado .= 'getDiretorioImagens()) . '" title="Tramitar Bloco" alt="Bloco-' . $cont . '" class="infraImg iconTramita" /> '; } diff --git a/src/rn/TramiteEmBlocoRN.php b/src/rn/TramiteEmBlocoRN.php index 130dd4b89..beafcd158 100644 --- a/src/rn/TramiteEmBlocoRN.php +++ b/src/rn/TramiteEmBlocoRN.php @@ -140,6 +140,21 @@ public function retornarEstadoDescricao($estado = null) } } + /** + * Metodo responsável por verificar se existe uma unidade mapeada para a unidade logada + * + * @return bool + */ + public function existeUnidadeMapeadaParaUnidadeLogada() + { + $objPenUnidadeDTO = new PenUnidadeDTO(); + $objPenUnidadeDTO->retNumIdUnidade(); + $objPenUnidadeDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); + $objPenUnidadeRN = new PenUnidadeRN(); + + return $objPenUnidadeRN->contar($objPenUnidadeDTO) > 0; + } + protected function listarConectado(TramiteEmBlocoDTO $objTramiteEmBlocoDTO) { try {