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 {