Soma de horas total!!
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
Curtidas 0
Melhor post
Emerson Nascimento
05/11/2018
o que você tem na tabela TBL_HORAS? Pode publicar a estrutura da tabela?
GOSTEI 1
Mais Respostas
Ismael
03/11/2018
"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.
GOSTEI 0
Emerson Nascimento
03/11/2018
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.
GOSTEI 0