Array
(
)

Calculo de Horas Extras

Ramms
   - 04 abr 2006

Olá
preciso desenvolver uma lógica para calcular as horas extras dos funcionários....
Eu tenho a tabela CRTPTN com seguinte estrutura
ID_CRTPTN //auto incremento
NUMCRACHA // número do crachá do funcionário
DATA // data do registro
HORARIO // Horário do registro
TIPO // Tipo de registro - 1 = Entrada 1º periodo - 2 = saida 1 per. - 3 entrada 2 per - 4 saida 2per...

para calcular a hr extra e atrasos só preciso filtrar registros com valor do tipo 1 e 4...
eu fiz essa instrução para me trazer organizadamente os dados...

#Código

select (crt.data) Data, 
(crt1.horario) Entrada,
(crt2.horario) Saida
from crtptn crt
left join
crtptn crt1 on (crt1.tipo = 1 and crt1.data = crt.data and crt1.numcracha = crt.numcracha)
left join
crtptn crt2 on (crt2.tipo = 4 and crt2.data = crt.data and crt2.numcracha = crt.numcracha)
where
crt.numcracha = :num and crt.tipo in (1,4)
group by
crt.data, crt1.horario, crt2.horario


Essa instrução me traz os dados certinhos...
só que eu qria adicionar uma coluna estabelecendo hora extra e atrasos...
levando como base que todos entram as 8 hrs e saem as 18...
Alguma idéia?
vlwzzzzzzz