Jump to content
Fórum Script Brasil
  • 0

Função MySql validação de feriado nacional


Question

Olá pessoal,

Estou há pouco tempo realizando analises e manutenção de BD no MySql e queria saber se podem me ajudar.

Eu criei uma função básica para auxiliar na identificação de horas para os colaboradores, neste caso os temporários já que os efetivos já tenho essa informação. O problema é que toda vez que tem algum feriado nacional eu tenho que desconsiderar manualmente as horas daquele dia e reprocessar a consulta. Se o feriado for de seg a qui são 9 horas e se for na sexta são 8 horas.

Função:

CREATE DEFINER=`dsdsd`@`%` FUNCTION `getValorHorasTemp`(EntradaMat varchar(255)) RETURNS int(11)
    DETERMINISTIC
BEGIN
DECLARE matricula varchar(255);
DECLARE Horas INT;
SET matricula = EntradaMat;
IF LOCATE('.t', matricula) THEN
  SET Horas = 44;
END IF;
RETURN Horas;
END

Pensei em otimizar deixando programado os feriados nacionais, e ao rodar a consulta ela deve verificar se na semana houve feriado e em qual dia, se for positivo, ela não deve desconsiderar a hora daquele dia. Já que são 44 horas a ideia é percorrer os dias e na confirmação de feriado e não considerar na soma ou subtrair do total. Contudo, não consegui colocar em pratica. Se puderem me ajudar com alguma dica, ficarei muito grato.

Link to post
Share on other sites

1 answer to this question

Recommended Posts

  • 0

Qual a composição do argumento EntradaMat?

16 horas atrás, ismorfi disse:

Pensei em otimizar deixando programado os feriados nacionais, e ao rodar a consulta ela deve verificar se na semana houve feriado e em qual dia

Crie uma tabela e consulte-a. Se retornar NULL não é um feriado. Senão, use a função DAYOFWEEK que, ao passar uma data para ela, retorna 1 para domingo, ..., e 7 para sábado.

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
Answer this question...

×   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.



  • Forum Statistics

    • Total Topics
      148883
    • Total Posts
      644939
×
×
  • Create New...