From 5c9a4667ae0290578ff8388c052ff8283868c07a Mon Sep 17 00:00:00 2001 From: eduardo.batista Date: Tue, 14 Mar 2017 16:40:10 -0300 Subject: [PATCH] Adicionando Controllers aos serviços já criados. Ajustando retorno de mensagem devido a problemas com o InfraException. --- controlador_ws.php | 131 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------- rn/MdWsSeiAcompanhamentoRN.php | 18 +++++++++++++++++- rn/MdWsSeiAnotacaoRN.php | 22 +++++++++++++++++++--- rn/MdWsSeiAssinanteRN.php | 24 ++++++++++++++++++++---- rn/MdWsSeiAtividadeRN.php | 26 +++++++++++++++++++++----- rn/MdWsSeiBlocoRN.php | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------ rn/MdWsSeiDocumentoRN.php | 126 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------- rn/MdWsSeiGrupoAcompanhamentoRN.php | 24 ++++++++++++++++++++---- rn/MdWsSeiObservacaoRN.php | 26 +++++++++++++++++++++----- rn/MdWsSeiOrgaoRN.php | 26 +++++++++++++++++++++----- rn/MdWsSeiProcedimentoRN.php | 184 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------ rn/MdWsSeiRetornoProgramadoRN.php | 24 ++++++++++++++++++++---- rn/MdWsSeiUnidadeRN.php | 24 ++++++++++++++++++++---- rn/MdWsSeiUsuarioRN.php | 103 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------ 14 files changed, 685 insertions(+), 158 deletions(-) diff --git a/controlador_ws.php b/controlador_ws.php index c33daff..d37789c 100644 --- a/controlador_ws.php +++ b/controlador_ws.php @@ -6,6 +6,29 @@ require_once dirname(__FILE__).'/../../SEI.php'; require_once dirname(__FILE__).'/vendor/autoload.php'; +//echo ''; +mb_internal_encoding('utf-8'); + + +function response_to_utf8($item){ + if(is_array($item)){ + $itemArr = $item; + }else if(is_object($item)) { + $itemArr = get_object_vars($item); + }else if(is_bool($item)){ + return $item; + }else{ + //return mb_convert_encoding($item, "ISO-8859-1", mb_detect_encoding($item, "UTF-8, ISO-8859-1, ISO-8859-15, ASCII", true)); + return utf8_encode(htmlspecialchars($item)); + } + $response = array(); + foreach($itemArr as $key => $val){ + $response[$key] = response_to_utf8($val); + } + return $response; +} + + class TokenValidationMiddleware{ public function __invoke($request, $response, $next) { @@ -14,13 +37,12 @@ class TokenValidationMiddleware{ $token = $request->getHeader('token'); if(!$token){ - return $response->withJson(array('sucesso' => false, 'mensagem' => 'Acesso negado!'), 401); + return $response->withJson(response_to_utf8(array('sucesso' => false, 'mensagem' => 'Acesso negado!')), 401); } $rn = new MdWsSeiUsuarioRN(); $result = $rn->autenticarToken($token[0]); if(!$result['sucesso']){ - var_dump($result); - return $response->withJson($result, 403); + return $response->withJson(response_to_utf8($result), 403); } $response = $next($request, $response); return $response; @@ -38,18 +60,18 @@ $app = new \Slim\App($config); /** * Grupo para a versao v1 de servicos REST */ -$app->group('/v1',function(){ +$app->group('/api/v1',function(){ /** * Grupo de autenticacao */ $this->post('/autenticar', function($request, $response, $args){ - var_dump(111);exit; + /** @var $response Slim\Http\Response */ $rn = new MdWsSeiUsuarioRN(); $usuarioDTO = new UsuarioDTO(); $usuarioDTO->setStrSigla($request->getParam('usuario')); $usuarioDTO->setStrSenha($request->getParam('senha')); - return $response->withJSON($rn->autenticar($usuarioDTO)); + return $response->withJSON(response_to_utf8($rn->autenticar($usuarioDTO))); }); /** @@ -59,7 +81,7 @@ $app->group('/v1',function(){ $this->post('/', function($request, $response, $args){ $rn = new MdWsSeiAnotacaoRN(); $dto = $rn->encapsulaAnotacao($request->getParams()); - return $response->withJSON($rn->cadastrarAnotacao($dto)); + return $response->withJSON(response_to_utf8($rn->cadastrarAnotacao($dto))); })->setName('v1_anotacao_cadastrar'); })->add( new TokenValidationMiddleware()); @@ -68,37 +90,102 @@ $app->group('/v1',function(){ * Grupo de controlador de bloco */ $this->group('/bloco', function(){ - $this->get('/listar/bloco/unidade/{unidade}', function($request, $response, $args){ + $this->get('/listar/bloco/{unidade}', function($request, $response, $args){ /** @var $request Slim\Http\Request */ $rn = new MdWsSeiBlocoRN(); $dto = new UnidadeDTO(); $dto->setNumIdUnidade($request->getAttribute('route')->getArgument('unidade')); $dto->setNumMaxRegistrosRetorno($request->getParam('limit')); $dto->setNumPaginaAtual($request->getParam('start')); - return $response->withJSON($rn->listarBlocoUnidade($dto)); + return $response->withJSON(response_to_utf8($rn->listarBlocoUnidade($dto))); }); - $this->get('/listar/bloco/documentos/{bloco}', function($request, $response, $args){ - var_dump(111);exit; + $this->get('/listar/{bloco}/documentos', function($request, $response, $args){ /** @var $request Slim\Http\Request */ $rn = new MdWsSeiBlocoRN(); $dto = new BlocoDTO(); $dto->setNumIdBloco($request->getAttribute('route')->getArgument('bloco')); $dto->setNumMaxRegistrosRetorno($request->getParam('limit')); $dto->setNumPaginaAtual($request->getParam('start')); - return $response->withJSON($rn->listarDocumentosBloco($dto)); + return $response->withJSON(response_to_utf8($rn->listarDocumentosBloco($dto))); + }); + $this->post('/{bloco}/anotacao', function($request, $response, $args){ + /** @var $request Slim\Http\Request */ + $rn = new MdWsSeiBlocoRN(); + $dto = new RelBlocoProtocoloDTO(); + $dto->setNumIdBloco($request->getAttribute('route')->getArgument('bloco')); + $dto->setDblIdProtocolo($request->getParam('protocolo')); + $dto->setStrAnotacao($request->getParam('anotacao')); + return $response->withJSON(response_to_utf8($rn->cadastrarAnotacaoBloco($dto))); }); })->add( new TokenValidationMiddleware()); -}); + /** + * Grupo de controlador de documentos + */ + $this->group('/documento', function(){ + $this->get('/listar/ciencia/{protocolo}', function($request, $response, $args){ + /** @var $request Slim\Http\Request */ + $rn = new MdWsSeiDocumentoRN(); + $dto = new MdWsSeiProcessoDTO(); + $dto->setStrValor($request->getAttribute('route')->getArgument('protocolo')); + return $response->withJSON(response_to_utf8($rn->listarCienciaDocumento($dto))); + }); + $this->get('/listar/assinaturas/{documento}', function($request, $response, $args){ + /** @var $request Slim\Http\Request */ + $rn = new MdWsSeiDocumentoRN(); + $dto = new DocumentoDTO(); + $dto->setDblIdDocumento($request->getAttribute('route')->getArgument('documento')); + return $response->withJSON(response_to_utf8($rn->listarAssinaturasDocumento($dto))); + }); + $this->post('/ciencia', function($request, $response, $args){ + /** @var $request Slim\Http\Request */ + $rn = new MdWsSeiDocumentoRN(); + $dto = new DocumentoDTO(); + $dto->setDblIdDocumento($request->getParam('documento')); + return $response->withJSON(response_to_utf8($rn->darCiencia($dto))); + }); + $this->post('/assinar/bloco', function($request, $response, $args){ + /** @var $request Slim\Http\Request */ + $rn = new MdWsSeiDocumentoRN(); + return $response->withJSON(response_to_utf8($rn->apiAssinarDocumentos( + $request->getParam('arrDocumento'), + $request->getParam('documento'), + $request->getParam('orgao'), + $request->getParam('cargo'), + $request->getParam('login'), + $request->getParam('senha'), + $request->getParam('usuario') + ))); + }); + $this->post('/assinar', function($request, $response, $args){ + /** @var $request Slim\Http\Request */ + $rn = new MdWsSeiDocumentoRN(); + return $response->withJSON(response_to_utf8($rn->apiAssinarDocumento( + $request->getParam('documento'), + $request->getParam('documento'), + $request->getParam('orgao'), + $request->getParam('cargo'), + $request->getParam('login'), + $request->getParam('senha'), + $request->getParam('usuario') + ))); + }); + + })->add( new TokenValidationMiddleware()); + + /** + * Grupo de controlador de processos + */ + $this->group('/processo', function(){ + $this->post('/cancelar/sobrestar', function($request, $response, $args){ + /** @var $request Slim\Http\Request */ + $rn = new MdWsSeiProcedimentoRN(); + $dto = new ProcedimentoDTO(); + $dto->setDblIdProcedimento($request->getParam('procedimento')); + return $response->withJSON(response_to_utf8($rn->removerSobrestamentoProcesso($dto))); + }); + })->add( new TokenValidationMiddleware()); +}); $app->run(); -$c = $app->getContainer(); -$c['errorHandler'] = function ($c) { - return function ($request, $response, $exception) use ($c) { - var_dump($exception);exit; - return $c['response']->withStatus(500) - ->withHeader('Content-Type', 'text/html') - ->write('Something went wrong!'); - }; -}; diff --git a/rn/MdWsSeiAcompanhamentoRN.php b/rn/MdWsSeiAcompanhamentoRN.php index 5e0aa46..5f5d805 100644 --- a/rn/MdWsSeiAcompanhamentoRN.php +++ b/rn/MdWsSeiAcompanhamentoRN.php @@ -53,9 +53,25 @@ class MdWsSeiAcompanhamentoRN extends InfraRN { "mensagem" => 'Acompanhamento realizado com sucesso!' ); }catch (Exception $e){ + $mensagem = $e->getMessage(); + if($e instanceof InfraException){ + if(!$e->getStrDescricao()){ + /** @var InfraValidacaoDTO $validacaoDTO */ + if(count($e->getArrObjInfraValidacao()) == 1){ + $mensagem = $e->getArrObjInfraValidacao()[0]->getStrDescricao(); + }else{ + foreach($e->getArrObjInfraValidacao() as $validacaoDTO){ + $mensagem[] = $validacaoDTO->getStrDescricao(); + } + } + }else{ + $mensagem = $e->getStrDescricao(); + } + + } return array ( "sucesso" => false, - "mensagem" => $e->getMessage(), + "mensagem" => $mensagem, "exception" => $e ); } diff --git a/rn/MdWsSeiAnotacaoRN.php b/rn/MdWsSeiAnotacaoRN.php index 82bd05b..499cccd 100644 --- a/rn/MdWsSeiAnotacaoRN.php +++ b/rn/MdWsSeiAnotacaoRN.php @@ -42,7 +42,7 @@ class MdWsSeiAnotacaoRN extends InfraRN { try{ $anotacaoRN = new AnotacaoRN(); if(!$anotacaoDTO->getDblIdProtocolo()){ - throw new InfraException('Protocolo não informado.'); + throw new InfraException('Protocolo n�o informado.'); } $anotacaoConsulta = new AnotacaoDTO(); $anotacaoConsulta->setDblIdProtocolo($anotacaoDTO->getDblIdProtocolo()); @@ -57,12 +57,28 @@ class MdWsSeiAnotacaoRN extends InfraRN { } return array ( "sucesso" => true, - "mensagem" => 'Anotação cadastrada com sucesso!' + "mensagem" => 'Anotação cadastrada com sucesso!' ); }catch (Exception $e){ + $mensagem = $e->getMessage(); + if($e instanceof InfraException){ + if(!$e->getStrDescricao()){ + /** @var InfraValidacaoDTO $validacaoDTO */ + if(count($e->getArrObjInfraValidacao()) == 1){ + $mensagem = $e->getArrObjInfraValidacao()[0]->getStrDescricao(); + }else{ + foreach($e->getArrObjInfraValidacao() as $validacaoDTO){ + $mensagem[] = $validacaoDTO->getStrDescricao(); + } + } + }else{ + $mensagem = $e->getStrDescricao(); + } + + } return array ( "sucesso" => false, - "mensagem" => $e->getMessage(), + "mensagem" => $mensagem, "exception" => $e ); } diff --git a/rn/MdWsSeiAssinanteRN.php b/rn/MdWsSeiAssinanteRN.php index b50b3d0..b84e9e8 100644 --- a/rn/MdWsSeiAssinanteRN.php +++ b/rn/MdWsSeiAssinanteRN.php @@ -37,10 +37,26 @@ class MdWsSeiAssinanteRN extends InfraRN { 'total' => $assinanteDTO->getNumTotalRegistros() ); }catch (Exception $e){ - return array( - 'sucesso' => false, - 'mensagem' => $e->getMessage(), - 'exception' => $e + $mensagem = $e->getMessage(); + if($e instanceof InfraException){ + if(!$e->getStrDescricao()){ + /** @var InfraValidacaoDTO $validacaoDTO */ + if(count($e->getArrObjInfraValidacao()) == 1){ + $mensagem = $e->getArrObjInfraValidacao()[0]->getStrDescricao(); + }else{ + foreach($e->getArrObjInfraValidacao() as $validacaoDTO){ + $mensagem[] = $validacaoDTO->getStrDescricao(); + } + } + }else{ + $mensagem = $e->getStrDescricao(); + } + + } + return array ( + "sucesso" => false, + "mensagem" => $mensagem, + "exception" => $e ); } } diff --git a/rn/MdWsSeiAtividadeRN.php b/rn/MdWsSeiAtividadeRN.php index a6335d4..bab23b7 100644 --- a/rn/MdWsSeiAtividadeRN.php +++ b/rn/MdWsSeiAtividadeRN.php @@ -19,7 +19,7 @@ class MdWsSeiAtividadeRN extends InfraRN { foreach($arrParameters as $parameter) { $parameter = '@' . $parameter . '@'; - $restrito = 'não restrito'; + $restrito = 'n�o restrito'; $nome = ($atividadeDTO->getNumIdUsuarioOrigem())? $atividadeDTO->getStrNomeUsuarioOrigem() : null; $sigla = ($atividadeDTO->getNumIdUsuarioOrigem())? $atividadeDTO->getStrSiglaUsuarioOrigem() : null; @@ -162,10 +162,26 @@ class MdWsSeiAtividadeRN extends InfraRN { 'total' => $atividadeDTO->getNumTotalRegistros() ); }catch (Exception $e){ - return array( - 'sucesso' => false, - 'mensagem' => $e->getMessage(), - 'exception' => $e + $mensagem = $e->getMessage(); + if($e instanceof InfraException){ + if(!$e->getStrDescricao()){ + /** @var InfraValidacaoDTO $validacaoDTO */ + if(count($e->getArrObjInfraValidacao()) == 1){ + $mensagem = $e->getArrObjInfraValidacao()[0]->getStrDescricao(); + }else{ + foreach($e->getArrObjInfraValidacao() as $validacaoDTO){ + $mensagem[] = $validacaoDTO->getStrDescricao(); + } + } + }else{ + $mensagem = $e->getStrDescricao(); + } + + } + return array ( + "sucesso" => false, + "mensagem" => $mensagem, + "exception" => $e ); } } diff --git a/rn/MdWsSeiBlocoRN.php b/rn/MdWsSeiBlocoRN.php index 7805dee..ffdc91f 100644 --- a/rn/MdWsSeiBlocoRN.php +++ b/rn/MdWsSeiBlocoRN.php @@ -69,13 +69,29 @@ class MdWsSeiBlocoRN extends InfraRN { return array( 'sucesso' => true, 'data' => $result, - 'total' => !$result ? 0 : $blocoDTOConsulta->getNumTotalRegistros() + 'total' => $blocoDTOConsulta->getNumTotalRegistros() ); }catch (Exception $e){ - return array( - 'sucesso' => false, - 'mensagem' => $e->getMessage(), - 'exception' => $e + $mensagem = $e->getMessage(); + if($e instanceof InfraException){ + if(!$e->getStrDescricao()){ + /** @var InfraValidacaoDTO $validacaoDTO */ + if(count($e->getArrObjInfraValidacao()) == 1){ + $mensagem = $e->getArrObjInfraValidacao()[0]->getStrDescricao(); + }else{ + foreach($e->getArrObjInfraValidacao() as $validacaoDTO){ + $mensagem[] = $validacaoDTO->getStrDescricao(); + } + } + }else{ + $mensagem = $e->getStrDescricao(); + } + + } + return array ( + "sucesso" => false, + "mensagem" => $mensagem, + "exception" => $e ); } } @@ -88,7 +104,7 @@ class MdWsSeiBlocoRN extends InfraRN { protected function listarDocumentosBlocoConectado(BlocoDTO $blocoDTOConsulta){ try{ if(!$blocoDTOConsulta->getNumIdBloco()){ - throw new InfraException('Bloco nao informado.'); + throw new InfraException('Bloco não informado.'); } $relBlocoProtocoloRN = new RelBlocoProtocoloRN(); $relBlocoProtocoloDTOConsulta = new RelBlocoProtocoloDTO(); @@ -181,10 +197,26 @@ class MdWsSeiBlocoRN extends InfraRN { 'total' => $relBlocoProtocoloDTOConsulta->getNumTotalRegistros() ); }catch (Exception $e){ - return array( - 'sucesso' => false, - 'mensagem' => $e->getMessage(), - 'exception' => $e + $mensagem = $e->getMessage(); + if($e instanceof InfraException){ + if(!$e->getStrDescricao()){ + /** @var InfraValidacaoDTO $validacaoDTO */ + if(count($e->getArrObjInfraValidacao()) == 1){ + $mensagem = $e->getArrObjInfraValidacao()[0]->getStrDescricao(); + }else{ + foreach($e->getArrObjInfraValidacao() as $validacaoDTO){ + $mensagem[] = $validacaoDTO->getStrDescricao(); + } + } + }else{ + $mensagem = $e->getStrDescricao(); + } + + } + return array ( + "sucesso" => false, + "mensagem" => $mensagem, + "exception" => $e ); } } @@ -215,15 +247,16 @@ class MdWsSeiBlocoRN extends InfraRN { * @return array */ protected function cadastrarAnotacaoBlocoControlado(RelBlocoProtocoloDTO $relBlocoProtocoloDTOParam){ - try{ - if(!$relBlocoProtocoloDTOParam->isSetNumIdBloco()){ + + try { + if (!$relBlocoProtocoloDTOParam->isSetNumIdBloco()) { throw new InfraException('O bloco deve ser informado.'); } - if(!$relBlocoProtocoloDTOParam->isSetNumIdBloco()){ + if (!$relBlocoProtocoloDTOParam->isSetNumIdBloco()) { throw new InfraException('O protocolo deve ser informado.'); } - if(!$relBlocoProtocoloDTOParam->isSetStrAnotacao()){ - throw new InfraException('A anotacao deve ser informada.'); + if (!$relBlocoProtocoloDTOParam->isSetStrAnotacao()) { + throw new InfraException('A anotação deve ser informada.'); } $relBlocoProtocoloDTO = new RelBlocoProtocoloDTO(); $relBlocoProtocoloDTO->setNumIdBloco($relBlocoProtocoloDTOParam->getNumIdBloco()); @@ -231,8 +264,8 @@ class MdWsSeiBlocoRN extends InfraRN { $relBlocoProtocoloDTO->retTodos(); $relBlocoProtocoloRN = new RelBlocoProtocoloRN(); $relBlocoProtocoloDTO = $relBlocoProtocoloRN->consultarRN1290($relBlocoProtocoloDTO); - if(!$relBlocoProtocoloDTO){ - throw new InfraException('Documento nao encontrado no bloco informado.'); + if (!$relBlocoProtocoloDTO) { + throw new InfraException('Documento não encontrado no bloco informado.'); } $relBlocoProtocoloDTO->setStrAnotacao($relBlocoProtocoloDTOParam->getStrAnotacao()); $relBlocoProtocoloRN->alterarRN1288($relBlocoProtocoloDTO); @@ -242,9 +275,25 @@ class MdWsSeiBlocoRN extends InfraRN { 'mensagem' => 'Anotação realizada com sucesso.' ); }catch (Exception $e){ + $message = $e->getMessage(); + if($e instanceof InfraException){ + if(!$e->getStrDescricao()){ + /** @var InfraValidacaoDTO $validacaoDTO */ + if(count($e->getArrObjInfraValidacao()) == 1){ + $mensagem = $e->getArrObjInfraValidacao()[0]->getStrDescricao(); + }else{ + foreach($e->getArrObjInfraValidacao() as $validacaoDTO){ + $mensagem[] = $validacaoDTO->getStrDescricao(); + } + } + }else{ + $mensagem = $e->getStrDescricao(); + } + + } return array( 'sucesso' => false, - 'mensagem' => $e->getMessage(), + 'mensagem' => $message, 'exception' => $e ); } diff --git a/rn/MdWsSeiDocumentoRN.php b/rn/MdWsSeiDocumentoRN.php index 89507aa..7bdd70a 100644 --- a/rn/MdWsSeiDocumentoRN.php +++ b/rn/MdWsSeiDocumentoRN.php @@ -19,7 +19,7 @@ class MdWsSeiDocumentoRN extends InfraRN { * @param $idUsuario * @return array */ - public function apiAssinarDocumentos(array $arrIdDocumento, $idOrgao, $strCargoFuncao, $siglaUsuario, $senhaUsuario, $idUsuario){ + public function apiAssinarDocumentos($arrIdDocumento, $idOrgao, $strCargoFuncao, $siglaUsuario, $senhaUsuario, $idUsuario){ $arrDocumentoDTO = array(); foreach($arrIdDocumento as $dblIdDocumento){ $documentoDTO = new DocumentoDTO(); @@ -62,7 +62,7 @@ class MdWsSeiDocumentoRN extends InfraRN { } /** - * Realizar Assinatura Eletrônica + * Realizar Assinatura Eletr?nica * @param AssinaturaDTO $assinaturaDTO * @return array */ @@ -77,10 +77,26 @@ class MdWsSeiDocumentoRN extends InfraRN { 'mensagem' => 'Documento em bloco assinado com sucesso.' ); }catch (Exception $e){ - return array( - 'sucesso' => false, - 'mensagem' => $e->getMessage(), - 'exception' => $e + $mensagem = $e->getMessage(); + if($e instanceof InfraException){ + if(!$e->getStrDescricao()){ + /** @var InfraValidacaoDTO $validacaoDTO */ + if(count($e->getArrObjInfraValidacao()) == 1){ + $mensagem = $e->getArrObjInfraValidacao()[0]->getStrDescricao(); + }else{ + foreach($e->getArrObjInfraValidacao() as $validacaoDTO){ + $mensagem[] = $validacaoDTO->getStrDescricao(); + } + } + }else{ + $mensagem = $e->getStrDescricao(); + } + + } + return array ( + "sucesso" => false, + "mensagem" => $mensagem, + "exception" => $e ); } } @@ -93,7 +109,7 @@ class MdWsSeiDocumentoRN extends InfraRN { protected function darCienciaControlado(DocumentoDTO $documentoDTO){ try{ $documentoRN = new DocumentoRN(); - if(!$documentoDTO->getDblIdDocumento()){ + if(!$documentoDTO->isSetDblIdDocumento()){ throw new InfraException('O documento não foi informado.'); } $documentoRN->darCiencia($documentoDTO); @@ -102,10 +118,26 @@ class MdWsSeiDocumentoRN extends InfraRN { 'mensagem' => 'Ciência documento realizado com sucesso.' ); }catch (Exception $e){ - return array( - 'sucesso' => false, - 'mensagem' => $e->getMessage(), - 'exception' => $e + $mensagem = $e->getMessage(); + if($e instanceof InfraException){ + if(!$e->getStrDescricao()){ + /** @var InfraValidacaoDTO $validacaoDTO */ + if(count($e->getArrObjInfraValidacao()) == 1){ + $mensagem = $e->getArrObjInfraValidacao()[0]->getStrDescricao(); + }else{ + foreach($e->getArrObjInfraValidacao() as $validacaoDTO){ + $mensagem[] = $validacaoDTO->getStrDescricao(); + } + } + }else{ + $mensagem = $e->getStrDescricao(); + } + + } + return array ( + "sucesso" => false, + "mensagem" => $mensagem, + "exception" => $e ); } } @@ -146,10 +178,26 @@ class MdWsSeiDocumentoRN extends InfraRN { $anexo = $resultAnexo[0]; SeiINT::download($anexo); }catch (Exception $e){ - return array( - 'sucesso' => false, - 'mensagem' => $e->getMessage(), - 'exception' => $e + $mensagem = $e->getMessage(); + if($e instanceof InfraException){ + if(!$e->getStrDescricao()){ + /** @var InfraValidacaoDTO $validacaoDTO */ + if(count($e->getArrObjInfraValidacao()) == 1){ + $mensagem = $e->getArrObjInfraValidacao()[0]->getStrDescricao(); + }else{ + foreach($e->getArrObjInfraValidacao() as $validacaoDTO){ + $mensagem[] = $validacaoDTO->getStrDescricao(); + } + } + }else{ + $mensagem = $e->getStrDescricao(); + } + + } + return array ( + "sucesso" => false, + "mensagem" => $mensagem, + "exception" => $e ); } } @@ -201,10 +249,26 @@ class MdWsSeiDocumentoRN extends InfraRN { 'data' => $result ); }catch (Exception $e){ - return array( - 'sucesso' => false, - 'mensagem' => $e->getMessage(), - 'exception' => $e + $mensagem = $e->getMessage(); + if($e instanceof InfraException){ + if(!$e->getStrDescricao()){ + /** @var InfraValidacaoDTO $validacaoDTO */ + if(count($e->getArrObjInfraValidacao()) == 1){ + $mensagem = $e->getArrObjInfraValidacao()[0]->getStrDescricao(); + }else{ + foreach($e->getArrObjInfraValidacao() as $validacaoDTO){ + $mensagem[] = $validacaoDTO->getStrDescricao(); + } + } + }else{ + $mensagem = $e->getStrDescricao(); + } + + } + return array ( + "sucesso" => false, + "mensagem" => $mensagem, + "exception" => $e ); } } @@ -241,10 +305,26 @@ class MdWsSeiDocumentoRN extends InfraRN { 'data' => $result ); }catch (Exception $e){ - return array( - 'sucesso' => false, - 'mensagem' => $e->getMessage(), - 'exception' => $e + $mensagem = $e->getMessage(); + if($e instanceof InfraException){ + if(!$e->getStrDescricao()){ + /** @var InfraValidacaoDTO $validacaoDTO */ + if(count($e->getArrObjInfraValidacao()) == 1){ + $mensagem = $e->getArrObjInfraValidacao()[0]->getStrDescricao(); + }else{ + foreach($e->getArrObjInfraValidacao() as $validacaoDTO){ + $mensagem[] = $validacaoDTO->getStrDescricao(); + } + } + }else{ + $mensagem = $e->getStrDescricao(); + } + + } + return array ( + "sucesso" => false, + "mensagem" => $mensagem, + "exception" => $e ); } } diff --git a/rn/MdWsSeiGrupoAcompanhamentoRN.php b/rn/MdWsSeiGrupoAcompanhamentoRN.php index 388862a..11a6c5f 100644 --- a/rn/MdWsSeiGrupoAcompanhamentoRN.php +++ b/rn/MdWsSeiGrupoAcompanhamentoRN.php @@ -44,10 +44,26 @@ class MdWsSeiGrupoAcompanhamentoRN extends InfraRN { 'total' => $grupoAcompanhamentoDTO->getNumTotalRegistros() ); }catch (Exception $e){ - return array( - 'sucesso' => false, - 'mensagem' => $e->getMessage(), - 'exception' => $e + $mensagem = $e->getMessage(); + if($e instanceof InfraException){ + if(!$e->getStrDescricao()){ + /** @var InfraValidacaoDTO $validacaoDTO */ + if(count($e->getArrObjInfraValidacao()) == 1){ + $mensagem = $e->getArrObjInfraValidacao()[0]->getStrDescricao(); + }else{ + foreach($e->getArrObjInfraValidacao() as $validacaoDTO){ + $mensagem[] = $validacaoDTO->getStrDescricao(); + } + } + }else{ + $mensagem = $e->getStrDescricao(); + } + + } + return array ( + "sucesso" => false, + "mensagem" => $mensagem, + "exception" => $e ); } } diff --git a/rn/MdWsSeiObservacaoRN.php b/rn/MdWsSeiObservacaoRN.php index 9b9bf1f..07be358 100644 --- a/rn/MdWsSeiObservacaoRN.php +++ b/rn/MdWsSeiObservacaoRN.php @@ -38,13 +38,29 @@ class MdWsSeiObservacaoRN extends InfraRN { return array( 'sucesso' => true, - 'mensagem' => 'Observação cadastrada com sucesso!' + 'mensagem' => 'Observação cadastrada com sucesso!' ); }catch (Exception $e){ - return array( - 'sucesso' => false, - 'mensagem' => $e->getMessage(), - 'exception' => $e + $mensagem = $e->getMessage(); + if($e instanceof InfraException){ + if(!$e->getStrDescricao()){ + /** @var InfraValidacaoDTO $validacaoDTO */ + if(count($e->getArrObjInfraValidacao()) == 1){ + $mensagem = $e->getArrObjInfraValidacao()[0]->getStrDescricao(); + }else{ + foreach($e->getArrObjInfraValidacao() as $validacaoDTO){ + $mensagem[] = $validacaoDTO->getStrDescricao(); + } + } + }else{ + $mensagem = $e->getStrDescricao(); + } + + } + return array ( + "sucesso" => false, + "mensagem" => $mensagem, + "exception" => $e ); } } diff --git a/rn/MdWsSeiOrgaoRN.php b/rn/MdWsSeiOrgaoRN.php index 576afb7..d5df4b7 100644 --- a/rn/MdWsSeiOrgaoRN.php +++ b/rn/MdWsSeiOrgaoRN.php @@ -10,7 +10,7 @@ class MdWsSeiOrgaoRN extends InfraRN { /** * Retorna todos os orgaos ativos cadastrados * @param OrgaoDTO $orgaoDTO - * @info para páginacao e necessário informar dentro do DTO os parametros abaixo: + * @info para p�ginacao e necess�rio informar dentro do DTO os parametros abaixo: * - setNumMaxRegistrosRetorno * - setNumPaginaAtual * @return array @@ -48,10 +48,26 @@ class MdWsSeiOrgaoRN extends InfraRN { 'total' => $orgaoDTO->getNumTotalRegistros() ); }catch (Exception $e){ - return array( - 'sucesso' => false, - 'mensagem' => $e->getMessage(), - 'exception' => $e + $mensagem = $e->getMessage(); + if($e instanceof InfraException){ + if(!$e->getStrDescricao()){ + /** @var InfraValidacaoDTO $validacaoDTO */ + if(count($e->getArrObjInfraValidacao()) == 1){ + $mensagem = $e->getArrObjInfraValidacao()[0]->getStrDescricao(); + }else{ + foreach($e->getArrObjInfraValidacao() as $validacaoDTO){ + $mensagem[] = $validacaoDTO->getStrDescricao(); + } + } + }else{ + $mensagem = $e->getStrDescricao(); + } + + } + return array ( + "sucesso" => false, + "mensagem" => $mensagem, + "exception" => $e ); } } diff --git a/rn/MdWsSeiProcedimentoRN.php b/rn/MdWsSeiProcedimentoRN.php index 2713502..3760e6f 100644 --- a/rn/MdWsSeiProcedimentoRN.php +++ b/rn/MdWsSeiProcedimentoRN.php @@ -14,7 +14,7 @@ class MdWsSeiProcedimentoRN extends InfraRN { protected function removerSobrestamentoProcessoControlado(ProcedimentoDTO $procedimentoDTOParam){ try{ if(!$procedimentoDTOParam->getDblIdProcedimento()){ - throw new InfraException('Procedimento não informado.'); + throw new InfraException('Procedimento n�o informado.'); } $seiRN = new SeiRN(); $entradaRemoverSobrestamentoProcessoAPI = new EntradaRemoverSobrestamentoProcessoAPI(); @@ -27,10 +27,26 @@ class MdWsSeiProcedimentoRN extends InfraRN { 'mensagem' => 'Sobrestar cancelado com sucesso.' ); }catch (Exception $e){ - return array( - 'sucesso' => false, - 'mensagem' => $e->getMessage(), - 'exception' => $e + $mensagem = $e->getMessage(); + if($e instanceof InfraException){ + if(!$e->getStrDescricao()){ + /** @var InfraValidacaoDTO $validacaoDTO */ + if(count($e->getArrObjInfraValidacao()) == 1){ + $mensagem = $e->getArrObjInfraValidacao()[0]->getStrDescricao(); + }else{ + foreach($e->getArrObjInfraValidacao() as $validacaoDTO){ + $mensagem[] = $validacaoDTO->getStrDescricao(); + } + } + }else{ + $mensagem = $e->getStrDescricao(); + } + + } + return array ( + "sucesso" => false, + "mensagem" => $mensagem, + "exception" => $e ); } } @@ -73,10 +89,26 @@ class MdWsSeiProcedimentoRN extends InfraRN { 'total' => $mdWsSeiProtocoloDTOConsulta->getNumTotalRegistros() ); }catch (Exception $e){ - return array( - 'sucesso' => false, - 'mensagem' => $e->getMessage(), - 'exception' => $e + $mensagem = $e->getMessage(); + if($e instanceof InfraException){ + if(!$e->getStrDescricao()){ + /** @var InfraValidacaoDTO $validacaoDTO */ + if(count($e->getArrObjInfraValidacao()) == 1){ + $mensagem = $e->getArrObjInfraValidacao()[0]->getStrDescricao(); + }else{ + foreach($e->getArrObjInfraValidacao() as $validacaoDTO){ + $mensagem[] = $validacaoDTO->getStrDescricao(); + } + } + }else{ + $mensagem = $e->getStrDescricao(); + } + + } + return array ( + "sucesso" => false, + "mensagem" => $mensagem, + "exception" => $e ); } } @@ -101,7 +133,7 @@ class MdWsSeiProcedimentoRN extends InfraRN { } if(!$mdWsSeiProtocoloDTOConsulta->isSetNumIdUnidadeAtividade()){ - throw new InfraException('É obrigatório informar a unidade.'); + throw new InfraException('� obrigat�rio informar a unidade.'); } $mdWsSeiProtocoloDTO->setNumIdUnidadeAtividade($mdWsSeiProtocoloDTOConsulta->getNumIdUnidadeAtividade()); @@ -151,10 +183,26 @@ class MdWsSeiProcedimentoRN extends InfraRN { 'total' => $mdWsSeiProtocoloDTO->getNumTotalRegistros() ); }catch (Exception $e){ - return array( - 'sucesso' => false, - 'mensagem' => $e->getMessage(), - 'exception' => $e + $mensagem = $e->getMessage(); + if($e instanceof InfraException){ + if(!$e->getStrDescricao()){ + /** @var InfraValidacaoDTO $validacaoDTO */ + if(count($e->getArrObjInfraValidacao()) == 1){ + $mensagem = $e->getArrObjInfraValidacao()[0]->getStrDescricao(); + }else{ + foreach($e->getArrObjInfraValidacao() as $validacaoDTO){ + $mensagem[] = $validacaoDTO->getStrDescricao(); + } + } + }else{ + $mensagem = $e->getStrDescricao(); + } + + } + return array ( + "sucesso" => false, + "mensagem" => $mensagem, + "exception" => $e ); } @@ -309,13 +357,29 @@ class MdWsSeiProcedimentoRN extends InfraRN { return array( 'sucesso' => true, - 'mensagem' => 'Ciência processo realizado com sucesso!' + 'mensagem' => 'Ciência processo realizado com sucesso!' ); }catch (Exception $e){ - return array( - 'sucesso' => false, - 'mensagem' => $e->getMessage(), - 'exception' => $e + $mensagem = $e->getMessage(); + if($e instanceof InfraException){ + if(!$e->getStrDescricao()){ + /** @var InfraValidacaoDTO $validacaoDTO */ + if(count($e->getArrObjInfraValidacao()) == 1){ + $mensagem = $e->getArrObjInfraValidacao()[0]->getStrDescricao(); + }else{ + foreach($e->getArrObjInfraValidacao() as $validacaoDTO){ + $mensagem[] = $validacaoDTO->getStrDescricao(); + } + } + }else{ + $mensagem = $e->getStrDescricao(); + } + + } + return array ( + "sucesso" => false, + "mensagem" => $mensagem, + "exception" => $e ); } } @@ -323,7 +387,7 @@ class MdWsSeiProcedimentoRN extends InfraRN { /** * Metodo que conclui o procedimento/processo * @param EntradaConcluirProcessoAPI $entradaConcluirProcessoAPI - * @info ele recebe o número do ProtocoloProcedimentoFormatadoPesquisa da tabela protocolo + * @info ele recebe o n�mero do ProtocoloProcedimentoFormatadoPesquisa da tabela protocolo * @return array */ protected function concluirProcessoControlado(EntradaConcluirProcessoAPI $entradaConcluirProcessoAPI){ @@ -337,13 +401,29 @@ class MdWsSeiProcedimentoRN extends InfraRN { return array( 'sucesso' => true, - 'mensagem' => 'Processo concluído com sucesso!' + 'mensagem' => 'Processo concluído com sucesso!' ); }catch (Exception $e){ - return array( - 'sucesso' => false, - 'mensagem' => $e->getMessage(), - 'exception' => $e + $mensagem = $e->getMessage(); + if($e instanceof InfraException){ + if(!$e->getStrDescricao()){ + /** @var InfraValidacaoDTO $validacaoDTO */ + if(count($e->getArrObjInfraValidacao()) == 1){ + $mensagem = $e->getArrObjInfraValidacao()[0]->getStrDescricao(); + }else{ + foreach($e->getArrObjInfraValidacao() as $validacaoDTO){ + $mensagem[] = $validacaoDTO->getStrDescricao(); + } + } + }else{ + $mensagem = $e->getStrDescricao(); + } + + } + return array ( + "sucesso" => false, + "mensagem" => $mensagem, + "exception" => $e ); } } @@ -352,7 +432,7 @@ class MdWsSeiProcedimentoRN extends InfraRN { * Metodo que atribui o processo a uma pessoa * @param EntradaAtribuirProcessoAPI $entradaAtribuirProcessoAPI * @info Os parametros IdUsuario, ProtocoloProcedimento e SinReabrir sao obrigatorios. O parametro ProtocoloProcedimento - * recebe o número do ProtocoloProcedimentoFormatadoPesquisa da tabela protocolo + * recebe o n�mero do ProtocoloProcedimentoFormatadoPesquisa da tabela protocolo * @return array */ protected function atribuirProcessoControlado(EntradaAtribuirProcessoAPI $entradaAtribuirProcessoAPI){ @@ -361,7 +441,7 @@ class MdWsSeiProcedimentoRN extends InfraRN { throw new InfraException('E obrigatorio informar o protocolo do processo!'); } if(!$entradaAtribuirProcessoAPI->getIdUsuario()){ - throw new InfraException('E obrigatorio informar o usuário do processo!'); + throw new InfraException('E obrigatorio informar o usu�rio do processo!'); } $objSeiRN = new SeiRN(); @@ -369,13 +449,29 @@ class MdWsSeiProcedimentoRN extends InfraRN { return array( 'sucesso' => true, - 'mensagem' => 'Processo atribuído com sucesso!' + 'mensagem' => 'Processo atribuído com sucesso!' ); }catch (Exception $e){ - return array( - 'sucesso' => false, - 'mensagem' => 'Nao foi possível atribuir o processo!', - 'exception' => $e + $mensagem = $e->getMessage(); + if($e instanceof InfraException){ + if(!$e->getStrDescricao()){ + /** @var InfraValidacaoDTO $validacaoDTO */ + if(count($e->getArrObjInfraValidacao()) == 1){ + $mensagem = $e->getArrObjInfraValidacao()[0]->getStrDescricao(); + }else{ + foreach($e->getArrObjInfraValidacao() as $validacaoDTO){ + $mensagem[] = $validacaoDTO->getStrDescricao(); + } + } + }else{ + $mensagem = $e->getStrDescricao(); + } + + } + return array ( + "sucesso" => false, + "mensagem" => $mensagem, + "exception" => $e ); } } @@ -434,10 +530,26 @@ class MdWsSeiProcedimentoRN extends InfraRN { 'mensagem' => 'Processo enviado com sucesso!' ); }catch (Exception $e){ - return array( - 'sucesso' => false, - 'mensagem' => 'Nao foi possível enviar o processo!', - 'exception' => $e + $mensagem = $e->getMessage(); + if($e instanceof InfraException){ + if(!$e->getStrDescricao()){ + /** @var InfraValidacaoDTO $validacaoDTO */ + if(count($e->getArrObjInfraValidacao()) == 1){ + $mensagem = $e->getArrObjInfraValidacao()[0]->getStrDescricao(); + }else{ + foreach($e->getArrObjInfraValidacao() as $validacaoDTO){ + $mensagem[] = $validacaoDTO->getStrDescricao(); + } + } + }else{ + $mensagem = $e->getStrDescricao(); + } + + } + return array ( + "sucesso" => false, + "mensagem" => $mensagem, + "exception" => $e ); } } diff --git a/rn/MdWsSeiRetornoProgramadoRN.php b/rn/MdWsSeiRetornoProgramadoRN.php index f312883..70830e3 100644 --- a/rn/MdWsSeiRetornoProgramadoRN.php +++ b/rn/MdWsSeiRetornoProgramadoRN.php @@ -46,10 +46,26 @@ class MdWsSeiRetornoProgramadoRN extends InfraRN { 'mensagem' => 'Retorno Programado agendado com sucesso!' ); }catch (Exception $e){ - return array( - 'sucesso' => false, - 'mensagem' => $e->getMessage(), - 'exception' => $e + $mensagem = $e->getMessage(); + if($e instanceof InfraException){ + if(!$e->getStrDescricao()){ + /** @var InfraValidacaoDTO $validacaoDTO */ + if(count($e->getArrObjInfraValidacao()) == 1){ + $mensagem = $e->getArrObjInfraValidacao()[0]->getStrDescricao(); + }else{ + foreach($e->getArrObjInfraValidacao() as $validacaoDTO){ + $mensagem[] = $validacaoDTO->getStrDescricao(); + } + } + }else{ + $mensagem = $e->getStrDescricao(); + } + + } + return array ( + "sucesso" => false, + "mensagem" => $mensagem, + "exception" => $e ); } } diff --git a/rn/MdWsSeiUnidadeRN.php b/rn/MdWsSeiUnidadeRN.php index cc8e3c0..a692930 100644 --- a/rn/MdWsSeiUnidadeRN.php +++ b/rn/MdWsSeiUnidadeRN.php @@ -32,10 +32,26 @@ class MdWsSeiUnidadeRN extends InfraRN { 'data' => $result ); }catch (Exception $e){ - return array( - 'sucesso' => false, - 'mensagem' => $e->getMessage(), - 'exception' => $e + $mensagem = $e->getMessage(); + if($e instanceof InfraException){ + if(!$e->getStrDescricao()){ + /** @var InfraValidacaoDTO $validacaoDTO */ + if(count($e->getArrObjInfraValidacao()) == 1){ + $mensagem = $e->getArrObjInfraValidacao()[0]->getStrDescricao(); + }else{ + foreach($e->getArrObjInfraValidacao() as $validacaoDTO){ + $mensagem[] = $validacaoDTO->getStrDescricao(); + } + } + }else{ + $mensagem = $e->getStrDescricao(); + } + + } + return array ( + "sucesso" => false, + "mensagem" => $mensagem, + "exception" => $e ); } } diff --git a/rn/MdWsSeiUsuarioRN.php b/rn/MdWsSeiUsuarioRN.php index 4cc83a6..965c46d 100644 --- a/rn/MdWsSeiUsuarioRN.php +++ b/rn/MdWsSeiUsuarioRN.php @@ -10,7 +10,7 @@ class MdWsSeiUsuarioRN extends InfraRN { } /** - * Método que retorna o serviço SOAP do SIP + * Metodo que retorna o servico SOAP do SIP * @return SoapClient * @throws InfraException */ @@ -19,7 +19,7 @@ class MdWsSeiUsuarioRN extends InfraRN { try{ if (!InfraUtil::isBolUrlValida($strWSDL)){ if(!@file_get_contents($strWSDL)) { - throw new InfraException('Arquivo WSDL '.$strWSDL.' n?o encontrado.'); + throw new InfraException('Arquivo WSDL '.$strWSDL.' nao encontrado.'); } } }catch(Exception $e){ @@ -27,7 +27,13 @@ class MdWsSeiUsuarioRN extends InfraRN { } try{ - $objSipWS = new SoapClient($strWSDL, array('encoding'=>'ISO-8859-1')); + $objSipWS = new SoapClient( + $strWSDL, + array( + 'encoding' => 'ISO-8859-1', + 'exceptions' => true + ) + ); return $objSipWS; }catch(Exception $e){ throw new InfraException('Erro acessando o Sistema de Permissões.'); @@ -35,7 +41,7 @@ class MdWsSeiUsuarioRN extends InfraRN { } /** - * Método que descriptografa o token + * M?todo que descriptografa o token * @param $token * @return string */ @@ -54,7 +60,7 @@ class MdWsSeiUsuarioRN extends InfraRN { } /** - * Método que criptografa o token + * M?todo que criptografa o token * @param $sigla * @param $senha * @return string @@ -77,7 +83,7 @@ class MdWsSeiUsuarioRN extends InfraRN { } /** - * Go horse para autenticar usuário... Não ha como instanciar o SessaoSEI por metodos convencionais. + * Go horse para autenticar usuario... Nao ha como instanciar o SessaoSEI por metodos convencionais. * @param stdClass $loginData */ private function setaVariaveisAutenticacao(stdClass $loginData){ @@ -90,7 +96,7 @@ class MdWsSeiUsuarioRN extends InfraRN { } /** - * Método que autentica o usuário pelo token + * Metodo que autentica o usuario pelo token * @param $token * @return bool * @throws InfraException @@ -100,7 +106,7 @@ class MdWsSeiUsuarioRN extends InfraRN { $tokenData = $this->tokenDecode($token); if(!$tokenData){ - throw new InfraException('Token inválido!'); + throw new InfraException('Token inv?lido!'); } $usuarioDTO = new UsuarioDTO(); @@ -114,16 +120,32 @@ class MdWsSeiUsuarioRN extends InfraRN { return $result; }catch (Exception $e){ - return array( - 'sucesso' => false, - 'mensagem' => $e->getMessage(), - 'exception' => $e + $mensagem = $e->getMessage(); + if($e instanceof InfraException){ + if(!$e->getStrDescricao()){ + /** @var InfraValidacaoDTO $validacaoDTO */ + if(count($e->getArrObjInfraValidacao()) == 1){ + $mensagem = $e->getArrObjInfraValidacao()[0]->getStrDescricao(); + }else{ + foreach($e->getArrObjInfraValidacao() as $validacaoDTO){ + $mensagem[] = $validacaoDTO->getStrDescricao(); + } + } + }else{ + $mensagem = $e->getStrDescricao(); + } + + } + return array ( + "sucesso" => false, + "mensagem" => $mensagem, + "exception" => $e ); } } /** - * MÈtodo de autenticação de usuários usando SIP + * Metodo de autenticacao de usuarios usando SIP * @param UsuarioDTO * @param $sigla * @param $senha @@ -145,7 +167,7 @@ class MdWsSeiUsuarioRN extends InfraRN { $usuarioDTO->setNumIdOrgao($orgaoCarregdo->getNumIdOrgao()); } $objSipWs = $this->retornaServicoSip(); - $ret = $objSipWs->autenticar( + $ret = $objSipWs->autenticarCompleto( $usuarioDTO->getNumIdOrgao(), null, $usuarioDTO->getStrSigla(), @@ -153,6 +175,7 @@ class MdWsSeiUsuarioRN extends InfraRN { ConfiguracaoSEI::getInstance()->getValor('SessaoSEI', 'SiglaSistema'), ConfiguracaoSEI::getInstance()->getValor('SessaoSEI', 'SiglaOrgaoSistema') ); + if(!$ret){ throw new InfraException('Usuário ou senha inválido!'); } @@ -162,17 +185,33 @@ class MdWsSeiUsuarioRN extends InfraRN { 'token' => $this->tokenEncode($usuarioDTO->getStrSigla(), $usuarioDTO->getStrSenha()) ); }catch (Exception $e){ - return array( - 'sucesso' => false, - 'mensagem' => $e->getMessage(), - 'exception' => $e + $mensagem = $e->getMessage(); + if($e instanceof InfraException){ + if(!$e->getStrDescricao()){ + /** @var InfraValidacaoDTO $validacaoDTO */ + if(count($e->getArrObjInfraValidacao()) == 1){ + $mensagem = $e->getArrObjInfraValidacao()[0]->getStrDescricao(); + }else{ + foreach($e->getArrObjInfraValidacao() as $validacaoDTO){ + $mensagem[] = $validacaoDTO->getStrDescricao(); + } + } + }else{ + $mensagem = $e->getStrDescricao(); + } + + } + return array ( + "sucesso" => false, + "mensagem" => $mensagem, + "exception" => $e ); } } /** - * Retorna a lista de usuários por unidade + * Retorna a lista de usuarios por unidade * @param UsuarioDTO * @param $idUsuario */ @@ -186,11 +225,27 @@ class MdWsSeiUsuarioRN extends InfraRN { 'sucesso' => true, 'data' => $result ); - }catch(Exception $e){ - return array( - 'sucesso' => false, - 'mensagem' => 'Erro no serviço de listagem de usuários.', - 'exception' => $e + }catch (Exception $e){ + $mensagem = $e->getMessage(); + if($e instanceof InfraException){ + if(!$e->getStrDescricao()){ + /** @var InfraValidacaoDTO $validacaoDTO */ + if(count($e->getArrObjInfraValidacao()) == 1){ + $mensagem = $e->getArrObjInfraValidacao()[0]->getStrDescricao(); + }else{ + foreach($e->getArrObjInfraValidacao() as $validacaoDTO){ + $mensagem[] = $validacaoDTO->getStrDescricao(); + } + } + }else{ + $mensagem = $e->getStrDescricao(); + } + + } + return array ( + "sucesso" => false, + "mensagem" => $mensagem, + "exception" => $e ); } } -- libgit2 0.21.2