diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioCheckin.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioCheckin.java index e220e0527..22846df3d 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioCheckin.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioCheckin.java @@ -106,19 +106,24 @@ public class RelatorioCheckin extends Relatorio { sql.append("inner join boleto_checkin bc on b.boleto_id = bc.boletooriginal_id "); sql.append("inner join parada o on b.origen_id = o.parada_id "); sql.append("inner join usuario u on bc.usuario_id = u.usuario_id "); + //Se a corrida_id e feccorrida existe na tabela checkin_cerrado = checkin encerrado + if(indCheckinEncerrado) { + sql.append("inner join checkin_cerrado cc on (b.corrida_id = cc.corrida_id and b.feccorrida=cc.feccorrida )"); + }else { + //Se a corrida_id e feccorrida não existe na tabela checkin_cerrado = checkin aberto + if(indCheckinAberto) { + sql.append(" left join checkin_cerrado cc on (b.corrida_id = cc.corrida_id and b.feccorrida=cc.feccorrida ) "); + } + } + sql.append(" where b.activo = 1 "); sql.append("and bc.FECMODIF between ? and ? "); sql.append(corridaId == null ? "" : " and b.corrida_id = ? "); sql.append(origenId == null ? "" : " and b.origen_id = ? "); sql.append((lsInt == null || lsInt.size() == 0) ? "" : " and u.USUARIO_ID in ( "+ createIn(lsInt.size()) + ") "); - if(indCheckinEncerrado) { - sql.append("and bc.INDCHECKINCERRADO = 1"); - }else { - if(indCheckinAberto) { - sql.append("and bc.INDCHECKINCERRADO = 0"); - } + if(indCheckinAberto) { + sql.append(" and cc.corrida_id is null "); } - sql.append(" order by bc.datacancelado desc"); return sql.toString();