From 383a911f590a9b756d99ae242c523b3f9504b547 Mon Sep 17 00:00:00 2001 From: wilian Date: Tue, 15 Mar 2016 20:10:56 +0000 Subject: [PATCH] fixes bug #7178 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@53910 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../RelatorioCancelamentoVendaCartao.java | 113 +++++++++- .../RelatorioCancelamentoVendaCartao.jasper | Bin 39052 -> 39541 bytes .../RelatorioCancelamentoVendaCartao.jrxml | 194 +++++++++--------- ...orioCancelamentoVendaCartaoController.java | 14 +- 4 files changed, 212 insertions(+), 109 deletions(-) diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioCancelamentoVendaCartao.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioCancelamentoVendaCartao.java index d4f321498..0827187d4 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioCancelamentoVendaCartao.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioCancelamentoVendaCartao.java @@ -7,7 +7,6 @@ import java.util.Date; import java.util.HashMap; import java.util.Map; -import com.rjconsultores.ventaboletos.entidad.Constante; import com.rjconsultores.ventaboletos.relatorios.utilitarios.ArrayDataSource; import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; import com.rjconsultores.ventaboletos.service.ConstanteService; @@ -35,6 +34,7 @@ public class RelatorioCancelamentoVendaCartao extends Relatorio { stmt.setTimestamp("data_inicial", new Timestamp(DateUtil.inicioFecha((Date) parametros.get("DATA_INICIAL")).getTime())); stmt.setTimestamp("data_final", new Timestamp(DateUtil.fimFecha((Date) parametros.get("DATA_FINAL")).getTime())); stmt.setInt("formaPago1", CARTAO_CREDITO); + stmt.setInt("empresaId", Integer.valueOf(parametros.get("EMPRESA_ID")+"")); ResultSet rset = stmt.executeQuery(); @@ -63,9 +63,114 @@ public class RelatorioCancelamentoVendaCartao extends Relatorio { @Override protected void processaParametros() throws Exception { } - + private String getSql() { StringBuilder sql = new StringBuilder(); + + /* Boletos apenas com venda e cancelamento direto com corrida */ + sql.append("SELECT DISTINCT C.CAJA_ID, B.BOLETO_ID, P.NOMBPUNTOVENTA, CTJ.NUMTARJETA, C.FECHORVENTA, PTOVTA.NUMSITEF, ") + .append("'OCD' AS DESCMOTIVO, CTJ.NUMAUTORIZACION, CTJ.NSU, C.NUMFOLIOSISTEMA, O.FECINC AS DATADEVOLUCAO, C.NUMOPERACION, ") + .append("(COALESCE(C.PRECIOPAGADO,0) + COALESCE(C.IMPORTEOUTROS,0)+ COALESCE(C.IMPORTEPEDAGIO,0)+ COALESCE(C.IMPORTESEGURO,0) + COALESCE(C.IMPORTETAXAEMBARQUE,0)) AS VALOR_VENDA, ") + .append("TO_CHAR(COALESCE(O.VALOR_TARJETA,0),'FM9999999.90') AS VALOR_CANCELAR, ") + .append("(SELECT SUM(COALESCE(B1.PRECIOPAGADO,0) + COALESCE(B1.IMPORTEOUTROS,0) + COALESCE(B1.IMPORTEPEDAGIO,0) + COALESCE(B1.IMPORTESEGURO,0) + COALESCE(B1.IMPORTETAXAEMBARQUE,0)) ") + .append(" FROM BOLETO B1 ") + .append(" WHERE B1.NUMOPERACION = B.NUMOPERACION ") + .append(" AND B1.BOLETOORIGINAL_ID IS NULL ") + .append(") AS VALOR_CESTA ") + .append("FROM OCD O ") + .append("INNER JOIN BOLETO B ON O.BOLETO_ID = B.BOLETO_ID ") + .append(" AND B.BOLETOORIGINAL_ID IS NULL ") + .append(" AND B.CORRIDA_ID IS NOT NULL ") + .append(" AND B.FECCORRIDA IS NOT NULL ") + .append("INNER JOIN CAJA C ON C.NUMOPERACION = B.NUMOPERACION ") + .append(" AND B.NUMASIENTO = C.NUMASIENTO ") + .append("INNER JOIN CAJA_DET_PAGO CDT ON CDT.CAJA_ID = C.CAJA_ID AND CDT.FORMAPAGO_ID = :formaPago1 ") + .append("INNER JOIN CAJA_TARJETA CTJ ON CDT.CAJADETPAGO_ID = CTJ.CAJADETPAGO_ID ") + .append("INNER JOIN PUNTO_VENTA P ON P.PUNTOVENTA_ID = B.PUNTOVENTA_ID ") + .append("INNER JOIN PTOVTA_EMPRESA PTOVTA ON B.PUNTOVENTA_ID = PTOVTA.PUNTOVENTA_ID ") + .append("INNER JOIN MARCA M ON M.MARCA_ID = B.MARCA_ID AND M.EMPRESA_ID = PTOVTA.EMPRESA_ID ") + .append("WHERE O.FECINC BETWEEN :data_inicial AND :data_final ") + .append("AND B.MARCA_ID = :empresaId "); + + if(parametros.get("NUMPUNTOVENTA") != null) { + sql.append("AND P.PUNTOVENTA_ID IN (") + .append(parametros.get("NUMPUNTOVENTA")) + .append(") "); + } + + sql.append("UNION ALL "); + + /* Boletos com entrega/transferencia/troca antes do cancelamento com corrida */ + sql.append("SELECT DISTINCT C.CAJA_ID, B.BOLETO_ID, P.NOMBPUNTOVENTA, CTJ.NUMTARJETA, C.FECHORVENTA, PTOVTA.NUMSITEF, ") + .append("'OCD' AS DESCMOTIVO, CTJ.NUMAUTORIZACION, CTJ.NSU, C.NUMFOLIOSISTEMA, O.FECINC AS DATADEVOLUCAO, C.NUMOPERACION, ") + .append("(COALESCE(C.PRECIOPAGADO,0) + COALESCE(C.IMPORTEOUTROS,0)+ COALESCE(C.IMPORTEPEDAGIO,0)+ COALESCE(C.IMPORTESEGURO,0) + COALESCE(C.IMPORTETAXAEMBARQUE,0)) AS VALOR_VENDA, ") + .append("TO_CHAR(COALESCE(O.VALOR_TARJETA,0),'FM9999999.90') AS VALOR_CANCELAR, ") + .append("(SELECT SUM(COALESCE(B1.PRECIOPAGADO,0) + COALESCE(B1.IMPORTEOUTROS,0) + COALESCE(B1.IMPORTEPEDAGIO,0) + COALESCE(B1.IMPORTESEGURO,0) + COALESCE(B1.IMPORTETAXAEMBARQUE,0)) ") + .append(" FROM BOLETO B1 ") + .append(" WHERE B1.NUMOPERACION = BR.NUMOPERACION ") + .append(" AND B1.BOLETOORIGINAL_ID IS NULL ") + .append(") AS VALOR_CESTA ") + .append("FROM OCD O ") + .append("INNER JOIN BOLETO B ON O.BOLETO_ID = B.BOLETO_ID ") + .append("INNER JOIN BOLETO BR ON BR.BOLETO_ID = B.BOLETOORIGINAL_ID ") + .append(" AND BR.CORRIDA_ID IS NOT NULL ") + .append(" AND BR.FECCORRIDA IS NOT NULL ") + .append("INNER JOIN CAJA C ON C.NUMOPERACION = BR.NUMOPERACION ") + .append(" AND BR.NUMASIENTO = C.NUMASIENTO ") + .append("INNER JOIN CAJA_DET_PAGO CDT ON CDT.CAJA_ID = C.CAJA_ID AND CDT.FORMAPAGO_ID = :formaPago1 ") + .append("INNER JOIN CAJA_TARJETA CTJ ON CDT.CAJADETPAGO_ID = CTJ.CAJADETPAGO_ID ") + .append("INNER JOIN PUNTO_VENTA P ON P.PUNTOVENTA_ID = BR.PUNTOVENTA_ID ") + .append("INNER JOIN PTOVTA_EMPRESA PTOVTA ON BR.PUNTOVENTA_ID = PTOVTA.PUNTOVENTA_ID ") + .append("INNER JOIN MARCA M ON M.MARCA_ID = BR.MARCA_ID AND M.EMPRESA_ID = PTOVTA.EMPRESA_ID ") + .append("WHERE O.FECINC BETWEEN :data_inicial AND :data_final ") + .append("AND BR.MARCA_ID = :empresaId "); + + if(parametros.get("NUMPUNTOVENTA") != null) { + sql.append("AND P.PUNTOVENTA_ID IN (") + .append(parametros.get("NUMPUNTOVENTA")) + .append(") "); + } + + sql.append("UNION ALL "); + + /* Boletos apenas com venda e cancelamento direto sem corrida */ + sql.append("SELECT DISTINCT C.CAJA_ID, B.BOLETO_ID, P.NOMBPUNTOVENTA, CTJ.NUMTARJETA, C.FECHORVENTA, PTOVTA.NUMSITEF, ") + .append("'OCD' AS DESCMOTIVO, CTJ.NUMAUTORIZACION, CTJ.NSU, C.NUMFOLIOSISTEMA, O.FECINC AS DATADEVOLUCAO, C.NUMOPERACION, ") + .append("(COALESCE(C.PRECIOPAGADO,0) + COALESCE(C.IMPORTEOUTROS,0)+ COALESCE(C.IMPORTEPEDAGIO,0)+ COALESCE(C.IMPORTESEGURO,0) + COALESCE(C.IMPORTETAXAEMBARQUE,0)) AS VALOR_VENDA, ") + .append("TO_CHAR(COALESCE(O.VALOR_TARJETA,0),'FM9999999.90') AS VALOR_CANCELAR, ") + .append("(SELECT SUM(COALESCE(B1.PRECIOPAGADO,0) + COALESCE(B1.IMPORTEOUTROS,0) + COALESCE(B1.IMPORTEPEDAGIO,0) + COALESCE(B1.IMPORTESEGURO,0) + COALESCE(B1.IMPORTETAXAEMBARQUE,0)) ") + .append(" FROM BOLETO B1 ") + .append(" WHERE B1.NUMOPERACION = B.NUMOPERACION ") + .append(" AND B1.BOLETOORIGINAL_ID IS NULL ") + .append(") AS VALOR_CESTA ") + .append("FROM OCD O ") + .append("INNER JOIN BOLETO B ON O.BOLETO_ID = B.BOLETO_ID ") + .append(" AND B.BOLETOORIGINAL_ID IS NULL ") + .append(" AND B.CORRIDA_ID IS NULL ") + .append(" AND B.FECCORRIDA IS NULL ") + .append("INNER JOIN CAJA C ON C.NUMOPERACION = B.NUMOPERACION ") + .append(" AND B.NUMFOLIOSISTEMA = C.NUMFOLIOSISTEMA ") + .append("INNER JOIN CAJA_DET_PAGO CDT ON CDT.CAJA_ID = C.CAJA_ID AND CDT.FORMAPAGO_ID = :formaPago1 ") + .append("INNER JOIN CAJA_TARJETA CTJ ON CDT.CAJADETPAGO_ID = CTJ.CAJADETPAGO_ID ") + .append("INNER JOIN PUNTO_VENTA P ON P.PUNTOVENTA_ID = B.PUNTOVENTA_ID ") + .append("INNER JOIN PTOVTA_EMPRESA PTOVTA ON B.PUNTOVENTA_ID = PTOVTA.PUNTOVENTA_ID ") + .append("INNER JOIN MARCA M ON M.MARCA_ID = B.MARCA_ID AND M.EMPRESA_ID = PTOVTA.EMPRESA_ID ") + .append("WHERE O.FECINC BETWEEN :data_inicial AND :data_final ") + .append("AND B.MARCA_ID = :empresaId "); + + if(parametros.get("NUMPUNTOVENTA") != null) { + sql.append("AND P.PUNTOVENTA_ID IN (") + .append(parametros.get("NUMPUNTOVENTA")) + .append(") "); + } + + sql.append("ORDER BY 3, 5 "); + + return sql.toString(); + } + + /*private String getSql() { + StringBuilder sql = new StringBuilder(); //Busca os boletos originais dos boletos que foram geradas OCDS //Esses boletos sofreram transferência. //O intuito dessa query é recuperar os dados originais de cartões de crédito @@ -176,7 +281,7 @@ public class RelatorioCancelamentoVendaCartao extends Relatorio { 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 "); - sql.append(" and c.numfoliosistema = b.numfoliosistema "); + //sql.append(" and c.numfoliosistema = b.numfoliosistema "); sql.append(" inner join caja_det_pago cdt ON cdt.caja_id = c.caja_id and cdt.formapago_id in (:formaPago1)"); sql.append(" inner join caja_tarjeta ctj on cdt.cajadetpago_id = ctj.cajadetpago_id"); sql.append(" inner join punto_venta p on p.puntoventa_id = b.puntoventa_id"); @@ -253,6 +358,6 @@ public class RelatorioCancelamentoVendaCartao extends Relatorio { return sql.toString(); - } + }*/ } diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCancelamentoVendaCartao.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCancelamentoVendaCartao.jasper index 5e9ac737a596384a30b9d5284d4401d87832e1cf..8a70f9dc10bb7b1e8b369dcbccdbfedc13f13a58 100644 GIT binary patch literal 39541 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 - + @@ -32,7 +32,7 @@ - + @@ -40,7 +40,7 @@ - + @@ -48,7 +48,7 @@ - + @@ -56,7 +56,7 @@ - + @@ -64,7 +64,7 @@ - + @@ -72,14 +72,14 @@ - + - + @@ -87,7 +87,7 @@ - + @@ -95,7 +95,7 @@ - + @@ -103,16 +103,16 @@ - + - - - + + + @@ -127,125 +127,125 @@ - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + @@ -253,90 +253,90 @@ - - + + - + - - + + - + - + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - + - + - - + + - + @@ -349,7 +349,7 @@ - + diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioCancelamentoVendaCartaoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioCancelamentoVendaCartaoController.java index 877eeabc9..2f9f6476c 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioCancelamentoVendaCartaoController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioCancelamentoVendaCartaoController.java @@ -121,23 +121,21 @@ public class RelatorioCancelamentoVendaCartaoController extends MyGenericForward } filtro.append("Agência: "); - String puntoVentaIds = ""; String puntoVentas = ""; List lsPuntoVentaSelecionados = new ArrayList(Arrays.asList(puntoVentaSelList.getData())); if (lsPuntoVentaSelecionados.isEmpty()) { puntoVentas = "Todas"; } else { + StringBuilder puntoVentaIds = new StringBuilder(); for (int i = 0; i < lsPuntoVentaSelecionados.size(); i++) { PuntoVenta puntoVenta = lsPuntoVentaSelecionados.get(i); puntoVentas = puntoVentas + puntoVenta.getNombpuntoventa() + ","; - - puntoVentaIds = puntoVentaIds + puntoVenta.getPuntoventaId() + ","; + if(puntoVentaIds.length() > 0) { + puntoVentaIds.append(","); + } + puntoVentaIds.append(puntoVenta.getPuntoventaId()); } - - // removendo ultima virgula - puntoVentaIds = puntoVentaIds.substring(0, puntoVentaIds.length() - 1); - puntoVentas = puntoVentas.substring(0, puntoVentas.length() - 1); - parametros.put("NUMPUNTOVENTA", puntoVentaIds); + parametros.put("NUMPUNTOVENTA", puntoVentaIds.toString()); } filtro.append(puntoVentas).append(";"); parametros.put("FILTROS", filtro.toString());