diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDevolucaoBilhetes.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDevolucaoBilhetes.java index f5eaf303c..9371c9933 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDevolucaoBilhetes.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDevolucaoBilhetes.java @@ -72,40 +72,24 @@ public class RelatorioDevolucaoBilhetes extends Relatorio { while (rset.next()) { DevolucaoBilhetes db = new DevolucaoBilhetes(); - db.setEstado((String) rset.getObject("ESTADO")); db.setAidf((String) rset.getObject("AIDF")); db.setNumFolioSistema((String) rset.getObject("NUMFOLIOSISTEMA")); db.setSerieSubSerie((String) rset.getObject("SERIE_SUBSERIE")); db.setFolio((String) rset.getObject("FOLIO")); db.setUf((String) rset.getObject("UF")); db.setFechorVenta((String) rset.getObject("FECHOR_VENTA")); - db.setEstadoId(rset.getObject("ESTADO_ID") == null ? null : ((BigDecimal) rset.getObject("ESTADO_ID")).intValue()); db.setIcms((BigDecimal) rset.getObject("ICMS")); db.setPrecioBase((BigDecimal) rset.getObject("PRECIOBASE")); db.setPrecioPagado((BigDecimal) rset.getObject("PRECIOPAGADO")); db.setEmpresaId(rset.getObject("EMPRESA_ID") == null ? null : ((BigDecimal) rset.getObject("EMPRESA_ID")).intValue()); db.setEmpresa((String) rset.getObject("NOMB_EMPRESA")); + db.setNumpuntoventa((String) rset.getObject("NUMPUNTOVENTA")); db.setTotalBilhete(rset.getBigDecimal("TOTAL")); BigDecimal valorIcms = BigDecimal.ZERO; valorIcms = db.getPrecioPagado().multiply(db.getIcms().divide(BigDecimal.valueOf(100))); 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 = ((BigDecimal) rset.getObject("IS_ESTADUAL")).equals(BigDecimal.ZERO) ? false : true; - - 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); } @@ -130,17 +114,14 @@ public class RelatorioDevolucaoBilhetes extends Relatorio { sql.append(" B.PRECIOBASE AS PRECIOBASE, "); sql.append(" E.NOMBEMPRESA AS NOMB_EMPRESA, "); sql.append(" E.EMPRESA_ID AS EMPRESA_ID, "); - sql.append(" EST.ESTADO_ID AS ESTADO_ID, "); - sql.append(" EST.NOMBESTADO AS ESTADO, "); + sql.append(" PTV.NUMPUNTOVENTA AS NUMPUNTOVENTA, "); sql.append(" EST.CVEESTADO AS UF, "); - sql.append(" EI.ICMS AS ICMS, "); + sql.append(" NVL(EI.ICMS,0) AS ICMS, "); sql.append(" TO_CHAR(B.FECHORVENTA, 'DD/MM/YYYY') AS FECHOR_VENTA, "); - 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(" 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 EMPRESA E ON E.EMPRESA_ID = B.MARCA_ID "); + 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 ) "); @@ -149,11 +130,9 @@ public class RelatorioDevolucaoBilhetes extends Relatorio { 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 EMPRESA_IMPOSTO EI ON EST.ESTADO_ID = EI.ESTADO_ID "); - sql.append(" AND EI.EMPRESA_ID = B.MARCA_ID "); + sql.append(" AND EI.EMPRESA_ID = M.EMPRESA_ID "); sql.append(" AND EI.ACTIVO = 1 "); - sql.append("LEFT JOIN AIDF AIDF ON ((AIDF.SERIE = B.NUMSERIEPREIMPRESA OR "); - sql.append(" AIDF.SERIE = SUBSTR(B.NUMSERIEPREIMPRESA,1,INSTR(B.NUMSERIEPREIMPRESA,'-',1)-1)) "); - sql.append(" AND (B.NUMFOLIOPREIMPRESO BETWEEN AIDF.FORMINICIAL AND AIDF.FORMFINAL)) "); + 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("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') "); @@ -161,24 +140,7 @@ public class RelatorioDevolucaoBilhetes extends Relatorio { 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("GROUP BY COALESCE(AIDF.ACFISCAL,SUBSTR(R4.NUMSERIE20, -6, 7)), "); - sql.append(" COALESCE(B.NUMFOLIOSISTEMA, B.NUMOPERACION), "); - sql.append(" CASE WHEN R4.NUMSERIE20 IS NULL THEN B.NUMSERIEPREIMPRESA ELSE NULL END, "); - sql.append(" B.NUMFOLIOPREIMPRESO, "); - sql.append(" B.PRECIOPAGADO, "); - sql.append(" B.PRECIOBASE, "); - sql.append(" E.NOMBEMPRESA, "); - sql.append(" E.EMPRESA_ID, "); - sql.append(" EST.ESTADO_ID, "); - sql.append(" EST.NOMBESTADO, "); - sql.append(" EST.CVEESTADO, "); - sql.append(" EI.ICMS, "); - sql.append(" TO_CHAR(B.FECHORVENTA, 'DD/MM/YYYY'), "); - sql.append(" (CASE WHEN CO.ESTADO_ID <> CD.ESTADO_ID THEN 1 ELSE 0 END), "); - sql.append(" EI.PORCREDMUNICIPAL, "); - sql.append(" EI.PORCREDESTADUAL, "); - sql.append(" NVL(B.PRECIOPAGADO,0) + NVL(B.IMPORTEOUTROS,0) + NVL(B.IMPORTEPEDAGIO,0) + NVL(B.IMPORTESEGURO,0) + NVL(B.IMPORTETAXAEMBARQUE,0) "); - sql.append("ORDER BY NOMB_EMPRESA, ESTADO, FECHOR_VENTA "); + sql.append("ORDER BY NOMB_EMPRESA, FECHOR_VENTA, UF"); 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 new file mode 100644 index 000000000..6e04c1a7c --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDevolucaoBilhetesConsolidado.java @@ -0,0 +1,152 @@ +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.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 RelatorioDevolucaoBilhetesConsolidado extends Relatorio { + + private static Logger log = Logger.getLogger(RelatorioDevolucaoBilhetesConsolidado.class); + + public RelatorioDevolucaoBilhetesConsolidado(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"); + + 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); + 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")); + + rset = stmt.executeQuery(); + + List lsDev = new ArrayList(); + while (rset.next()) { + + DevolucaoBilhetes db = new DevolucaoBilhetes(); + db.setFechorVenta((String) rset.getObject("FECHOR_VENTA")); + db.setIcms((BigDecimal) rset.getObject("ICMS")); + db.setEmpresaId(rset.getObject("EMPRESA_ID") == null ? null : ((BigDecimal) rset.getObject("EMPRESA_ID")).intValue()); + db.setEmpresa((String) rset.getObject("NOMB_EMPRESA")); + db.setNumpuntoventa((String) rset.getObject("NUMPUNTOVENTA")); + db.setNombpuntoventa((String) rset.getObject("NOMBPUNTOVENTA")); + db.setTotalBilhete(rset.getBigDecimal("TOTAL")); + db.setTotalQtdeBilhetes(rset.getInt("TOTAL_QTDE_BILHETE")); + db.setPrecioBase((BigDecimal) rset.getObject("PRECIOBASE")); + db.setPrecioPagado((BigDecimal) rset.getObject("PRECIOPAGADO")); + + BigDecimal valorIcms = BigDecimal.ZERO; + valorIcms = db.getPrecioPagado().multiply(db.getIcms().divide(BigDecimal.valueOf(100))); + db.setValorIcms(valorIcms); + + lsDev.add(db); + } + + setLsDadosRelatorio(lsDev); + } + }); + + } + + public void setLsDadosRelatorio(List lsDev) { + this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDev)); + } + + private String getSql(Integer empresaId, String puntoVentas, String estados) { + + StringBuilder sql = new StringBuilder(); + sql.append("SELECT E.NOMBEMPRESA AS NOMB_EMPRESA, "); + sql.append(" E.EMPRESA_ID AS EMPRESA_ID, "); + 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(" 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, "); + sql.append(" COUNT(COALESCE(B.NUMFOLIOSISTEMA, B.NUMOPERACION)) AS TOTAL_QTDE_BILHETE "); + 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 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 EMPRESA_IMPOSTO EI ON EST.ESTADO_ID = EI.ESTADO_ID "); + 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("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.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("GROUP BY E.NOMBEMPRESA, "); + sql.append(" E.EMPRESA_ID, "); + sql.append(" PTV.NUMPUNTOVENTA, "); + sql.append(" PTV.NOMBPUNTOVENTA, "); + sql.append(" NVL(EI.ICMS,0), "); + sql.append(" TO_CHAR(B.FECHORVENTA, 'DD/MM/YYYY') "); + 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 new file mode 100644 index 000000000..e0124ec2b --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDevolucaoBilhetesConsolidado_es.properties @@ -0,0 +1,21 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + +#labels +label.titulo=Relatório de Devolução de Bilhetes Consolidado +label.periodo=Período: +label.ate=até +label.filtros=Fitros: +label.aidf=AIDF(Bilhetes Manuais) +label.serieSubs=Série/Subs.(ECF) +label.numero=Número +label.vrContabil=Vr. Contábil +label.baseCalc=Base Calc. +label.aliquota=Alíquota +label.icms=ICMS +label.pagina=Página: +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 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 new file mode 100644 index 000000000..e0124ec2b --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDevolucaoBilhetesConsolidado_pt_BR.properties @@ -0,0 +1,21 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + +#labels +label.titulo=Relatório de Devolução de Bilhetes Consolidado +label.periodo=Período: +label.ate=até +label.filtros=Fitros: +label.aidf=AIDF(Bilhetes Manuais) +label.serieSubs=Série/Subs.(ECF) +label.numero=Número +label.vrContabil=Vr. Contábil +label.baseCalc=Base Calc. +label.aliquota=Alíquota +label.icms=ICMS +label.pagina=Página: +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 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 e51922a63..20e688f11 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDevolucaoBilhetes_es.properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDevolucaoBilhetes_es.properties @@ -2,6 +2,7 @@ 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.ate=até label.filtros=Fitros: @@ -14,6 +15,8 @@ label.aliquota=Al label.icms=ICMS label.pagina=Página: label.total=Total -label.qtdeBilhetes=Quantidade de Bilhetes: +label.qtdeBilhetes=Quantidade de Bilhetes label.totalBilhete=Total Bilhete -label.numeroBilhete=Nº Bilhete \ No newline at end of file +label.numeroBilhete=Nº Bilhete +label.numpuntoventa=Nº Agência +label.uf=UF \ 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 e51922a63..20e688f11 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,6 +2,7 @@ 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.ate=até label.filtros=Fitros: @@ -14,6 +15,8 @@ label.aliquota=Al label.icms=ICMS label.pagina=Página: label.total=Total -label.qtdeBilhetes=Quantidade de Bilhetes: +label.qtdeBilhetes=Quantidade de Bilhetes label.totalBilhete=Total Bilhete -label.numeroBilhete=Nº Bilhete \ No newline at end of file +label.numeroBilhete=Nº Bilhete +label.numpuntoventa=Nº Agência +label.uf=UF \ 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 fe7d01e21..3e9d30dc7 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 eb506bbe4..dabac97ec 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDevolucaoBilhetes.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDevolucaoBilhetes.jrxml @@ -1,8 +1,8 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/DevolucaoBilhetes.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/DevolucaoBilhetes.java index 2e0450546..e5fdb896c 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/DevolucaoBilhetes.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/DevolucaoBilhetes.java @@ -18,12 +18,15 @@ public class DevolucaoBilhetes { private BigDecimal icms; private BigDecimal valorIcms; private String fechorVenta; + private String numpuntoventa; + private String nombpuntoventa; BigDecimal porcMunicipal; BigDecimal porcEstadual; BigDecimal estornoMunicipal; BigDecimal estornoEstadual; private BigDecimal totalBilhete; + private Integer totalQtdeBilhetes; public String getAidf() { return aidf; @@ -177,4 +180,28 @@ public class DevolucaoBilhetes { this.totalBilhete = totalBilhete; } + public String getNumpuntoventa() { + return numpuntoventa; + } + + public void setNumpuntoventa(String numpuntoventa) { + this.numpuntoventa = numpuntoventa; + } + + public Integer getTotalQtdeBilhetes() { + return totalQtdeBilhetes; + } + + public void setTotalQtdeBilhetes(Integer totalQtdeBilhetes) { + this.totalQtdeBilhetes = totalQtdeBilhetes; + } + + public String getNombpuntoventa() { + return nombpuntoventa; + } + + public void setNombpuntoventa(String nombpuntoventa) { + this.nombpuntoventa = nombpuntoventa; + } + } 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 21f1c287d..3db3f0c01 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 @@ -24,14 +24,15 @@ import org.zkoss.zul.Combobox; import org.zkoss.zul.Comboitem; import org.zkoss.zul.Datebox; import org.zkoss.zul.Paging; +import org.zkoss.zul.Radio; import org.zkoss.zul.Textbox; import com.rjconsultores.ventaboletos.entidad.Empresa; 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.utilitarios.Relatorio; -import com.rjconsultores.ventaboletos.service.EmpresaService; import com.rjconsultores.ventaboletos.service.EstadoService; import com.rjconsultores.ventaboletos.utilerias.DateUtil; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; @@ -56,8 +57,6 @@ public class RelatorioDevolucaoBilhetesController extends MyGenericForwardCompos @Autowired private EstadoService estadoService; @Autowired - private EmpresaService empresaService; - @Autowired private DataSource dataSourceRead; @Autowired private transient PagedListWrapper plwPuntoVenta; @@ -76,6 +75,9 @@ public class RelatorioDevolucaoBilhetesController extends MyGenericForwardCompos private Combobox cmbPuntoVenta; private Datebox datInicial; private Datebox datFinal; + + private Radio rAnalitico; + private Radio rConsolidado; private void executarPesquisa() { HibernateSearchObject puntoVentaBusqueda = new HibernateSearchObject(PuntoVenta.class, @@ -106,7 +108,6 @@ public class RelatorioDevolucaoBilhetesController extends MyGenericForwardCompos 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("NOME_RELATORIO", Labels.getLabel("relatorioDevolucaoBilhetesAgenciaController.window.title")); parametros.put("USUARIO", UsuarioLogado.getUsuarioLogado().getUsuarioId().toString()); filtro.append("Agência(s): "); @@ -143,7 +144,12 @@ public class RelatorioDevolucaoBilhetesController extends MyGenericForwardCompos parametros.put("FILTROS", filtro.toString()); - Relatorio relatorio = new RelatorioDevolucaoBilhetes(parametros, dataSourceRead.getConnection()); + Relatorio relatorio = null; + if(rAnalitico.isChecked()) { + relatorio = new RelatorioDevolucaoBilhetes(parametros, dataSourceRead.getConnection()); + } else if(rConsolidado.isChecked()) { + relatorio = new RelatorioDevolucaoBilhetesConsolidado(parametros, dataSourceRead.getConnection()); + } Map args = new HashMap(); args.put("relatorio", relatorio); @@ -155,7 +161,7 @@ public class RelatorioDevolucaoBilhetesController extends MyGenericForwardCompos @Override public void doAfterCompose(Component comp) throws Exception { lsEstado = estadoService.obtenerTodos(); - lsEmpresa = empresaService.obtenerTodos(); + lsEmpresa = UsuarioLogado.getUsuarioLogado().getEmpresa(); super.doAfterCompose(comp); diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index 51fbb59c4..089e43ef8 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -512,6 +512,31 @@ busquedaImpressaoRMDController.labelRadio.radECF = ECF busquedaImpressaoRMDController.select.RMD = É necessario selecionar um RMD busquedaImpressaoRMDController.MSG.gravarRMDPergunta = Deseja gravar nos registros de vendas, o vínculo com o numero de RMD selecionado? +#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.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.lbAnalitico = Analítico +relatorioDevolucaoBilhetesAgenciaController.tipo.lbConsolidado = Consolidado + #Reporte Acompanhamento Equivalentes relatorioAcompanhamentoEquivalentesController.window.title = Reporte de acompañamiento de equivalentes relatorioAcompanhamentoEquivalentesController.lbMes.value = Mes/Ano diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index bd7378c87..38bc172bd 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -564,7 +564,9 @@ relatorioDevolucaoBilhetesAgenciaController.rdIndAgrupamento.cmbItemLocalidade = relatorioDevolucaoBilhetesAgenciaController.rdIndTpoRelatorio.label = Tipo de Relatório: relatorioDevolucaoBilhetesAgenciaController.rdIndTpoRelatorio.cmbItemData = Bilhetes Devolvidos relatorioDevolucaoBilhetesAgenciaController.rdIndTpoRelatorio.cmbItemLocalidade = GAPs Devolvidos - +relatorioDevolucaoBilhetesAgenciaController.tipo.lbTipo = Tipo +relatorioDevolucaoBilhetesAgenciaController.tipo.lbAnalitico = Analítico +relatorioDevolucaoBilhetesAgenciaController.tipo.lbConsolidado = Consolidado #Relatório Acompanhamento Equivalentes relatorioAcompanhamentoEquivalentesController.window.title = Relatório de Acompanhamento de Equivalentes diff --git a/web/gui/relatorios/filtroRelatorioDevolucaoBilhetes.zul b/web/gui/relatorios/filtroRelatorioDevolucaoBilhetes.zul index 9bac455da..9306e5f71 100644 --- a/web/gui/relatorios/filtroRelatorioDevolucaoBilhetes.zul +++ b/web/gui/relatorios/filtroRelatorioDevolucaoBilhetes.zul @@ -84,7 +84,7 @@ - +
+ + +