Estou utilizando o iReport para confeccionar os relatórios. Preciso gerar um relatorio que calcule horas de atendimento. Por exemplo: tenho os campos código do atendimento, tecnico, data, horaInicial e horaFinal. O relatorio deve calcular o periodo de horas de cada atendimento e no final somar todas as horas de atendimento.
Consegui separar o periodo de horas atendidas direto no sql pelo comando
SELECT
TIMEDIFF(horaFim,horaInicio) horasTecnica
Esse comando tira a diferença entre a “hora inicio” e a “hora fim” e joga ela no campo “horas tecnica”. Até aqui tudo bem, faz o que preciso gerando as horas para cada atendimento.
O meu problema é quanto ao total de horas, pois preciso somar todos esses valores do campo “hora tecnica” e mostrar em um campo “total”.
Já pesquisei várias soluções aqui no GUJ e encontrei para criar uma variavel, utiliza-la como SUM, selecionar a coluna que preciso somar os valores e mesmo assim não funcionou. Ele sempre me mostra o ultimo valor da coluna “horas tecnica” como total e não soma. O que notei de diferente é que todas as soluções são para tipo INT, DOUBLE ou FLOAT, mas nenhum sobre o tipo TIME.
Minha ideia é que ficasse assim:
Código | Técnico | Data | Hora inicio | Hora Fim | Horas Técnica
0001 | TEC01 | 01/08/17 | 08:00 | 09:00 | 01:00
0002 | TEC01 | 02/08/17 | 11:00 | 13:00 | 02:00
0003 | TEC01 | 10/08/17 | 10:00 | 10:15 | 00:15
total: 03:15
Alguém pode me dar um auxilio?
Utlizo MySQL 5.5 e iReport 5.6.0