diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioReceitaServico.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioReceitaServico.java index 2ffccc683..9b95dc4ae 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioReceitaServico.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioReceitaServico.java @@ -76,7 +76,7 @@ public class RelatorioReceitaServico extends Relatorio { dataResult.put("dataHoraCompra", rset.getTimestamp("dataHoraCompra")); dataResult.put("passageiro", !(rset.getString("passageiro") == null) ? rset.getString("passageiro") : ""); dataResult.put("nrBilhete", !(rset.getString("nrBilhete") == null) ? rset.getString("nrBilhete") : ""); - + this.dados.add(dataResult); } @@ -92,51 +92,50 @@ public class RelatorioReceitaServico extends Relatorio { private String getSql(boolean origemSelected, boolean destinoSelected, boolean servicoSelected, boolean claseServicioSelected) { StringBuilder sql = new StringBuilder(); - sql.append(" select cj.feccorrida as data, "); - sql.append(" cj.corrida_id as servico, "); - sql.append(" mar.descmarca as empresa , "); - sql.append(" pOrig.cveparada as Origem, "); - sql.append(" pDest.cveparada as Destino, "); - sql.append(" cl_ser.descclase as Classe, "); - sql.append(" cj.preciobase as preciobase, "); - sql.append(" cj.preciopagado as tarifa, "); - sql.append(" cj.importetaxaembarque as tut, "); - sql.append(" cj.importepedagio as pedagio, "); - sql.append(" (cj.preciopagado + cj.importetaxaembarque + cj.importepedagio ) as total, "); - sql.append(" cat.desccategoria as tipo, "); - sql.append(" pv.nombpuntoventa as agencia, "); - sql.append(" cj.fechorventa as dataHoraCompra, "); - sql.append(" cj.nombpasajero as passageiro, "); - sql.append(" cj.NUMFOLIOSISTEMA as nrBilhete "); - - sql.append(" from caja cj "); - sql.append(" inner join marca mar on mar.marca_id = cj.marca_id "); - sql.append(" inner join parada pOrig on pOrig.parada_id = cj.origen_id "); - sql.append(" inner join parada pDest on pDest.parada_id = cj.destino_id "); - sql.append(" inner join clase_servicio cl_ser on cl_ser.claseservicio_id = cj.claseservicio_id "); - sql.append(" inner join categoria cat on cj.categoria_id = cat.categoria_id "); - sql.append(" inner join punto_venta pv on cj.puntoventa_id = pv.puntoventa_id "); - - sql.append(" where cj.feccorrida >= :DATA_INICIAL "); - sql.append(" and cj.feccorrida <= :DATA_FINAL "); - sql.append(" and cj.INDREIMPRESION = 0 "); - sql.append(" and cj.MOTIVOCANCELACION_ID is null "); - - if (servicoSelected) { - sql.append(" and cj.corrida_id IN (:CORRIDA_ID) "); - } + sql.append("SELECT b.feccorrida AS data, "); + sql.append("b.corrida_id AS servico, "); + sql.append("mar.descmarca AS empresa, "); + sql.append("origem.cveparada AS Origem, "); + sql.append("destino.cveparada AS Destino, "); + sql.append("cl_ser.descclase AS Classe, "); + sql.append("b.preciobase AS preciobase, "); + sql.append("b.preciopagado AS tarifa, "); + sql.append("b.importetaxaembarque AS tut, "); + sql.append("b.importepedagio AS pedagio, "); + sql.append("(b.preciopagado + b.importetaxaembarque + b.importepedagio ) AS total, "); + sql.append("cat.desccategoria AS tipo, "); + sql.append("p.nombpuntoventa AS agencia, "); + sql.append("b.fechorventa AS dataHoraCompra, "); + sql.append("b.nombpasajero AS passageiro, "); + sql.append("b.NUMFOLIOSISTEMA AS nrBilhete "); + sql.append("FROM BOLETO b "); + sql.append("INNER JOIN marca mar ON b.marca_id = mar.marca_id "); + sql.append("INNER JOIN clase_servicio cl_ser ON cl_ser.claseservicio_id = b.claseservicio_id "); + sql.append("LEFT JOIN PARADA levante ON levante.parada_id = b.levante_id "); + sql.append("LEFT OUTER JOIN PUNTO_VENTA p ON b.puntoventa_id = p.puntoventa_id "); + sql.append("LEFT OUTER JOIN PARADA parada ON p.PARADA_ID = parada.PARADA_ID, "); + sql.append("PARADA origem, "); + sql.append("PARADA destino, "); + sql.append("CATEGORIA cat "); + sql.append("WHERE b.feccorrida BETWEEN :DATA_INICIAL AND :DATA_FINAL "); + sql.append("AND b.origen_id = origem.parada_id "); + sql.append("AND b.destino_id = destino.parada_id "); + if (origemSelected) { - sql.append(" and pOrig.PARADA_ID IN (:ORIGEN_ID) "); + sql.append("AND b.origen_id = (:ORIGEN_ID) "); } if (destinoSelected) { - sql.append(" and pDest.PARADA_ID IN (:DESTINO_ID) "); + sql.append("AND b.destino_id = (:DESTINO_ID) "); + } + if (servicoSelected) { + sql.append("AND b.corrida_id= :CORRIDA_ID "); } - - sql.append(" and mar.EMPRESA_ID = :EMPRESA_ID "); if (claseServicioSelected) { - sql.append(" and cj.CLASESERVICIO_ID = :CLASESERVICIO_ID "); + sql.append(" AND cl_ser.CLASESERVICIO_ID = :CLASESERVICIO_ID "); } - sql.append(" order by cj.feccorrida, cj.corrida_id "); + sql.append("AND b.categoria_id=cat.categoria_id "); + sql.append("AND b.motivocancelacion_id IS NULL "); + sql.append("AND mar.EMPRESA_ID = :EMPRESA_ID "); return sql.toString(); }