Soma de horas total!!
03/11/2018
0
Boa tarde!!
estou com problema para gerar um relatório no rave report, preciso somar as horas totais de cada funcionário, estou tentando fazer via sql mas ate agora não consegui, preciso mostrar as horas totais trabalhada no mês , e por dia, o meu problema esta no calculo total, para mostrar o tempo que o funcionário trabalhou durante um certo período. Abaixo esta o sql feito ate o momento.
select H.CODIGO_HORAS AS COD
,H.FUN_COD AS CODIGO
,F.FUN_NOME AS NOME
,E.EMP_COD AS CODEMP
,E.EMP_NOME AS EMPRESA
,HORAS_DATA AS DATA
,HORAS_ENTRADA_P1 AS ENTRADAP1
,HORAS_SAIDA_P1 AS SAIDAP1
,HORAS_ENTRADA_P2 AS ENTRADAP2
,HORAS_SAIDA_P2 AS SAIDAP2
,HORAS_TOTAL AS TOTAL
,HORAS_AMENOR AS FALTA
,HORAS_EXTRA AS EXTRA
from TBL_HORAS AS H
full join TBL_FUNCIONARIO AS F CROSS JOIN TBL_EMPRESA AS E
on H.CODIGO_HORAS = F.FUN_COD
where H.FUN_COD = :codFuncionario
AND CAST(HORAS_DATA AS DATE) >= :dataini
AND CAST(HORAS_DATA AS DATE) <= :datafim
GROUP BY DATA,COD,CODEMP,EMPRESA,CODIGO,NOME,ENTRADAP1,SAIDAP1,ENTRADAP2,SAIDAP2,TOTAL,FALTA,EXTRA
estou com problema para gerar um relatório no rave report, preciso somar as horas totais de cada funcionário, estou tentando fazer via sql mas ate agora não consegui, preciso mostrar as horas totais trabalhada no mês , e por dia, o meu problema esta no calculo total, para mostrar o tempo que o funcionário trabalhou durante um certo período. Abaixo esta o sql feito ate o momento.
select H.CODIGO_HORAS AS COD
,H.FUN_COD AS CODIGO
,F.FUN_NOME AS NOME
,E.EMP_COD AS CODEMP
,E.EMP_NOME AS EMPRESA
,HORAS_DATA AS DATA
,HORAS_ENTRADA_P1 AS ENTRADAP1
,HORAS_SAIDA_P1 AS SAIDAP1
,HORAS_ENTRADA_P2 AS ENTRADAP2
,HORAS_SAIDA_P2 AS SAIDAP2
,HORAS_TOTAL AS TOTAL
,HORAS_AMENOR AS FALTA
,HORAS_EXTRA AS EXTRA
from TBL_HORAS AS H
full join TBL_FUNCIONARIO AS F CROSS JOIN TBL_EMPRESA AS E
on H.CODIGO_HORAS = F.FUN_COD
where H.FUN_COD = :codFuncionario
AND CAST(HORAS_DATA AS DATE) >= :dataini
AND CAST(HORAS_DATA AS DATE) <= :datafim
GROUP BY DATA,COD,CODEMP,EMPRESA,CODIGO,NOME,ENTRADAP1,SAIDAP1,ENTRADAP2,SAIDAP2,TOTAL,FALTA,EXTRA
Ismael
Curtir tópico
+ 0
Responder
Post mais votado
05/11/2018
o que você tem na tabela TBL_HORAS? Pode publicar a estrutura da tabela?
Emerson Nascimento
Responder
Mais Posts
07/11/2018
Ismael
"CODIGO_HORAS" INTEGER NOT NULL,
"FUN_COD" INTEGER NOT NULL,
"HORAS_DATA" TIMESTAMP,
"HORAS_ENTRADA_P1" TIME,
"HORAS_SAIDA_P1" TIME,
"HORAS_ENTRADA_P2" TIME,
"HORAS_SAIDA_P2" TIME,
"HORAS_TOTAL" TIME,
"HORAS_AMENOR" TIME,
"HORAS_EXTRA" TIME,
PRIMARY KEY ("CODIGO_HORAS")
);
ALTER TABLE "TBL_HORAS" ADD FOREIGN KEY ("FUN_COD") REFERENCES "TBL_FUNCIONARIO" ("FUN_COD");
usei o sum, mas ele soma as horas ate 23:59:59 e nao acresenta mais exemplo
23:00:00 + 04:00:00 = 27:00:00 assim deveria me aparecer
porem ele aparece assim 03:00:00 não sei se me entendeu.
"FUN_COD" INTEGER NOT NULL,
"HORAS_DATA" TIMESTAMP,
"HORAS_ENTRADA_P1" TIME,
"HORAS_SAIDA_P1" TIME,
"HORAS_ENTRADA_P2" TIME,
"HORAS_SAIDA_P2" TIME,
"HORAS_TOTAL" TIME,
"HORAS_AMENOR" TIME,
"HORAS_EXTRA" TIME,
PRIMARY KEY ("CODIGO_HORAS")
);
ALTER TABLE "TBL_HORAS" ADD FOREIGN KEY ("FUN_COD") REFERENCES "TBL_FUNCIONARIO" ("FUN_COD");
usei o sum, mas ele soma as horas ate 23:59:59 e nao acresenta mais exemplo
23:00:00 + 04:00:00 = 27:00:00 assim deveria me aparecer
porem ele aparece assim 03:00:00 não sei se me entendeu.
Responder
08/11/2018
Emerson Nascimento
todos os sistemas que eu vi trabalhar com horas trabalham com horas centesimais. é mais fácil de fazer as contas.
você trabalha internamente sempre com centesimal, mas apresenta para o usuário em sexagesimal.
você trabalha internamente sempre com centesimal, mas apresenta para o usuário em sexagesimal.
Responder
Clique aqui para fazer login e interagir na Comunidade :)