From 9c8e5bd67aa43ff7ec834394684a95ba638fa973 Mon Sep 17 00:00:00 2001 From: Aristides Date: Thu, 21 Sep 2023 17:21:23 -0300 Subject: [PATCH] fixes bug#AL-2859 --- pom.xml | 4 +- ...rioVendaBilhetePorEmpresaAutorizadora.java | 133 +++++ ...ilhetePorEmpresaAutorizadoraAnalitico.java | 232 ++++++++ ...resaAutorizadoraAnalitico_es_MX.properties | 13 + ...resaAutorizadoraAnalitico_pt_BR.properties | 13 + ...etePorEmpresaAutorizadora_es_MX.properties | 13 + ...etePorEmpresaAutorizadora_pt_BR.properties | 13 + ...oVendaBilhetePorEmpresaAutorizadora.jasper | Bin 0 -> 45083 bytes ...ioVendaBilhetePorEmpresaAutorizadora.jrxml | 404 ++++++++++++++ ...hetePorEmpresaAutorizadoraAnalitico.jasper | Bin 0 -> 50587 bytes ...lhetePorEmpresaAutorizadoraAnalitico.jrxml | 474 ++++++++++++++++ ...lhetePorEmpresaAutorizadoraController.java | 515 ++++++++++++++++++ ...enuVendaBilhetePorEmpresaAutorizadora.java | 27 + .../utilerias/menu/menu_original.properties | 1 + web/WEB-INF/i3-label_en.label | 22 + web/WEB-INF/i3-label_es_MX.label | 23 + web/WEB-INF/i3-label_pt_BR.label | 22 + ...orioVendaBilhetePorEmpresaAutorizadora.zul | 198 +++++++ 18 files changed, 2105 insertions(+), 2 deletions(-) create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendaBilhetePorEmpresaAutorizadora.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico_es_MX.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico_pt_BR.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendaBilhetePorEmpresaAutorizadora_es_MX.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendaBilhetePorEmpresaAutorizadora_pt_BR.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendaBilhetePorEmpresaAutorizadora.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendaBilhetePorEmpresaAutorizadora.jrxml create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico.jrxml create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendaBilhetePorEmpresaAutorizadoraController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuVendaBilhetePorEmpresaAutorizadora.java create mode 100644 web/gui/relatorios/filtroRelatorioVendaBilhetePorEmpresaAutorizadora.zul diff --git a/pom.xml b/pom.xml index 2c461c8f3..f5e5d843b 100644 --- a/pom.xml +++ b/pom.xml @@ -4,12 +4,12 @@ 4.0.0 br.com.rjconsultores ventaboletosadm - 1.21.2 + 1.22.0 war 1.15.0 - 1.11.0 + 1.12.0 UTF-8 UTF-8 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendaBilhetePorEmpresaAutorizadora.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendaBilhetePorEmpresaAutorizadora.java new file mode 100644 index 000000000..e61aac7e5 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendaBilhetePorEmpresaAutorizadora.java @@ -0,0 +1,133 @@ +package com.rjconsultores.ventaboletos.relatorios.impl; + +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Timestamp; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +import com.rjconsultores.ventaboletos.relatorios.utilitarios.ArrayDataSource; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; +import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; + +public class RelatorioVendaBilhetePorEmpresaAutorizadora extends Relatorio { + + public RelatorioVendaBilhetePorEmpresaAutorizadora(Map parametros, Connection conexao) + throws Exception { + super(parametros, conexao); + + this.setCustomDataSource(new ArrayDataSource(this) { + @Override + public void initDados() throws Exception { + Connection conexao = this.relatorio.getConexao(); + Map parametros = this.relatorio.getParametros(); + StringBuilder sql = new StringBuilder(); + NamedParameterStatement stmt = getSql(conexao, parametros, sql); + setarParmetrosObrigatorios(parametros, stmt); + ResultSet rset = stmt.executeQuery(); + rset.setFetchSize(1000); + getResultSet(rset); + + this.resultSet = rset; + } + + private void getResultSet(ResultSet rset) throws SQLException { + while (rset.next()) { + + Map dataResult = new HashMap(); + + carregarDataResult(rset, dataResult); + this.dados.add(dataResult); + + } + } + + private void carregarDataResult(ResultSet rset, Map dataResult) throws SQLException { + dataResult.put("NUMPUNTOVENTA", rset.getString("NUMPUNTOVENTA")); + dataResult.put("CVEUSUARIO", rset.getString("CVEUSUARIO")); + dataResult.put("NOMBUSUARIO", rset.getString("NOMBUSUARIO")); + dataResult.put("QTDVENDAS", rset.getInt("QTDVENDAS")); + dataResult.put("VLRVENDAS", rset.getBigDecimal("VLRVENDAS")); + dataResult.put("QTDCANCELADOS", rset.getInt("QTDCANCELADOS")); + dataResult.put("VLRCANCELADOS", rset.getBigDecimal("VLRCANCELADOS")); + dataResult.put("DESCTIPO", rset.getString("DESCTIPO")); + } + + private void setarParmetrosObrigatorios(Map parametros, NamedParameterStatement stmt) + throws SQLException { + if (parametros.get("EMPRESA_ID") != null) { + stmt.setInt("EMPRESA_ID", Integer.valueOf(parametros.get("EMPRESA_ID").toString())); + } + + java.sql.Date d = new java.sql.Date(((Date) parametros.get("DATA_INICIAL")).getTime()); + + stmt.setDate("DATA_INICIAL", d); + stmt.setTimestamp("DATA_FINAL", + new Timestamp(DateUtil.fimFecha((Date) parametros.get("DATA_FINAL")).getTime())); + } + + private NamedParameterStatement getSql(Connection conexao, Map parametros, + StringBuilder sql) throws SQLException { + sql.append("select "); + sql.append(" pv.NUMPUNTOVENTA, us.cveusuario , tpv.DESCTIPO, "); + sql.append(" us.NOMBUSUARIO, "); + sql.append(" sum (case when ca.motivocancelacion_id is null then 1 else 0 end) qtdVendas, "); + sql.append(" sum (case when ca.motivocancelacion_id is null then "); + sql.append(" ("); + sql.append(" coalesce(ca.preciopagado,0) "); + sql.append(" + coalesce(ca.importepedagio,0) "); + sql.append(" + coalesce(ca.importetaxaembarque,0) "); + sql.append(" + coalesce(ca.importeseguro,0) "); + sql.append(" ) else 0 end ) vlrVendas, "); + sql.append(" ("); + sql.append( + " sum (case when ca.motivocancelacion_id is not null then 1 else 0 end)) qtdCancelados, "); + sql.append(" sum (case when ca.motivocancelacion_id is not null then ("); + sql.append(" coalesce(ca.preciopagado,0) "); + sql.append(" + coalesce(ca.importepedagio,0) "); + sql.append(" + coalesce(ca.importetaxaembarque,0) "); + sql.append(" + coalesce(ca.importeseguro,0) "); + sql.append(" ) else 0 end ) vlrCancelados "); + sql.append("from "); + sql.append(" caja ca "); + sql.append(" inner join usuario us on us.usuario_id = ca.usuario_id "); + sql.append(" inner join punto_venta pv on pv.puntoventa_id = ca.puntoventa_id "); + sql.append(" INNER JOIN TIPO_PTOVTA tpv ON tpv.TIPOPTOVTA_ID = pv.TIPOPTOVTA_ID "); + sql.append(" INNER JOIN ruta_empresa re on re.ruta_id=ca.ruta_id "); + sql.append(" join MARCA m on m.marca_id = ca.marca_id "); + sql.append("where "); + sql.append(" ca.activo = 1 "); + sql.append(" and ca.indreimpresion = 0 "); + sql.append(" and CA.FECHORVENTA >= :DATA_INICIAL AND CA.FECHORVENTA <= :DATA_FINAL "); + sql.append(" and re.empresa_autorizadora_id=:EMPRESAAUTORIZADORA_ID "); + if (parametros.get("EMPRESA_ID") != null) { + sql.append(" and m.EMPRESA_ID = :EMPRESA_ID"); + } + if (parametros.get("NUMPUNTOVENTA") != null + && !parametros.get("NUMPUNTOVENTA").toString().contains("-1")) { + sql.append(" and ca.puntoventa_id IN (" + parametros.get("NUMPUNTOVENTA").toString() + ")"); + } + if (parametros.get("USUARIOIDS") != null && !parametros.get("USUARIOIDS").toString().contains("-1")) { + sql.append(" and ca.usuario_id IN (" + parametros.get("USUARIOIDS").toString() + ")"); + } + sql.append(" group by pv.NUMPUNTOVENTA, us.cveusuario, tpv.DESCTIPO, "); + sql.append(" us.NOMBUSUARIO "); + sql.append(" order by pv.NUMPUNTOVENTA, "); + sql.append(" us.NOMBUSUARIO "); + NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql.toString()); + stmt.setInt("EMPRESAAUTORIZADORA_ID", + Integer.valueOf(parametros.get("EMPRESAAUTORIZADORA_ID").toString())); + return stmt; + } + }); + } + + @Override + protected void processaParametros() throws Exception { + // TODO Auto-generated method stub + + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico.java new file mode 100644 index 000000000..1b63d47f7 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico.java @@ -0,0 +1,232 @@ +package com.rjconsultores.ventaboletos.relatorios.impl; + +import java.math.BigDecimal; +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Timestamp; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +import org.apache.commons.lang.StringUtils; + +import com.rjconsultores.ventaboletos.relatorios.utilitarios.ArrayDataSource; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.IndStatusBoleto; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; +import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; + +public class RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico extends Relatorio { + + public RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico(Map parametros, Connection conexao) + throws Exception { + super(parametros, conexao); + + this.setCustomDataSource(new ArrayDataSource(this) { + @Override + public void initDados() throws Exception { + + Connection conexao = this.relatorio.getConexao(); + Map parametros = this.relatorio.getParametros(); + + StringBuilder sql = new StringBuilder(); + + getSQL(parametros, sql); + + NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql.toString()); + setarParmetrosObrigatorios(parametros, stmt); + + ResultSet rset = stmt.executeQuery(); + + getResultSet(rset); + + this.resultSet = rset; + } + + private void getResultSet(ResultSet rset) throws SQLException { + while (rset.next()) { + Map dataResult = new HashMap(); + carregarDataResult(rset, dataResult); + this.dados.add(dataResult); + } + } + + private void carregarDataResult(ResultSet rset, Map dataResult) throws SQLException { + dataResult.put("CODIGO_AGENCIA", rset.getString("CODIGO_AGENCIA")); + dataResult.put("NOME_AGENCIA", rset.getString("NOME_AGENCIA")); + dataResult.put("CODIGO_BILHETEIRO", rset.getString("CODIGO_BILHETEIRO")); + dataResult.put("NOME_BILHETEIRO", rset.getString("NOME_BILHETEIRO")); + dataResult.put("NUMERO_PASSAGEM", rset.getBigDecimal("NUMERO_PASSAGEM")); + dataResult.put("ORIGEM", rset.getString("ORIGEM")); + dataResult.put("DESTINO", rset.getString("DESTINO")); + dataResult.put("TIPO_BILHETE", rset.getString("TIPO_BILHETE")); + dataResult.put("TX_EMBARQUE", rset.getBigDecimal("TX_EMBARQUE")); + dataResult.put("PEDAGIO", rset.getBigDecimal("PEDAGIO")); + dataResult.put("TARIFA", rset.getBigDecimal("TARIFA")); + dataResult.put("TOTAL_BILHETE", rset.getBigDecimal("TOTAL_BILHETE")); + dataResult.put("STATUS_PASSAGEM", + IndStatusBoleto.valueOf(rset.getString("STATUS_PASSAGEM")).getValue()); + dataResult.put("SERVICO", rset.getBigDecimal("SERVICO")); + dataResult.put("DATA_VIAGEM", rset.getDate("DATA_VIAGEM")); + dataResult.put("CLASSE", rset.getString("CLASSE")); + String formasPagamento = rset.getString("descpago"); + setarAsFormasDePagamento(dataResult, formasPagamento); + setarOsValoresDasFormasDePagamento(dataResult, formasPagamento); + } + + private void setarOsValoresDasFormasDePagamento(Map dataResult, String formasPagamento) { + if (!StringUtils.isBlank(formasPagamento)) { + final String[] formaPagamento = formasPagamento.split("\\;"); + if (formaPagamento.length > 1) { + int contador = 0; + while (contador < formaPagamento.length) { + String valorformapago = "VALORFORMAPAGO" + contador+1; + dataResult.put(valorformapago, formatarValorFormaDePagamento(formaPagamento[contador])); + contador ++; + } + + } else { + dataResult.put("VALORFORMAPAGO1", formatarValorFormaDePagamento(formaPagamento[0])); + } + } + } + + private void setarAsFormasDePagamento(Map dataResult, String formasPagamento) { + if (!StringUtils.isBlank(formasPagamento)) { + final String[] formaPagamento = formasPagamento.split("\\;"); + if (formaPagamento.length > 1) { + int contador = 0; + while (contador < formaPagamento.length) { + String formaPago = "FORMAPAGO" + contador+1; + dataResult.put(formaPago, formatarFormaDePagamento(formaPagamento[contador])); + contador ++; + } + + } else { + dataResult.put("FORMAPAGO1", formatarFormaDePagamento(formaPagamento[0])); + } + + + } + } + + private void setarParmetrosObrigatorios(Map parametros, NamedParameterStatement stmt) + throws SQLException { + stmt.setInt("EMPRESAAUTORIZADORA_ID", + Integer.valueOf(parametros.get("EMPRESAAUTORIZADORA_ID").toString())); + stmt.setInt("EMPRESA_ID", Integer.valueOf(parametros.get("EMPRESA_ID").toString())); + + 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())); + } + + private void getSQL(Map parametros, StringBuilder sql) { + sql.append(" select pv.NUMPUNTOVENTA CODIGO_AGENCIA, "); + sql.append(" pv.NOMBPUNTOVENTA NOME_AGENCIA, "); + sql.append(" u.CVEUSUARIO CODIGO_BILHETEIRO, "); + sql.append(" u.NOMBUSUARIO NOME_BILHETEIRO, "); + sql.append(" c.NUMFOLIOSISTEMA NUMERO_PASSAGEM, "); + sql.append(" p_origen.DESCPARADA ORIGEM, "); + sql.append(" p_destino.DESCPARADA DESTINO, "); + sql.append(" ct.DESCCATEGORIA TIPO_BILHETE, "); + sql.append(" case when (c.INDREIMPRESION = 1 and c.MOTIVOREIMPRESION_ID = 99) then "); + sql.append(" 'R' else c.INDSTATUSBOLETO end STATUS_PASSAGEM,"); + sql.append(" c.FECCORRIDA DATA_VIAGEM, "); + sql.append(" c.CORRIDA_ID SERVICO, "); + sql.append(" c.IMPORTEPEDAGIO PEDAGIO,"); + sql.append(" c.IMPORTETAXAEMBARQUE TX_EMBARQUE,"); + sql.append(" c.PRECIOPAGADO TARIFA,"); + sql.append( + " (NVL(c.PRECIOPAGADO,0)+(NVL(c.IMPORTEPEDAGIO,0)+ NVL(c.IMPORTETAXAEMBARQUE,0)+ NVL(c.IMPORTESEGURO,0))) TOTAL_BILHETE, "); + sql.append(" cs.DESCCLASE CLASSE, "); + sql.append( + " LISTAGG(fp.cvepago||' /'||CAST(cf.IMPORTE AS VARCHAR(10)),';') WITHIN GROUP( ORDER BY 1 DESC ) AS descpago"); + + sql.append(" from caja c "); + sql.append(" join PUNTO_VENTA pv on c.PUNTOVENTA_ID = pv.PUNTOVENTA_ID "); + sql.append(" join USUARIO u on u.USUARIO_ID = c.USUARIO_ID "); + sql.append(" join PARADA p_origen on p_origen.PARADA_ID = c.ORIGEN_ID "); + sql.append(" join PARADA p_destino on p_destino.PARADA_ID = c.DESTINO_ID "); + sql.append(" join CATEGORIA ct on ct.CATEGORIA_ID = c.CATEGORIA_ID "); + sql.append(" join CLASE_SERVICIO cs on cs.CLASESERVICIO_ID = c.CLASESERVICIO_ID "); + sql.append(" join MARCA m on m.marca_id = c.marca_id "); + sql.append(" join RUTA_EMPRESA re on re.ruta_id = c.ruta_id "); + sql.append(" join CAJA_FORMAPAGO cf on cf.caja_id=c.caja_id "); + sql.append(" join FORMA_PAGO fp on fp.formapago_id=cf.formapago_id "); + sql.append(" where "); + sql.append(" m.EMPRESA_ID = :EMPRESA_ID "); + sql.append(" and re.empresa_autorizadora_id = :EMPRESAAUTORIZADORA_ID "); + sql.append(" and c.FECHORVENTA >= :DATA_INICIAL "); + sql.append(" and c.FECHORVENTA <= :DATA_FINAL "); + sql.append(" and ((c.indreimpresion = 1 "); + sql.append( + " AND (c.motivoreimpresion_id = 99 or c.motivocancelacion_id in (27) )) or c.indreimpresion = 0) "); + if (parametros.get("NUMPUNTOVENTA") != null && !possuiFiltroTodos("NUMPUNTOVENTA")) { + sql.append(" and pv.PUNTOVENTA_ID IN (" + parametros.get("NUMPUNTOVENTA").toString() + ")"); + } + if (parametros.get("BILHETEIRO") != null && !parametros.get("BILHETEIRO").equals("")) { + sql.append(" and u.NOMBUSUARIO like '" + parametros.get("BILHETEIRO") + "%'"); + } + sql.append(" GROUP BY "); + sql.append(" pv.numpuntoventa, "); + sql.append(" pv.nombpuntoventa, "); + sql.append(" u.cveusuario, "); + sql.append(" u.nombusuario, "); + sql.append(" c.numfoliosistema, "); + sql.append(" p_origen.descparada, "); + sql.append(" p_destino.descparada, "); + sql.append(" ct.desccategoria , "); + sql.append(" CASE "); + sql.append(" WHEN ( c.indreimpresion = 1 "); + sql.append(" AND c.motivoreimpresion_id = 99 ) THEN "); + sql.append(" 'R' "); + sql.append(" ELSE "); + sql.append(" c.indstatusboleto "); + sql.append(" END, "); + sql.append(" c.feccorrida, "); + sql.append(" c.corrida_id, "); + sql.append(" c.importepedagio, "); + sql.append(" c.importetaxaembarque, "); + sql.append(" c.preciopagado, "); + sql.append( + " (NVL(c.PRECIOPAGADO,0)+(NVL(c.IMPORTEPEDAGIO,0)+ NVL(c.IMPORTETAXAEMBARQUE,0)+ NVL(c.IMPORTESEGURO,0))), "); + sql.append(" cs.descclase "); + sql.append(" ORDER BY u.CVEUSUARIO, "); + sql.append(" u.NOMBUSUARIO, "); + sql.append(" pv.NUMPUNTOVENTA, "); + sql.append(" pv.NOMBPUNTOVENTA, "); + sql.append(" c.NUMFOLIOSISTEMA, "); + sql.append(" p_origen.DESCPARADA, "); + sql.append(" p_destino.DESCPARADA, "); + sql.append(" ct.DESCCATEGORIA, "); + sql.append(" c.FECCORRIDA, "); + sql.append(" c.CORRIDA_ID "); + } + }); + } + + @Override + protected void processaParametros() throws Exception { + // TODO Auto-generated method stub + + } + + private String formatarFormaDePagamento(String formaDePagamento) { + if (formaDePagamento != null) { + final String[] formaPagamentoAuxilar = formaDePagamento.split("\\/"); + return formaPagamentoAuxilar[0]; + } + return null; + } + + private BigDecimal formatarValorFormaDePagamento(String formaDePagamento){ + if(formaDePagamento!=null){ + final String[] formaPagamentoAuxilar = formaDePagamento.split("\\/") ; + return formaPagamentoAuxilar.length>1? new BigDecimal(formaPagamentoAuxilar[1].replace(",", ".").trim()):new BigDecimal("0.0"); + } + return null; + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico_es_MX.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico_es_MX.properties new file mode 100644 index 000000000..f39ccac7e --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico_es_MX.properties @@ -0,0 +1,13 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + + +#Labels cabeçalho +cabecalho.relatorio=Relatório: +cabecalho.periodo=Período: +cabecalho.periodoA=à +cabecalho.dataHora=Data/Hora: +cabecalho.impressorPor=Impressor por: +cabecalho.pagina=Página +cabecalho.de=de +cabecalho.filtros=Filtros: \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico_pt_BR.properties new file mode 100644 index 000000000..f39ccac7e --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico_pt_BR.properties @@ -0,0 +1,13 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + + +#Labels cabeçalho +cabecalho.relatorio=Relatório: +cabecalho.periodo=Período: +cabecalho.periodoA=à +cabecalho.dataHora=Data/Hora: +cabecalho.impressorPor=Impressor por: +cabecalho.pagina=Página +cabecalho.de=de +cabecalho.filtros=Filtros: \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendaBilhetePorEmpresaAutorizadora_es_MX.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendaBilhetePorEmpresaAutorizadora_es_MX.properties new file mode 100644 index 000000000..f39ccac7e --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendaBilhetePorEmpresaAutorizadora_es_MX.properties @@ -0,0 +1,13 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + + +#Labels cabeçalho +cabecalho.relatorio=Relatório: +cabecalho.periodo=Período: +cabecalho.periodoA=à +cabecalho.dataHora=Data/Hora: +cabecalho.impressorPor=Impressor por: +cabecalho.pagina=Página +cabecalho.de=de +cabecalho.filtros=Filtros: \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendaBilhetePorEmpresaAutorizadora_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendaBilhetePorEmpresaAutorizadora_pt_BR.properties new file mode 100644 index 000000000..f39ccac7e --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendaBilhetePorEmpresaAutorizadora_pt_BR.properties @@ -0,0 +1,13 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + + +#Labels cabeçalho +cabecalho.relatorio=Relatório: +cabecalho.periodo=Período: +cabecalho.periodoA=à +cabecalho.dataHora=Data/Hora: +cabecalho.impressorPor=Impressor por: +cabecalho.pagina=Página +cabecalho.de=de +cabecalho.filtros=Filtros: \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendaBilhetePorEmpresaAutorizadora.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendaBilhetePorEmpresaAutorizadora.jasper new file mode 100644 index 0000000000000000000000000000000000000000..abd2440ecd41abc929e1abffa26114a8fbb5811f GIT binary patch literal 45083 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico.jasper new file mode 100644 index 0000000000000000000000000000000000000000..49a50227ad1adaac46abdcb16c165eea965c72f1 GIT binary patch literal 50587 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 literal 0 HcmV?d00001 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico.jrxml new file mode 100644 index 000000000..f4d28b0cf --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico.jrxml @@ -0,0 +1,474 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendaBilhetePorEmpresaAutorizadoraController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendaBilhetePorEmpresaAutorizadoraController.java new file mode 100644 index 000000000..62827ac08 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendaBilhetePorEmpresaAutorizadoraController.java @@ -0,0 +1,515 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios; + +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.sql.DataSource; + +import org.apache.log4j.Logger; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Controller; +import org.zkoss.util.resource.Labels; +import org.zkoss.zhtml.Messagebox; +import org.zkoss.zk.ui.Component; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zul.Bandbox; +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.PuntoVenta; +import com.rjconsultores.ventaboletos.entidad.Usuario; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioVendaBilhetePorEmpresaAutorizadora; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.service.EmpresaService; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; +import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; +import com.rjconsultores.ventaboletos.web.utilerias.MyTextbox; +import com.rjconsultores.ventaboletos.web.utilerias.paginacion.HibernateSearchObject; +import com.rjconsultores.ventaboletos.web.utilerias.paginacion.PagedListWrapper; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRelatorioCheckinUsuario; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRelatorioCheckinUsuariosSelecionados; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRelatorioVendasBilheteiro; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRelatorioVendasBilheteiroSelecionados; + +@Controller("relatorioVendaBilhetePorEmpresaAutorizadoraController") +@Scope("prototype") +public class RelatorioVendaBilhetePorEmpresaAutorizadoraController extends MyGenericForwardComposer { + /** + * + */ + private static final long serialVersionUID = 1L; + private static Logger log = Logger.getLogger(RelatorioVendaBilhetePorEmpresaAutorizadoraController.class); + + @Autowired + private EmpresaService empresaService; + @Autowired + private DataSource dataSourceRead; + + private Datebox datInicial; + private Datebox datFinal; + + private MyComboboxEstandar cmbEmpresa; + private MyComboboxEstandar cmbEmpresaAutorizadora; + + private List lsEmpresa; + + @Autowired + private transient PagedListWrapper plwPuntoVenta; + @Autowired + private transient PagedListWrapper plwUsuario; + + private MyTextbox txtNombrePuntoVenta; + private Bandbox bbPesquisaPuntoVenta; + private MyListbox puntoVentaList; + private MyListbox puntoVentaSelList; + private Paging pagingPuntoVenta; + + private MyListbox usuarioList; + private MyListbox usuarioSelList; + private Paging pagingUsuario; + private Textbox txtPalavraPesquisa; + private Bandbox bbPesquisaBilhetero; + + private List lsEmpresaAutorizadora; + private MyTextbox txtBilheteiro; + + private Radio radioSintetico; + private Radio radioAnalitico; + + private static final Short EMPRESA_OPERADORA = 4; + + @Override + public void doAfterCompose(Component comp) throws Exception { + super.doAfterCompose(comp); + lsEmpresaAutorizadora = buscarEmpresaDiferenteDeOperadora(); + lsEmpresa = buscarEmpresaOperadora(); + puntoVentaList.setItemRenderer(new RenderRelatorioVendasBilheteiro()); + puntoVentaSelList.setItemRenderer(new RenderRelatorioVendasBilheteiroSelecionados()); + usuarioList.setItemRenderer(new RenderRelatorioCheckinUsuario()); + usuarioSelList.setItemRenderer(new RenderRelatorioCheckinUsuariosSelecionados()); + + } + + public List getLsEmpresa() { + return lsEmpresa; + } + + public void setLsEmpresa(List lsEmpresa) { + this.lsEmpresa = lsEmpresa; + } + + public List getLsEmpresaAutorizadora() { + return lsEmpresaAutorizadora; + } + + public void setLsEmpresaAutorizadora(List lsEmpresaAutorizadora) { + this.lsEmpresaAutorizadora = lsEmpresaAutorizadora; + } + + public EmpresaService getEmpresaService() { + return empresaService; + } + + public void setEmpresaService(EmpresaService empresaService) { + this.empresaService = empresaService; + } + + public DataSource getDataSourceRead() { + return dataSourceRead; + } + + public void setDataSourceRead(DataSource dataSourceRead) { + this.dataSourceRead = dataSourceRead; + } + + public Datebox getDatInicial() { + return datInicial; + } + + public void setDatInicial(Datebox datInicial) { + this.datInicial = datInicial; + } + + public Datebox getDatFinal() { + return datFinal; + } + + public void setDatFinal(Datebox datFinal) { + this.datFinal = datFinal; + } + + public MyComboboxEstandar getCmbEmpresa() { + return cmbEmpresa; + } + + public void setCmbEmpresa(MyComboboxEstandar cmbEmpresa) { + this.cmbEmpresa = cmbEmpresa; + } + + public MyComboboxEstandar getCmbEmpresaAutorizadora() { + return cmbEmpresaAutorizadora; + } + + public void setCmbEmpresaAutorizadora(MyComboboxEstandar cmbEmpresaAutorizadora) { + this.cmbEmpresaAutorizadora = cmbEmpresaAutorizadora; + } + + public PagedListWrapper getPlwPuntoVenta() { + return plwPuntoVenta; + } + + public void setPlwPuntoVenta(PagedListWrapper plwPuntoVenta) { + this.plwPuntoVenta = plwPuntoVenta; + } + + public PagedListWrapper getPlwUsuario() { + return plwUsuario; + } + + public void setPlwUsuario(PagedListWrapper plwUsuario) { + this.plwUsuario = plwUsuario; + } + + public MyTextbox getTxtNombrePuntoVenta() { + return txtNombrePuntoVenta; + } + + public void setTxtNombrePuntoVenta(MyTextbox txtNombrePuntoVenta) { + this.txtNombrePuntoVenta = txtNombrePuntoVenta; + } + + public Bandbox getBbPesquisaPuntoVenta() { + return bbPesquisaPuntoVenta; + } + + public void setBbPesquisaPuntoVenta(Bandbox bbPesquisaPuntoVenta) { + this.bbPesquisaPuntoVenta = bbPesquisaPuntoVenta; + } + + public MyListbox getPuntoVentaList() { + return puntoVentaList; + } + + public void setPuntoVentaList(MyListbox puntoVentaList) { + this.puntoVentaList = puntoVentaList; + } + + public MyListbox getPuntoVentaSelList() { + return puntoVentaSelList; + } + + public void setPuntoVentaSelList(MyListbox puntoVentaSelList) { + this.puntoVentaSelList = puntoVentaSelList; + } + + public Paging getPagingPuntoVenta() { + return pagingPuntoVenta; + } + + public void setPagingPuntoVenta(Paging pagingPuntoVenta) { + this.pagingPuntoVenta = pagingPuntoVenta; + } + + public MyListbox getUsuarioList() { + return usuarioList; + } + + public void setUsuarioList(MyListbox usuarioList) { + this.usuarioList = usuarioList; + } + + public MyListbox getUsuarioSelList() { + return usuarioSelList; + } + + public void setUsuarioSelList(MyListbox usuarioSelList) { + this.usuarioSelList = usuarioSelList; + } + + public Paging getPagingUsuario() { + return pagingUsuario; + } + + public void setPagingUsuario(Paging pagingUsuario) { + this.pagingUsuario = pagingUsuario; + } + + public Textbox getTxtPalavraPesquisa() { + return txtPalavraPesquisa; + } + + public void setTxtPalavraPesquisa(Textbox txtPalavraPesquisa) { + this.txtPalavraPesquisa = txtPalavraPesquisa; + } + + public Bandbox getBbPesquisaBilhetero() { + return bbPesquisaBilhetero; + } + + public void setBbPesquisaBilhetero(Bandbox bbPesquisaBilhetero) { + this.bbPesquisaBilhetero = bbPesquisaBilhetero; + } + + public MyTextbox getTxtBilheteiro() { + return txtBilheteiro; + } + + public void setTxtBilheteiro(MyTextbox txtBilheteiro) { + this.txtBilheteiro = txtBilheteiro; + } + + public static Short getEmpresaOperadora() { + return EMPRESA_OPERADORA; + } + + public void onClick$btnPesquisa(Event ev) { + executarPesquisa(); + } + + public void onDoubleClick$puntoVentaSelList(Event ev) { + PuntoVenta puntoVenta = (PuntoVenta) puntoVentaSelList.getSelected(); + puntoVentaSelList.removeItem(puntoVenta); + } + + public void onDoubleClick$puntoVentaList(Event ev) { + PuntoVenta puntoVenta = (PuntoVenta) puntoVentaList.getSelected(); + puntoVentaSelList.addItemNovo(puntoVenta); + } + + public void onClick$btnLimpar(Event ev) { + puntoVentaList.setData(new ArrayList()); + + bbPesquisaPuntoVenta.setText(""); + } + + private void executarPesquisa() { + HibernateSearchObject puntoVentaBusqueda = new HibernateSearchObject(PuntoVenta.class, + pagingPuntoVenta.getPageSize()); + puntoVentaBusqueda.addFilterILike("nombpuntoventa", "%" + txtNombrePuntoVenta.getValue() + "%"); + puntoVentaBusqueda.addFilterEqual("activo", Boolean.TRUE); + puntoVentaBusqueda.addSortAsc("nombpuntoventa"); + puntoVentaBusqueda.addFilterEqual("activo", Boolean.TRUE); + plwPuntoVenta.init(puntoVentaBusqueda, puntoVentaList, pagingPuntoVenta); + + if (puntoVentaList.getData().length == 0) { + try { + Messagebox.show(Labels.getLabel("MSG.ningunRegistro"), + Labels.getLabel("relatorioVendasBilheteiroSinteticoController.window.title"), Messagebox.OK, + Messagebox.INFORMATION); + } catch (InterruptedException ex) { + ex.printStackTrace(); + } + } + } + + public void onClick$btnLimparUsu(Event ev) { + usuarioList.setData(new ArrayList()); + bbPesquisaBilhetero.setText(""); + } + + public void onClick$btnPesquisaUsu(Event ev) { + executarPesquisaUsu(); + } + + public void onDoubleClick$usuarioList(Event ev) { + Usuario usuario = (Usuario) usuarioList.getSelected(); + usuarioSelList.addItemNovo(usuario); + } + + private void executarPesquisaUsu() { + HibernateSearchObject usuarioBusqueda = new HibernateSearchObject(Usuario.class, + pagingUsuario.getPageSize()); + usuarioBusqueda.addFilterLike("nombusuario", "%" + txtPalavraPesquisa.getValue() + "%"); + usuarioBusqueda.addSortAsc("nombusuario"); + usuarioBusqueda.addFilterEqual("activo", Boolean.TRUE); + plwUsuario.init(usuarioBusqueda, usuarioList, pagingUsuario); + if (usuarioList.getData().length == 0) { + try { + Messagebox.show(Labels.getLabel("MSG.ningunRegistro"), + Labels.getLabel("indexController.mniRelatorioCheckin.label"), Messagebox.OK, + Messagebox.INFORMATION); + } catch (InterruptedException ex) { + log.error(ex); + } + } + } + + private List buscarEmpresaDiferenteDeOperadora() { + List todasAsEmpresas = empresaService.obtenerTodos(); + List empOperadoras = new ArrayList(); + for (Empresa emp : todasAsEmpresas) { + if (emp.getIndTipo() != EMPRESA_OPERADORA) { + empOperadoras.add(emp); + } + } + return empOperadoras; + } + + private List buscarEmpresaOperadora() { + List todasAsEmpresas = empresaService.obtenerTodos(); + List empOperadoras = new ArrayList(); + for (Empresa emp : todasAsEmpresas) { + if (emp.getIndTipo() == EMPRESA_OPERADORA) { + empOperadoras.add(emp); + } + } + return empOperadoras; + } + + public void onClick$btnExecutarRelatorio(Event ev) throws Exception { + executarRelatorio(); + } + + private void executarRelatorio() throws Exception { + Relatorio relatorio; + Map parametros = new HashMap(); + StringBuilder filtro = new StringBuilder(); + + + + carregaValoresEmpresaAutorizadora(parametros, filtro); + carregaValoresEmpresa(parametros, filtro); + carregaValoresAgencia(parametros, filtro); + + carregaValoresBilheteiro(parametros, filtro); + + carregaDataInicial(parametros); + carregaDataFinal(parametros); + carregarUsuarioLogado(parametros); + carregarUsuarioLogado(parametros); + carregarOFiltro(parametros, filtro); + + if (radioAnalitico.isChecked()) { + excutarRelatorioAnalitico(parametros); + } else { + executarRelatorioSintetico(parametros); + } + } + + private void executarRelatorioSintetico(Map parametros) throws Exception, SQLException { + Relatorio relatorio; + parametros.put("NOME_RELATORIO", + Labels.getLabel("relatorioVendaBilhetePorEmpresaAutorizadoraController.nomeRelatorioSintetico.value")); + relatorio = new RelatorioVendaBilhetePorEmpresaAutorizadora(parametros, dataSourceRead.getConnection()); + Map args = new HashMap(); + args.put("relatorio", relatorio); + openWindow("/component/reportView.zul", + Labels.getLabel("relatorioVendaBilhetePorEmpresaAutorizadoraController.nomeRelatorioSintetico.value"), args, MODAL); + } + + private void excutarRelatorioAnalitico(Map parametros) throws Exception, SQLException { + Relatorio relatorio; + parametros.put("NOME_RELATORIO", + Labels.getLabel("relatorioVendaBilhetePorEmpresaAutorizadoraController.nomeRelatorioAnalitico.value")); + relatorio = new RelatorioVendaBilhetePorEmpresaAutorizadoraAnalitico(parametros, + dataSourceRead.getConnection()); + Map args = new HashMap(); + args.put("relatorio", relatorio); + openWindow("/component/reportView.zul", + Labels.getLabel("relatorioVendaBilhetePorEmpresaAutorizadoraController.nomeRelatorioAnalitico.value"), args, MODAL); + } + + private void carregarOFiltro(Map parametros, StringBuilder filtro) { + parametros.put("FILTROS", filtro.toString()); + } + + private void carregarUsuarioLogado(Map parametros) { + parametros.put("USUARIO", UsuarioLogado.getUsuarioLogado().getUsuarioId().toString()); + } + + private void carregaDataFinal(Map parametros) { + parametros.put("DATA_FINAL", (java.util.Date) this.datFinal.getValue()); + } + + private void carregaDataInicial(Map parametros) { + parametros.put("DATA_INICIAL", (java.util.Date) this.datInicial.getValue()); + } + + private void carregaValoresBilheteiro(Map parametros, StringBuilder filtro) { + filtro.append("Usuarios: "); + String usuarioIds = ""; + String usuarios = ""; + List lsUsuarioSelecionados = new ArrayList(Arrays.asList(usuarioSelList.getData())); + if (lsUsuarioSelecionados.isEmpty()) { + usuarios = "Todos"; + } else { + for (int i = 0; i < lsUsuarioSelecionados.size(); i++) { + Usuario usuario = lsUsuarioSelecionados.get(i); + usuarios = usuarios + usuario.getClaveUsuario() + ","; + + usuarioIds = usuarioIds + usuario.getUsuarioId() + ","; + } + + // removendo ultima virgula + usuarioIds = usuarioIds.substring(0, usuarioIds.length() - 1); + usuarios = usuarios.substring(0, usuarios.length() - 1); + parametros.put("USUARIOIDS", usuarioIds); + } + filtro.append(usuarios).append(";"); + } + + private void carregaValoresAgencia(Map parametros, StringBuilder filtro) { + filtro.append(" Agência: "); + String puntoVentaIds = ""; + String puntoVentas = ""; + List lsPuntoVentaSelecionados = new ArrayList(Arrays.asList(puntoVentaSelList.getData())); + if (lsPuntoVentaSelecionados.isEmpty()) { + puntoVentas = "Todas"; + } else { + for (int i = 0; i < lsPuntoVentaSelecionados.size(); i++) { + PuntoVenta puntoVenta = lsPuntoVentaSelecionados.get(i); + puntoVentas = puntoVentas + puntoVenta.getNombpuntoventa() + ","; + + puntoVentaIds = puntoVentaIds + puntoVenta.getPuntoventaId() + ","; + } + + // removendo ultima virgula + puntoVentaIds = puntoVentaIds.substring(0, puntoVentaIds.length() - 1); + puntoVentas = puntoVentas.substring(0, puntoVentas.length() - 1); + parametros.put("NUMPUNTOVENTA", puntoVentaIds); + } + + filtro.append(puntoVentas).append(";"); + + } + + private void carregaValoresEmpresa(Map parametros, StringBuilder filtro) { + filtro.append(" Empresa: "); + + Comboitem itemEmpresa = cmbEmpresa.getSelectedItem(); + if (itemEmpresa != null) { + Empresa empresa = (Empresa) itemEmpresa.getValue(); + parametros.put("EMPRESA_ID", empresa.getEmpresaId()); + parametros.put("EMPRESA", empresa.getNombempresa()); + filtro.append(empresa.getNombempresa() + ";"); + } else { + filtro.append(" Todas;"); + } + } + + private void carregaValoresEmpresaAutorizadora(Map parametros, StringBuilder filtro) { + filtro.append(" Empresa Autorizadora: "); + Comboitem itemEmpresaAutorizadora = cmbEmpresaAutorizadora.getSelectedItem(); + if (itemEmpresaAutorizadora != null) { + Empresa empresa = (Empresa) itemEmpresaAutorizadora.getValue(); + parametros.put("EMPRESAAUTORIZADORA_ID", empresa.getEmpresaId()); + parametros.put("EMPRESAAUTORIZADORA", empresa.getNombempresa()); + filtro.append(empresa.getNombempresa() + ";"); + } else { + filtro.append(" Todas;"); + } + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuVendaBilhetePorEmpresaAutorizadora.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuVendaBilhetePorEmpresaAutorizadora.java new file mode 100644 index 000000000..fa4a73504 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuVendaBilhetePorEmpresaAutorizadora.java @@ -0,0 +1,27 @@ +package com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios; + +import org.zkoss.util.resource.Labels; + +import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria; +import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema; + +public class ItemMenuVendaBilhetePorEmpresaAutorizadora extends DefaultItemMenuSistema { + + public ItemMenuVendaBilhetePorEmpresaAutorizadora() { + super("indexController.mniRelatorioVendaPorEmpresaAutorizadora.label"); + } + + @Override + public String getClaveMenu() { + return "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS.MENU.RELATORIOVENDABILHETEPOREMPRESAAUTORIZADO"; + } + + @Override + public void ejecutar() { + PantallaUtileria.openWindow("/gui/relatorios/filtroRelatorioVendaBilhetePorEmpresaAutorizadora.zul", + Labels.getLabel("indexController.mniRelatorioVendaPorEmpresaAutorizadora.label"), getArgs() ,desktop); + } + + + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties index 249ad5448..2ab4908e6 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties @@ -250,6 +250,7 @@ analitico.gerenciais.financeiro.aproveitamentoFinanceiro=com.rjconsultores.venta analitico.gerenciais.financeiro.relatorioOperacionalFinanceiro=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioCaixaOrgaoConcedente analitico.gerenciais.financeiro.relatorioResumoVendaOrgaoConcedente=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioResumoVendaOrgaoConcedente analitico.gerenciais.financeiro.relatorioVendasConexaoRuta=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioVendasConexaoRuta +analitico.gerenciais.financeiro.relatorioVendaBilhetePorEmpresaAutorizadora=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuVendaBilhetePorEmpresaAutorizadora analitico.gerenciais.pacote=com.rjconsultores.ventaboletos.web.utilerias.menu.item.analitico.gerenciais.pacote.SubMenuRelatorioPacote analitico.gerenciais.pacote.boletos=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioVendasPacotesBoletos analitico.gerenciais.pacote.detalhado=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioVendasPacotesDetalhado diff --git a/web/WEB-INF/i3-label_en.label b/web/WEB-INF/i3-label_en.label index 9dcbf9b36..b0468b047 100644 --- a/web/WEB-INF/i3-label_en.label +++ b/web/WEB-INF/i3-label_en.label @@ -416,6 +416,7 @@ indexController.mniRelatorioCaixaOrgaoConcedente.label = Relatório Caixa por Ó indexController.mniRelatorioPrecosPraticados.label = Relatório de Preços Praticados indexController.mniRelatorioW2I.label = Relatório Seguro W2I indexController.mniRelatorioTxEmbW2I.label = Relatório Taxa Embarque W2I +indexController.mniRelatorioVendaPorEmpresaAutorizadora.label= Relatório de venda Por Empresa Autorizadora indexController.mnSubMenuImpressaoFiscal.label=Impressão Fiscal indexController.mnSubMenuRelatorioImpressaoFiscal.label=Importação Fiscal @@ -1340,6 +1341,27 @@ relatorioPosicaoVendaBilheteIdosoController.TpRelatorio.value = Tipo de Relatór relatorioPosicaoVendaBilheteIdosoController.tpTrecho.label = Trecho relatorioPosicaoVendaBilheteIdosoController.tpPassageiro.label = Passageiro +#Relatório de venda Por Empresa Autorizadora +relatorioVendaBilhetePorEmpresaAutorizadoraController.window.title = Relatório de venda Por Empresa Autorizadora +relatorioVendaBilhetePorEmpresaAutorizadoraController.lbDatInicial.value = Data inicial +relatorioVendaBilhetePorEmpresaAutorizadoraController.lbDatFinal.value = Data final +relatorioVendaBilhetePorEmpresaAutorizadoraController.lbPuntoVenta.value = Agência +relatorioVendaBilhetePorEmpresaAutorizadoraController.lbEmpresaAutorizadora.value = Empresa Autorizadora +relatorioVendaBilhetePorEmpresaAutorizadoraController.lbEmpresa.value = Empresa +relatorioVendaBilhetePorEmpresaAutorizadoraController.btnPesquisa.label = Buscar +relatorioVendaBilhetePorEmpresaAutorizadoraController.btnLimpar.label = Limpar +relatorioVendaBilhetePorEmpresaAutorizadoraController.lbNumero.value = Número Agência +relatorioVendaBilhetePorEmpresaAutorizadoraController.lbBilheteiro.value = Bilheteiro +relatorioVendaBilhetePorEmpresaAutorizadoraController.lbLayout.value = Layout +relatorioVendaBilhetePorEmpresaAutorizadoraController.lbLayoutNovo.value = Novo +relatorioVendaBilhetePorEmpresaAutorizadoraController.lbLayoutAntigo.value = Antigo +relatorioVendaBilhetePorEmpresaAutorizadoraController.lbLayoutDiario.value = Diário +relatorioVendaBilhetePorEmpresaAutorizadoraController.lbLayoutResumo.value = Resumo +relatorioVendaBilhetePorEmpresaAutorizadoraController.analitico.value = Analitico +relatorioVendaBilhetePorEmpresaAutorizadoraController.sintetico.value = Sintetico +relatorioVendaBilhetePorEmpresaAutorizadoraController.nomeRelatorioAnalitico.value = Relatório analitico de venda Por Empresa Autorizadora +relatorioVendaBilhetePorEmpresaAutorizadoraController.nomeRelatorioSintetico.value = Relatório sintetico de venda Por Empresa Autorizadora + # Pantalla Editar Classe editarClaseServicioController.window.title = Tipo de Classe editarClaseServicioController.btnApagar.tooltiptext = Eliminar diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index 67a2a12ba..121331958 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -392,6 +392,7 @@ indexController.mniRelatorioVendaConexaoLinha.label = Relatório Vendas de Cone indexController.mniRelatorioPrecosPraticados.label = Relatório de Preços Praticados indexController.mniRelatorioW2I.label = Relatório Seguro W2I indexController.mniRelatorioTxEmbW2I.label = Relatório Taxa Embarque W2I +indexController.mniRelatorioVendaPorEmpresaAutorizadora.label= Relatório de venda Por Empresa Autorizadora indexController.mnSubMenuImpressaoFiscal.label=Impresión fiscal indexController.mnSubMenuRelatorioImpressaoFiscal.label=Importación fiscal @@ -1130,6 +1131,28 @@ relatorioPosicaoVendaBilheteIdosoController.TpRelatorio.value = Tipo de Relatór relatorioPosicaoVendaBilheteIdosoController.tpTrecho.label = Trecho relatorioPosicaoVendaBilheteIdosoController.tpPassageiro.label = Passageiro +#Relatório de venda Por Empresa Autorizadora +relatorioVendaBilhetePorEmpresaAutorizadoraController.window.title = Relatório de venda Por Empresa Autorizadora +relatorioVendaBilhetePorEmpresaAutorizadoraController.lbDatInicial.value = Data inicial +relatorioVendaBilhetePorEmpresaAutorizadoraController.lbDatFinal.value = Data final +relatorioVendaBilhetePorEmpresaAutorizadoraController.lbPuntoVenta.value = Agência +relatorioVendaBilhetePorEmpresaAutorizadoraController.lbEmpresaAutorizadora.value = Empresa Autorizadora +relatorioVendaBilhetePorEmpresaAutorizadoraController.lbEmpresa.value = Empresa +relatorioVendaBilhetePorEmpresaAutorizadoraController.btnPesquisa.label = Buscar +relatorioVendaBilhetePorEmpresaAutorizadoraController.btnLimpar.label = Limpar +relatorioVendaBilhetePorEmpresaAutorizadoraController.lbNumero.value = Número Agência +relatorioVendaBilhetePorEmpresaAutorizadoraController.lbBilheteiro.value = Bilheteiro +relatorioVendaBilhetePorEmpresaAutorizadoraController.lbLayout.value = Layout +relatorioVendaBilhetePorEmpresaAutorizadoraController.lbLayoutNovo.value = Novo +relatorioVendaBilhetePorEmpresaAutorizadoraController.lbLayoutAntigo.value = Antigo +relatorioVendaBilhetePorEmpresaAutorizadoraController.lbLayoutDiario.value = Diário +relatorioVendaBilhetePorEmpresaAutorizadoraController.lbLayoutResumo.value = Resumo +relatorioVendaBilhetePorEmpresaAutorizadoraController.analitico.value = Analitico +relatorioVendaBilhetePorEmpresaAutorizadoraController.sintetico.value = Sintetico +relatorioVendaBilhetePorEmpresaAutorizadoraController.nomeRelatorioAnalitico.value = Relatório analitico de venda Por Empresa Autorizadora +relatorioVendaBilhetePorEmpresaAutorizadoraController.nomeRelatorioSintetico.value = Relatório sintetico de venda Por Empresa Autorizadora + + #Relatório Documentos Fiscais relatorioDocumentosFiscaisController.window.title = Reporte Documentos Fiscais relatorioDocumentosFiscaisController.lbDatInicial.value = Fecha Inicial diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 30267bff2..02db3df7a 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -417,6 +417,7 @@ indexController.mniRelatorioVendaEmbarcada.label = Venda Embarcada indexController.mniRelatorioCaixaOrgaoConcedente.label = Relatório Caixa por Órgão Concedente indexController.mniRelatorioW2I.label = Relatório Seguro W2I indexController.mniRelatorioTxEmbW2I.label = Relatório Taxa Embarque W2I +indexController.mniRelatorioVendaPorEmpresaAutorizadora.label= Relatório de venda Por Empresa Autorizadora indexController.mnSubMenuImpressaoFiscal.label=Impressão Fiscal indexController.mnSubMenuRelatorioImpressaoFiscal.label=Importação Fiscal @@ -1343,6 +1344,27 @@ relatorioPosicaoVendaBilheteIdosoController.TpRelatorio.value = Tipo de Relatór relatorioPosicaoVendaBilheteIdosoController.tpTrecho.label = Trecho relatorioPosicaoVendaBilheteIdosoController.tpPassageiro.label = Passageiro +#Relatório de venda Por Empresa Autorizadora +relatorioVendaBilhetePorEmpresaAutorizadoraController.window.title = Relatório de venda Por Empresa Autorizadora +relatorioVendaBilhetePorEmpresaAutorizadoraController.lbDatInicial.value = Data inicial +relatorioVendaBilhetePorEmpresaAutorizadoraController.lbDatFinal.value = Data final +relatorioVendaBilhetePorEmpresaAutorizadoraController.lbPuntoVenta.value = Agência +relatorioVendaBilhetePorEmpresaAutorizadoraController.lbEmpresaAutorizadora.value = Empresa Autorizadora +relatorioVendaBilhetePorEmpresaAutorizadoraController.lbEmpresa.value = Empresa +relatorioVendaBilhetePorEmpresaAutorizadoraController.btnPesquisa.label = Buscar +relatorioVendaBilhetePorEmpresaAutorizadoraController.btnLimpar.label = Limpar +relatorioVendaBilhetePorEmpresaAutorizadoraController.lbNumero.value = Número Agência +relatorioVendaBilhetePorEmpresaAutorizadoraController.lbBilheteiro.value = Bilheteiro +relatorioVendaBilhetePorEmpresaAutorizadoraController.lbLayout.value = Layout +relatorioVendaBilhetePorEmpresaAutorizadoraController.lbLayoutNovo.value = Novo +relatorioVendaBilhetePorEmpresaAutorizadoraController.lbLayoutAntigo.value = Antigo +relatorioVendaBilhetePorEmpresaAutorizadoraController.lbLayoutDiario.value = Diário +relatorioVendaBilhetePorEmpresaAutorizadoraController.lbLayoutResumo.value = Resumo +relatorioVendaBilhetePorEmpresaAutorizadoraController.analitico.value = Analitico +relatorioVendaBilhetePorEmpresaAutorizadoraController.sintetico.value = Sintetico +relatorioVendaBilhetePorEmpresaAutorizadoraController.nomeRelatorioAnalitico.value = Relatório analitico de venda Por Empresa Autorizadora +relatorioVendaBilhetePorEmpresaAutorizadoraController.nomeRelatorioSintetico.value = Relatório sintetico de venda Por Empresa Autorizadora + # Pantalla Editar Classe editarClaseServicioController.window.title = Tipo de Classe editarClaseServicioController.btnApagar.tooltiptext = Eliminar diff --git a/web/gui/relatorios/filtroRelatorioVendaBilhetePorEmpresaAutorizadora.zul b/web/gui/relatorios/filtroRelatorioVendaBilhetePorEmpresaAutorizadora.zul new file mode 100644 index 000000000..88f8db92c --- /dev/null +++ b/web/gui/relatorios/filtroRelatorioVendaBilhetePorEmpresaAutorizadora.zul @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +