Commit 6a36ffe7b9aa51f99530e540cabf122fc13804eb
1 parent
c71465bc
Exists in
feature-76
Implementação parcial do recebimento de mais de um componente digital
Showing
2 changed files
with
116 additions
and
89 deletions
Show diff stats
rn/ProcessoEletronicoRN.php
@@ -782,72 +782,77 @@ class ProcessoEletronicoRN extends InfraRN { | @@ -782,72 +782,77 @@ class ProcessoEletronicoRN extends InfraRN { | ||
782 | return $strHashConteudo; | 782 | return $strHashConteudo; |
783 | } | 783 | } |
784 | 784 | ||
785 | - private function montarDadosComponenteDigital($parStrNumeroRegistro, $parNumIdentificacaoTramite, $parObjProcesso, $parObjComponentesDigitaisSolicitados) | ||
786 | - { | ||
787 | - //Monta dados dos componentes digitais | ||
788 | - $arrObjComponenteDigitalDTO = array(); | ||
789 | - if(!is_array($parObjProcesso->documento)) { | ||
790 | - $parObjProcesso->documento = array($parObjProcesso->documento); | ||
791 | - } | ||
792 | - | ||
793 | - foreach ($parObjProcesso->documento as $objDocumento) { | ||
794 | - $objComponenteDigitalDTO = new ComponenteDigitalDTO(); | ||
795 | - $objComponenteDigitalDTO->setStrNumeroRegistro($parStrNumeroRegistro); | ||
796 | - $objComponenteDigitalDTO->setDblIdProcedimento($parObjProcesso->idProcedimentoSEI); //TODO: Error utilizar idProcedimentoSEI devido processos apensados | ||
797 | - $objComponenteDigitalDTO->setDblIdDocumento($objDocumento->idDocumentoSEI); | ||
798 | - $objComponenteDigitalDTO->setNumOrdem($objDocumento->ordem); | ||
799 | - $objComponenteDigitalDTO->setNumIdTramite($parNumIdentificacaoTramite); | ||
800 | - $objComponenteDigitalDTO->setStrProtocolo($parObjProcesso->protocolo); | ||
801 | - | ||
802 | - //Por enquanto, considera que o documento possui apenas um componente digital | ||
803 | - if(is_array($objDocumento->componenteDigital) && count($objDocumento->componenteDigital) != 1) { | ||
804 | - throw new InfraException("Erro processando componentes digitais do processo " . $parObjProcesso->protocolo . "\n Somente é permitido o recebimento de documentos com apenas um Componente Digital."); | ||
805 | - } | ||
806 | - | ||
807 | - $objComponenteDigital = $objDocumento->componenteDigital; | ||
808 | - $objComponenteDigitalDTO->setStrNome($objComponenteDigital->nome); | ||
809 | - | ||
810 | - $strHashConteudo = static::getHashFromMetaDados($objComponenteDigital->hash); | ||
811 | - | ||
812 | - $objComponenteDigitalDTO->setStrHashConteudo($strHashConteudo); | ||
813 | - $objComponenteDigitalDTO->setStrAlgoritmoHash(self::ALGORITMO_HASH_DOCUMENTO); | ||
814 | - $objComponenteDigitalDTO->setStrTipoConteudo($objComponenteDigital->tipoDeConteudo); | ||
815 | - $objComponenteDigitalDTO->setStrMimeType($objComponenteDigital->mimeType); | ||
816 | - $objComponenteDigitalDTO->setStrDadosComplementares($objComponenteDigital->dadosComplementaresDoTipoDeArquivo); | 785 | + private function montarDadosComponenteDigital($parStrNumeroRegistro, $parNumIdentificacaoTramite, $parObjProcesso, $parObjComponentesDigitaisSolicitados) |
786 | + { | ||
787 | + //Monta dados dos componentes digitais | ||
788 | + $arrObjComponenteDigitalDTO = array(); | ||
789 | + if(!is_array($parObjProcesso->documento)) { | ||
790 | + $parObjProcesso->documento = array($parObjProcesso->documento); | ||
791 | + } | ||
817 | 792 | ||
818 | - //Registrar componente digital necessita ser enviado pelo trâmite espefífico //TODO: Teste $parObjComponentesDigitaisSolicitados aqui | ||
819 | - if(isset($parObjComponentesDigitaisSolicitados)){ | ||
820 | - $arrObjItensSolicitados = is_array($parObjComponentesDigitaisSolicitados->processo) ? $parObjComponentesDigitaisSolicitados->processo : array($parObjComponentesDigitaisSolicitados->processo); | 793 | + foreach ($parObjProcesso->documento as $objDocumento) |
794 | + { | ||
795 | + $objComponenteDigitalDTO = new ComponenteDigitalDTO(); | ||
796 | + $objComponenteDigitalDTO->setStrNumeroRegistro($parStrNumeroRegistro); | ||
797 | + $objComponenteDigitalDTO->setDblIdProcedimento($parObjProcesso->idProcedimentoSEI); //TODO: Error utilizar idProcedimentoSEI devido processos apensados | ||
798 | + $objComponenteDigitalDTO->setDblIdDocumento($objDocumento->idDocumentoSEI); | ||
799 | + $objComponenteDigitalDTO->setNumOrdem($objDocumento->ordem); | ||
800 | + $objComponenteDigitalDTO->setNumIdTramite($parNumIdentificacaoTramite); | ||
801 | + $objComponenteDigitalDTO->setStrProtocolo($parObjProcesso->protocolo); | ||
802 | + | ||
803 | + //Por enquanto, considera que o documento possui apenas um componente digital | ||
804 | + // if(is_array($objDocumento->componenteDigital) && count($objDocumento->componenteDigital) != 1) { | ||
805 | + // throw new InfraException("Erro processando componentes digitais do processo " . $parObjProcesso->protocolo . "\n Somente é permitido o recebimento de documentos com apenas um Componente Digital."); | ||
806 | + // } | ||
807 | + | ||
808 | + $arrObjComponenteDigital = is_array($objDocumento->componenteDigital) ? $objDocumento->componenteDigital : array($objDocumento->componenteDigital); | ||
809 | + | ||
810 | + foreach ($arrObjComponenteDigital as $objComponenteDigital) | ||
811 | + { | ||
812 | + $objComponenteDigitalDTO->setStrNome($objComponenteDigital->nome); | ||
813 | + | ||
814 | + $strHashConteudo = static::getHashFromMetaDados($objComponenteDigital->hash); | ||
815 | + | ||
816 | + $objComponenteDigitalDTO->setStrHashConteudo($strHashConteudo); | ||
817 | + $objComponenteDigitalDTO->setStrAlgoritmoHash(self::ALGORITMO_HASH_DOCUMENTO); | ||
818 | + $objComponenteDigitalDTO->setStrTipoConteudo($objComponenteDigital->tipoDeConteudo); | ||
819 | + $objComponenteDigitalDTO->setStrMimeType($objComponenteDigital->mimeType); | ||
820 | + $objComponenteDigitalDTO->setStrDadosComplementares($objComponenteDigital->dadosComplementaresDoTipoDeArquivo); | ||
821 | + | ||
822 | + //Registrar componente digital necessita ser enviado pelo trâmite espefífico //TODO: Teste $parObjComponentesDigitaisSolicitados aqui | ||
823 | + if (isset($parObjComponentesDigitaisSolicitados)) { | ||
824 | + $arrObjItensSolicitados = is_array($parObjComponentesDigitaisSolicitados->processo) ? $parObjComponentesDigitaisSolicitados->processo : array($parObjComponentesDigitaisSolicitados->processo); | ||
825 | + | ||
826 | + foreach ($arrObjItensSolicitados as $objItemSolicitado) { | ||
827 | + if (!is_null($objItemSolicitado)) { | ||
828 | + $objItemSolicitado->hash = is_array($objItemSolicitado->hash) ? $objItemSolicitado->hash : array($objItemSolicitado->hash); | ||
829 | + | ||
830 | + if ($objItemSolicitado->protocolo == $objComponenteDigitalDTO->getStrProtocolo() && in_array($strHashConteudo, $objItemSolicitado->hash) && !$objDocumento->retirado) { | ||
831 | + $objComponenteDigitalDTO->setStrSinEnviar("S"); | ||
832 | + } | ||
833 | + } | ||
834 | + } | ||
835 | + } | ||
821 | 836 | ||
822 | - foreach ($arrObjItensSolicitados as $objItemSolicitado) { | ||
823 | - if(!is_null($objItemSolicitado)){ | ||
824 | - $objItemSolicitado->hash = is_array($objItemSolicitado->hash) ? $objItemSolicitado->hash : array($objItemSolicitado->hash); | 837 | + //TODO: Avaliar dados do tamanho do documento em bytes salvo na base de dados |
838 | + $objComponenteDigitalDTO->setNumTamanho($objComponenteDigital->tamanhoEmBytes); | ||
825 | 839 | ||
826 | - if($objItemSolicitado->protocolo == $objComponenteDigitalDTO->getStrProtocolo() && in_array($strHashConteudo, $objItemSolicitado->hash) && !$objDocumento->retirado) { | ||
827 | - $objComponenteDigitalDTO->setStrSinEnviar("S"); | ||
828 | - } | 840 | + $objComponenteDigitalDTO->setNumIdAnexo($objComponenteDigital->idAnexo); |
841 | + $arrObjComponenteDigitalDTO[] = $objComponenteDigitalDTO; | ||
829 | } | 842 | } |
830 | } | 843 | } |
831 | - } | ||
832 | - | ||
833 | - //TODO: Avaliar dados do tamanho do documento em bytes salvo na base de dados | ||
834 | - $objComponenteDigitalDTO->setNumTamanho($objComponenteDigital->tamanhoEmBytes); | ||
835 | 844 | ||
836 | - $objComponenteDigitalDTO->setNumIdAnexo($objComponenteDigital->idAnexo); | ||
837 | - $arrObjComponenteDigitalDTO[] = $objComponenteDigitalDTO; | ||
838 | - } | 845 | + //Chamada recursiva sobre os documentos dos processos apensados |
846 | + if(isset($parObjProcesso->processoApensado) && count($parObjProcesso->processoApensado)) { | ||
847 | + foreach ($parObjProcesso->processoApensado as $objProcessoApensado) { | ||
848 | + $arrObj = $this->montarDadosComponenteDigital($parStrNumeroRegistro, $parNumIdentificacaoTramite, $objProcessoApensado, $parObjComponentesDigitaisSolicitados); | ||
849 | + $arrObjComponenteDigitalDTO = array_merge($arrObjComponenteDigitalDTO, $arrObj); | ||
850 | + } | ||
851 | + } | ||
839 | 852 | ||
840 | - //Chamada recursiva sobre os documentos dos processos apensados | ||
841 | - if(isset($parObjProcesso->processoApensado) && count($parObjProcesso->processoApensado)) { | ||
842 | - foreach ($parObjProcesso->processoApensado as $objProcessoApensado) { | ||
843 | - $arrObj = $this->montarDadosComponenteDigital($parStrNumeroRegistro, $parNumIdentificacaoTramite, $objProcessoApensado, $parObjComponentesDigitaisSolicitados); | ||
844 | - $arrObjComponenteDigitalDTO = array_merge($arrObjComponenteDigitalDTO, $arrObj); | ||
845 | - } | 853 | + return $arrObjComponenteDigitalDTO; |
846 | } | 854 | } |
847 | 855 | ||
848 | - return $arrObjComponenteDigitalDTO; | ||
849 | - } | ||
850 | - | ||
851 | 856 | ||
852 | public function receberComponenteDigital($parNumIdentificacaoTramite, $parStrHashComponenteDigital, $parStrProtocolo) | 857 | public function receberComponenteDigital($parNumIdentificacaoTramite, $parStrHashComponenteDigital, $parStrProtocolo) |
853 | { | 858 | { |
rn/ReceberProcedimentoRN.php
@@ -87,9 +87,11 @@ class ReceberProcedimentoRN extends InfraRN | @@ -87,9 +87,11 @@ class ReceberProcedimentoRN extends InfraRN | ||
87 | 87 | ||
88 | #############################INICIA O RECEBIMENTO DOS COMPONENTES DIGITAIS US010################################################ | 88 | #############################INICIA O RECEBIMENTO DOS COMPONENTES DIGITAIS US010################################################ |
89 | 89 | ||
90 | - //Obtém lista de componentes digitais que precisam ser obtidos | 90 | + //Realiza as validações nos componentes digitais dos documentos |
91 | $this->validarComponentesDigitais($objProtocolo, $parNumIdentificacaoTramite); | 91 | $this->validarComponentesDigitais($objProtocolo, $parNumIdentificacaoTramite); |
92 | $this->validarExtensaoComponentesDigitais($parNumIdentificacaoTramite, $objProtocolo); | 92 | $this->validarExtensaoComponentesDigitais($parNumIdentificacaoTramite, $objProtocolo); |
93 | + | ||
94 | + //Verifica a permissão de escrita nos diretórios de arquivos externos | ||
93 | $this->verificarPermissoesDiretorios($parNumIdentificacaoTramite); | 95 | $this->verificarPermissoesDiretorios($parNumIdentificacaoTramite); |
94 | 96 | ||
95 | $this->gravarLogDebug("Obtém lista de componentes digitais que precisam ser obtidos", 4); | 97 | $this->gravarLogDebug("Obtém lista de componentes digitais que precisam ser obtidos", 4); |
@@ -120,7 +122,9 @@ class ReceberProcedimentoRN extends InfraRN | @@ -120,7 +122,9 @@ class ReceberProcedimentoRN extends InfraRN | ||
120 | 122 | ||
121 | //Obter os dados do componente digital | 123 | //Obter os dados do componente digital |
122 | $this->gravarLogDebug("Baixando componente digital $key", 6); | 124 | $this->gravarLogDebug("Baixando componente digital $key", 6); |
125 | + | ||
123 | $objComponenteDigital = $this->objProcessoEletronicoRN->receberComponenteDigital($parNumIdentificacaoTramite, $componentePendente, $objTramite->protocolo); | 126 | $objComponenteDigital = $this->objProcessoEletronicoRN->receberComponenteDigital($parNumIdentificacaoTramite, $componentePendente, $objTramite->protocolo); |
127 | + | ||
124 | $arrAnexosComponentes[$key][$componentePendente] = $receberComponenteDigitalRN->copiarComponenteDigitalPastaTemporaria($objComponenteDigital); | 128 | $arrAnexosComponentes[$key][$componentePendente] = $receberComponenteDigitalRN->copiarComponenteDigitalPastaTemporaria($objComponenteDigital); |
125 | $arrAnexosComponentes[$key]['recebido'] = false; | 129 | $arrAnexosComponentes[$key]['recebido'] = false; |
126 | 130 | ||
@@ -177,6 +181,7 @@ class ReceberProcedimentoRN extends InfraRN | @@ -177,6 +181,7 @@ class ReceberProcedimentoRN extends InfraRN | ||
177 | } | 181 | } |
178 | 182 | ||
179 | if(count($arrComponentesPendentesRecebimento) > 0){ | 183 | if(count($arrComponentesPendentesRecebimento) > 0){ |
184 | + | ||
180 | //Obter dados dos componetes digitais | 185 | //Obter dados dos componetes digitais |
181 | $this->gravarLogDebug("Iniciando o recebimento dos componentes digitais pendentes", 4); | 186 | $this->gravarLogDebug("Iniciando o recebimento dos componentes digitais pendentes", 4); |
182 | $objComponenteDigitalDTO = new ComponenteDigitalDTO(); | 187 | $objComponenteDigitalDTO = new ComponenteDigitalDTO(); |
@@ -329,7 +334,7 @@ class ReceberProcedimentoRN extends InfraRN | @@ -329,7 +334,7 @@ class ReceberProcedimentoRN extends InfraRN | ||
329 | } | 334 | } |
330 | 335 | ||
331 | /** | 336 | /** |
332 | - * Valida cada componente digital, se não algum não for aceito recusa o tramite | 337 | + * Valida cada componente digital, se algum não for aceito recusa o tramite |
333 | * do procedimento para esta unidade | 338 | * do procedimento para esta unidade |
334 | */ | 339 | */ |
335 | private function validarComponentesDigitais($parObjProtocolo, $parNumIdentificacaoTramite) | 340 | private function validarComponentesDigitais($parObjProtocolo, $parNumIdentificacaoTramite) |
@@ -356,18 +361,24 @@ class ReceberProcedimentoRN extends InfraRN | @@ -356,18 +361,24 @@ class ReceberProcedimentoRN extends InfraRN | ||
356 | $objPenParametroRN = new PenParametroRN(); | 361 | $objPenParametroRN = new PenParametroRN(); |
357 | $numTamDocExterno = $objPenParametroRN->getParametro('PEN_TAMANHO_MAXIMO_DOCUMENTO_EXPEDIDO'); | 362 | $numTamDocExterno = $objPenParametroRN->getParametro('PEN_TAMANHO_MAXIMO_DOCUMENTO_EXPEDIDO'); |
358 | 363 | ||
359 | - foreach($arrObjDocumentos as $objDocument) { | ||
360 | - | ||
361 | - //Não valida informações do componente digital caso o documento esteja cancelado | ||
362 | - if(isset($objDocumento->retirado) && $objDocumento->retirado === true){ | ||
363 | - if (is_null($objDocument->componenteDigital->tamanhoEmBytes) || $objDocument->componenteDigital->tamanhoEmBytes == 0){ | ||
364 | - throw new InfraException('Tamanho de componente digital não informado.', null, 'RECUSA: '.ProcessoEletronicoRN::MTV_RCSR_TRAM_CD_OUTROU); | ||
365 | - } | 364 | + foreach($arrObjDocumentos as $objDocumento) |
365 | + { | ||
366 | + $arrObjComponenteDigital = $this->obterComponentesDigitaisDocumento($objDocumento); | ||
367 | + | ||
368 | + //Valida o tamnho dos compoenentes digitais | ||
369 | + foreach ($arrObjComponenteDigital as $objComponenteDigital) | ||
370 | + { | ||
371 | + //Não valida informações do componente digital caso o documento esteja cancelado | ||
372 | + if(isset($objDocumento->retirado) && $objDocumento->retirado === true){ | ||
373 | + if (is_null($objComponenteDigital->tamanhoEmBytes) || $objComponenteDigital->tamanhoEmBytes == 0){ | ||
374 | + throw new InfraException('Tamanho de componente digital não informado.', null, 'RECUSA: '.ProcessoEletronicoRN::MTV_RCSR_TRAM_CD_OUTROU); | ||
375 | + } | ||
366 | 376 | ||
367 | - if($objDocument->componenteDigital->tamanhoEmBytes > ($numTamDocExterno * 1024 * 1024)){ | ||
368 | - $numTamanhoMb = $objDocument->componenteDigital->tamanhoEmBytes / ( 1024 * 1024); | ||
369 | - $this->objProcessoEletronicoRN->recusarTramite($parNumIdentificacaoTramite, 'Componente digital não pode ultrapassar '.round($numTamDocExterno, 2).'MBs, o tamanho do anexo é '.round($numTamanhoMb, 2).'MBs .', ProcessoEletronicoRN::MTV_RCSR_TRAM_CD_OUTROU); | ||
370 | - throw new InfraException('Componente digital não pode ultrapassar '.round($numTamDocExterno, 2).'MBs, o tamanho do anexo é '.round($numTamanhoMb).'MBs'); | 377 | + if($objComponenteDigital->tamanhoEmBytes > ($numTamDocExterno * 1024 * 1024)){ |
378 | + $numTamanhoMb = $objComponenteDigital->tamanhoEmBytes / ( 1024 * 1024); | ||
379 | + $this->objProcessoEletronicoRN->recusarTramite($parNumIdentificacaoTramite, 'Componente digital não pode ultrapassar '.round($numTamDocExterno, 2).'MBs, o tamanho do anexo é '.round($numTamanhoMb, 2).'MBs .', ProcessoEletronicoRN::MTV_RCSR_TRAM_CD_OUTROU); | ||
380 | + throw new InfraException('Componente digital não pode ultrapassar '.round($numTamDocExterno, 2).'MBs, o tamanho do anexo é '.round($numTamanhoMb).'MBs'); | ||
381 | + } | ||
371 | } | 382 | } |
372 | } | 383 | } |
373 | } | 384 | } |
@@ -385,6 +396,11 @@ class ReceberProcedimentoRN extends InfraRN | @@ -385,6 +396,11 @@ class ReceberProcedimentoRN extends InfraRN | ||
385 | return $arrObjDocumento; | 396 | return $arrObjDocumento; |
386 | } | 397 | } |
387 | 398 | ||
399 | + private function obterComponentesDigitaisDocumento($parObjDocumento) | ||
400 | + { | ||
401 | + return $arrObjComponenteDigital = is_array($parObjDocumento->componenteDigital) ? $parObjDocumento->componenteDigital : array($parObjDocumento->componenteDigital); | ||
402 | + } | ||
403 | + | ||
388 | private function registrarProcesso($parStrNumeroRegistro, $parNumIdentificacaoTramite, $parObjProtocolo, $parObjMetadadosProcedimento) | 404 | private function registrarProcesso($parStrNumeroRegistro, $parNumIdentificacaoTramite, $parObjProtocolo, $parObjMetadadosProcedimento) |
389 | { | 405 | { |
390 | // Validação dos dados do processo recebido | 406 | // Validação dos dados do processo recebido |
@@ -1790,25 +1806,31 @@ class ReceberProcedimentoRN extends InfraRN | @@ -1790,25 +1806,31 @@ class ReceberProcedimentoRN extends InfraRN | ||
1790 | //Instancia o bd do arquivoExtensão | 1806 | //Instancia o bd do arquivoExtensão |
1791 | $arquivoExtensaoBD = new ArquivoExtensaoBD($this->getObjInfraIBanco()); | 1807 | $arquivoExtensaoBD = new ArquivoExtensaoBD($this->getObjInfraIBanco()); |
1792 | 1808 | ||
1793 | - //Percorre os documentos | ||
1794 | - foreach($arrDocumentos as $documento){ | ||
1795 | - | ||
1796 | - //Busca o nome do documento | ||
1797 | - $nomeDocumento = $documento->componenteDigital->nome; | ||
1798 | - | ||
1799 | - //Busca pela extensão do documento | ||
1800 | - $arrNomeDocumento = explode('.', $nomeDocumento); | ||
1801 | - $extDocumento = $arrNomeDocumento[count($arrNomeDocumento) - 1]; | ||
1802 | - | ||
1803 | - //Verifica se a extensão do arquivo está cadastrada e ativa | ||
1804 | - $arquivoExtensaoDTO = new ArquivoExtensaoDTO(); | ||
1805 | - $arquivoExtensaoDTO->setStrSinAtivo('S'); | ||
1806 | - $arquivoExtensaoDTO->setStrExtensao($extDocumento); | ||
1807 | - $arquivoExtensaoDTO->retStrExtensao(); | ||
1808 | - | ||
1809 | - if($arquivoExtensaoBD->contar($arquivoExtensaoDTO) == 0){ | ||
1810 | - $this->objProcessoEletronicoRN->recusarTramite($parIdTramite, 'Componentes digitais com formato inválido no destinatário. ', ProcessoEletronicoRN::MTV_RCSR_TRAM_CD_FORMATO); | ||
1811 | - throw new InfraException("Processo recusado devido a existência de documento em formato {$extDocumento} não permitido pelo sistema. "); | 1809 | + //Percorre os documentos para validar a extensão dos componentes digitais |
1810 | + foreach($arrDocumentos as $documento) | ||
1811 | + { | ||
1812 | + $arrObjComponenteDigital = $this->obterComponentesDigitaisDocumento($documento); | ||
1813 | + | ||
1814 | + //Valida a extensão dos componentes digitais | ||
1815 | + foreach ($arrObjComponenteDigital as $objComponenteDigital) | ||
1816 | + { | ||
1817 | + //Busca o nome do documento | ||
1818 | + $nomeDocumento = $objComponenteDigital->nome; | ||
1819 | + | ||
1820 | + //Busca pela extensão do documento | ||
1821 | + $arrNomeDocumento = explode('.', $nomeDocumento); | ||
1822 | + $extDocumento = $arrNomeDocumento[count($arrNomeDocumento) - 1]; | ||
1823 | + | ||
1824 | + //Verifica se a extensão do arquivo está cadastrada e ativa | ||
1825 | + $arquivoExtensaoDTO = new ArquivoExtensaoDTO(); | ||
1826 | + $arquivoExtensaoDTO->setStrSinAtivo('S'); | ||
1827 | + $arquivoExtensaoDTO->setStrExtensao($extDocumento); | ||
1828 | + $arquivoExtensaoDTO->retStrExtensao(); | ||
1829 | + | ||
1830 | + if ($arquivoExtensaoBD->contar($arquivoExtensaoDTO) == 0) { | ||
1831 | + $this->objProcessoEletronicoRN->recusarTramite($parIdTramite, 'Componentes digitais com formato inválido no destinatário. ', ProcessoEletronicoRN::MTV_RCSR_TRAM_CD_FORMATO); | ||
1832 | + throw new InfraException("Processo recusado devido a existência de documento em formato {$extDocumento} não permitido pelo sistema. "); | ||
1833 | + } | ||
1812 | } | 1834 | } |
1813 | } | 1835 | } |
1814 | } | 1836 | } |