Bloqueio de inscrição por função SQL
Utilizado quando se deseja fazer validações específicas durante uma inscrição logo após a pessoa informar o CPF ou passaporte, impedindo a inscrição e exibindo alguma mensagem para a pessoa.
Essa configuração só pode ser realizada por alguém com acesso ao banco de dados do sistema e com noção de banco de dados SQL.
Ao realizar o bloqueio será gravado um log desse bloqueio na tabela TB_INSC_VALSQL_BLOQ, que pode ser consultado a partir da tela de Consulta de log de bloqueio da inscrição (Veja aqui os procedimentos para dar acesso a um recurso.)
Para utilizar essa funcionalidade, deve-se criar uma função de banco dentro do banco de dados “ICO” do sistema com um nome de no máximo 30 caracteres.
Para o módulo de Inscrição, a função deve conter obrigatoriamente 4 parâmetros, são eles:
- O primeiro parâmetro que deve ser enviado é o “id da pessoa”.
- O segundo parâmetro que deve ser enviado é “id da turma”.
- O terceiro parâmetro deve ser o “tipo do módulo”
- O quarto parâmetro deve ser o “ id turma/disciplina”
Para o módulo de “Processo Seletivo”, a função deve conter obrigatoriamente 3 parâmetros, são eles:
- O primeiro parâmetro que deve ser enviado é o “id da pessoa”.
- O segundo parâmetro que deve ser enviado é “id do concurso”.
- O terceiro parâmetro deve ser o “tipo do módulo”
Os parâmetros devem estar com os tipos “inteiro, inteiro e varchar” respectivamente, portanto os tipos dos parâmetros da função devem ser os mesmos e nessa ordem, além disso o seu retorno deve ser do tipo “varchar”, pois será esse retorno que será exibido em tela para o usuário. Caso alguma dessas regras não seja cumprida, não será possível utilizá-la.
Os parâmetros devem estar com os tipos “inteiro, inteiro e varchar” respectivamente, portanto os tipos dos parâmetros da função devem ser os mesmos e nessa ordem, além disso o seu retorno deve ser do tipo “varchar”, pois será esse retorno que será exibido em tela para o usuário. Caso alguma dessas regras não seja cumprida, não será possível utilizá-la.
Exemplo de sintaxe para a função para a Configuração no módulo de Inscrição, para o Processo seletivo basta retirar o id da turma/disciplina conforme informado na regras acima.
Microsoft SQL Server
- mssql.sql
CREATE FUNCTION FUNC_PARCELAS_ABERTO(@ID_PESSOA INT, @ID_CONCURSO_INSC INT, @TIPO_MODULO VARCHAR(255), @DISCIPLINAS_SELEC_ID VARCHAR(255)) RETURNS VARCHAR(255) AS BEGIN DECLARE @QTD_PARCELAS INT SELECT @QTD_PARCELAS = COUNT(PAR_ID) FROM TB_PARCELA WHERE PAR_RESPESID = @ID_PESSOA AND PAR_SITPAG = 1 IF @QTD_PARCELAS > 0 RETURN CONCAT('Você possui ',@QTD_PARCELAS,' parcelas em aberto, não é possível se inscrever'); RETURN NULL END
Oracle
- oracle.sql
CREATE OR REPLACE FUNCTION FUNC_PARCELAS_ABERTO(V_ID_PESSOA INT, V_CONCURSO_INSC INT, V_TIPO_MODULO VARCHAR2, vDISCIPLINAS_SELEC_ID VARCHAR2) RETURN VARCHAR AS V_QTD_PARCELAS INT; BEGIN SELECT COUNT(PAR_ID) INTO V_QTD_PARCELAS FROM TB_PARCELA WHERE PAR_RESPESID = V_ID_PESSOA AND PAR_SITPAG = 1; IF V_QTD_PARCELAS > 0 THEN RETURN 'Você possui ' || V_QTD_PARCELAS || ' parcelas em aberto, não é possível se inscrever'; END IF; RETURN NULL; END;
Nesse exemplo a função vai buscar as parcelas em aberto da pessoa que estiver se inscrevendo (caso já exista uma pessoa cadastrada com o CPF informado), caso exista alguma parcela em aberto, vai retornar a mensagem informando a quantidade de parcelas impedindo a inscrição e emitindo a mensagem em tela, caso contrário retorna NULL, não emite mensagem e permite a inscrição.
Após criar a função, para passar a utilizá-la é necessário informá-la nas configurações de inscrição ou processo seletivo, na aba “Geral”, campo “Função de validação específica”. Deve-se informar apenas o nome da função, conforme imagens abaixo.
Configuração de inscrição no processo seletivo
Configuração de inscrição para inscrição em turma
Ao inserir o CPF ou passaporte, o sistema buscará uma pessoa cadastrada no sistema com esse CPF ou passaporte, caso encontre, vai executar a função com os parâmetros supracitados, caso a função retorne algum texto esse texto será exibido em tela para o usuário e não permitirá a inscrição (anexo), caso contrário o usuário poderá prosseguir com o processo normalmente.
Valores para o parâmetro Tipo do módulo:
ACADEMICO - Acadêmico (Graduação, Pós, Escola, etc…)
CENTRALALU - Portal do aluno
CENTRALRES - Portal do responsável
CENTRALEXA - Portal do ex-aluno
CENTRALCOL - Portal do colaborador
CENTRALCOO - Portal do coordenador
CENTRALPRO - Portal do professor
Ainda há dúvidas? Se você preferir retire suas dúvidas com o nosso suporte, clique aqui e abra um chamado para atendimento.