Skip to content

Commit

Permalink
refactor: consultarRepositoriosDeEstruturas
Browse files Browse the repository at this point in the history
  • Loading branch information
Glaydson Rodrigues committed Aug 16, 2024
1 parent aa8769d commit ad96d61
Showing 1 changed file with 29 additions and 33 deletions.
62 changes: 29 additions & 33 deletions src/rn/ProcessoEletronicoRN.php
Original file line number Diff line number Diff line change
Expand Up @@ -197,41 +197,37 @@ private function getObjPenWs()
* @param int $numIdentificacaoDoRepositorioDeEstruturas Código de identificação do repositório de estruturas do PEN
* @return void
*/
public function consultarRepositoriosDeEstruturas($numIdentificacaoDoRepositorioDeEstruturas)
{
$objRepositorioDTO = null;
try{
$parametros = new stdClass();
$parametros->filtroDeConsultaDeRepositoriosDeEstrutura = new stdClass();
$parametros->filtroDeConsultaDeRepositoriosDeEstrutura->ativos = false;

$result = $this->tentarNovamenteSobErroHTTP(function($objPenWs) use ($parametros) {
return $objPenWs->consultarRepositoriosDeEstruturas($parametros);
});

if(isset($result->repositoriosEncontrados->repositorio)){

if(!is_array($result->repositoriosEncontrados->repositorio)) {
$result->repositoriosEncontrados->repositorio = array($result->repositoriosEncontrados->repositorio);
}
/**
* Consulta a lista de repositório de estruturas disponíveis no Barramento de Serviços do PEN
*
* @param int $numIdentificacaoDoRepositorioDeEstruturas Código de identificação do repositório de estruturas do PEN
*/
public function consultarRepositoriosDeEstruturas($numIdentificacaoDoRepositorioDeEstruturas)
{
$objRepositorioDTO = null;
$endpoint = "/interoperabilidade/rest/v3/repositorios-de-estruturas/{$numIdentificacaoDoRepositorioDeEstruturas}/estruturas-organizacionais";
try {
$parametros = [
'ativo' => true
];
$arrResultado = $this->get($endpoint, $parametros);

foreach ($result->repositoriosEncontrados->repositorio as $repositorio) {
if($repositorio->id == $numIdentificacaoDoRepositorioDeEstruturas){
$objRepositorioDTO = new RepositorioDTO();
$objRepositorioDTO->setNumId($repositorio->id);
$objRepositorioDTO->setStrNome(utf8_decode($repositorio->nome));
$objRepositorioDTO->setBolAtivo($repositorio->ativo);
}
}
}
} catch(Exception $e){
$mensagem = "Falha na obtenção dos Repositórios de Estruturas Organizacionais";
$detalhes = InfraString::formatarJavaScript($this->tratarFalhaWebService($e));
throw new InfraException($mensagem, $e, $detalhes);
}
if (isset($arrResultado)) {
foreach ($arrResultado as $repositorio) {
$objRepositorioDTO = new RepositorioDTO();
$objRepositorioDTO->setNumId($repositorio['id']);
$objRepositorioDTO->setStrNome(mb_convert_encoding($repositorio['nome'], 'UTF-8'));
$objRepositorioDTO->setBolAtivo($repositorio['ativo']);
}
}
} catch (Exception $e) {
$mensagem = "Falha na obtenção dos Repositórios de Estruturas Organizacionais";
$detalhes = InfraString::formatarJavaScript($this->tratarFalhaWebService($e));
throw new InfraException($mensagem, $e, $detalhes);
}

return $objRepositorioDTO;
}
return $objRepositorioDTO;
}

/**
* Lista todo os repositórios de estruturas disponíveis no Barramento de Serviços do PEN
Expand Down

0 comments on commit ad96d61

Please sign in to comment.