Skip to content

Commit

Permalink
feat: adiciona compatibilidade com postgresql no sei4 e sei oficial
Browse files Browse the repository at this point in the history
  • Loading branch information
marvdias committed Feb 28, 2024
1 parent a1068fb commit 14ada39
Show file tree
Hide file tree
Showing 7 changed files with 124 additions and 4 deletions.
10 changes: 10 additions & 0 deletions src/bd/PenMetaBD.php
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,10 @@ public function adicionarValorPadraoParaColuna($strNomeTabela, $strNomeColuna, $
case 'InfraOracle':
$strQuery = sprintf("ALTER TABLE %s MODIFY %s DEFAULT '%s'", $strNomeTabela, $strNomeColuna, $strValorPadrao);
break;

case 'InfraPostgreSql':
$strQuery = sprintf("ALTER TABLE %s ALTER COLUMN %s SET DEFAULT '%s'", $strNomeTabela, $strNomeColuna, $strValorPadrao);
break;
}

if($bolRetornarQuery === false) {
Expand Down Expand Up @@ -87,6 +91,7 @@ public function isDriverSuportado(){
break;
case 'InfraSqlServer':
case 'InfraOracle':
case 'InfraPostgreSql':
break;

default:
Expand Down Expand Up @@ -141,6 +146,10 @@ public function renomearTabela($strNomeTabelaAtual, $strNomeTabelaNovo){
case 'InfraOracle':
$strQuery = sprintf("RENAME TABLE %s TO %s", $strNomeTabelaAtual, $strNomeTabelaNovo);
break;

case 'InfraPostgreSql':
$strQuery = sprintf("ALTER TABLE %s RENAME TO %s", $strNomeTabelaAtual, $strNomeTabelaNovo);
break;
}

$objInfraBanco->executarSql($strQuery);
Expand All @@ -166,6 +175,7 @@ public function renomearColuna($strNomeTabela, $strNomeColunaAtual, $strNomeColu
break;

case 'InfraOracle':
case 'InfraPostgreSql':
$strQuery = sprintf("ALTER TABLE %s RENAME COLUMN %s TO %s", $strNomeTabela, $strNomeColunaAtual, $strNomeColunaNova);
break;
}
Expand Down
2 changes: 1 addition & 1 deletion src/rn/ProcessoExpedidoRN.php
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ public function listarProcessoExpedido(ProtocoloDTO &$objProtocoloDTO)
INNER JOIN md_pen_tramite ptra ON ptra.numero_registro = pe.numero_registro
INNER JOIN usuario us ON ptra.id_usuario = us.id_usuario
WHERE
p.sta_estado = " . $objProtocoloDTO->getStrStaEstado() . "
p.sta_estado = '" . $objProtocoloDTO->getStrStaEstado() . "'
AND
a.id_tarefa = ". ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_TRAMITE_EXTERNO) ."
AND
Expand Down
2 changes: 1 addition & 1 deletion src/rn/ReceberProcedimentoRN.php
Original file line number Diff line number Diff line change
Expand Up @@ -2525,7 +2525,7 @@ private function documentosPendenteRegistro($parNumIdProcedimento, $parNumIdDocu
left join md_pen_componente_digital comp on (comp.id_documento = doc.id_documento)
where comp.id_procedimento = $parNumIdProcedimento
and prot_doc.sta_protocolo = 'R'
and prot_doc.sta_estado <> " . ProtocoloRN::$TE_DOCUMENTO_CANCELADO . "
and prot_doc.sta_estado <> '" . ProtocoloRN::$TE_DOCUMENTO_CANCELADO . "'
and not exists (select 1 from anexo where anexo.id_protocolo = prot_doc.id_protocolo) ";

//Adiciona filtro adicional para verificar pelo identificador do documento, caso parâmetro tenha sido informado
Expand Down
3 changes: 2 additions & 1 deletion src/scripts/sei_atualizar_versao_modulo_pen.php
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,8 @@ protected function atualizarVersaoConectado()
if (
!(BancoSEI::getInstance() instanceof InfraMySql) &&
!(BancoSEI::getInstance() instanceof InfraSqlServer) &&
!(BancoSEI::getInstance() instanceof InfraOracle)
!(BancoSEI::getInstance() instanceof InfraOracle) &&
!(BancoSEI::getInstance() instanceof InfraPostgreSql)
) {

$this->finalizar('BANCO DE DADOS NAO SUPORTADO: ' . get_parent_class(BancoSEI::getInstance()), true);
Expand Down
3 changes: 2 additions & 1 deletion src/scripts/sip_atualizar_versao_modulo_pen.php
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,8 @@ protected function atualizarVersaoConectado()
if (
!(BancoSip::getInstance() instanceof InfraMySql) &&
!(BancoSip::getInstance() instanceof InfraSqlServer) &&
!(BancoSip::getInstance() instanceof InfraOracle)
!(BancoSip::getInstance() instanceof InfraOracle) &&
!(BancoSip::getInstance() instanceof InfraPostgreSql)
) {

$this->finalizar('BANCO DE DADOS NAO SUPORTADO: ' . get_parent_class(BancoSip::getInstance()), true);
Expand Down
54 changes: 54 additions & 0 deletions tests_sei4/funcional/env_postgresql
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
##### Diretório em que está localizada a instalação do SEI #####
SEI_PATH=../../../../../../
ENVIRONMENT_VERSION=10.0

SEI_CONFIG=./assets/config/ConfiguracaoSEI.php
SEI_DATABASE_NAME=sei
SEI_DATABASE_USER=sei_user
SEI_DATABASE_PASSWORD=sei_user

SIP_CONFIG=./assets/config/ConfiguracaoSip.php
SIP_DATABASE_NAME=sip
SIP_DATABASE_USER=sip_user
SIP_DATABASE_PASSWORD=sip_user


############### CONFIGURAÇÕES GERAIS DO ÓRGÃO 01 ###############
ORG1_HOSTNAME=org1-http
ORG1_PORT=8000
ORG1_SIGLA_ORGAO=ABC
ORG1_APP_SEI_CHAVE_ACESSO=7babf862e12bd48f3101075c399040303d94a493c7ce9306470f719bb453e0428c6135dc
ORG1_APP_SIP_CHAVE_ACESSO=d27791b894028d9e7fa34887ad6f0c9a2c559cccda5f64f4e108e3573d5db862b66fb933
ORG1_CERTIFICADO=/opt/sei/config/mod-pen/certificado_org1.pem
ORG1_CERTIFICADO_SENHA=XXXXXXXXXXXXXX


##### BANCO DE DADOS DO ÓRGÃO 1 #####
# Configurações do banco de dados POSTGRESQL do ÓRGÃO 1
ORG1_DATABASE_IMAGE=processoeletronico/vagrant_sei4_postgresql
ORG1_DATABASE_HOST=org1-database
ORG1_DATABASE_TYPE=PostgreSql
ORG1_DATABASE_GUEST_PORT=5432
ORG1_DATABASE_HOST_PORT=54321
ORG1_DATABASE_DATA_DIR=/var/lib/postgresql/data
CONTEXTO_ORGAO_A_DB_SEI_DSN=pgsql:host=org1-database;port=5432;dbname=sei


############### CONFIGURAÇÕES GERAIS DO ÓRGÃO 02 ###############

ORG2_HOSTNAME=org2-http
ORG2_PORT=8000
ORG2_SIGLA_ORGAO=ABC
ORG2_APP_SEI_CHAVE_ACESSO=7babf862e12bd48f3101075c399040303d94a493c7ce9306470f719bb453e0428c6135dc
ORG2_APP_SIP_CHAVE_ACESSO=d27791b894028d9e7fa34887ad6f0c9a2c559cccda5f64f4e108e3573d5db862b66fb933
ORG2_CERTIFICADO=/opt/sei/config/mod-pen/certificado_org2.pem
ORG2_CERTIFICADO_SENHA=XXXXXXXXXXXXXX

# Configurações do banco de dados POSTGRESQL do ÓRGÃO 2
ORG2_DATABASE_IMAGE=processoeletronico/vagrant_sei4_postgresql
ORG2_DATABASE_HOST=org2-database
ORG2_DATABASE_TYPE=PostgreSql
ORG2_DATABASE_GUEST_PORT=5432
ORG2_DATABASE_HOST_PORT=54322
ORG2_DATABASE_DATA_DIR=/var/lib/postgresql/data
CONTEXTO_ORGAO_B_DB_SEI_DSN=pgsql:host=org2-database;port=5432;dbname=sei
54 changes: 54 additions & 0 deletions tests_super/funcional/env_postgresql
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
##### Diretório em que está localizada a instalação do SEI #####
SEI_PATH=../../../../../../
ENVIRONMENT_VERSION=10.0

SEI_CONFIG=./assets/config/ConfiguracaoSEI.php
SEI_DATABASE_NAME=sei
SEI_DATABASE_USER=sei_user
SEI_DATABASE_PASSWORD=sei_user

SIP_CONFIG=./assets/config/ConfiguracaoSip.php
SIP_DATABASE_NAME=sip
SIP_DATABASE_USER=sip_user
SIP_DATABASE_PASSWORD=sip_user


############### CONFIGURAÇÕES GERAIS DO ÓRGÃO 01 ###############
ORG1_HOSTNAME=org1-http
ORG1_PORT=8000
ORG1_SIGLA_ORGAO=ABC
ORG1_APP_SEI_CHAVE_ACESSO=7babf862e12bd48f3101075c399040303d94a493c7ce9306470f719bb453e0428c6135dc
ORG1_APP_SIP_CHAVE_ACESSO=d27791b894028d9e7fa34887ad6f0c9a2c559cccda5f64f4e108e3573d5db862b66fb933
ORG1_CERTIFICADO=/opt/sei/config/mod-pen/certificado_org1.pem
ORG1_CERTIFICADO_SENHA=XXXXXXXXXXXXXX


##### BANCO DE DADOS DO ÓRGÃO 1 #####
# Configurações do banco de dados POSTGRESQL do ÓRGÃO 1
ORG1_DATABASE_IMAGE=processoeletronico/vagrant_super4_postgresql
ORG1_DATABASE_HOST=org1-database
ORG1_DATABASE_TYPE=PostgreSql
ORG1_DATABASE_GUEST_PORT=5432
ORG1_DATABASE_HOST_PORT=54321
ORG1_DATABASE_DATA_DIR=/var/lib/postgresql/data
CONTEXTO_ORGAO_A_DB_SEI_DSN=pgsql:host=org1-database;port=5432;dbname=sei


############### CONFIGURAÇÕES GERAIS DO ÓRGÃO 02 ###############

ORG2_HOSTNAME=org2-http
ORG2_PORT=8000
ORG2_SIGLA_ORGAO=ABC
ORG2_APP_SEI_CHAVE_ACESSO=7babf862e12bd48f3101075c399040303d94a493c7ce9306470f719bb453e0428c6135dc
ORG2_APP_SIP_CHAVE_ACESSO=d27791b894028d9e7fa34887ad6f0c9a2c559cccda5f64f4e108e3573d5db862b66fb933
ORG2_CERTIFICADO=/opt/sei/config/mod-pen/certificado_org2.pem
ORG2_CERTIFICADO_SENHA=XXXXXXXXXXXXXX

# Configurações do banco de dados POSTGRESQL do ÓRGÃO 2
ORG2_DATABASE_IMAGE=processoeletronico/vagrant_super4_postgresql
ORG2_DATABASE_HOST=org2-database
ORG2_DATABASE_TYPE=PostgreSql
ORG2_DATABASE_GUEST_PORT=5432
ORG2_DATABASE_HOST_PORT=54322
ORG2_DATABASE_DATA_DIR=/var/lib/postgresql/data
CONTEXTO_ORGAO_B_DB_SEI_DSN=pgsql:host=org2-database;port=5432;dbname=sei

0 comments on commit 14ada39

Please sign in to comment.