Ireport

2 respostas
M

Montei a seguinte query no mysql

SELECT
ponto.dia AS ponto_dia,
ponto.hora_entrada AS ponto_hora_entrada,
ponto.hora_inicio AS ponto_hora_inicio,
ponto.hora_fim AS ponto_hora_fim,
ponto.hora_saida AS ponto_hora_saida,
ponto.dia_semana AS ponto_dia_semana,
ponto.mes AS ponto_mes,
ponto.ano AS ponto_ano,

CAST(@total_hora:=TIMEDIFF(hora_saida, hora_entrada)AS TIME) as total_hora,
CAST(@total_trabalhado:=TIMEDIFF(hora_fim, hora_inicio) AS TIME) as tota_almoco,
CAST(@saldo:=TIMEDIFF(@total_hora, @total_trabalhado) AS TIME) as total_trabalhado,
CAST(@resto:=TIMEDIFF(@saldo, ‘08:00:00’) AS TIME) as saldo

FROM ponto

é um sistema de folha de ponto, quando eu coloco essa query no ireport funciona porem quando o valor do saldo é negativo Ex: -01:00:00, ocorre o seguinte erro:

Error filling print… Unable to get value for field ‘saldo’ of class ‘java.sql.Time’
net.sf.jasperreports.engine.JRException: Unable to get value for field ‘saldo’ of class ‘java.sql.Time’

no mysql funciona porem no ireport cai na exception quando o saldo de horas é negativo.

Alguem que já passou por essa situação pode me dar uma luz.

2 Respostas

LPJava

pq vc está usando horas, para um campo que deveria ser um valor monetario, veja os tipos das suas variaveis e como estao no bd. sql.time para saldo é complicado.

M

valeu pela ajuda mas é saldo monetario pelo amor de Deus o saldo que eu me referia era saldo de horas Ex: você entrou 09:00:00 na empresa foi almoçar 12:00:00 e retornou as 13:30:00 se sai da empresa a 19:00:00 sendo que você tem 8horas de expediente e uma hora de almoço neste caso o saldo seria de -00:30:00 30minutos negativos porque você retornou 13:30:00 aos inves de 13:00:00

Criado 10 de dezembro de 2010
Ultima resposta 12 de dez. de 2010
Respostas 2
Participantes 2