From e17aa178722ff01d650e999ff4ad5705a91a3be9 Mon Sep 17 00:00:00 2001 From: Guilherme Andrade Del Cantoni Date: Fri, 5 Apr 2019 18:24:40 -0300 Subject: [PATCH] [Fixed #44] Correção de erro de validação de encode utf-8 --- pen_procedimento_expedir.php | 5 ++--- rn/ExpedirProcedimentoRN.php | 35 +++++++++++++++-------------------- rn/ProcessoEletronicoRN.php | 39 +++++++++++++++++++-------------------- 3 files changed, 36 insertions(+), 43 deletions(-) diff --git a/pen_procedimento_expedir.php b/pen_procedimento_expedir.php index 16edd14..c00cde2 100644 --- a/pen_procedimento_expedir.php +++ b/pen_procedimento_expedir.php @@ -163,13 +163,12 @@ try { try { $respostaExpedir = $objExpedirProcedimentosRN->expedirProcedimento($objExpedirProcedimentoDTO); - echo ''; //Botão para fechar a janela + //Adiciona o botão Fechar para a janela + echo ''; } catch(\Exception $e) { $objPaginaSEI->processarExcecao($e); } - // Faz o die(); $objPaginaSEI->finalizarBarraProgresso(null, false); } //------------------------------------------------------------------ diff --git a/rn/ExpedirProcedimentoRN.php b/rn/ExpedirProcedimentoRN.php index 6ac4d19..80c9cfb 100644 --- a/rn/ExpedirProcedimentoRN.php +++ b/rn/ExpedirProcedimentoRN.php @@ -136,20 +136,15 @@ class ExpedirProcedimentoRN extends InfraRN { //Construo dos cabecalho para envio do processo $objCabecalho = $this->construirCabecalho($objExpedirProcedimentoDTO); - //Construo do processo para envio + //Construção do processo para envio $objProcesso = $this->construirProcesso($dblIdProcedimento, $objExpedirProcedimentoDTO->getArrIdProcessoApensado()); - try { - $param = new stdClass(); - $param->novoTramiteDeProcesso = new stdClass(); - $param->novoTramiteDeProcesso->cabecalho = $objCabecalho; - $param->novoTramiteDeProcesso->processo = $objProcesso; - $novoTramite = $this->objProcessoEletronicoRN->enviarProcesso($param); - $numIdTramite = $novoTramite->dadosTramiteDeProcessoCriado->IDT; - - } catch (\Exception $e) { - throw new InfraException("Error Processing Request", $e); - } + $param = new stdClass(); + $param->novoTramiteDeProcesso = new stdClass(); + $param->novoTramiteDeProcesso->cabecalho = $objCabecalho; + $param->novoTramiteDeProcesso->processo = $objProcesso; + $novoTramite = $this->objProcessoEletronicoRN->enviarProcesso($param); + $numIdTramite = $novoTramite->dadosTramiteDeProcessoCriado->IDT; $this->atualizarPenProtocolo($dblIdProcedimento); @@ -1256,26 +1251,26 @@ class ExpedirProcedimentoRN extends InfraRN { if($strStaNumeracao == SerieRN::$TN_SEQUENCIAL_UNIDADE) { $objDocumento->identificacao = new stdClass(); - $objDocumento->identificacao->numero = $parObjDocumentoDTO->getStrNumero(); - $objDocumento->identificacao->siglaDaUnidadeProdutora = $parObjDocumentoDTO->getStrSiglaUnidadeGeradoraProtocolo(); + $objDocumento->identificacao->numero = utf8_encode($parObjDocumentoDTO->getStrNumero()); + $objDocumento->identificacao->siglaDaUnidadeProdutora = utf8_encode($parObjDocumentoDTO->getStrSiglaUnidadeGeradoraProtocolo()); $objDocumento->identificacao->complemento = utf8_encode($parObjDocumentoDTO->getStrDescricaoUnidadeGeradoraProtocolo()); }else if($strStaNumeracao == SerieRN::$TN_SEQUENCIAL_ORGAO){ $objOrgaoDTO = $this->consultarOrgao($parObjDocumentoDTO->getNumIdOrgaoUnidadeGeradoraProtocolo()); $objDocumento->identificacao = new stdClass(); - $objDocumento->identificacao->numero = $parObjDocumentoDTO->getStrNumero(); - $objDocumento->identificacao->siglaDaUnidadeProdutora = $objOrgaoDTO->getStrSigla(); + $objDocumento->identificacao->numero = utf8_encode($parObjDocumentoDTO->getStrNumero()); + $objDocumento->identificacao->siglaDaUnidadeProdutora = utf8_encode($objOrgaoDTO->getStrSigla()); $objDocumento->identificacao->complemento = utf8_encode($objOrgaoDTO->getStrDescricao()); }else if($strStaNumeracao == SerieRN::$TN_SEQUENCIAL_ANUAL_UNIDADE){ $objDocumento->identificacao = new stdClass(); - $objDocumento->identificacao->siglaDaUnidadeProdutora = $parObjDocumentoDTO->getStrSiglaUnidadeGeradoraProtocolo(); + $objDocumento->identificacao->siglaDaUnidadeProdutora = utf8_encode($parObjDocumentoDTO->getStrSiglaUnidadeGeradoraProtocolo()); $objDocumento->identificacao->complemento = utf8_encode($parObjDocumentoDTO->getStrDescricaoUnidadeGeradoraProtocolo()); - $objDocumento->identificacao->numero = $parObjDocumentoDTO->getStrNumero(); + $objDocumento->identificacao->numero = utf8_encode($parObjDocumentoDTO->getStrNumero()); $objDocumento->identificacao->ano = substr($parObjDocumentoDTO->getDtaGeracaoProtocolo(),6,4); }else if($strStaNumeracao == SerieRN::$TN_SEQUENCIAL_ANUAL_ORGAO){ $objOrgaoDTO = $this->consultarOrgao($parObjDocumentoDTO->getNumIdOrgaoUnidadeGeradoraProtocolo()); $objDocumento->identificacao = new stdClass(); - $objDocumento->identificacao->numero = $parObjDocumentoDTO->getStrNumero(); - $objDocumento->identificacao->siglaDaUnidadeProdutora = $objOrgaoDTO->getStrSigla(); + $objDocumento->identificacao->numero = utf8_encode($parObjDocumentoDTO->getStrNumero()); + $objDocumento->identificacao->siglaDaUnidadeProdutora = utf8_encode($objOrgaoDTO->getStrSigla()); $objDocumento->identificacao->complemento = utf8_encode($objOrgaoDTO->getStrDescricao()); $objDocumento->identificacao->ano = substr($parObjDocumentoDTO->getDtaGeracaoProtocolo(),6,4); } diff --git a/rn/ProcessoEletronicoRN.php b/rn/ProcessoEletronicoRN.php index 327b2ae..7f5ce73 100644 --- a/rn/ProcessoEletronicoRN.php +++ b/rn/ProcessoEletronicoRN.php @@ -405,13 +405,12 @@ class ProcessoEletronicoRN extends InfraRN { try { return $this->getObjPenWs()->enviarProcesso($parametros); } catch (\Exception $e) { - $mensagem = "Falha no envio externo do processo: "; + $mensagem = "Falha no envio externo do processo. Verifique log de erros do sistema para maiores informações."; $detalhes = InfraString::formatarJavaScript($this->tratarFalhaWebService($e)); if ($e instanceof \SoapFault && !empty($e->detail->interoperabilidadeException->codigoErro) && $e->detail->interoperabilidadeException->codigoErro == '0005') { $detalhes = 'O código mapeado para a unidade ' . utf8_decode($parametros->novoTramiteDeProcesso->processo->documento[0]->produtor->unidade->nome) . ' está incorreto.'; } - $mensagem .= $detalhes; throw new InfraException($mensagem, $e, $detalhes); } } @@ -450,25 +449,25 @@ class ProcessoEletronicoRN extends InfraRN { } //TODO: Tratar cada um dos possíveis erros gerados pelos serviços de integração do PEN - private function tratarFalhaWebService(Exception $fault) - { - $mensagem = InfraException::inspecionar($fault); - if($fault instanceof SoapFault && isset($fault->detail->interoperabilidadeException)){ - $strWsException = $fault->detail->interoperabilidadeException; - - switch ($strWsException->codigoErro) { - case '0044': - $mensagem = 'Processo já possui um trâmite em andamento'; - break; - - default: - $mensagem = utf8_decode($fault->detail->interoperabilidadeException->mensagem); - break; - } - } + private function tratarFalhaWebService(Exception $fault) + { + $mensagem = InfraException::inspecionar($fault); + if($fault instanceof SoapFault && isset($fault->detail->interoperabilidadeException)) { - return $mensagem; - } + $strWsException = $fault->detail->interoperabilidadeException; + switch ($strWsException->codigoErro) { + case '0044': + $mensagem = 'Processo já possui um trâmite em andamento'; + break; + + default: + $mensagem = utf8_decode($fault->detail->interoperabilidadeException->mensagem); + break; + } + } + + return $mensagem; + } public function construirCabecalho($strNumeroRegistro, $idRepositorioOrigem, $idUnidadeOrigem, $idRepositorioDestino, $idUnidadeDestino, $urgente = false, $motivoUrgencia = 0, $enviarTodosDocumentos = false) -- libgit2 0.21.2