diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioCancelamentoVendaCartao.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioCancelamentoVendaCartao.java index 78f9570d5..b11db7cd4 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioCancelamentoVendaCartao.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioCancelamentoVendaCartao.java @@ -39,6 +39,7 @@ public class RelatorioCancelamentoVendaCartao extends Relatorio { dataResult.put("cartao", rset.getString("numtarjeta").replace('*', ' ').trim()); dataResult.put("datavenda", rset.getDate("fechorventa")); dataResult.put("datadevolucao", rset.getDate("datadevolucao")); + dataResult.put("valor_total_compra", rset.getBigDecimal("valor_cesta")); dataResult.put("valorvenda", rset.getBigDecimal("valor_venda")); dataResult.put("valorcancelar", rset.getBigDecimal("valor_cancelar")); dataResult.put("autorizacao", rset.getString("numautorizacion")); @@ -60,10 +61,25 @@ public class RelatorioCancelamentoVendaCartao extends Relatorio { private String getSql() { StringBuilder sql = new StringBuilder(); - sql.append(" WITH boletos_originais AS "); + sql.append(" WITH cesta_compras AS "); + sql.append(" (SELECT c.numoperacion as numoperacion_cc, "); + sql.append(" sum((COALESCE(c.preciopagado,0) + COALESCE(c.importeoutros,0)+ COALESCE(c.importepedagio,0)+ COALESCE(c.importeseguro,0) + COALESCE(c.importetaxaembarque,0)))AS valor_cesta "); + sql.append(" FROM CAJA c "); + sql.append(" INNER JOIN BOLETO b on b.numoperacion = c.numoperacion "); + sql.append(" AND b.numfoliosistema = c.numfoliosistema "); + if (parametros.get("EMPRESA_ID") != null) { + sql.append(" INNER JOIN marca m ON m.marca_id = b.marca_id "); + sql.append(" AND m.empresa_id = " + parametros.get("EMPRESA_ID")); + } + if (parametros.get("NUMPUNTOVENTA") != null) { + sql.append(" AND c.puntoventa_id IN (" + parametros.get("NUMPUNTOVENTA") + ")"); + } + sql.append(" AND c.fechorventa between :data_inicial and :data_final "); + sql.append(" GROUP BY c.numoperacion), "); + sql.append(" boletos_originais AS "); sql.append(" (SELECT distinct b.boleto_id as boleto_id_bo, ctj.numtarjeta as numtarjeta_bo, ptovta.numsitef as numsitef_bo, "); - sql.append(" ctj.numautorizacion as numautorizacion_bo, ctj.nsu as nsu_bo "); - sql.append(" FROM boleto b, caja_det_pago cdt, caja c, caja_tarjeta ctj, ptovta_empresa ptovta "); + sql.append(" ctj.numautorizacion as numautorizacion_bo, ctj.nsu as nsu_bo, ce.valor_cesta AS valor_cesta_bo "); + sql.append(" FROM boleto b, caja_det_pago cdt, caja c, caja_tarjeta ctj, ptovta_empresa ptovta, cesta_compras ce "); sql.append(" WHERE b.boleto_id IN "); sql.append(" ( SELECT b.boletooriginal_id FROM OCD o "); sql.append(" INNER JOIN boleto b ON o.BOLETO_ID = b.BOLETO_ID "); @@ -86,7 +102,8 @@ public class RelatorioCancelamentoVendaCartao extends Relatorio { sql.append(" AND cdt.caja_id = c.caja_id "); sql.append(" AND cdt.cajadetpago_id = ctj.cajadetpago_id "); sql.append(" AND cdt.formapago_id IN (2) "); - sql.append(" AND b.puntoventa_id = ptovta.puntoventa_id),"); + sql.append(" AND b.puntoventa_id = ptovta.puntoventa_id"); + sql.append(" AND ce.numoperacion_cc = b.numoperacion),"); sql.append(" boletos_novos AS( "); sql.append(" SELECT c.caja_id as caja_id_bn, b.boleto_id as boleto_id_bn, b.boletooriginal_id as boleto_id_original_bn, "); sql.append(" b.puntoventa_id as puntoventa_id_bn, p.nombpuntoventa as nombpuntoventa_bn, c.fechorventa as fechorventa_bn, "); @@ -114,7 +131,7 @@ public class RelatorioCancelamentoVendaCartao extends Relatorio { sql.append(" select * from (select distinct c.caja_id, p.nombpuntoventa, ctj.numtarjeta, c.fechorventa, ptovta.numsitef,"); sql.append(" (coalesce(c.preciopagado,0) + coalesce(c.importeoutros,0)+ coalesce(c.importepedagio,0)+ coalesce(c.importeseguro,0) + coalesce(c.importetaxaembarque,0)) as valor_venda,"); - sql.append(" TO_CHAR(coalesce(cf.importe,0) - (coalesce(cf.importe,0)*(ocd.PENALIZACION/100)),'FM9999999.90') as valor_cancelar, m.descmotivo, ctj.numautorizacion, ctj.nsu, c.numfoliosistema, o.fecinc as datadevolucao "); + sql.append(" TO_CHAR(coalesce(cf.importe,0) - (coalesce(cf.importe,0)*(ocd.PENALIZACION/100)),'FM9999999.90') as valor_cancelar, m.descmotivo, ctj.numautorizacion, ctj.nsu, c.numfoliosistema, o.fecinc as datadevolucao, ce.valor_cesta"); sql.append(" from caja c "); sql.append(" inner join boleto b ON c.numoperacion = b.numoperacion AND b.numfoliosistema = c.numfoliosistema "); sql.append(" inner join ocd o ON o.BOLETO_ID = b.BOLETO_ID "); @@ -136,7 +153,8 @@ public class RelatorioCancelamentoVendaCartao extends Relatorio { sql.append(" inner join marca ma on ma.marca_id = c.marca_id"); if (parametros.get("EMPRESA_ID") != null) { sql.append(" inner join empresa e on e.empresa_id = ma.empresa_id and ma.empresa_id = " + parametros.get("EMPRESA_ID")); - } + } + sql.append(" INNER JOIN cesta_compras ce on ce.numoperacion_cc = b.numoperacion "); sql.append(")"); sql.append(" union "); @@ -144,7 +162,7 @@ public class RelatorioCancelamentoVendaCartao extends Relatorio { sql.append(" select * from (select distinct c.caja_id, p.nombpuntoventa, ctj.numtarjeta, c.fechorventa, ptovta.numsitef,"); sql.append(" (coalesce(c.preciopagado,0) + coalesce(c.importeoutros,0)+ coalesce(c.importepedagio,0)+ coalesce(c.importeseguro,0) + coalesce(c.importetaxaembarque,0)) as valor_venda,"); sql.append(" TO_CHAR(coalesce(o.VALOR_TARJETA,0),'FM9999999.90') as valor_cancelar,"); - sql.append(" 'OCD' as descmotivo, ctj.numautorizacion, ctj.nsu, c.numfoliosistema, o.fecinc as datadevolucao "); + sql.append(" 'OCD' as descmotivo, ctj.numautorizacion, ctj.nsu, c.numfoliosistema, o.fecinc as datadevolucao, ce.valor_cesta "); sql.append(" from OCD o"); sql.append(" inner join boleto b on o.BOLETO_ID = b.BOLETO_ID"); sql.append(" inner join caja c on c.numoperacion = b.numoperacion and b.numfoliosistema = c.numfoliosistema"); @@ -161,13 +179,14 @@ public class RelatorioCancelamentoVendaCartao extends Relatorio { if (parametros.get("NUMPUNTOVENTA") != null) { sql.append(" and p.puntoventa_id IN (" + parametros.get("NUMPUNTOVENTA").toString() + ")"); } + sql.append(" INNER JOIN cesta_compras ce on ce.numoperacion_cc = b.numoperacion"); sql.append(" order by c.fechorventa, o.fecinc )"); sql.append(" union "); sql.append(" select bn.caja_id_bn, bn.nombpuntoventa_bn, bo.numtarjeta_bo, bn.fechorventa_bn, "); sql.append(" bo.numsitef_bo, bn.valor_venda_bn, bn.valor_cancelar_bn, 'OCD' as descmotivo, bo.numautorizacion_bo, bo.nsu_bo, "); - sql.append(" numfoliosistema_bn, datadevolucao_bn "); + sql.append(" numfoliosistema_bn, datadevolucao_bn, valor_cesta_bo "); sql.append(" FROM boletos_originais bo "); sql.append(" inner join boletos_novos bn on bo.boleto_id_bo = bn.boleto_id_original_bn "); diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCancelamentoVendaCartao_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCancelamentoVendaCartao_es.properties index 1771b8c59..01753b785 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCancelamentoVendaCartao_es.properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCancelamentoVendaCartao_es.properties @@ -15,6 +15,7 @@ cabecalho.filtros=Filtros: label.Estabelecimento=Estabelecimento label.cartao=Cartão label.data=Data da compra +label.valor.cesta=Total da Compra label.valor.venda=Valor da venda label.valor.cancelar=Valor a cancelar label.autorizacao=Autorização diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCancelamentoVendaCartao_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCancelamentoVendaCartao_pt_BR.properties index 450b94ed5..eb126320f 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCancelamentoVendaCartao_pt_BR.properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCancelamentoVendaCartao_pt_BR.properties @@ -15,6 +15,7 @@ cabecalho.filtros=Filtros: label.Estabelecimento=Estabelecimento label.cartao=Cartão label.data=Data da compra +label.valor.cesta=Total da Compra label.valor.venda=Valor da venda label.valor.cancelar=Valor a cancelar label.autorizacao=Autorização diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCancelamentoVendaCartao.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCancelamentoVendaCartao.jasper index 3703fd0a5..9bc94aee2 100644 Binary files a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCancelamentoVendaCartao.jasper and b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCancelamentoVendaCartao.jasper differ diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCancelamentoVendaCartao.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCancelamentoVendaCartao.jrxml index 1b16111c2..c6c267763 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCancelamentoVendaCartao.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCancelamentoVendaCartao.jrxml @@ -1,7 +1,7 @@ - + @@ -25,6 +25,7 @@ + @@ -127,7 +128,7 @@ - + @@ -167,7 +168,7 @@ - + @@ -177,7 +178,7 @@ - + @@ -198,7 +199,7 @@ - + @@ -229,7 +230,7 @@ - + @@ -238,26 +239,36 @@ + + + + + + + + + + - + - + - + @@ -272,7 +283,7 @@ - + @@ -315,13 +326,21 @@ - + + + + + + + + +