diff --git a/src/bd/PenMetaBD.php b/src/bd/PenMetaBD.php index 1f65999ba..8ae74d041 100755 --- a/src/bd/PenMetaBD.php +++ b/src/bd/PenMetaBD.php @@ -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) { @@ -87,6 +91,7 @@ public function isDriverSuportado(){ break; case 'InfraSqlServer': case 'InfraOracle': + case 'InfraPostgreSql': break; default: @@ -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); @@ -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; } diff --git a/src/rn/ProcessoExpedidoRN.php b/src/rn/ProcessoExpedidoRN.php index baecc44b0..813b9fca8 100755 --- a/src/rn/ProcessoExpedidoRN.php +++ b/src/rn/ProcessoExpedidoRN.php @@ -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 diff --git a/src/rn/ReceberProcedimentoRN.php b/src/rn/ReceberProcedimentoRN.php index 045b36c25..0fe4d6083 100755 --- a/src/rn/ReceberProcedimentoRN.php +++ b/src/rn/ReceberProcedimentoRN.php @@ -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 diff --git a/src/scripts/sei_atualizar_versao_modulo_pen.php b/src/scripts/sei_atualizar_versao_modulo_pen.php index 6f2980002..028eef592 100755 --- a/src/scripts/sei_atualizar_versao_modulo_pen.php +++ b/src/scripts/sei_atualizar_versao_modulo_pen.php @@ -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); diff --git a/src/scripts/sip_atualizar_versao_modulo_pen.php b/src/scripts/sip_atualizar_versao_modulo_pen.php index 9b182bf85..de30e0de8 100755 --- a/src/scripts/sip_atualizar_versao_modulo_pen.php +++ b/src/scripts/sip_atualizar_versao_modulo_pen.php @@ -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); diff --git a/tests_sei4/funcional/env_postgresql b/tests_sei4/funcional/env_postgresql new file mode 100755 index 000000000..77d8b5cf3 --- /dev/null +++ b/tests_sei4/funcional/env_postgresql @@ -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 diff --git a/tests_super/funcional/env_postgresql b/tests_super/funcional/env_postgresql new file mode 100755 index 000000000..565266fe0 --- /dev/null +++ b/tests_super/funcional/env_postgresql @@ -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