diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasParcelamento.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasParcelamento.java index 94ea47dd4..114af93ac 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasParcelamento.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasParcelamento.java @@ -63,7 +63,7 @@ public class RelatorioVendasParcelamento extends Relatorio { stmt.setInt("empresaId", Integer.parseInt(empresa)); } - rset1= stmt.executeQuery(); + rset1 = stmt.executeQuery(); while (rset1.next()) { @@ -74,7 +74,8 @@ public class RelatorioVendasParcelamento extends Relatorio { vendasParcelamento.setEmpresa(rset1.getString("empresa")); vendasParcelamento.setAgencia(rset1.getString("agencia")); vendasParcelamento.setBilheteiro(rset1.getString("bilheteiro")); - vendasParcelamento.setDataVenda((Date)rset1.getObject("dataVenda")); + vendasParcelamento.setNumOperacion(rset1.getBigDecimal("NUMOPERACION")); + vendasParcelamento.setDataVenda((Date) rset1.getObject("dataVenda")); vendasParcelamento.setDataServico((Date) rset1.getObject("dataServico")); vendasParcelamento.setLinha(rset1.getString("linha")); vendasParcelamento.setServico(rset1.getString("servico")); @@ -94,11 +95,11 @@ public class RelatorioVendasParcelamento extends Relatorio { vendasParcelamento.setNsu(rset1.getString("nsu")); vendasParcelamento.setParcelas(rset1.getString("parcelas")); BigDecimal valor = rset1.getBigDecimal("valor"); - vendasParcelamento.setValor(valor != null?valor:BigDecimal.ZERO); - - if(vendasParcelamento.getValor()!= null && vendasParcelamento.getTotal()!=null - && vendasParcelamento.getValor().doubleValue()!=0 && vendasParcelamento.getTotal().doubleValue()!=0 ){ - percentual = (vendasParcelamento.getValor().multiply( new BigDecimal("100") )); + vendasParcelamento.setValor(valor != null ? valor : BigDecimal.ZERO); + + if (vendasParcelamento.getValor() != null && vendasParcelamento.getTotal() != null + && vendasParcelamento.getValor().doubleValue() != 0 && vendasParcelamento.getTotal().doubleValue() != 0) { + percentual = (vendasParcelamento.getValor().multiply(new BigDecimal("100"))); percentual = (percentual.divide(vendasParcelamento.getTotal(), BigDecimal.ROUND_HALF_UP)); } vendasParcelamento.setPercentual(percentual.setScale(2)); @@ -109,6 +110,7 @@ public class RelatorioVendasParcelamento extends Relatorio { rset1.close(); if (lsDadosRelatorio.size() > 0) { + setLsDadosRelatorio(lsDadosRelatorio); } @@ -128,54 +130,58 @@ public class RelatorioVendasParcelamento extends Relatorio { private String carregarVendasComParcelamento(String puntoVenta, String empresa) { StringBuilder sql = new StringBuilder(); - sql.append(" SELECT m.DESCMARCA AS empresa, "); - sql.append(" pv.PUNTOVENTA_ID AS agencia, "); - sql.append(" u.CVEUSUARIO AS bilheteiro, "); - sql.append(" c.FECHORVENTA AS dataVenda, "); - sql.append(" co.FECCORRIDA AS dataServico, "); - sql.append(" r.NUMRUTA AS linha, "); - sql.append(" co.corrida_id AS servico, "); - sql.append(" orig.DESCPARADA AS origem, "); - sql.append(" dest.DESCPARADA AS destino, "); - sql.append(" c.NUMFOLIOSISTEMA AS bilhete, "); - sql.append(" c.NUMFOLIOPREIMPRESO AS preImpresso, "); - sql.append(" c.NUMASIENTO AS poltrona, "); - sql.append(" COALESCE(c.PRECIOPAGADO,0) AS tarifa, "); - sql.append(" COALESCE(c.IMPORTESEGURO,0) AS seguro, "); - sql.append(" COALESCE(c.IMPORTEPEDAGIO,0) AS pedagio, "); - sql.append(" COALESCE(c.IMPORTETAXAEMBARQUE,0) AS taxa, "); - sql.append(" COALESCE(c.IMPORTEOUTROS,0) AS outros, "); - sql.append(" ( COALESCE(c.IMPORTESEGURO,0)+ COALESCE(c.IMPORTEOUTROS,0) + COALESCE(c.IMPORTEPEDAGIO,0) +COALESCE(IMPORTETAXAEMBARQUE ,0)+COALESCE(c.PRECIOPAGADO,0)) AS total, "); - sql.append(" ct.tipotarjeta AS formaPagamento, "); - sql.append(" ct.numautorizacion AS autorizacao, "); - sql.append(" ct.NSU AS nsu, "); - sql.append(" ct.cantparcelas AS parcelas, "); - sql.append(" ct.importe AS valor "); - sql.append(" FROM caja c "); - sql.append(" INNER JOIN PUNTO_VENTA pv ON c.PUNTOVENTA_ID = pv.PUNTOVENTA_ID "); - sql.append(" INNER JOIN marca m ON m.marca_id = c.marca_id "); - sql.append(" INNER JOIN usuario u ON c.USUARIO_ID = u.USUARIO_ID "); - sql.append(" INNER JOIN ruta r ON c.RUTA_ID = r.RUTA_ID "); - sql.append(" INNER JOIN corrida co ON co.corrida_id = c.corrida_id AND co.feccorrida = c.feccorrida "); - sql.append(" INNER JOIN parada orig ON orig.PARADA_ID = co.ORIGEN_ID "); - sql.append(" INNER JOIN parada dest ON dest.PARADA_ID = co.DESTINO_ID "); - sql.append(" INNER JOIN caja_formapago cfp ON cfp.caja_id = c.caja_id "); - sql.append(" INNER JOIN caja_det_pago cdp ON cdp.cajaformapago_id = cfp.cajaformapago_id "); - sql.append(" INNER JOIN caja_tarjeta ct ON ct.cajadetpago_id = cdp.cajadetpago_id "); - sql.append(" WHERE "); - sql.append(" fechorventa BETWEEN :de AND :ate "); - sql.append(" AND ct.CANTPARCELAS BETWEEN :parcIni AND :parcFim "); - if (puntoVenta != null && !puntoVenta.equals("-1")) { - sql.append(" AND c.PUNTOVENTA_ID in (" + puntoVenta + ") "); - } - - if (empresa != null && !empresa.equals("-1")) { - sql.append(" AND m.empresa_id = :empresaId "); - } - sql.append(" AND c.motivocancelacion_id IS NULL "); - sql.append(" ORDER BY m.DESCMARCA, "); - sql.append(" pv.PUNTOVENTA_ID, "); - sql.append(" c.fechorventa ASC "); + sql.append(" SELECT m.DESCMARCA AS empresa, "); + sql.append(" pv.PUNTOVENTA_ID AS agencia, "); + sql.append(" c.NUMOPERACION, "); + sql.append(" u.CVEUSUARIO AS bilheteiro, "); + sql.append(" c.FECHORVENTA AS dataVenda, "); + sql.append(" co.FECCORRIDA AS dataServico, "); + sql.append(" r.NUMRUTA AS linha, "); + sql.append(" co.corrida_id AS servico, "); + sql.append(" orig.DESCPARADA AS origem, "); + sql.append(" dest.DESCPARADA AS destino, "); + sql.append(" c.NUMFOLIOSISTEMA AS bilhete, "); + sql.append(" c.NUMFOLIOPREIMPRESO AS preImpresso, "); + sql.append(" c.NUMASIENTO AS poltrona, "); + sql.append(" COALESCE(c.PRECIOPAGADO,0) AS tarifa, "); + sql.append(" COALESCE(c.IMPORTESEGURO,0) AS seguro, "); + sql.append(" COALESCE(c.IMPORTEPEDAGIO,0) AS pedagio, "); + sql.append(" COALESCE(c.IMPORTETAXAEMBARQUE,0) AS taxa, "); + sql.append(" COALESCE(c.IMPORTEOUTROS,0) AS outros, "); + sql.append(" ( COALESCE(c.IMPORTESEGURO,0)+ COALESCE(c.IMPORTEOUTROS,0) + COALESCE(c.IMPORTEPEDAGIO,0) +COALESCE(IMPORTETAXAEMBARQUE ,0)+COALESCE(c.PRECIOPAGADO,0)) AS total, "); + sql.append(" ct.tipotarjeta AS formaPagamento, "); + sql.append(" ct.numautorizacion AS autorizacao, "); + sql.append(" ct.NSU AS nsu, "); + sql.append(" ct.cantparcelas AS parcelas, "); + sql.append(" ct.importe AS valor "); + sql.append(" FROM caja c "); + sql.append(" INNER JOIN PUNTO_VENTA pv ON c.PUNTOVENTA_ID = pv.PUNTOVENTA_ID "); + sql.append(" INNER JOIN marca m ON m.marca_id = c.marca_id "); + sql.append(" INNER JOIN usuario u ON c.USUARIO_ID = u.USUARIO_ID "); + sql.append(" INNER JOIN ruta r ON c.RUTA_ID = r.RUTA_ID "); + sql.append(" INNER JOIN corrida co ON co.corrida_id = c.corrida_id AND co.feccorrida = c.feccorrida "); + sql.append(" INNER JOIN parada orig ON orig.PARADA_ID = co.ORIGEN_ID "); + sql.append(" INNER JOIN parada dest ON dest.PARADA_ID = co.DESTINO_ID "); + sql.append(" INNER JOIN caja_formapago cfp ON cfp.caja_id = c.caja_id "); + sql.append(" INNER JOIN caja_det_pago cdp ON cdp.cajaformapago_id = cfp.cajaformapago_id "); + sql.append(" INNER JOIN caja_tarjeta ct ON ct.cajadetpago_id = cdp.cajadetpago_id "); + sql.append(" WHERE "); + sql.append(" fechorventa BETWEEN :de AND :ate "); + sql.append(" AND ct.CANTPARCELAS BETWEEN :parcIni AND :parcFim "); + if (puntoVenta != null && !puntoVenta.equals("-1")) { + sql.append(" AND c.PUNTOVENTA_ID in (" + puntoVenta + ") "); + } + + if (empresa != null && !empresa.equals("-1")) { + sql.append(" AND m.empresa_id = :empresaId "); + } + sql.append(" AND c.motivocancelacion_id IS NULL "); + sql.append(" ORDER BY c.NUMOPERACION, "); + sql.append(" c.fechorventa ASC, "); + sql.append(" m.DESCMARCA, "); + sql.append(" pv.PUNTOVENTA_ID, "); + sql.append(" u.cveusuario "); + return sql.toString();