Jump to content

Recommended Posts

Posted

Olá a todos, precisava de uma ajudinha 

Tenho 2 tabelas sql server:
 

Funcionarios:

Id                   1
Nome                 José Ferreira
HorarioEntrada1      08:00
HorarioSaida1        12:30
HorarioEntrada2      13:30
HorarioSaida2        17:00

Picagem:

Id                   267384
Func_Id              1
Pica                 2018-08-08 12:32:34 

O que quero fazer é ao percorrer todas os registos na tabela Picagem, verificar se o funcionário saiu ou entrou na empresa, de acordo com o horário do mesmo. Qual a forma mais simples e eficaz de resolver isto?

Desde já, muito obrigado.

Posted (edited)

Boa tarde footboyedit,

esquecendo a parte do SQL, o que indica se o funcionario entrou ou saiu? Pela hora de picagem?
Se estiver perto da hora de entrada é porque entrou, se tiver perto da hora de saida é porque saiu?

Podes por exemplo fazer um select que te retorna a diferença de hora do campo Pica com cada um dos campos do horario da ficha do funcionario. Depois consideras o que tiver menor diferença.

No entanto isso poderá não funcionar bem se o funcionar entrar por exemplo às 12h. Ficaria perto da hora de saida e iria considerar que saiu.

Nesse caso poderás considerar o total de picas do dia. Se for impar é porque entrou, se for par é porque saiu
 

Espero que ajude,
nelsonr

Edited by nelsonr
  • Vote 1
Posted
Em 14/08/2018 às 15:25, nelsonr disse:

Boa tarde footboyedit,

esquecendo a parte do SQL, o que indica se o funcionario entrou ou saiu? Pela hora de picagem?
Se estiver perto da hora de entrada é porque entrou, se tiver perto da hora de saida é porque saiu?

Podes por exemplo fazer um select que te retorna a diferença de hora do campo Pica com cada um dos campos do horario da ficha do funcionario. Depois consideras o que tiver menor diferença.

No entanto isso poderá não funcionar bem se o funcionar entrar por exemplo às 12h. Ficaria perto da hora de saida e iria considerar que saiu.

Nesse caso poderás considerar o total de picas do dia. Se for impar é porque entrou, se for par é porque saiu
 

Espero que ajude,
nelsonr

Desde já obrigado. Mas e se houver um esquecimento de picagem?

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.