Jump to content
Sign in to follow this  
Marcos Brasil

SQL ferias

Recommended Posts

Boa tarde,

Alguem pode so me dar uma ideia de como busco em uma consulta SQL, o periodo maximo de aquisiçao das ferias dos funcionarios.

Sei que nao ha uma tabela especifica, tenho que fazer a soma ou algo em qual tabela e como?

Podem me ajudar?

Share this post


Link to post
Share on other sites

Segue o SQl conforme escrevi para retorno da data limite de ferias do colaborador, segue descrito no comentário da consulta.

 

SELECT DISTINCT
         PFUFERIAS.CODCOLIGADA AS COLIGADA,
         PFUNC.CHAPA AS MATRICULA, 
         PFUNC.NOME,
         PFUNCAO.NOME AS CARGO,
         PFUFERIAS.INICIOPERAQUIS AS DATA_2,
         PSECAO.DESCRICAO AS SECAO,
         TO_CHAR (PFUNC.DATAADMISSAO, 'DD/MM/YYYY') AS ADMISSAO,     
         
                        CASE PFUNC.CODSITUACAO
                        WHEN 'A' THEN 'ATIVO'
                        ELSE NULL END AS SITUAÇAO,

               
         TO_CHAR (PFUFERIASPER.DATAINICIO, 'DD/MM/YYYY')INICIO,
         TO_CHAR (PFUFERIASPER.DATAFIM, 'DD/MM/YYYY')DATA_FIM,
         TO_DATE (PFUFERIAS.FIMPERAQUIS) + 240 AS DATA_LIMITE  -------------   /*Aqui é onde estou tentando buscar a data limite de ferias do colaborador, pela logica peguei o fim do período aquisitivo e somei por 240, alguém poderia ajudar, sendo que ate então não esta trazendo como quero?*/
                                                  
    FROM PFUNC 
    INNER JOIN PSECAO 
    ON PSECAO.CODCOLIGADA = PFUNC.CODCOLIGADA
    AND PSECAO.CODIGO = PFUNC.CODSECAO
    
    JOIN PFUNCAO 
    ON  PFUNCAO.CODCOLIGADA = PFUNC.CODCOLIGADA
    AND PFUNCAO.CODIGO = PFUNC.CODFUNCAO
    
    INNER JOIN PFUFERIASPER 
    ON PFUFERIASPER.CHAPA = PFUNC.CHAPA
    AND PFUFERIASPER.CODCOLIGADA = PFUNC.CODCOLIGADA
    
    INNER JOIN PFUFERIAS
    ON PFUFERIASPER.CHAPA = PFUNC.CHAPA
    AND PFUFERIASPER.CODCOLIGADA = PFUNC.CODCOLIGADA
    
    WHERE PFUNC.CODSITUACAO NOT IN ('D')
   ORDER BY PFUFERIAS.INICIOPERAQUIS DESC
    

Share this post


Link to post
Share on other sites

Marcos, boa tarde.

 

A data limite seria 30 dias antes do fim do período concessivo, neste caso eu colocaria 365 dias - 31 dias  =334 

Desta forma ele saberá que deve gozar ferias antes doa dia PFUFERIAS.FIMPERAQUIS + 334 dias.

 

Eu já cheguei a fazer um acompanhamento para saber se haverá ferias em dobro para os funcionários e eu utilzei o mês que informei para analisar quem estava a 30, 60 e 90 dias de férias a vencer..

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.