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

Adiciona compatibilidade com o PostgreSQL #366

Conversation

santosleonardo
Copy link

Também corrige um erro exibido ao tentar carregar os Processos Tramitados Externamente.

Ambiente testado: Homologação
Versão do PHP: 7.3.33
Versão do sistema SEI: 4.0.11
Versão do módulo: 3.3.1
Versão do PostgreSQL: 12.16

@caduvieira
Copy link
Member

Necessário executar testes completos para SEI3 e SEI4 e SEI4 - MGI.

@mateussbh se possível colocar na próxima sprint de testes.

@santosleonardo
Copy link
Author

santosleonardo commented Jan 26, 2024

Após as alterações realizadas nos commits 9231a99 e 334f084, foi possível instalar o módulo e enviar, com sucesso, um processo de um ambiente de homologação interno para o ambiente de teste disponibilizado pelo Tramita.

Ainda não foi possível receber um processo do ambiente de teste no mesmo ambiente de homologação interno. A ação gerou, no Infra > Log do SEI, o seguinte erro:

Descrição:
Erro gravando log.

Mensagem:
Erro gravando log.

Trilha de Processamento:
0 /opt/sei/web/modulos/pen/rn/ReceberProcedimentoRN.php(88): InfraRN->__call('receberProcedim...', Array)
1 /opt/sei/web/modulos/pen/rn/ProcessarPendenciasRN.php(179): ReceberProcedimentoRN->receberProcedimento(154237)
2 /opt/sei/web/modulos/pen/rn/PendenciasTramiteRN.php(400): ProcessarPendenciasRN->receberProcedimento('154237')
3 /opt/sei/web/modulos/pen/rn/PendenciasTramiteRN.php(370): PendenciasTramiteRN->enviarPendenciaProcessamentoDireto(Object(PendenciaDTO))
4 /opt/sei/web/modulos/pen/rn/PendenciasTramiteRN.php(95): PendenciasTramiteRN->enviarPendenciaProcessamento(Object(PendenciaDTO), false)
5 /opt/sei/scripts/mod-pen/MonitoramentoTarefasPEN.php(30): PendenciasTramiteRN->encaminharPendencias(false, false, false)
6 {main}

Descrição Original:
Exception: 'Warning: /opt/infra/infra_php/InfraPostgreSql.php linha:473.
pg_query(): Query failed: ERROR: current transaction is aborted, commands ignored until end of transaction block
' in /opt/infra/infra_php/Infra.php:246
Stack trace:
0 [internal function]: infraGerarExcecao(2, 'pg_query(): Que...', '/opt/infra/infr...', 473, Array)
1 /opt/infra/infra_php/InfraPostgreSql.php(473): pg_query(Resource id 137, 'SELECT NEXTVAL(...')
2 /opt/infra/infra_php/InfraPostgreSql.php(58): InfraPostgreSql->consultarSql('SELECT NEXTVAL(...')
3 /opt/infra/infra_php/InfraLog.php(63): InfraPostgreSql->getValorSequencia('seq_infra_log')
4 /opt/infra/infra_php/InfraRN.php(151): InfraLog->gravarControlado('Descri\xE7\xE3o:Exce...')
5 /opt/sei/web/modulos/pen/rn/ReceberProcedimentoRN.php(198): InfraRN->__call('gravar', Array)
6 /opt/infra/infra_php/InfraRN.php(151): ReceberProcedimentoRN->receberProcedimentoInternoControlado(Object(stdClass))
7 /opt/sei/web/modulos/pen/rn/ReceberProcedimentoRN.php(88): InfraRN->__call('receberProcedim...', Array)
8 /opt/sei/web/modulos/pen/rn/ProcessarPendenciasRN.php(179): ReceberProcedimentoRN->receberProcedimento(154237)
9 /opt/sei/web/modulos/pen/rn/PendenciasTramiteRN.php(400): ProcessarPendenciasRN->receberProcedimento('154237')
10 /opt/sei/web/modulos/pen/rn/PendenciasTramiteRN.php(370): PendenciasTramiteRN->enviarPendenciaProcessamentoDireto(Object(PendenciaDTO))
11 /opt/sei/web/modulos/pen/rn/PendenciasTramiteRN.php(95): PendenciasTramiteRN->enviarPendenciaProcessamento(Object(PendenciaDTO), false)
12 /opt/sei/scripts/mod-pen/MonitoramentoTarefasPEN.php(30): PendenciasTramiteRN->encaminharPendencias(false, false, false)
13 {main}

Trilha de Processamento Original:
0 [internal function]: infraGerarExcecao(2, 'pg_query(): Que...', '/opt/infra/infr...', 473, Array)
1 /opt/infra/infra_php/InfraPostgreSql.php(473): pg_query(Resource id 137, 'SELECT NEXTVAL(...')
2 /opt/infra/infra_php/InfraPostgreSql.php(58): InfraPostgreSql->consultarSql('SELECT NEXTVAL(...')
3 /opt/infra/infra_php/InfraLog.php(63): InfraPostgreSql->getValorSequencia('seq_infra_log')
4 /opt/infra/infra_php/InfraRN.php(151): InfraLog->gravarControlado('Descri\xE7\xE3o:Exce...')
5 /opt/sei/web/modulos/pen/rn/ReceberProcedimentoRN.php(198): InfraRN->__call('gravar', Array)
6 /opt/infra/infra_php/InfraRN.php(151): ReceberProcedimentoRN->receberProcedimentoInternoControlado(Object(stdClass))
7 /opt/sei/web/modulos/pen/rn/ReceberProcedimentoRN.php(88): InfraRN->__call('receberProcedim...', Array)
8 /opt/sei/web/modulos/pen/rn/ProcessarPendenciasRN.php(179): ReceberProcedimentoRN->receberProcedimento(154237)
9 /opt/sei/web/modulos/pen/rn/PendenciasTramiteRN.php(400): ProcessarPendenciasRN->receberProcedimento('154237')
10 /opt/sei/web/modulos/pen/rn/PendenciasTramiteRN.php(370): PendenciasTramiteRN->enviarPendenciaProcessamentoDireto(Object(PendenciaDTO))
11 /opt/sei/web/modulos/pen/rn/PendenciasTramiteRN.php(95): PendenciasTramiteRN->enviarPendenciaProcessamento(Object(PendenciaDTO), false)
12 /opt/sei/scripts/mod-pen/MonitoramentoTarefasPEN.php(30): PendenciasTramiteRN->encaminharPendencias(false, false, false)
13 {main}

@caduvieira
Copy link
Member

@mateussbh foi observado o mesmo comportamento no ambiente de testes?

@caduvieira
Copy link
Member

Isso me parece o comportamento padrão do postgres sobre uso de uma conexão quando dá problema em um SQL. É necessário maiores testes tanto do SEI core como do módulo para esse banco de dados. @PauloNehme por favor testar o SEI core em especial com falhas de negócio sendo logadas.

@yurioliveiramgi yurioliveiramgi added the backlog Tarefas já priorizadas, que podem ser puxadas label Feb 1, 2024
Copy link
Member

@caduvieira caduvieira left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Necessário adicionar env_postgres nas pastas de testes.

Não consigo enviar alteração no seu PR

@@ -93,7 +93,8 @@ protected function atualizarVersaoConectado()
if (
!(BancoSip::getInstance() instanceof InfraMySql) &&
!(BancoSip::getInstance() instanceof InfraSqlServer) &&
!(BancoSip::getInstance() instanceof InfraOracle)
!(BancoSip::getInstance() instanceof InfraOracle) &&
!(BancoSEI::getInstance() instanceof InfraPostgreSql)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Não podemos referenciar o BancoSEI no arquivo de atualização do SIP.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bem observado. Obrigado. Corrigido no commit 0c769f8.

@mateussbh
Copy link
Contributor

mateussbh commented Feb 1, 2024

Prezado @santosleonardo, poderia atualizar o PR para a versão do módulo do tramita 3.5.0, para que possamos dar prosseguimento com os testes? Por favor.

Complementando o Change request realizado pelo @caduvieira, também foi realizada a mudança no arquivo /src/rn/ReceberProcedimentoRN.php, conforme abaixo:

2528         -        and prot_doc.sta_estado <> " . ProtocoloRN::$TE_DOCUMENTO_CANCELADO . "
             +        and prot_doc.sta_estado <> '" . ProtocoloRN::$TE_DOCUMENTO_CANCELADO . "'

Porém, conforme dito, peço que atualize o PR com a branch master e faça o rebase para prosseguirmos com os testes para garantir a estabilidade destas atualização nas demais versões do sistema.

@mateussbh mateussbh self-requested a review February 5, 2024 12:52
@yurioliveiramgi yurioliveiramgi added this to the 3.6.0 milestone Feb 7, 2024
@marvdias marvdias self-assigned this Feb 27, 2024
@santosleonardo
Copy link
Author

Prezado @santosleonardo, poderia atualizar o PR para a versão do módulo do tramita 3.5.0, para que possamos dar prosseguimento com os testes? Por favor.

Complementando o Change request realizado pelo @caduvieira, também foi realizada a mudança no arquivo /src/rn/ReceberProcedimentoRN.php, conforme abaixo:

2528         -        and prot_doc.sta_estado <> " . ProtocoloRN::$TE_DOCUMENTO_CANCELADO . "
             +        and prot_doc.sta_estado <> '" . ProtocoloRN::$TE_DOCUMENTO_CANCELADO . "'

Porém, conforme dito, peço que atualize o PR com a branch master e faça o rebase para prosseguirmos com os testes para garantir a estabilidade destas atualização nas demais versões do sistema.

Fiz as alterações e um merge da master.

@caduvieira
Copy link
Member

Fechado em favor do #434 que possui os testes.

@caduvieira caduvieira closed this Mar 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backlog Tarefas já priorizadas, que podem ser puxadas
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants