Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release/4.0.0 #757

Merged
merged 18 commits into from
Dec 23, 2024
Merged
Changes from 1 commit
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
0fa8048
feat: modificar a estrutura atual para funcionamento de bibliotecas e…
Nov 13, 2024
584280e
feat: alterar url_base API para versões sei4, sei41, sei_super e Remo…
Nov 13, 2024
edf17c7
feat: alterar o métodos da classe expedirProcedimento para funcioname…
Nov 13, 2024
70e61dc
feat: alterar o métodos da classe PENAgendamento para funcionamento c…
Nov 13, 2024
5444eb6
feat: alterar estrutura da classe ProcessoEletronicoINT para funciona…
Nov 13, 2024
8b1c7af
refactor: substituir todas as rotas SOAP para REST
Nov 14, 2024
279bb27
refactor: métodos de integração para recebimento de arquivos e geraçã…
Nov 14, 2024
0ecaa43
fix: mudar estrutura para se adaptar a mudança na API
Nov 21, 2024
8697578
chore: correções phpcs
Nov 21, 2024
0e90426
fix: alterar estutura removendo parametro em obsoleto --dev
Nov 25, 2024
d25d772
fix: alterar WSDL para REST no verificador de instalação e corrigir e…
Nov 26, 2024
82a5761
fix:: corrigir atualização no banco para proceessos recebidos
Dec 6, 2024
9b5ff65
chore: adicionar camiinho absoluto para chamada do vendor dentro da c…
Dec 6, 2024
5bf5784
feat: alterar tipagem de variável em todos os métodos que consome a API
Dec 9, 2024
8f0ba83
fix: alterar nome historico no recebimento para teste funcional
Dec 10, 2024
72e9262
fix: correções testes automatizados
Dec 13, 2024
8ab6cee
fix: Adicionar correção documento cancelado, versões SEI: 4.1.1 e 4.1.2
Dec 18, 2024
96895f5
chore: aumentar timeout e remover número mágico
Dec 20, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
chore: correções phpcs
Glaydson Rodrigues committed Nov 21, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
commit 8697578cd46a208da86d2488ec9ec7a92a6e75f5
30 changes: 15 additions & 15 deletions src/rn/ExpedirProcedimentoRN.php
Original file line number Diff line number Diff line change
@@ -245,14 +245,14 @@ protected function expedirProcedimentoControlado(ExpedirProcedimentoDTO $objExpe
try {
$this->objProcedimentoAndamentoRN->cadastrar(ProcedimentoAndamentoDTO::criarAndamento('Envio do metadados do processo', 'S'));

if($bolSinProcessamentoEmBloco){
$this->gravarLogDebug(sprintf('Envio do metadados do processo %s', $objProcedimentoDTO->getStrProtocoloProcedimentoFormatado()), 2);
$objPenBlocoProcessoDTO->setNumIdAndamento(ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_INICIADO);
$objPenBlocoProcessoRN->alterar($objPenBlocoProcessoDTO);
$idAtividadeExpedicao = $numIdAtividade;
}else{
if($bolSinProcessamentoEmBloco){
$this->gravarLogDebug(sprintf('Envio do metadados do processo %s', $objProcedimentoDTO->getStrProtocoloProcedimentoFormatado()), 2);
$objPenBlocoProcessoDTO->setNumIdAndamento(ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_INICIADO);
$objPenBlocoProcessoRN->alterar($objPenBlocoProcessoDTO);
$idAtividadeExpedicao = $numIdAtividade;
}else{
$idAtividadeExpedicao = $this->bloquearProcedimentoExpedicao($objExpedirProcedimentoDTO, $arrProcesso['idProcedimentoSEI']);
}
}

$this->objProcessoEletronicoRN->cadastrarTramiteDeProcesso(
$arrProcesso['idProcedimentoSEI'],
@@ -292,14 +292,14 @@ protected function expedirProcedimentoControlado(ExpedirProcedimentoDTO $objExpe
//TODO: Alterar atualizao para somente apresentar ao final de todo o trâmite
//$this->barraProgresso->mover(ProcessoEletronicoINT::NEE_EXPEDICAO_ETAPA_CONCLUSAO);

if(!$bolSinProcessamentoEmBloco){
$this->barraProgresso->mover($this->barraProgresso->getNumMax());
$this->barraProgresso->setStrRotulo(ProcessoEletronicoINT::TEE_EXPEDICAO_ETAPA_CONCLUSAO);
}else{
$this->gravarLogDebug('Concluído envio dos componentes do processo', 2);
$objPenBlocoProcessoDTO->setNumIdAndamento(ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_COMPONENTES_ENVIADOS_REMETENTE);
$objPenBlocoProcessoRN->alterar($objPenBlocoProcessoDTO);
}
if(!$bolSinProcessamentoEmBloco){
$this->barraProgresso->mover($this->barraProgresso->getNumMax());
$this->barraProgresso->setStrRotulo(ProcessoEletronicoINT::TEE_EXPEDICAO_ETAPA_CONCLUSAO);
}else{
$this->gravarLogDebug('Concluído envio dos componentes do processo', 2);
$objPenBlocoProcessoDTO->setNumIdAndamento(ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_COMPONENTES_ENVIADOS_REMETENTE);
$objPenBlocoProcessoRN->alterar($objPenBlocoProcessoDTO);
}

$this->objProcedimentoAndamentoRN->cadastrar(ProcedimentoAndamentoDTO::criarAndamento('Concluído envio dos componentes do processo', 'S'));

696 changes: 348 additions & 348 deletions src/rn/ProcessoEletronicoRN.php

Large diffs are not rendered by default.

122 changes: 61 additions & 61 deletions src/rn/ReceberComponenteDigitalRN.php
Original file line number Diff line number Diff line change
@@ -150,65 +150,65 @@ protected function compactarAnexosDoDocumento($parNumIdDocumento, $parArrAnexoDT

$contDocumentosDto = 0;
$arrayRetornoObjAnexoDTO = array();
foreach ($arrObjDocumentoDTO as $objDocumentoDTO) {
$contDocumentosDto++;
$objAnexoRN = new AnexoRN();

$strProtocoloDocumentoFormatado = $objDocumentoDTO->getStrProtocoloDocumentoFormatado();
$strNomeArquivoCompactado = $objAnexoRN->gerarNomeArquivoTemporario();
$strCaminhoCompletoArquivoZip = DIR_SEI_TEMP.'/'.$strNomeArquivoCompactado;

$zipFile= new ZipArchive();
$zipFile->open($strCaminhoCompletoArquivoZip, ZIPARCHIVE::CREATE);

$arrObjDocumentoDTO = InfraArray::indexarArrInfraDTO($arrObjDocumentoDTO, 'IdDocumento');
$numCasas=floor(log10(count($arrObjDocumentoDTO)))+1;
$numSequencial = 0;
foreach($arrIdDocumentos as $dblIdDocumento){
$objDocumentoDTO = $arrObjDocumentoDTO[$dblIdDocumento];
$strDocumento = '';
if ($objDocumentoDTO->getStrStaProtocoloProtocolo() == ProtocoloRN::$TP_DOCUMENTO_RECEBIDO){
$arrayAnexosExcluirFisicamente = array();
foreach ($parArrAnexoDTO as $objAnexoDTO){
$numSequencial++;

if ($objAnexoDTO==null){
$objInfraException->adicionarValidacao('Documento '.$objDocumentoDTO->getStrProtocoloDocumentoFormatado() .' não encontrado.');
}else{
/**
* Aqui será atribuído um nome aos anexos
*/
$ext = explode('.', $objAnexoDTO->getStrNome());
/**
* o código abaixo foi comentado, pois com ele estavam sendo gerados os nomes que não refletiam os nomes reais dos arquivos.
*/
$ext = strtolower($ext[count($ext)-1]);
$strNomeArquivo = $objAnexoDTO->getStrNome();

/**
* Aqui, o anexo será adicionado ao zip
*/
$strLocalizacaoArquivo = DIR_SEI_TEMP.'/'. $objAnexoDTO->getNumIdAnexo() ;
//if ($zipFile->addFile($strLocalizacaoArquivo,'['.$numComponenteDigital.']-'.InfraUtil::formatarNomeArquivo($strNomeArquivo)) === false){
if ($zipFile->addFile($strLocalizacaoArquivo, '['.$numSequencial.']-'.InfraUtil::formatarNomeArquivo($strNomeArquivo)) === false){
throw new InfraException('Erro adicionando arquivo externo ao zip.');
}
else{
/**
* Aqui quer dizer que o arquivo já foi colocado dentro do zip.
* Vamos colocá-lo em um array e depois utilizarmos este array para fazer as exclusões.
*/
array_push($arrayAnexosExcluirFisicamente, $strLocalizacaoArquivo);
}
}
}
}else{
$objInfraException->adicionarValidacao('Não foi possível detectar o tipo do documento '.$objDocumentoDTO->getStrProtocoloDocumentoFormatado().'.');
}
}
foreach ($arrObjDocumentoDTO as $objDocumentoDTO) {
$contDocumentosDto++;
$objAnexoRN = new AnexoRN();

$strProtocoloDocumentoFormatado = $objDocumentoDTO->getStrProtocoloDocumentoFormatado();
$strNomeArquivoCompactado = $objAnexoRN->gerarNomeArquivoTemporario();
$strCaminhoCompletoArquivoZip = DIR_SEI_TEMP.'/'.$strNomeArquivoCompactado;

$zipFile= new ZipArchive();
$zipFile->open($strCaminhoCompletoArquivoZip, ZIPARCHIVE::CREATE);

$arrObjDocumentoDTO = InfraArray::indexarArrInfraDTO($arrObjDocumentoDTO, 'IdDocumento');
$numCasas=floor(log10(count($arrObjDocumentoDTO)))+1;
$numSequencial = 0;
foreach($arrIdDocumentos as $dblIdDocumento){
$objDocumentoDTO = $arrObjDocumentoDTO[$dblIdDocumento];
$strDocumento = '';
if ($objDocumentoDTO->getStrStaProtocoloProtocolo() == ProtocoloRN::$TP_DOCUMENTO_RECEBIDO){
$arrayAnexosExcluirFisicamente = array();
foreach ($parArrAnexoDTO as $objAnexoDTO){
$numSequencial++;

if ($objAnexoDTO==null){
$objInfraException->adicionarValidacao('Documento '.$objDocumentoDTO->getStrProtocoloDocumentoFormatado() .' não encontrado.');
}else{
/**
* Aqui será atribuído um nome aos anexos
*/
$ext = explode('.', $objAnexoDTO->getStrNome());
/**
* o código abaixo foi comentado, pois com ele estavam sendo gerados os nomes que não refletiam os nomes reais dos arquivos.
*/
$ext = strtolower($ext[count($ext)-1]);
$strNomeArquivo = $objAnexoDTO->getStrNome();

/**
* Aqui, o anexo será adicionado ao zip
*/
$strLocalizacaoArquivo = DIR_SEI_TEMP.'/'. $objAnexoDTO->getNumIdAnexo() ;
//if ($zipFile->addFile($strLocalizacaoArquivo,'['.$numComponenteDigital.']-'.InfraUtil::formatarNomeArquivo($strNomeArquivo)) === false){
if ($zipFile->addFile($strLocalizacaoArquivo, '['.$numSequencial.']-'.InfraUtil::formatarNomeArquivo($strNomeArquivo)) === false){
throw new InfraException('Erro adicionando arquivo externo ao zip.');
}
else{
/**
* Aqui quer dizer que o arquivo já foi colocado dentro do zip.
* Vamos colocá-lo em um array e depois utilizarmos este array para fazer as exclusões.
*/
array_push($arrayAnexosExcluirFisicamente, $strLocalizacaoArquivo);
}
}
}
}else{
$objInfraException->adicionarValidacao('Não foi possível detectar o tipo do documento '.$objDocumentoDTO->getStrProtocoloDocumentoFormatado().'.');
}
}
$objInfraException->lancarValidacoes();
if ($zipFile->close() === false) {
throw new InfraException('Não foi possível fechar arquivo zip.');
throw new InfraException('Não foi possível fechar arquivo zip.');
}
$objAnexoDTO = new AnexoDTO();
$arrNomeArquivo = explode('/', $strCaminhoCompletoArquivoZip);
@@ -222,7 +222,7 @@ protected function compactarAnexosDoDocumento($parNumIdDocumento, $parArrAnexoDT
* Vamos varrer os arquivos que devem ser excluídos fisicamente da pasta temporária e excluí-los
*/
foreach ($arrayAnexosExcluirFisicamente as $caminhoArquivoExcluirFisicamente){
unlink($caminhoArquivoExcluirFisicamente);
unlink($caminhoArquivoExcluirFisicamente);
}
}
return $objAnexoDTO;
@@ -256,9 +256,9 @@ private function atualizarAnexoDoComponenteDigital($parObjComponenteDigitalDTO,
*/
public function copiarComponenteDigitalPastaTemporaria($parArrComponenteDigital, $parObjConteudo)
{
if (!isset($parArrComponenteDigital)) {
throw new InfraException("Componente Digital não informado");
}
if (!isset($parArrComponenteDigital)) {
throw new InfraException("Componente Digital não informado");
}
$objAnexoRN = new AnexoRN();
$strNomeArquivoUpload = $objAnexoRN->gerarNomeArquivoTemporario();
$strConteudoCodificado = $parObjConteudo->conteudoDoComponenteDigital;
70 changes: 35 additions & 35 deletions src/rn/ReceberProcedimentoRN.php
Original file line number Diff line number Diff line change
@@ -1667,9 +1667,9 @@ private function atribuirDocumentos($parObjProcedimentoDTO, $parObjProtocolo, $o

foreach($arrObjDocumentos as $objDocumento) {

if (is_array($objDocumento)) {
$objDocumento = (object) $objDocumento;
}
if (is_array($objDocumento)) {
$objDocumento = (object) $objDocumento;
}

if(!isset($objDocumento->staTipoProtocolo) || $bolDocumentoAvulso) {

@@ -2643,23 +2643,23 @@ private function documentosPendenteRegistro($parNumIdProcedimento, $parNumIdDocu
* @param $parComponentePendente
* @return $tamanhoComponentePendende
*/
private function obterTamanhoComponenteDigitalPendente($parObjProtocolo, $parComponentePendente)
{
//Obtém os documentos do protocolo em um array
$arrObjDocumentos = ProcessoEletronicoRN::obterDocumentosProtocolo($parObjProtocolo);

//Percorre os documentos e compoenntes para pegar o tamanho em bytes do componente
foreach ($arrObjDocumentos as $objDocumento) {
$arrObjComponentesDigitais = ProcessoEletronicoRN::obterComponentesDigitaisDocumento($objDocumento);
foreach ($arrObjComponentesDigitais as $arrComponentesDigital) {
if (ProcessoEletronicoRN::getHashFromMetaDados($arrComponentesDigital['hash']) == $parComponentePendente) {
$tamanhoComponentePendende = $arrComponentesDigital['tamanhoEmBytes'];
break;
}
}
}
return $tamanhoComponentePendende;
}
private function obterTamanhoComponenteDigitalPendente($parObjProtocolo, $parComponentePendente)
{
//Obtém os documentos do protocolo em um array
$arrObjDocumentos = ProcessoEletronicoRN::obterDocumentosProtocolo($parObjProtocolo);

//Percorre os documentos e compoenntes para pegar o tamanho em bytes do componente
foreach ($arrObjDocumentos as $objDocumento) {
$arrObjComponentesDigitais = ProcessoEletronicoRN::obterComponentesDigitaisDocumento($objDocumento);
foreach ($arrObjComponentesDigitais as $arrComponentesDigital) {
if (ProcessoEletronicoRN::getHashFromMetaDados($arrComponentesDigital['hash']) == $parComponentePendente) {
$tamanhoComponentePendende = $arrComponentesDigital['tamanhoEmBytes'];
break;
}
}
}
return $tamanhoComponentePendende;
}


/**
@@ -2722,21 +2722,21 @@ private function receberComponenenteDigitalParticionado($componentePendente, $nr
}


private function indexarComponenteDigitaisDoProtocolo($parObjProtocolo)
{
$resultado = array();
$arrObjDocumentos = ProcessoEletronicoRN::obterDocumentosProtocolo($parObjProtocolo);
foreach ($arrObjDocumentos as $arrDocumento) {
if(isset($arrDocumento['componentesDigitais']) && !is_array($arrDocumento['componentesDigitais'])){
$arrDocumento['componentesDigitais'] = array($arrDocumento['componentesDigitais']);
}
foreach ($arrDocumento['componentesDigitais'] as $objComponente) {
$strHash = ProcessoEletronicoRN::getHashFromMetaDados($objComponente['hash']);
$resultado[$strHash] = $objComponente;
}
}
return $resultado;
}
private function indexarComponenteDigitaisDoProtocolo($parObjProtocolo)
{
$resultado = array();
$arrObjDocumentos = ProcessoEletronicoRN::obterDocumentosProtocolo($parObjProtocolo);
foreach ($arrObjDocumentos as $arrDocumento) {
if(isset($arrDocumento['componentesDigitais']) && !is_array($arrDocumento['componentesDigitais'])){
$arrDocumento['componentesDigitais'] = array($arrDocumento['componentesDigitais']);
}
foreach ($arrDocumento['componentesDigitais'] as $objComponente) {
$strHash = ProcessoEletronicoRN::getHashFromMetaDados($objComponente['hash']);
$resultado[$strHash] = $objComponente;
}
}
return $resultado;
}


/**