diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDevolucaoBilhetes.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDevolucaoBilhetes.java index 8651b76be..ba2a3bd19 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDevolucaoBilhetes.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDevolucaoBilhetes.java @@ -3,8 +3,8 @@ package com.rjconsultores.ventaboletos.relatorios.impl; import java.math.BigDecimal; import java.sql.Connection; import java.sql.ResultSet; -import java.sql.Timestamp; import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.Map; @@ -38,6 +38,10 @@ public class RelatorioDevolucaoBilhetes extends Relatorio { List lsPuntoVenta = parametros.get("PUNTOVENTAS") == null ? new ArrayList() : (ArrayList) parametros.get("PUNTOVENTAS"); List lsEstado = parametros.get("ESTADOS") == null ? new ArrayList() : (ArrayList) parametros.get("ESTADOS"); Integer empresaId = parametros.get("EMPRESA_ID") == null ? null : (Integer) parametros.get("EMPRESA_ID"); + Date dataVendaInicial = parametros.get("dataVendaInicial") == null ? null : (Date) parametros.get("dataVendaInicial"); + Date dataVendaFinal = parametros.get("dataVendaFinal") == null ? null : (Date) parametros.get("dataVendaFinal"); + Date dataDevolucaoInicial = parametros.get("dataDevolucaoInicial") == null ? null : (Date) parametros.get("dataDevolucaoInicial"); + Date dataDevolucaoFinal = parametros.get("dataDevolucaoFinal") == null ? null : (Date) parametros.get("dataDevolucaoFinal"); String puntoVentas = null; for (PuntoVenta pv : lsPuntoVenta) { @@ -57,14 +61,27 @@ public class RelatorioDevolucaoBilhetes extends Relatorio { } } - String sql = getSql(empresaId, puntoVentas, estados); + String sql = getSql(empresaId, puntoVentas, estados, dataVendaInicial, dataVendaFinal, dataDevolucaoInicial, dataDevolucaoFinal); log.debug(sql); NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); ResultSet rset = null; - stmt.setString("DATA_INICIO", DateUtil.getStringDate(((Timestamp) parametros.get("DATA_INICIO")), "dd/MM/yyyy HH:mm:ss")); - stmt.setString("DATA_FINAL", DateUtil.getStringDate(((Timestamp) parametros.get("DATA_FINAL")), "dd/MM/yyyy HH:mm:ss")); + if(dataVendaInicial != null) { + stmt.setString("dataVendaInicial", DateUtil.getStringDate(dataVendaInicial, "dd/MM/yyyy HH:mm")); + } + + if(dataVendaFinal != null) { + stmt.setString("dataVendaFinal", DateUtil.getStringDate(dataVendaFinal, "dd/MM/yyyy HH:mm")); + } + + if(dataDevolucaoInicial != null) { + stmt.setString("dataDevolucaoInicial", DateUtil.getStringDate(dataDevolucaoInicial, "dd/MM/yyyy HH:mm")); + } + + if(dataDevolucaoFinal != null) { + stmt.setString("dataDevolucaoFinal", DateUtil.getStringDate(dataDevolucaoFinal, "dd/MM/yyyy HH:mm")); + } rset = stmt.executeQuery(); @@ -77,7 +94,10 @@ public class RelatorioDevolucaoBilhetes extends Relatorio { db.setSerieSubSerie((String) rset.getObject("SERIE_SUBSERIE")); db.setFolio((String) rset.getObject("FOLIO")); db.setUf((String) rset.getObject("UF")); + db.setEstado((String) rset.getObject("ESTADO")); + db.setEstadoId(rset.getInt("ESTADO_ID")); db.setFechorVenta((String) rset.getObject("FECHOR_VENTA")); + db.setFechorDevolucao((String) rset.getObject("FECHOR_DEVOLUCAO")); db.setIcms((BigDecimal) rset.getObject("ICMS")); db.setPrecioBase((BigDecimal) rset.getObject("PRECIOBASE")); db.setPrecioPagado((BigDecimal) rset.getObject("PRECIOPAGADO")); @@ -85,11 +105,33 @@ public class RelatorioDevolucaoBilhetes extends Relatorio { db.setEmpresa((String) rset.getObject("NOMB_EMPRESA")); db.setNumpuntoventa((String) rset.getObject("NUMPUNTOVENTA")); db.setNumpuntoventaOrigem((String) rset.getObject("NUMPUNTOVENTAORIGEM")); + db.setIsenta(rset.getInt("ISENTA") == 1); db.setTotalBilhete(rset.getBigDecimal("TOTAL")); + db.setValorContabil(db.getTotalBilhete()); + db.setValorIcms(BigDecimal.ZERO); + db.setValorIsenta(BigDecimal.ZERO); BigDecimal valorIcms = BigDecimal.ZERO; valorIcms = db.getPrecioPagado().multiply(db.getIcms().divide(BigDecimal.valueOf(100))); - db.setValorIcms(valorIcms); + if(db.isIsenta()) { + db.setValorIsenta(valorIcms); + } else { + db.setValorIcms(valorIcms); + } + + db.setPorcMunicipal(rset.getObject("PORC_MUNICIPAL") == null ? BigDecimal.ZERO : (BigDecimal) rset.getObject("PORC_MUNICIPAL")); + db.setPorcEstadual(rset.getObject("PORC_ESTADUAL") == null ? BigDecimal.ZERO : (BigDecimal) rset.getObject("PORC_ESTADUAL")); + + boolean isEstadual = rset.getInt("IS_ESTADUAL") == 1; + BigDecimal estornoMunicipal = BigDecimal.ZERO; + BigDecimal estornoEstadual = BigDecimal.ZERO; + if (isEstadual) { + estornoEstadual = valorIcms.multiply(db.getPorcEstadual().divide(BigDecimal.valueOf(100))); + } else { + estornoMunicipal = valorIcms.multiply(db.getPorcMunicipal().divide(BigDecimal.valueOf(100))); + } + db.setEstornoMunicipal(estornoMunicipal); + db.setEstornoEstadual(estornoEstadual); lsDev.add(db); } @@ -104,7 +146,7 @@ public class RelatorioDevolucaoBilhetes extends Relatorio { this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDev)); } - private String getSql(Integer empresaId, String puntoVentas, String estados) { + private String getSql(Integer empresaId, String puntoVentas, String estados, Date dataVendaInicial, Date dataVendaFinal, Date dataDevolucaoInicial, Date dataDevolucaoFinal) { StringBuilder sql = new StringBuilder(); sql.append("SELECT COALESCE(AIDF.ACFISCAL,SUBSTR(R4.NUMSERIE20, -6, 7)) AS AIDF, "); @@ -117,18 +159,25 @@ public class RelatorioDevolucaoBilhetes extends Relatorio { sql.append(" E.EMPRESA_ID AS EMPRESA_ID, "); sql.append(" PTV.NUMPUNTOVENTA AS NUMPUNTOVENTA, "); sql.append(" PTVO.NUMPUNTOVENTA AS NUMPUNTOVENTAORIGEM, "); + sql.append(" EST.NOMBESTADO AS ESTADO, "); sql.append(" EST.CVEESTADO AS UF, "); - sql.append(" NVL(EI.ICMS,0) AS ICMS, "); - sql.append(" TO_CHAR(B.FECHORVENTA, 'DD/MM/YYYY') AS FECHOR_VENTA, "); + sql.append(" NVL(EST.ESTADO_ID,0) AS ESTADO_ID, "); + sql.append(" NVL(EI.PORCREDBASEICMS,0) AS ICMS, "); + sql.append(" TO_CHAR(BORI.FECHORVENTA, 'DD/MM/YYYY') AS FECHOR_VENTA, "); + sql.append(" TO_CHAR(B.FECHORVENTA, 'DD/MM/YYYY') AS FECHOR_DEVOLUCAO, "); + sql.append(" (CASE WHEN CO.ESTADO_ID <> CD.ESTADO_ID THEN 1 ELSE 0 END) IS_ESTADUAL, "); + sql.append(" EI.PORCREDMUNICIPAL AS PORC_MUNICIPAL, "); + sql.append(" EI.PORCREDESTADUAL AS PORC_ESTADUAL, "); + sql.append(" (CASE WHEN NVL(ORI.REGIONMETROPOLITANA_ID ,-1) = NVL(DES.REGIONMETROPOLITANA_ID,-2) THEN 1 ELSE 0 END) as ISENTA, "); sql.append(" NVL(B.PRECIOPAGADO,0) + NVL(B.IMPORTEOUTROS,0) + NVL(B.IMPORTEPEDAGIO,0) + NVL(B.IMPORTESEGURO,0) + NVL(B.IMPORTETAXAEMBARQUE,0) AS TOTAL "); sql.append("FROM BOLETO B "); sql.append("INNER JOIN MARCA M ON M.MARCA_ID = B.MARCA_ID AND M.ACTIVO = 1 "); sql.append("INNER JOIN EMPRESA E ON E.EMPRESA_ID = M.EMPRESA_ID "); sql.append("INNER JOIN PUNTO_VENTA PTV ON PTV.PUNTOVENTA_ID = B.PUNTOVENTA_ID "); - sql.append("INNER JOIN PARADA ORIGEM ON (B.ORIGEN_ID = ORIGEM.PARADA_ID ) "); - sql.append("INNER JOIN PARADA DESTINO ON (B.DESTINO_ID = DESTINO.PARADA_ID ) "); - sql.append("INNER JOIN CIUDAD CO ON (CO.CIUDAD_ID = ORIGEM.CIUDAD_ID ) "); - sql.append("INNER JOIN CIUDAD CD ON (CD.CIUDAD_ID = DESTINO.CIUDAD_ID ) "); + sql.append("INNER JOIN PARADA ORI ON (B.ORIGEN_ID = ORI.PARADA_ID ) "); + sql.append("INNER JOIN PARADA DES ON (B.DESTINO_ID = DES.PARADA_ID ) "); + sql.append("INNER JOIN CIUDAD CO ON (CO.CIUDAD_ID = ORI.CIUDAD_ID ) "); + sql.append("INNER JOIN CIUDAD CD ON (CD.CIUDAD_ID = DES.CIUDAD_ID ) "); sql.append("INNER JOIN ESTADO EST ON EST.ESTADO_ID = CO.ESTADO_ID "); sql.append("LEFT JOIN FISCAL_R4 R4 ON R4.BOLETO_ID = B.BOLETOORIGINAL_ID "); sql.append("LEFT JOIN PUNTO_VENTA PTVO ON PTVO.PUNTOVENTA_ID = B.PTOVTAVENTA_ID "); @@ -136,14 +185,32 @@ public class RelatorioDevolucaoBilhetes extends Relatorio { sql.append(" AND EI.EMPRESA_ID = M.EMPRESA_ID "); sql.append(" AND EI.ACTIVO = 1 "); sql.append("LEFT JOIN AIDF AIDF ON AIDF.AIDF_ID = B.AIDF_ID "); - sql.append("WHERE B.MOTIVOCANCELACION_ID IN (32,10,99) "); + sql.append("LEFT JOIN BOLETO BORI ON BORI.BOLETO_ID = B.BOLETOORIGINAL_ID "); + sql.append("WHERE B.MOTIVOCANCELACION_ID IN (31,32,10,37,99,36) "); sql.append("AND B.INDSTATUSBOLETO = 'C' "); - sql.append("AND B.FECHORVENTA BETWEEN TO_DATE(:DATA_INICIO,'DD/MM/YYYY HH24:MI:SS') AND TO_DATE(:DATA_FINAL,'DD/MM/YYYY HH24:MI:SS') "); + sql.append("AND B.INDCANCELACION = 1 "); + + if(dataVendaInicial != null) { + sql.append("AND BORI.FECHORVENTA >= TO_DATE(:dataVendaInicial,'DD/MM/YYYY HH24:MI') "); + } + + if(dataVendaFinal != null) { + sql.append("AND BORI.FECHORVENTA <= TO_DATE(:dataVendaFinal,'DD/MM/YYYY HH24:MI') "); + } + + if(dataDevolucaoInicial != null) { + sql.append("AND B.FECHORVENTA >= TO_DATE(:dataDevolucaoInicial,'DD/MM/YYYY HH24:MI') "); + } + + if(dataDevolucaoFinal != null) { + sql.append("AND B.FECHORVENTA <= TO_DATE(:dataDevolucaoFinal,'DD/MM/YYYY HH24:MI') "); + } + sql.append("AND B.CATEGORIA_ID NOT IN (SELECT VALORCONSTANTE FROM CONSTANTE WHERE NOMBCONSTANTE = 'GRATUIDADE_CRIANCA') "); sql.append(estados == null ? "" : "AND EST.ESTADO_ID IN (" + estados + ") "); sql.append(puntoVentas == null ? "" : "AND PTV.PUNTOVENTA_ID IN (" + puntoVentas + ") "); sql.append(empresaId == null ? "" : "AND E.EMPRESA_ID IN (" + empresaId + ") "); - sql.append("ORDER BY NOMB_EMPRESA, FECHOR_VENTA, UF"); + sql.append("ORDER BY NOMB_EMPRESA, ESTADO, UF, FECHOR_VENTA, NUMFOLIOSISTEMA"); return sql.toString(); } diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDevolucaoBilhetesConsolidado.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDevolucaoBilhetesConsolidado.java index 6e04c1a7c..776ac6385 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDevolucaoBilhetesConsolidado.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDevolucaoBilhetesConsolidado.java @@ -3,8 +3,8 @@ package com.rjconsultores.ventaboletos.relatorios.impl; import java.math.BigDecimal; import java.sql.Connection; import java.sql.ResultSet; -import java.sql.Timestamp; import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.Map; @@ -38,6 +38,10 @@ public class RelatorioDevolucaoBilhetesConsolidado extends Relatorio { List lsPuntoVenta = parametros.get("PUNTOVENTAS") == null ? new ArrayList() : (ArrayList) parametros.get("PUNTOVENTAS"); List lsEstado = parametros.get("ESTADOS") == null ? new ArrayList() : (ArrayList) parametros.get("ESTADOS"); Integer empresaId = parametros.get("EMPRESA_ID") == null ? null : (Integer) parametros.get("EMPRESA_ID"); + Date dataVendaInicial = parametros.get("dataVendaInicial") == null ? null : (Date) parametros.get("dataVendaInicial"); + Date dataVendaFinal = parametros.get("dataVendaFinal") == null ? null : (Date) parametros.get("dataVendaFinal"); + Date dataDevolucaoInicial = parametros.get("dataDevolucaoInicial") == null ? null : (Date) parametros.get("dataDevolucaoInicial"); + Date dataDevolucaoFinal = parametros.get("dataDevolucaoFinal") == null ? null : (Date) parametros.get("dataDevolucaoFinal"); String puntoVentas = null; for (PuntoVenta pv : lsPuntoVenta) { @@ -57,14 +61,27 @@ public class RelatorioDevolucaoBilhetesConsolidado extends Relatorio { } } - String sql = getSql(empresaId, puntoVentas, estados); + String sql = getSql(empresaId, puntoVentas, estados, dataVendaInicial, dataVendaFinal, dataDevolucaoInicial, dataDevolucaoFinal); log.debug(sql); NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); ResultSet rset = null; - stmt.setString("DATA_INICIO", DateUtil.getStringDate(((Timestamp) parametros.get("DATA_INICIO")), "dd/MM/yyyy HH:mm:ss")); - stmt.setString("DATA_FINAL", DateUtil.getStringDate(((Timestamp) parametros.get("DATA_FINAL")), "dd/MM/yyyy HH:mm:ss")); + if(dataVendaInicial != null) { + stmt.setString("dataVendaInicial", DateUtil.getStringDate(dataVendaInicial, "dd/MM/yyyy HH:mm")); + } + + if(dataVendaFinal != null) { + stmt.setString("dataVendaFinal", DateUtil.getStringDate(dataVendaFinal, "dd/MM/yyyy HH:mm")); + } + + if(dataDevolucaoInicial != null) { + stmt.setString("dataDevolucaoInicial", DateUtil.getStringDate(dataDevolucaoInicial, "dd/MM/yyyy HH:mm")); + } + + if(dataDevolucaoFinal != null) { + stmt.setString("dataDevolucaoFinal", DateUtil.getStringDate(dataDevolucaoFinal, "dd/MM/yyyy HH:mm")); + } rset = stmt.executeQuery(); @@ -100,7 +117,7 @@ public class RelatorioDevolucaoBilhetesConsolidado extends Relatorio { this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDev)); } - private String getSql(Integer empresaId, String puntoVentas, String estados) { + private String getSql(Integer empresaId, String puntoVentas, String estados, Date dataVendaInicial, Date dataVendaFinal, Date dataDevolucaoInicial, Date dataDevolucaoFinal) { StringBuilder sql = new StringBuilder(); sql.append("SELECT E.NOMBEMPRESA AS NOMB_EMPRESA, "); @@ -108,7 +125,7 @@ public class RelatorioDevolucaoBilhetesConsolidado extends Relatorio { sql.append(" PTV.NUMPUNTOVENTA AS NUMPUNTOVENTA, "); sql.append(" PTV.NOMBPUNTOVENTA AS NOMBPUNTOVENTA, "); sql.append(" NVL(EI.ICMS,0) AS ICMS, "); - sql.append(" TO_CHAR(B.FECHORVENTA, 'DD/MM/YYYY') AS FECHOR_VENTA, "); + sql.append(" TO_CHAR(BORI.FECHORVENTA, 'DD/MM/YYYY') AS FECHOR_VENTA, "); sql.append(" SUM(NVL(B.PRECIOBASE,0)) AS PRECIOBASE, "); sql.append(" SUM(NVL(B.PRECIOPAGADO,0)) AS PRECIOPAGADO, "); sql.append(" SUM(NVL(B.PRECIOPAGADO,0) + NVL(B.IMPORTEOUTROS,0) + NVL(B.IMPORTEPEDAGIO,0) + NVL(B.IMPORTESEGURO,0) + NVL(B.IMPORTETAXAEMBARQUE,0)) AS TOTAL, "); @@ -127,9 +144,27 @@ public class RelatorioDevolucaoBilhetesConsolidado extends Relatorio { sql.append(" AND EI.EMPRESA_ID = M.EMPRESA_ID "); sql.append(" AND EI.ACTIVO = 1 "); sql.append("LEFT JOIN AIDF AIDF ON AIDF.AIDF_ID = B.AIDF_ID "); - sql.append("WHERE B.MOTIVOCANCELACION_ID IN (32,10,99) "); + sql.append("LEFT JOIN BOLETO BORI ON BORI.BOLETO_ID = B.BOLETOORIGINAL_ID "); + sql.append("WHERE B.MOTIVOCANCELACION_ID IN (31,32,10,37,99,36) "); sql.append("AND B.INDSTATUSBOLETO = 'C' "); - sql.append("AND B.FECHORVENTA BETWEEN TO_DATE(:DATA_INICIO,'DD/MM/YYYY HH24:MI:SS') AND TO_DATE(:DATA_FINAL,'DD/MM/YYYY HH24:MI:SS') "); + sql.append("AND B.INDCANCELACION = 1 "); + + if(dataVendaInicial != null) { + sql.append("AND BORI.FECHORVENTA >= TO_DATE(:dataVendaInicial,'DD/MM/YYYY HH24:MI') "); + } + + if(dataVendaFinal != null) { + sql.append("AND BORI.FECHORVENTA <= TO_DATE(:dataVendaFinal,'DD/MM/YYYY HH24:MI') "); + } + + if(dataDevolucaoInicial != null) { + sql.append("AND B.FECHORVENTA >= TO_DATE(:dataDevolucaoInicial,'DD/MM/YYYY HH24:MI') "); + } + + if(dataDevolucaoFinal != null) { + sql.append("AND B.FECHORVENTA <= TO_DATE(:dataDevolucaoFinal,'DD/MM/YYYY HH24:MI') "); + } + sql.append("AND B.CATEGORIA_ID NOT IN (SELECT VALORCONSTANTE FROM CONSTANTE WHERE NOMBCONSTANTE = 'GRATUIDADE_CRIANCA') "); sql.append(estados == null ? "" : "AND EST.ESTADO_ID IN (" + estados + ") "); sql.append(puntoVentas == null ? "" : "AND PTV.PUNTOVENTA_ID IN (" + puntoVentas + ") "); diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDevolucaoBilhetesFinanceiro.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDevolucaoBilhetesFinanceiro.java new file mode 100644 index 000000000..303ebfa46 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDevolucaoBilhetesFinanceiro.java @@ -0,0 +1,175 @@ +package com.rjconsultores.ventaboletos.relatorios.impl; + +import java.math.BigDecimal; +import java.sql.Connection; +import java.sql.ResultSet; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; + +import org.apache.log4j.Logger; + +import com.rjconsultores.ventaboletos.entidad.Estado; +import com.rjconsultores.ventaboletos.entidad.PuntoVenta; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.DataSource; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.DevolucaoBilhetes; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; +import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; + +import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; + +public class RelatorioDevolucaoBilhetesFinanceiro extends Relatorio { + + private static Logger log = Logger.getLogger(RelatorioDevolucaoBilhetesFinanceiro.class); + + public RelatorioDevolucaoBilhetesFinanceiro(Map parametros, Connection conexao) throws Exception { + super(parametros, conexao); + + this.setCustomDataSource(new DataSource(this) { + @SuppressWarnings("unchecked") + @Override + public void initDados() throws Exception { + + Connection conexao = this.relatorio.getConexao(); + Map parametros = this.relatorio.getParametros(); + + List lsPuntoVenta = parametros.get("PUNTOVENTAS") == null ? new ArrayList() : (ArrayList) parametros.get("PUNTOVENTAS"); + List lsEstado = parametros.get("ESTADOS") == null ? new ArrayList() : (ArrayList) parametros.get("ESTADOS"); + Integer empresaId = parametros.get("EMPRESA_ID") == null ? null : (Integer) parametros.get("EMPRESA_ID"); + Date dataVendaInicial = parametros.get("dataVendaInicial") == null ? null : (Date) parametros.get("dataVendaInicial"); + Date dataVendaFinal = parametros.get("dataVendaFinal") == null ? null : (Date) parametros.get("dataVendaFinal"); + Date dataDevolucaoInicial = parametros.get("dataDevolucaoInicial") == null ? null : (Date) parametros.get("dataDevolucaoInicial"); + Date dataDevolucaoFinal = parametros.get("dataDevolucaoFinal") == null ? null : (Date) parametros.get("dataDevolucaoFinal"); + + String puntoVentas = null; + for (PuntoVenta pv : lsPuntoVenta) { + if (lsPuntoVenta.indexOf(pv) == 0) { + puntoVentas = "" + pv.getPuntoventaId(); + } else { + puntoVentas += ", " + pv.getPuntoventaId(); + } + } + + String estados = null; + for (Estado e : lsEstado) { + if (lsEstado.indexOf(e) == 0) { + estados = "" + e.getEstadoId(); + } else { + estados += ", " + e.getEstadoId(); + } + } + + String sql = getSql(empresaId, puntoVentas, estados, dataVendaInicial, dataVendaFinal, dataDevolucaoInicial, dataDevolucaoFinal); + log.debug(sql); + + NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); + ResultSet rset = null; + + if(dataVendaInicial != null) { + stmt.setString("dataVendaInicial", DateUtil.getStringDate(dataVendaInicial, "dd/MM/yyyy HH:mm")); + } + + if(dataVendaFinal != null) { + stmt.setString("dataVendaFinal", DateUtil.getStringDate(dataVendaFinal, "dd/MM/yyyy HH:mm")); + } + + if(dataDevolucaoInicial != null) { + stmt.setString("dataDevolucaoInicial", DateUtil.getStringDate(dataDevolucaoInicial, "dd/MM/yyyy HH:mm")); + } + + if(dataDevolucaoFinal != null) { + stmt.setString("dataDevolucaoFinal", DateUtil.getStringDate(dataDevolucaoFinal, "dd/MM/yyyy HH:mm")); + } + + rset = stmt.executeQuery(); + + List lsDev = new ArrayList(); + while (rset.next()) { + + DevolucaoBilhetes db = new DevolucaoBilhetes(); + db.setNumFolioSistema((String) rset.getObject("NUMFOLIOSISTEMA")); + db.setFolio((String) rset.getObject("FOLIO")); + db.setFechorVenta((String) rset.getObject("FECHOR_VENTA")); + db.setFechorDevolucao((String) rset.getObject("FECHOR_DEVOLUCAO")); + db.setEmpresaId(rset.getObject("EMPRESA_ID") == null ? null : ((BigDecimal) rset.getObject("EMPRESA_ID")).intValue()); + db.setEmpresa((String) rset.getObject("NOMB_EMPRESA")); + db.setNombpuntoventa((String) rset.getObject("NOMBPUNTOVENTA")); + db.setNombpuntoventaOrigem((String) rset.getObject("NOMBPUNTOVENTARIGEM")); + db.setDescorigem((String) rset.getObject("DESCORIGEM")); + db.setDescdestino((String) rset.getObject("DESCDESTINO")); + db.setCveusuario((String) rset.getObject("CVEUSUARIO")); + db.setTotalBilhete(rset.getBigDecimal("TOTAL")); + + lsDev.add(db); + } + + setLsDadosRelatorio(lsDev); + } + }); + + } + + public void setLsDadosRelatorio(List lsDev) { + this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDev)); + } + + private String getSql(Integer empresaId, String puntoVentas, String estados, Date dataVendaInicial, Date dataVendaFinal, Date dataDevolucaoInicial, Date dataDevolucaoFinal) { + + StringBuilder sql = new StringBuilder(); + sql.append("SELECT E.NOMBEMPRESA AS NOMB_EMPRESA, "); + sql.append(" E.EMPRESA_ID AS EMPRESA_ID, "); + sql.append(" PTV.NOMBPUNTOVENTA AS NOMBPUNTOVENTA, "); + sql.append(" PTVO.NOMBPUNTOVENTA AS NOMBPUNTOVENTARIGEM, "); + sql.append(" ORI.DESCPARADA AS DESCORIGEM, "); + sql.append(" DES.DESCPARADA AS DESCDESTINO, "); + sql.append(" B.NUMFOLIOSISTEMA AS NUMFOLIOSISTEMA, "); + sql.append(" B.NUMFOLIOPREIMPRESO AS FOLIO, "); + sql.append(" U.CVEUSUARIO AS CVEUSUARIO, "); + sql.append(" TO_CHAR(B.FECHORVENTA, 'DD/MM/YYYY') AS FECHOR_DEVOLUCAO, "); + sql.append(" TO_CHAR(BORI.FECHORVENTA, 'DD/MM/YYYY') AS FECHOR_VENTA, "); + sql.append(" NVL(B.PRECIOPAGADO,0) + NVL(B.IMPORTEOUTROS,0) + NVL(B.IMPORTEPEDAGIO,0) + NVL(B.IMPORTESEGURO,0) + NVL(B.IMPORTETAXAEMBARQUE,0) AS TOTAL "); + sql.append("FROM BOLETO B "); + sql.append("INNER JOIN MARCA M ON M.MARCA_ID = B.MARCA_ID AND M.ACTIVO = 1 "); + sql.append("INNER JOIN EMPRESA E ON E.EMPRESA_ID = M.EMPRESA_ID "); + sql.append("INNER JOIN PUNTO_VENTA PTV ON PTV.PUNTOVENTA_ID = B.PUNTOVENTA_ID "); + sql.append("INNER JOIN PARADA ORI ON (B.ORIGEN_ID = ORI.PARADA_ID ) "); + sql.append("INNER JOIN PARADA DES ON (B.DESTINO_ID = DES.PARADA_ID ) "); + sql.append("LEFT JOIN PUNTO_VENTA PTVO ON PTVO.PUNTOVENTA_ID = B.PTOVTAVENTA_ID "); + sql.append("LEFT JOIN BOLETO BORI ON BORI.BOLETO_ID = B.BOLETOORIGINAL_ID "); + sql.append("JOIN USUARIO U ON U.USUARIO_ID = B.USUARIO_ID "); + sql.append("WHERE B.MOTIVOCANCELACION_ID IN (31,32,10,37,99,36) "); + sql.append("AND B.INDSTATUSBOLETO = 'C' "); + sql.append("AND B.INDCANCELACION = 1 "); + + if(dataVendaInicial != null) { + sql.append("AND BORI.FECHORVENTA >= TO_DATE(:dataVendaInicial,'DD/MM/YYYY HH24:MI') "); + } + + if(dataVendaFinal != null) { + sql.append("AND BORI.FECHORVENTA <= TO_DATE(:dataVendaFinal,'DD/MM/YYYY HH24:MI') "); + } + + if(dataDevolucaoInicial != null) { + sql.append("AND B.FECHORVENTA >= TO_DATE(:dataDevolucaoInicial,'DD/MM/YYYY HH24:MI') "); + } + + if(dataDevolucaoFinal != null) { + sql.append("AND B.FECHORVENTA <= TO_DATE(:dataDevolucaoFinal,'DD/MM/YYYY HH24:MI') "); + } + + sql.append("AND B.CATEGORIA_ID NOT IN (SELECT VALORCONSTANTE FROM CONSTANTE WHERE NOMBCONSTANTE = 'GRATUIDADE_CRIANCA') "); + sql.append(estados == null ? "" : "AND EST.ESTADO_ID IN (" + estados + ") "); + sql.append(puntoVentas == null ? "" : "AND PTV.PUNTOVENTA_ID IN (" + puntoVentas + ") "); + sql.append(empresaId == null ? "" : "AND E.EMPRESA_ID IN (" + empresaId + ") "); + sql.append("ORDER BY NOMB_EMPRESA, FECHOR_VENTA"); + + return sql.toString(); + } + + @Override + protected void processaParametros() throws Exception { + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDevolucaoBilhetesConsolidado_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDevolucaoBilhetesConsolidado_es.properties index e0124ec2b..1aeded8ec 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDevolucaoBilhetesConsolidado_es.properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDevolucaoBilhetesConsolidado_es.properties @@ -5,6 +5,7 @@ msg.noData=N label.titulo=Relatório de Devolução de Bilhetes Consolidado label.periodo=Período: label.ate=até +label.de=de label.filtros=Fitros: label.aidf=AIDF(Bilhetes Manuais) label.serieSubs=Série/Subs.(ECF) @@ -18,4 +19,8 @@ label.total=Total label.qtdeBilhetes=Quantidade de Bilhetes label.totalBilhete=Total Bilhete label.numpuntoventa=Nº Agência -label.nombpuntoventa=Agência \ No newline at end of file +label.nombpuntoventa=Agência +label.periodoVenda=Data Venda: +label.periodoDevolucao=Data Devolução: +label.dataHora=Emitido em: +label.impressorPor=Emitido Por: \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDevolucaoBilhetesConsolidado_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDevolucaoBilhetesConsolidado_pt_BR.properties index e0124ec2b..1aeded8ec 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDevolucaoBilhetesConsolidado_pt_BR.properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDevolucaoBilhetesConsolidado_pt_BR.properties @@ -5,6 +5,7 @@ msg.noData=N label.titulo=Relatório de Devolução de Bilhetes Consolidado label.periodo=Período: label.ate=até +label.de=de label.filtros=Fitros: label.aidf=AIDF(Bilhetes Manuais) label.serieSubs=Série/Subs.(ECF) @@ -18,4 +19,8 @@ label.total=Total label.qtdeBilhetes=Quantidade de Bilhetes label.totalBilhete=Total Bilhete label.numpuntoventa=Nº Agência -label.nombpuntoventa=Agência \ No newline at end of file +label.nombpuntoventa=Agência +label.periodoVenda=Data Venda: +label.periodoDevolucao=Data Devolução: +label.dataHora=Emitido em: +label.impressorPor=Emitido Por: \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDevolucaoBilhetesFinanceiro_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDevolucaoBilhetesFinanceiro_es.properties new file mode 100644 index 000000000..9bdda4b4e --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDevolucaoBilhetesFinanceiro_es.properties @@ -0,0 +1,26 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + +#labels +label.titulo=Relatório de Devolução de Bilhetes - Financeiro +label.periodo=Período +label.ate=até +label.de=de +label.filtros=Fitros: +label.pagina=Página: +label.periodoVenda=Data Venda: +label.periodoDevolucao=Data Devolução: +label.dataHora=Emitido em: +label.impressorPor=Emitido Por: +label.total=Total +label.qtdeBilhetes=Quantidade de Bilhetes +label.nombpuntoventa=Ag. Emissão +label.descorigem=Origem +label.descdestino=Destino +label.fechorVenta=Dt Emissão +label.numeroBilhete=Nº Bilhete +label.numero=Número +label.totalBilhete=Total Bilhete +label.fechorDevolucao=Dt Devolução +label.nombpuntoventa=Ag. Devolução +label.cveusuario=Bilheteiro \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDevolucaoBilhetesFinanceiro_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDevolucaoBilhetesFinanceiro_pt_BR.properties new file mode 100644 index 000000000..9bdda4b4e --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDevolucaoBilhetesFinanceiro_pt_BR.properties @@ -0,0 +1,26 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + +#labels +label.titulo=Relatório de Devolução de Bilhetes - Financeiro +label.periodo=Período +label.ate=até +label.de=de +label.filtros=Fitros: +label.pagina=Página: +label.periodoVenda=Data Venda: +label.periodoDevolucao=Data Devolução: +label.dataHora=Emitido em: +label.impressorPor=Emitido Por: +label.total=Total +label.qtdeBilhetes=Quantidade de Bilhetes +label.nombpuntoventa=Ag. Emissão +label.descorigem=Origem +label.descdestino=Destino +label.fechorVenta=Dt Emissão +label.numeroBilhete=Nº Bilhete +label.numero=Número +label.totalBilhete=Total Bilhete +label.fechorDevolucao=Dt Devolução +label.nombpuntoventa=Ag. Devolução +label.cveusuario=Bilheteiro \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDevolucaoBilhetes_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDevolucaoBilhetes_es.properties index 3c8ae2ab1..9f3053065 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDevolucaoBilhetes_es.properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDevolucaoBilhetes_es.properties @@ -2,9 +2,10 @@ msg.noData=Não foi possivel obter dados com os parâmetros informados. #labels -label.titulo=Relatório de Devolução de Bilhetes -label.periodo=Período: +label.titulo=Relatório de Devolução de Bilhetes - Fiscal +label.periodo=Período label.ate=até +label.de=de label.filtros=Fitros: label.aidf=AIDF(Bilhetes Manuais) label.serieSubs=Série/Subs.(ECF) @@ -20,4 +21,14 @@ label.totalBilhete=Total Bilhete label.numeroBilhete=Nº Bilhete label.numpuntoventa=Nº Agência label.uf=UF -label.numpuntoventaOrigem=Nº Agência Origem \ No newline at end of file +label.numpuntoventaOrigem=Nº Agência Origem +label.periodoVenda=Data Venda: +label.periodoDevolucao=Data Devolução: +label.dataHora=Emitido em: +label.impressorPor=Emitido Por: +label.isenta=Isenta +label.outras=Outras +label.fechorDevolucao=Dt Devolução +label.impEstornarInterestadual=Imposto a Estornar Interestadual +label.impEstornarIntermunicipal=Imposto a Estornar Intermunicipal +label.impEstornarTotal=Imposto a Estornar Total \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDevolucaoBilhetes_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDevolucaoBilhetes_pt_BR.properties index 3c8ae2ab1..9f3053065 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDevolucaoBilhetes_pt_BR.properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDevolucaoBilhetes_pt_BR.properties @@ -2,9 +2,10 @@ msg.noData=Não foi possivel obter dados com os parâmetros informados. #labels -label.titulo=Relatório de Devolução de Bilhetes -label.periodo=Período: +label.titulo=Relatório de Devolução de Bilhetes - Fiscal +label.periodo=Período label.ate=até +label.de=de label.filtros=Fitros: label.aidf=AIDF(Bilhetes Manuais) label.serieSubs=Série/Subs.(ECF) @@ -20,4 +21,14 @@ label.totalBilhete=Total Bilhete label.numeroBilhete=Nº Bilhete label.numpuntoventa=Nº Agência label.uf=UF -label.numpuntoventaOrigem=Nº Agência Origem \ No newline at end of file +label.numpuntoventaOrigem=Nº Agência Origem +label.periodoVenda=Data Venda: +label.periodoDevolucao=Data Devolução: +label.dataHora=Emitido em: +label.impressorPor=Emitido Por: +label.isenta=Isenta +label.outras=Outras +label.fechorDevolucao=Dt Devolução +label.impEstornarInterestadual=Imposto a Estornar Interestadual +label.impEstornarIntermunicipal=Imposto a Estornar Intermunicipal +label.impEstornarTotal=Imposto a Estornar Total \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDevolucaoBilhetes.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDevolucaoBilhetes.jasper index 220bf8732..e05353430 100644 Binary files a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDevolucaoBilhetes.jasper and b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDevolucaoBilhetes.jasper differ diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDevolucaoBilhetes.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDevolucaoBilhetes.jrxml index 700cbdef8..4386ecb42 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDevolucaoBilhetes.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDevolucaoBilhetes.jrxml @@ -2,7 +2,7 @@ - + - - + + + + @@ -41,7 +43,6 @@ - @@ -55,6 +56,11 @@ + + + + + @@ -76,20 +82,113 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -97,7 +196,7 @@ - + @@ -109,16 +208,16 @@ - - - + + + - + - - - + + + @@ -126,26 +225,40 @@ - - - + + + - - + + - - - + + + + + + + + + + + + + + + + + @@ -153,7 +266,7 @@ - + @@ -162,72 +275,133 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - + + + - - - - + + + + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -245,180 +419,224 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + @@ -429,24 +647,21 @@ - + - - - - + - + @@ -454,33 +669,47 @@ - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + @@ -488,7 +717,7 @@ - + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDevolucaoBilhetesConsolidado.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDevolucaoBilhetesConsolidado.jasper index 2df969a1b..3b7fbf407 100644 Binary files a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDevolucaoBilhetesConsolidado.jasper and b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDevolucaoBilhetesConsolidado.jasper differ diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDevolucaoBilhetesConsolidado.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDevolucaoBilhetesConsolidado.jrxml index 1c01d320f..c70154e4c 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDevolucaoBilhetesConsolidado.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDevolucaoBilhetesConsolidado.jrxml @@ -1,8 +1,8 @@ - + - + - - + + + + @@ -154,7 +156,7 @@ - + @@ -163,71 +165,132 @@ + + + - - - - - - - - - - - - - - - - - + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - + + + - - - - - - - - - - - - - - - - + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDevolucaoBilhetesFinanceiro.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDevolucaoBilhetesFinanceiro.jasper new file mode 100644 index 000000000..3df124dfe Binary files /dev/null and b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDevolucaoBilhetesFinanceiro.jasper differ diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDevolucaoBilhetesFinanceiro.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDevolucaoBilhetesFinanceiro.jrxml new file mode 100644 index 000000000..9a2ba535f --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDevolucaoBilhetesFinanceiro.jrxml @@ -0,0 +1,468 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDevolucaoBilhetesTeste.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDevolucaoBilhetesTeste.jrxml new file mode 100644 index 000000000..d36870bad --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDevolucaoBilhetesTeste.jrxml @@ -0,0 +1,470 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/DevolucaoBilhetes.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/DevolucaoBilhetes.java index 7aaaa5983..7b1807ca9 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/DevolucaoBilhetes.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/DevolucaoBilhetes.java @@ -18,9 +18,17 @@ public class DevolucaoBilhetes { private BigDecimal icms; private BigDecimal valorIcms; private String fechorVenta; + private String fechorDevolucao; private String numpuntoventa; private String numpuntoventaOrigem; private String nombpuntoventa; + private String nombpuntoventaOrigem; + private String descorigem; + private String descdestino; + private String cveusuario; + private boolean isenta; + private BigDecimal valorIsenta; + private BigDecimal valorContabil; BigDecimal porcMunicipal; BigDecimal porcEstadual; @@ -213,4 +221,72 @@ public class DevolucaoBilhetes { this.numpuntoventaOrigem = numpuntoventaOrigem; } + public String getNombpuntoventaOrigem() { + return nombpuntoventaOrigem; + } + + public void setNombpuntoventaOrigem(String nombpuntoventaOrigem) { + this.nombpuntoventaOrigem = nombpuntoventaOrigem; + } + + public String getDescorigem() { + return descorigem; + } + + public void setDescorigem(String descorigem) { + this.descorigem = descorigem; + } + + public String getDescdestino() { + return descdestino; + } + + public void setDescdestino(String descdestino) { + this.descdestino = descdestino; + } + + public String getFechorDevolucao() { + return fechorDevolucao; + } + + public void setFechorDevolucao(String fechorDevolucao) { + this.fechorDevolucao = fechorDevolucao; + } + + public String getCveusuario() { + return cveusuario; + } + + public void setCveusuario(String cveusuario) { + this.cveusuario = cveusuario; + } + + public boolean isIsenta() { + return isenta; + } + + public void setIsenta(boolean isenta) { + this.isenta = isenta; + } + + public BigDecimal getValorIsenta() { + return valorIsenta; + } + + public void setValorIsenta(BigDecimal valorIsenta) { + this.valorIsenta = valorIsenta; + } + + public BigDecimal getValorContabil() { + return valorContabil; + } + + public void setValorContabil(BigDecimal valorContabil) { + this.valorContabil = valorContabil; + } + + public BigDecimal getValorOutras() { + return valorContabil.subtract(precioPagado); + } + } diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarRegionMetropolitanaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarRegionMetropolitanaController.java index b94dae851..4e0cbc48d 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarRegionMetropolitanaController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarRegionMetropolitanaController.java @@ -4,6 +4,7 @@ */ package com.rjconsultores.ventaboletos.web.gui.controladores.catalogos; +import java.util.ArrayList; import java.util.List; import org.apache.log4j.Logger; @@ -52,7 +53,7 @@ public class EditarRegionMetropolitanaController extends MyGenericForwardCompose private MyComboboxParadaCve cmbParadaCve; private MyListbox paradaList; - private MyListbox paradaListDeletada; + private List paradaListDeletada; @Override public void doAfterCompose(Component comp) throws Exception { @@ -95,7 +96,7 @@ public class EditarRegionMetropolitanaController extends MyGenericForwardCompose try { - if (paradaList.getListModel().getSize() == 0) { + if (paradaList.getListModel() == null || paradaList.getListModel().getSize() == 0) { Messagebox.show( Labels.getLabel("editarRegionMetropolitanaController.MSG.vazio"), Labels.getLabel("editarRegionMetropolitanaController.window.title"), @@ -110,14 +111,17 @@ public class EditarRegionMetropolitanaController extends MyGenericForwardCompose regionMetropolitanaService.actualizacion(regionMetropolitana); regionMetropolitanaList.updateItem(regionMetropolitana); } - for (Object parada : paradaList.getListData()) { - paradaService.suscribirActualizar((Parada) parada); - } - if (!paradaListDeletada.getListData().isEmpty()) { - for (Object parada : paradaListDeletada.getListData()) { + + if(paradaList.getListData() != null) { + for (Object parada : paradaList.getListData()) { paradaService.suscribirActualizar((Parada) parada); } - + } + + if (paradaListDeletada != null) { + for (Parada parada : paradaListDeletada) { + paradaService.suscribirActualizar(parada); + } } Messagebox.show( @@ -170,7 +174,10 @@ public class EditarRegionMetropolitanaController extends MyGenericForwardCompose Parada parada = (Parada) paradaList.getSelected(); parada.setRegionMetropolitana(null); - paradaListDeletada.addItemNovo(parada); + if(paradaListDeletada == null) { + paradaListDeletada = new ArrayList(); + } + paradaListDeletada.add(parada); paradaList.removeItem(parada); diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioDevolucaoBilhetesController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioDevolucaoBilhetesController.java index 3db3f0c01..24ab23e08 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioDevolucaoBilhetesController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioDevolucaoBilhetesController.java @@ -4,7 +4,6 @@ */ package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios; -import java.sql.Timestamp; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -32,6 +31,7 @@ import com.rjconsultores.ventaboletos.entidad.Estado; import com.rjconsultores.ventaboletos.entidad.PuntoVenta; import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioDevolucaoBilhetes; import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioDevolucaoBilhetesConsolidado; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioDevolucaoBilhetesFinanceiro; import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; import com.rjconsultores.ventaboletos.service.EstadoService; import com.rjconsultores.ventaboletos.utilerias.DateUtil; @@ -75,8 +75,11 @@ public class RelatorioDevolucaoBilhetesController extends MyGenericForwardCompos private Combobox cmbPuntoVenta; private Datebox datInicial; private Datebox datFinal; + private Datebox datDevolucaoInicial; + private Datebox datDevolucaoFinal; - private Radio rAnalitico; + private Radio rFiscal; + private Radio rFinanceiro; private Radio rConsolidado; private void executarPesquisa() { @@ -106,9 +109,20 @@ public class RelatorioDevolucaoBilhetesController extends MyGenericForwardCompos Map parametros = new HashMap(); StringBuilder filtro = new StringBuilder(); - parametros.put("DATA_INICIO", new Timestamp((DateUtil.inicioFecha((java.util.Date) this.datInicial.getValue()).getTime()))); - parametros.put("DATA_FINAL", new Timestamp((DateUtil.fimFecha((java.util.Date) this.datFinal.getValue()).getTime()))); - parametros.put("USUARIO", UsuarioLogado.getUsuarioLogado().getUsuarioId().toString()); + if(this.datInicial.getValue() != null) { + parametros.put("dataVendaInicial", DateUtil.inicioFecha(this.datInicial.getValue())); + } + if(this.datFinal.getValue() != null) { + parametros.put("dataVendaFinal", DateUtil.fimFecha(this.datFinal.getValue())); + } + if(this.datDevolucaoInicial.getValue() != null) { + parametros.put("dataDevolucaoInicial", DateUtil.inicioFecha(this.datDevolucaoInicial.getValue())); + } + if(this.datDevolucaoFinal.getValue() != null) { + parametros.put("dataDevolucaoFinal", DateUtil.fimFecha(this.datDevolucaoFinal.getValue())); + } + + parametros.put("USUARIO", UsuarioLogado.getUsuarioLogado().getClaveUsuario()); filtro.append("Agência(s): "); if (puntoVentaSelList.getListData().size() > 0) { @@ -121,32 +135,41 @@ public class RelatorioDevolucaoBilhetesController extends MyGenericForwardCompos filtro.append(puntoVentaSelList.getListData().size() + " selecionada(s);"); } else { parametros.put("ISNUMPUNTOVENTATODOS", "S"); - filtro.append("Todas ;"); + filtro.append("Todas"); } - filtro.append("Estados(s): "); + filtro.append("; Estado(s): "); if (estadoList.getSelectedsItens().size() > 0) { parametros.put("ESTADOS", estadoList.getSelectedsItens()); - filtro.append(estadoList.getSelectedsItens().size() + " selecionado(s);"); + StringBuilder sEstados = new StringBuilder(); + for (Object estado : estadoList.getSelectedsItens()) { + if(sEstados.length() > 0) { + sEstados.append("; "); + } + sEstados.append(((Estado)estado).getCveestado()); + } + filtro.append(sEstados.toString()); } else { - filtro.append("Todos ;"); + filtro.append("Todos"); } - filtro.append("Empresa: "); + filtro.append("; Empresa: "); Comboitem itemEmpresa = cmbEmpresa.getSelectedItem(); if (itemEmpresa != null) { Empresa empresa = (Empresa) itemEmpresa.getValue(); parametros.put("EMPRESA_ID", empresa.getEmpresaId()); filtro.append(empresa.getNombempresa()); } else { - filtro.append("Todos ;"); + filtro.append("Todos; "); } parametros.put("FILTROS", filtro.toString()); Relatorio relatorio = null; - if(rAnalitico.isChecked()) { + if(rFiscal.isChecked()) { relatorio = new RelatorioDevolucaoBilhetes(parametros, dataSourceRead.getConnection()); + } else if(rFinanceiro.isChecked()) { + relatorio = new RelatorioDevolucaoBilhetesFinanceiro(parametros, dataSourceRead.getConnection()); } else if(rConsolidado.isChecked()) { relatorio = new RelatorioDevolucaoBilhetesConsolidado(parametros, dataSourceRead.getConnection()); } @@ -155,7 +178,7 @@ public class RelatorioDevolucaoBilhetesController extends MyGenericForwardCompos args.put("relatorio", relatorio); openWindow("/component/reportView.zul", - Labels.getLabel("relatorioReceitaDiariaAgenciaController.window.title"), args, MODAL); + Labels.getLabel("relatorioDevolucaoBilhetesAgenciaController.window.title"), args, MODAL); } @Override diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index 2e37f85f2..f93210553 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -516,6 +516,33 @@ busquedaRelatorioRDIController.labelRadio.radNao = Não busquedaRelatorioRDIController.seleciona.empresa = Deve ser selecionada uma empresa busquedaRelatorioRDIController.seleciona.estado = Deve ser selecionado ao menos um estado +#Devolução de Bilhetes +relatorioDevolucaoBilhetesAgenciaController.window.title = Relatório de Devolução de Bilhetes +relatorioDevolucaoBilhetesAgenciaController.lbDataVendaIni.value = DT Venda Inicial +relatorioDevolucaoBilhetesAgenciaController.lbDataVendaFin.value = DT Venda Final +relatorioDevolucaoBilhetesAgenciaController.lbDataDevolucaoIni.value = DT Devolução Inicial +relatorioDevolucaoBilhetesAgenciaController.lbDataDevolucaoFin.value = DT Devolução Final +relatorioDevolucaoBilhetesAgenciaController.lbEstado.value = Estado +relatorioDevolucaoBilhetesAgenciaController.lbPuntoVenta.value = Agência +relatorioDevolucaoBilhetesAgenciaController.btnPesquisa.label = Pesquisar +relatorioDevolucaoBilhetesAgenciaController.btnLimpar.label = Limpar Seleção +relatorioDevolucaoBilhetesAgenciaController.puntoVentaSelList.codigo = Código +relatorioDevolucaoBilhetesAgenciaController.puntoVentaSelList.nome = Nome +relatorioDevolucaoBilhetesAgenciaController.lbEmpresa.value = Empresa +relatorioDevolucaoBilhetesAgenciaController.chkDesconsideraMes.label = Desconsiderar devoluções no mês/ano da emissão +relatorioDevolucaoBilhetesAgenciaController.rdIndDataBase.label = Periodo com base na data de: +relatorioDevolucaoBilhetesAgenciaController.rdIndDataBase.cmbItemEmissao = Emissão +relatorioDevolucaoBilhetesAgenciaController.rdIndDataBase.cmbItemDevolucao = Devolução +relatorioDevolucaoBilhetesAgenciaController.rdIndAgrupamento.label = Agrupado por: +relatorioDevolucaoBilhetesAgenciaController.rdIndAgrupamento.cmbItemData = Data +relatorioDevolucaoBilhetesAgenciaController.rdIndAgrupamento.cmbItemLocalidade = Localidade +relatorioDevolucaoBilhetesAgenciaController.rdIndTpoRelatorio.label = Tipo de Relatório: +relatorioDevolucaoBilhetesAgenciaController.rdIndTpoRelatorio.cmbItemData = Bilhetes Devolvidos +relatorioDevolucaoBilhetesAgenciaController.rdIndTpoRelatorio.cmbItemLocalidade = GAPs Devolvidos +relatorioDevolucaoBilhetesAgenciaController.tipo.lbTipo = Tipo +relatorioDevolucaoBilhetesAgenciaController.tipo.lbFiscal = Fiscal +relatorioDevolucaoBilhetesAgenciaController.tipo.lbFinanceiro = Financeiro +relatorioDevolucaoBilhetesAgenciaController.tipo.lbConsolidado = Consolidado #Reporte Acompanhamento Equivalentes relatorioAcompanhamentoEquivalentesController.window.title = Reporte de acompañamiento de equivalentes diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index d96d64d01..709459ee2 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -583,8 +583,10 @@ busquedaRelatorioRDIController.seleciona.estado = Deve ser selecionado ao menos #Devolução de Bilhetes relatorioDevolucaoBilhetesAgenciaController.window.title = Relatório de Devolução de Bilhetes -relatorioDevolucaoBilhetesAgenciaController.lbDataIni.value = Data Inicial -relatorioDevolucaoBilhetesAgenciaController.lbDataFin.value = Data Final +relatorioDevolucaoBilhetesAgenciaController.lbDataVendaIni.value = DT Venda Inicial +relatorioDevolucaoBilhetesAgenciaController.lbDataVendaFin.value = DT Venda Final +relatorioDevolucaoBilhetesAgenciaController.lbDataDevolucaoIni.value = DT Devolução Inicial +relatorioDevolucaoBilhetesAgenciaController.lbDataDevolucaoFin.value = DT Devolução Final relatorioDevolucaoBilhetesAgenciaController.lbEstado.value = Estado relatorioDevolucaoBilhetesAgenciaController.lbPuntoVenta.value = Agência relatorioDevolucaoBilhetesAgenciaController.btnPesquisa.label = Pesquisar @@ -603,7 +605,8 @@ relatorioDevolucaoBilhetesAgenciaController.rdIndTpoRelatorio.label = Tipo de Re relatorioDevolucaoBilhetesAgenciaController.rdIndTpoRelatorio.cmbItemData = Bilhetes Devolvidos relatorioDevolucaoBilhetesAgenciaController.rdIndTpoRelatorio.cmbItemLocalidade = GAPs Devolvidos relatorioDevolucaoBilhetesAgenciaController.tipo.lbTipo = Tipo -relatorioDevolucaoBilhetesAgenciaController.tipo.lbAnalitico = Analítico +relatorioDevolucaoBilhetesAgenciaController.tipo.lbFiscal = Fiscal +relatorioDevolucaoBilhetesAgenciaController.tipo.lbFinanceiro = Financeiro relatorioDevolucaoBilhetesAgenciaController.tipo.lbConsolidado = Consolidado #Relatório Acompanhamento Equivalentes diff --git a/web/gui/relatorios/filtroRelatorioDevolucaoBilhetes.zul b/web/gui/relatorios/filtroRelatorioDevolucaoBilhetes.zul index 9306e5f71..f63c44efc 100644 --- a/web/gui/relatorios/filtroRelatorioDevolucaoBilhetes.zul +++ b/web/gui/relatorios/filtroRelatorioDevolucaoBilhetes.zul @@ -18,16 +18,28 @@ + + @@ -108,9 +120,11 @@