ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Projeção de período aquisitivo de férias

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
tec_informatica
Novato
Novato


Registrado: Sábado, 28 de Agosto de 2010
Mensagens: 2

MensagemEnviada: Qui Ago 15, 2019 8:13 pm    Assunto: Projeção de período aquisitivo de férias Responder com Citação

Boa noite caros colegas!

Estou há uns dois dias pesquisando e tentando desenvolver uma stored procedure que seja capaz de projetar um período aquisitivo de férias a partir de determinada data, mas sem sucesso. Por isso criei este tópico na esperança de alguém possa me dar uma dica, uma direção...

Contexto: o funcionário é registrado numa data, campo obrigatório do seu cadastro, e a partir desta data preciso projetar um ano, que corresponde ao chamado período aquisitivo de férias. E a lógica desta projeção pode ser vista abaixo em alguns exemplos:

1 - admissão: 02/01/2019 --- período aquisitivo: 02/01/2019 a 01/01/2020
2 - admissão: 21/03/2018 --- período aquisitivo: 21/03/2018 a 20/03/2019
3 - admissão: 15/08/2019 --- período aquisitivo: 15/08/2019 a 14/08/2019
4 - admissão: 01/01/2019 --- período aquisitivo: 01/01/2019 a 31/12/2019


Na lógica de implementação que estou usando, ao gravar o registro do trabalhador no banco de dados, um gatilho será responsável por chamar uma stored procedure que faça as projeções conforme exemplifiquei acima. Essa forma de contagem está prevista na legislação trabalhista.

Desde já agradeço a quem puder me dar alguma dica ou sugestão ou mesmo um link com solução semelhante pra que possa ajustar conforme minha necessidade.

Obrigado.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
tec_informatica
Novato
Novato


Registrado: Sábado, 28 de Agosto de 2010
Mensagens: 2

MensagemEnviada: Qui Ago 15, 2019 10:36 pm    Assunto: Responder com Citação

Pessoal, encontrei uma medida paliativa... acredito que deve haver uma solução mais elegante, mas por hora já resolve meu problema. Abaixo o código que utilizei. Estou utilizando o Firebird 2.5.

Código:

CREATE PROCEDURE SP_INSERE_PERIODO_AQUISITIVO (
    ADMISSAO Date,
    IDFUNC Bigint )
AS
DECLARE VARIABLE inicio date;
DECLARE VARIABLE final date;
BEGIN
  inicio = :admissao;
  final = dateadd(year,1,:inicio);
  final = dateadd(day,-1,:final);
 
  insert into FERIAS values(null,:inicio,:final,30,0,'em aberto',:idfunc);
END^
SET TERM ; ^
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB