diff --git a/.github/workflows/phpcs.yml b/.github/workflows/phpcs.yml index 4eff7715..a9b933e4 100755 --- a/.github/workflows/phpcs.yml +++ b/.github/workflows/phpcs.yml @@ -12,7 +12,7 @@ jobs: - name: Setup PHP uses: shivammathur/setup-php@v2 with: - php-version: '7.3' + php-version: '8.2' coverage: none tools: composer diff --git a/phpcs.xml b/phpcs.xml index 66b3cfdf..90002227 100755 --- a/phpcs.xml +++ b/phpcs.xml @@ -6,7 +6,7 @@ - + src tests diff --git a/src/rn/ProcessoEletronicoRN.php b/src/rn/ProcessoEletronicoRN.php index 204a275e..e0f04698 100755 --- a/src/rn/ProcessoEletronicoRN.php +++ b/src/rn/ProcessoEletronicoRN.php @@ -142,11 +142,6 @@ protected function inicializarObjInfraIBanco() return BancoSEI::getInstance(); } - - /** - * Construtor do objeto SoapClien utilizado para comunicação Webservice - * - */ private function getObjPenWs() { if (InfraString::isBolVazia($this->strEnderecoWebService)) { @@ -1536,9 +1531,9 @@ private function montarDadosMaisDeUmComponenteDigital($objDocumento, $parStrNume foreach ($arrayComponentesDigitais as $indice => $objComponenteDigital){ - if (is_array($objComponenteDigital)) { - $objComponenteDigital = (object) $objComponenteDigital; - } + if (is_array($objComponenteDigital)) { + $objComponenteDigital = (object) $objComponenteDigital; + } $contComponentes++; $objComponenteDigitalDTO = new ComponenteDigitalDTO(); @@ -1568,18 +1563,18 @@ private function montarDadosMaisDeUmComponenteDigital($objDocumento, $parStrNume $objComponenteDigitalDTO->setStrDadosComplementares($objComponenteDigital->dadosComplementaresDoTipoDeArquivo); //Registrar componente digital necessita ser enviado pelo trâmite específico //TODO: Teste $parObjComponentesDigitaisSolicitados aqui - if(isset($parObjComponentesDigitaisSolicitados)) { - $arrObjItensSolicitados = isset($parObjComponentesDigitaisSolicitados) ? $parObjComponentesDigitaisSolicitados : array($parObjComponentesDigitaisSolicitados); - foreach ($arrObjItensSolicitados as $objItemSolicitado) { - if(!is_null($objItemSolicitado)){ - $objItemSolicitado['hashes'] = is_array($objItemSolicitado['hashes']) ? $objItemSolicitado['hashes'] : array($objItemSolicitado['hashes']); + if(isset($parObjComponentesDigitaisSolicitados)) { + $arrObjItensSolicitados = isset($parObjComponentesDigitaisSolicitados) ? $parObjComponentesDigitaisSolicitados : array($parObjComponentesDigitaisSolicitados); + foreach ($arrObjItensSolicitados as $objItemSolicitado) { + if(!is_null($objItemSolicitado)){ + $objItemSolicitado['hashes'] = is_array($objItemSolicitado['hashes']) ? $objItemSolicitado['hashes'] : array($objItemSolicitado['hashes']); - if($objItemSolicitado['protocolo'] == $objComponenteDigitalDTO->getStrProtocolo() && in_array($strHashConteudo, $objItemSolicitado['hashes']) && !$objDocumento->retirado) { - $objComponenteDigitalDTO->setStrSinEnviar("S"); - } + if($objItemSolicitado['protocolo'] == $objComponenteDigitalDTO->getStrProtocolo() && in_array($strHashConteudo, $objItemSolicitado['hashes']) && !$objDocumento->retirado) { + $objComponenteDigitalDTO->setStrSinEnviar("S"); } } } + } //TODO: Avaliar dados do tamanho do documento em bytes salvo na base de dados $objComponenteDigitalDTO->setNumTamanho($objComponenteDigital->tamanhoEmBytes); @@ -2323,14 +2318,14 @@ public static function desbloquearProcesso($parDblIdProcedimento) public static function comparacaoOrdemAjustadaDocumentos($parDocumento1, $parDocumento2) { - if (is_array($parDocumento1)){ - $numOrdemDocumento1 = isset($parDocumento1['ordemAjustada']) ? intval($parDocumento1['ordemAjustada']) : intval($parDocumento1['ordem']); - $numOrdemDocumento2 = isset($parDocumento2['ordemAjustada']) ? intval($parDocumento2['ordemAjustada']) : intval($parDocumento2['ordem']); - } - else{ - $numOrdemDocumento1 = isset($parDocumento1->ordemAjustada) ? intval($parDocumento1->ordemAjustada) : intval($parDocumento1->ordem); - $numOrdemDocumento2 = isset($parDocumento2->ordemAjustada) ? intval($parDocumento2->ordemAjustada) : intval($parDocumento2->ordem); - } + if (is_array($parDocumento1)){ + $numOrdemDocumento1 = isset($parDocumento1['ordemAjustada']) ? intval($parDocumento1['ordemAjustada']) : intval($parDocumento1['ordem']); + $numOrdemDocumento2 = isset($parDocumento2['ordemAjustada']) ? intval($parDocumento2['ordemAjustada']) : intval($parDocumento2['ordem']); + } + else{ + $numOrdemDocumento1 = isset($parDocumento1->ordemAjustada) ? intval($parDocumento1->ordemAjustada) : intval($parDocumento1->ordem); + $numOrdemDocumento2 = isset($parDocumento2->ordemAjustada) ? intval($parDocumento2->ordemAjustada) : intval($parDocumento2->ordem); + } return $numOrdemDocumento1 - $numOrdemDocumento2; } @@ -2338,13 +2333,13 @@ public static function comparacaoOrdemAjustadaDocumentos($parDocumento1, $parDoc public static function comparacaoOrdemDocumentos($parDocumento1, $parDocumento2) { - if (is_array($parDocumento1)) { - $parDocumento1 = (object) $parDocumento1; - } + if (is_array($parDocumento1)) { + $parDocumento1 = (object) $parDocumento1; + } - if (is_array($parDocumento2)) { - $parDocumento2 = (object) $parDocumento2; - } + if (is_array($parDocumento2)) { + $parDocumento2 = (object) $parDocumento2; + } $numOrdemDocumento1 = intval($parDocumento1->ordem); $numOrdemDocumento2 = intval($parDocumento2->ordem); @@ -2353,13 +2348,13 @@ public static function comparacaoOrdemDocumentos($parDocumento1, $parDocumento2) public static function comparacaoOrdemComponenteDigitais($parComponenteDigital1, $parComponenteDigital2) { - if (is_array($parComponenteDigital1)) { - $parComponenteDigital1 = (object) $parComponenteDigital1; - } + if (is_array($parComponenteDigital1)) { + $parComponenteDigital1 = (object) $parComponenteDigital1; + } - if (is_array($parComponenteDigital2)) { - $parComponenteDigital2 = (object) $parComponenteDigital2; - } + if (is_array($parComponenteDigital2)) { + $parComponenteDigital2 = (object) $parComponenteDigital2; + } $numOrdemComponenteDigital1 = intval($parComponenteDigital1->ordem); $numOrdemComponenteDigital2 = intval($parComponenteDigital2->ordem); diff --git a/src/rn/ReceberProcedimentoRN.php b/src/rn/ReceberProcedimentoRN.php index 8b208e4d..6f9d628d 100755 --- a/src/rn/ReceberProcedimentoRN.php +++ b/src/rn/ReceberProcedimentoRN.php @@ -2844,16 +2844,16 @@ private function criarDiretorioAnexo($parObjAnexoDTO) private function adicionarObservacoesSobreNumeroDocumento($parObjDocumento) { $arrObjObservacoes = array(); - if (is_array($parObjDocumento->produtor)) { - $parObjDocumento->produtor = (object) $parObjDocumento->produtor; - } + if (is_array($parObjDocumento->produtor)) { + $parObjDocumento->produtor = (object) $parObjDocumento->produtor; + } $strNumeroDocumentoOrigem = isset($parObjDocumento->protocolo) ? $parObjDocumento->protocolo : $parObjDocumento->produtor->numeroDeIdentificacao; - if(!empty($strNumeroDocumentoOrigem)){ - $objObservacaoDTO = new ObservacaoDTO(); - $objObservacaoDTO->setStrDescricao("Número do Documento na Origem: " . $strNumeroDocumentoOrigem); - $arrObjObservacoes[] = $objObservacaoDTO; - } + if(!empty($strNumeroDocumentoOrigem)){ + $objObservacaoDTO = new ObservacaoDTO(); + $objObservacaoDTO->setStrDescricao("Número do Documento na Origem: " . $strNumeroDocumentoOrigem); + $arrObjObservacoes[] = $objObservacaoDTO; + } return $arrObjObservacoes; } diff --git a/tests_sei41/funcional/tests/CenarioBaseTestCase.php b/tests_sei41/funcional/tests/CenarioBaseTestCase.php index ef815ad9..e499dec2 100755 --- a/tests_sei41/funcional/tests/CenarioBaseTestCase.php +++ b/tests_sei41/funcional/tests/CenarioBaseTestCase.php @@ -471,6 +471,8 @@ protected function validarHistoricoTramite( } } + + protected function validarDadosProcesso($descricao, $restricao, $observacoes, $listaInteressados, $hipoteseLegal = null) { sleep(2); diff --git a/tests_sei41/funcional/tests/RecebimentoRecusaJustificativaGrandeTest.php b/tests_sei41/funcional/tests/RecebimentoRecusaJustificativaGrandeTest.php index b9138d7c..355e0281 100755 --- a/tests_sei41/funcional/tests/RecebimentoRecusaJustificativaGrandeTest.php +++ b/tests_sei41/funcional/tests/RecebimentoRecusaJustificativaGrandeTest.php @@ -24,8 +24,7 @@ public function setUp(): void // Carregar contexto de testes e dados sobre certificado digital $this->destinatarioWs = $this->definirContextoTeste(CONTEXTO_ORGAO_B); - - // Instanciar objeto de teste utilizando o BeSimpleSoap + $localCertificado = $this->destinatarioWs['LOCALIZACAO_CERTIFICADO_DIGITAL']; $senhaCertificado = $this->destinatarioWs['SENHA_CERTIFICADO_DIGITAL']; $this->servicoPEN = $this->instanciarApiDeIntegracao($localCertificado, $senhaCertificado); @@ -99,7 +98,7 @@ private function recusarTramite($id_tramite) $parametros = new stdClass(); $parametros->recusaDeTramite = new stdClass(); $parametros->recusaDeTramite->IDT = $id_tramite; - $parametros->recusaDeTramite->justificativa = utf8_encode($justificativa); + $parametros->recusaDeTramite->justificativa = mb_convert_encoding($justificativa, 'UTF-8', 'ISO-8859-1'); $parametros->recusaDeTramite->motivo = "99"; return $this->recusarTramiteAPI($parametros); @@ -117,7 +116,7 @@ private function instanciarApiDeIntegracao($localCertificado, $senhaCertificado) $strClientGuzzle = new GuzzleHttp\Client([ 'base_uri' => $strBaseUri, - 'timeout' => 5.0, + 'timeout' => ProcessoEletronicoRN::WS_TIMEOUT_CONEXAO, 'headers' => $arrheaders, 'cert' => [$localCertificado, $senhaCertificado], ]); diff --git a/tests_sei41/funcional/tests/TramiteProcessoComDocumentoRestritoTest.php b/tests_sei41/funcional/tests/TramiteProcessoComDocumentoRestritoTest.php index 175e51ea..eae2085e 100755 --- a/tests_sei41/funcional/tests/TramiteProcessoComDocumentoRestritoTest.php +++ b/tests_sei41/funcional/tests/TramiteProcessoComDocumentoRestritoTest.php @@ -43,7 +43,6 @@ public function test_tramitar_processo_com_documento_restrito() self::$remetente['LOGIN'], self::$remetente['SENHA'] ); - self::$protocoloTeste = $this->cadastrarProcessoFixture(self::$processoTeste); // Cadastrar novo processo de teste self::$documentoTeste["RESTRICAO"] = \ProtocoloRN::$NA_RESTRITO; // Configuração de documento restrito diff --git a/tests_sei41/funcional/tests/TramiteRecebimentoDocumentoAnexadoTest.php b/tests_sei41/funcional/tests/TramiteRecebimentoDocumentoAnexadoTest.php index d31a1b58..8e9dbc22 100755 --- a/tests_sei41/funcional/tests/TramiteRecebimentoDocumentoAnexadoTest.php +++ b/tests_sei41/funcional/tests/TramiteRecebimentoDocumentoAnexadoTest.php @@ -120,7 +120,7 @@ private function instanciarApiDeIntegracao($localCertificado, $senhaCertificado) $strClientGuzzle = new GuzzleHttp\Client([ 'base_uri' => PEN_ENDERECO_WEBSERVICE, - 'timeout' => 40, + 'timeout' => ProcessoEletronicoRN::WS_TIMEOUT_CONEXAO, 'headers' => $arrheaders, 'cert' => [$localCertificado, $senhaCertificado], ]); diff --git a/tests_sei41/funcional/tests/TramiteRecebimentoDocumentoAvulsoTest.php b/tests_sei41/funcional/tests/TramiteRecebimentoDocumentoAvulsoTest.php index 1a294890..56d709a8 100755 --- a/tests_sei41/funcional/tests/TramiteRecebimentoDocumentoAvulsoTest.php +++ b/tests_sei41/funcional/tests/TramiteRecebimentoDocumentoAvulsoTest.php @@ -358,7 +358,7 @@ private function instanciarApiDeIntegracao($localCertificado, $senhaCertificado) $strClientGuzzle = new GuzzleHttp\Client([ 'base_uri' => PEN_ENDERECO_WEBSERVICE, - 'timeout' => 5.0, + 'timeout' => ProcessoEletronicoRN::WS_TIMEOUT_CONEXAO, 'headers' => $arrheaders, 'cert' => [$localCertificado, $senhaCertificado], ]); diff --git a/tests_sei41/funcional/tests/TramiteRecebimentoInteressadosDuplicadosTest.php b/tests_sei41/funcional/tests/TramiteRecebimentoInteressadosDuplicadosTest.php index 0315dc2f..47591131 100755 --- a/tests_sei41/funcional/tests/TramiteRecebimentoInteressadosDuplicadosTest.php +++ b/tests_sei41/funcional/tests/TramiteRecebimentoInteressadosDuplicadosTest.php @@ -44,7 +44,7 @@ public function test_envio_processo_com_documento_anexado() // Atribui dois interessados utilizando o mesmo nome self::$processoTeste['INTERESSADOS'] = array("Interessado com mesmo nome", "Interessado com mesmo nome"); - // Instanciar objeto de teste utilizando o BeSimpleSoap + // Instanciar objeto de teste utilizando o Guzzle $localCertificado = self::$remetente['LOCALIZACAO_CERTIFICADO_DIGITAL']; $senhaCertificado = self::$remetente['SENHA_CERTIFICADO_DIGITAL']; self::$servicoPEN = $this->instanciarApiDeIntegracao($localCertificado, $senhaCertificado); @@ -76,8 +76,7 @@ private function instanciarApiDeIntegracao($localCertificado, $senhaCertificado) $strClientGuzzle = new GuzzleHttp\Client([ 'base_uri' => PEN_ENDERECO_WEBSERVICE, - 'handler' => GuzzleHttp\HandlerStack::create(), - 'timeout' => 5.0, + 'timeout' => ProcessoEletronicoRN::WS_TIMEOUT_CONEXAO, 'headers' => $arrheaders, 'cert' => [$localCertificado, $senhaCertificado], ]); diff --git a/tests_sei41/funcional/tests/TramiteRecebimentoMultiplosComponentesDigitais.php b/tests_sei41/funcional/tests/TramiteRecebimentoMultiplosComponentesDigitais.php index fb90d23c..f0780d6f 100755 --- a/tests_sei41/funcional/tests/TramiteRecebimentoMultiplosComponentesDigitais.php +++ b/tests_sei41/funcional/tests/TramiteRecebimentoMultiplosComponentesDigitais.php @@ -41,7 +41,7 @@ public function setUp(): void self::$contextoOrgaoA = $this->definirContextoTeste(CONTEXTO_ORGAO_A); self::$contextoOrgaoB = $this->definirContextoTeste(CONTEXTO_ORGAO_B); - // Instanciar objeto de teste utilizando o BeSimpleSoap + // Instanciar objeto de teste utilizando o Guzzle $localCertificado = self::$contextoOrgaoB['LOCALIZACAO_CERTIFICADO_DIGITAL']; $senhaCertificado = self::$contextoOrgaoB['SENHA_CERTIFICADO_DIGITAL']; self::$servicoPEN = $this->instanciarApiDeIntegracao($localCertificado, $senhaCertificado); @@ -211,8 +211,7 @@ private function instanciarApiDeIntegracao($localCertificado, $senhaCertificado) $strClientGuzzle = new GuzzleHttp\Client([ 'base_uri' => PEN_ENDERECO_WEBSERVICE, - 'handler' => GuzzleHttp\HandlerStack::create(), - 'timeout' => 40, + 'timeout' => ProcessoEletronicoRN::WS_TIMEOUT_CONEXAO, 'headers' => $arrheaders, 'cert' => [$localCertificado, $senhaCertificado], ]); diff --git a/tests_sei41/funcional/tests/TramiteRecebimentoMultiplosComponentesDigitaisApenasPendentes.php b/tests_sei41/funcional/tests/TramiteRecebimentoMultiplosComponentesDigitaisApenasPendentes.php index 60d62583..f9b8ab48 100755 --- a/tests_sei41/funcional/tests/TramiteRecebimentoMultiplosComponentesDigitaisApenasPendentes.php +++ b/tests_sei41/funcional/tests/TramiteRecebimentoMultiplosComponentesDigitaisApenasPendentes.php @@ -37,7 +37,7 @@ public function setUp(): void self::$contextoOrgaoA = $this->definirContextoTeste(CONTEXTO_ORGAO_A); self::$contextoOrgaoB = $this->definirContextoTeste(CONTEXTO_ORGAO_B); - // Instanciar objeto de teste utilizando o BeSimpleSoap + // Instanciar objeto de teste utilizando o Guzzle $localCertificado = self::$contextoOrgaoA['LOCALIZACAO_CERTIFICADO_DIGITAL']; $senhaCertificado = self::$contextoOrgaoA['SENHA_CERTIFICADO_DIGITAL']; self::$servicoPEN = $this->instanciarApiDeIntegracao($localCertificado, $senhaCertificado); @@ -179,7 +179,7 @@ private function instanciarApiDeIntegracao($localCertificado, $senhaCertificado) $strClientGuzzle = new GuzzleHttp\Client([ 'base_uri' => PEN_ENDERECO_WEBSERVICE, - 'timeout' => 40, + 'timeout' => ProcessoEletronicoRN::WS_TIMEOUT_CONEXAO, 'headers' => $arrheaders, 'cert' => [$localCertificado, $senhaCertificado], ]);