From e22eaa5b7bef9484ff1e127340c7d8fa0029ac9b Mon Sep 17 00:00:00 2001 From: walace Date: Wed, 23 Aug 2017 13:02:27 +0000 Subject: [PATCH] fixes bug #9451 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@72823 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../relatorios/impl/RelatorioVendasPTA.java | 245 ++++++++++++ .../RelatorioVendasPTA_es.properties | 33 ++ .../RelatorioVendasPTA_pt_BR.properties | 36 ++ .../templates/RelatorioVendasPTA.jasper | Bin 0 -> 44824 bytes .../templates/RelatorioVendasPTA.jrxml | 373 ++++++++++++++++++ .../utilitarios/RelatorioVendasPTABean.java | 198 ++++++++++ .../RelatorioVendasPTAController.java | 242 ++++++++++++ .../tarifas/EnumTipoCancelVendaPacote.java | 35 +- .../ItemMenuRelatorioVendasPTA.java | 30 ++ .../utilerias/menu/menu_original.properties | 2 + web/WEB-INF/i3-label_es_MX.label | 17 + web/WEB-INF/i3-label_pt_BR.label | 22 ++ .../relatorios/filtroRelatorioVendasPTA.zul | 114 ++++++ 13 files changed, 1329 insertions(+), 18 deletions(-) create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPTA.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPTA_es.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPTA_pt_BR.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPTA.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPTA.jrxml create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioVendasPTABean.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendasPTAController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioVendasPTA.java create mode 100644 web/gui/relatorios/filtroRelatorioVendasPTA.zul diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPTA.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPTA.java new file mode 100644 index 000000000..01e254e94 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPTA.java @@ -0,0 +1,245 @@ +package com.rjconsultores.ventaboletos.relatorios.impl; + +import java.math.BigDecimal; +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.Timestamp; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; + +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.enums.SituacaoBoleto; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.DataSource; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioVendasPTABean; +import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; + +import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; + +public class RelatorioVendasPTA extends Relatorio { + + public RelatorioVendasPTA(Map parametros, Connection conexao) { + super(parametros, conexao); + + } + + private List lsDadosRelatorio; + + @Override + protected void processaParametros() throws Exception { + + this.setCustomDataSource(new DataSource(this) { + @Override + public void initDados() throws Exception { + + Connection conexao = this.relatorio.getConexao(); + + Map parametros = this.relatorio.getParametros(); + + String dataInicial = parametros.get("DATA_INICIAL").toString() + " 00:00:00"; + String dataFinal = parametros.get("DATA_FINAL").toString() + " 23:59:59"; + Empresa empresa = (Empresa) parametros.get("EMPRESA"); + String agencia = (String) parametros.get("PUNTOVENTA"); + SituacaoBoleto situacaoBoleto = (SituacaoBoleto) parametros.get("SITUACAO_BOLETO"); + + String sql = getSql(empresa, agencia, dataInicial, dataFinal, situacaoBoleto); + + NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); + + stmt.setTimestamp("DATA_INICIAL", (Timestamp) parametros.get("DATA_INICIAL")); + stmt.setTimestamp("DATA_FINAL", (Timestamp) parametros.get("DATA_FINAL")); + + ResultSet rset = null; + rset = stmt.executeQuery(); + + lsDadosRelatorio = new ArrayList(); + + lsDadosRelatorio = new ArrayList(); + BigDecimal saldo = BigDecimal.ZERO; + BigDecimal total = BigDecimal.ZERO; + + while (rset.next()) { + + RelatorioVendasPTABean vendasPTABean = new RelatorioVendasPTABean(); + + vendasPTABean.setPreco((BigDecimal) rset.getObject("preco")); + vendasPTABean.setTaxas((BigDecimal) rset.getObject("taxas")); + vendasPTABean.setBilhete((String) rset.getObject("bilhete")); + vendasPTABean.setNomeAgenciaVenda((String) rset.getObject("nomeAgenciaVenda")); + vendasPTABean.setAgencia((String) rset.getObject("agencia")); + vendasPTABean.setStatus((String) rset.getObject("status")); + vendasPTABean.setServico((BigDecimal) rset.getObject("servico")); + vendasPTABean.setPoltrona((String) rset.getObject("poltrona")); + vendasPTABean.setDescricaoLinha((String) rset.getObject("descricaoLinha")); + vendasPTABean.setDescricaoOrigem((String) rset.getObject("descricaoOrigem")); + vendasPTABean.setDescricaoDestino((String) rset.getObject("descricaoDestino")); + vendasPTABean.setDataEmbarque((Date) rset.getObject("dataEmbarque")); + vendasPTABean.setDataEmissao((Date) rset.getObject("dataEmissao")); + + if (vendasPTABean.getStatus().equals("VENDIDO")) { + vendasPTABean.setSituacaoVendido("V"); + saldo = saldo.add(vendasPTABean.getPreco() != null ? vendasPTABean.getPreco() : BigDecimal.ZERO); + } else { + BigDecimal situacao = (BigDecimal) rset.getObject("situacaoCancelado"); + vendasPTABean.setSituacaoCancelado(situacao.toString()); + if (vendasPTABean.getSituacaoCancelado().equals("31")) { + vendasPTABean.setSituacaoCancelado("A"); + } else if (vendasPTABean.getSituacaoCancelado().equals("32")) { + vendasPTABean.setSituacaoCancelado("D"); + } else if (vendasPTABean.getSituacaoCancelado().equals("23")) { + vendasPTABean.setSituacaoCancelado("R"); + } else if (vendasPTABean.getSituacaoCancelado().equals("10")) { + vendasPTABean.setSituacaoCancelado("TP"); + } + total = total.add(vendasPTABean.getPreco() != null ? vendasPTABean.getPreco() : BigDecimal.ZERO); + } + + lsDadosRelatorio.add(vendasPTABean); + } + + if (lsDadosRelatorio.size() > 0) { + + setLsDadosRelatorio(lsDadosRelatorio); + parametros.put("SALDO", saldo.subtract(total)); + parametros.put("TOTAL", total); + } + } + }); + } + + public void setLsDadosRelatorio(List lsDadosRelatorio) { + this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDadosRelatorio)); + this.lsDadosRelatorio = lsDadosRelatorio; + } + + private String getSql(Empresa empresa, String agencia, String fecInicio, String fecFinal, SituacaoBoleto situacaoBoleto) { + + StringBuilder sql = new StringBuilder(); + String motivoCancelacion = ""; + + if (situacaoBoleto.getCodigo().equals(31)) { + motivoCancelacion = "31"; + } else if (situacaoBoleto.getCodigo().equals(32)) { + motivoCancelacion = "32"; + } else if (situacaoBoleto.getCodigo().equals(23)) { + motivoCancelacion = "23"; + } else if (situacaoBoleto.getCodigo().equals(10)) { + motivoCancelacion = "10"; + } else { + motivoCancelacion = "31, 32, 23, 10"; + } + + if (situacaoBoleto.getCodigo().equals(1)) { // Somente Vendidos + sql.append("SELECT 'VENDIDO' as status, pv.NOMBPUNTOVENTA as nomeAgenciaVenda, pe.NOMBPUNTOVENTA as agencia, "); + sql.append(" ORIGINAL.NUMFOLIOSISTEMA as bilhete, original.CORRIDA_ID as servico, original.NUMASIENTO as poltrona, UTILIZADO.MOTIVOCANCELACION_ID AS situacaoCancelado,"); + sql.append(" UTILIZADO.FECCREACION as dataEmissao, "); + sql.append(" ORIGINAL.FECHORVIAJE as dataEmbarque, "); + sql.append(" ORIGINAL.MOTIVOCANCELACION_ID, "); + sql.append(" ORIGINAL.PRECIOBASE as preco, "); + sql.append(" ORIGINAL.FECHORVENTA as dataVenda, "); + sql.append(" ORIGINAL.IMPORTEPEDAGIO + original.IMPORTESEGURO + original.IMPORTETAXAEMBARQUE + original.IMPORTEOUTROS AS taxas, "); + sql.append(" r.DESCRUTA AS descricaoLinha, po.DESCPARADA AS descricaoOrigem, "); + sql.append(" pd.DESCPARADA AS descricaoDestino "); + sql.append("FROM BOLETO ORIGINAL "); + sql.append("LEFT JOIN BOLETO UTILIZADO ON (ORIGINAL.CORRIDA_ID = UTILIZADO.CORRIDA_ID AND UTILIZADO.NUMASIENTO = original.NUMASIENTO "); + sql.append(" AND ORIGINAL.FECCORRIDA = UTILIZADO.FECCORRIDA AND UTILIZADO.INDSTATUSBOLETO = 'E' "); + sql.append(" AND UTILIZADO.TIPOVENTA_ID IN (5,12,18,41,49)) "); + sql.append("LEFT JOIN PUNTO_VENTA pv on(ORIGINAL.PUNTOVENTA_ID = pv.PUNTOVENTA_ID) "); + sql.append("LEFT JOIN PUNTO_VENTA pe on(UTILIZADO.PUNTOVENTA_ID = pe.PUNTOVENTA_ID) "); + sql.append("INNER JOIN RUTA r on(original.ruta_id = r.ruta_id) "); + sql.append("INNER JOIN PARADA po ON (original.ORIGEN_ID = po.PARADA_ID) "); + sql.append("INNER JOIN PARADA pd ON (original.DESTINO_ID = pd.PARADA_ID) "); + sql.append("WHERE to_date(original.FECHORVENTA,'dd/MM/yy') BETWEEN :DATA_INICIAL AND :DATA_FINAL "); + sql.append(" AND ORIGINAL.INDSTATUSBOLETO = 'V' "); + sql.append(" AND ORIGINAL.TIPOVENTA_ID IN (5,12,18,41,49) and (original.MOTIVOCANCELACION_ID is null or original.MOTIVOCANCELACION_ID = 16 ) "); + sql.append(agencia.equals("-1") || agencia.equals("TODAS") ? "" : " AND original.PUNTOVENTA_ID in (" + agencia + ") "); + sql.append("AND original.EMPRESACORRIDA_ID =" + empresa.getEmpresaId() + " "); + } else if (situacaoBoleto.getCodigo().equals(-1)) { // Todos (Vendidos e Cancelados) + + sql.append("SELECT 'VENDIDO' as status, pv.NOMBPUNTOVENTA as nomeAgenciaVenda, pe.NOMBPUNTOVENTA as agencia, "); + sql.append(" original.NUMFOLIOSISTEMA as bilhete, original.CORRIDA_ID as servico, original.NUMASIENTO as poltrona, utilizado.MOTIVOCANCELACION_ID AS situacaoCancelado,"); + sql.append(" UTILIZADO.FECCREACION as dataEmissao, "); + sql.append(" ORIGINAL.FECHORVIAJE as dataEmbarque, "); + sql.append(" ORIGINAL.MOTIVOCANCELACION_ID, "); + sql.append(" ORIGINAL.PRECIOBASE as preco, "); + sql.append(" ORIGINAL.FECHORVENTA as dataVenda, "); + sql.append(" ORIGINAL.IMPORTEPEDAGIO + original.IMPORTESEGURO + original.IMPORTETAXAEMBARQUE + original.IMPORTEOUTROS AS taxas, "); + sql.append(" r.DESCRUTA AS descricaoLinha, po.DESCPARADA AS descricaoOrigem, "); + sql.append(" pd.DESCPARADA AS descricaoDestino "); + sql.append("FROM BOLETO ORIGINAL "); + sql.append("LEFT JOIN BOLETO UTILIZADO ON (original.CORRIDA_ID = utilizado.CORRIDA_ID AND utilizado.NUMASIENTO = original.NUMASIENTO "); + sql.append(" AND original.FECCORRIDA = utilizado.FECCORRIDA AND utilizado.INDSTATUSBOLETO = 'E' "); + sql.append(" AND utilizado.TIPOVENTA_ID IN (5,12,18,41,49)) "); + sql.append("LEFT JOIN PUNTO_VENTA pv on(ORIGINAL.PUNTOVENTA_ID = pv.PUNTOVENTA_ID) "); + sql.append("LEFT JOIN PUNTO_VENTA pe on(UTILIZADO.PUNTOVENTA_ID = pe.PUNTOVENTA_ID) "); + sql.append("INNER JOIN RUTA r on(original.ruta_id = r.ruta_id) "); + sql.append("INNER JOIN PARADA po ON (ORIGINAL.ORIGEN_ID = po.PARADA_ID) "); + sql.append("INNER JOIN PARADA pd ON (ORIGINAL.DESTINO_ID = pd.PARADA_ID) "); + sql.append("WHERE to_date(ORIGINAL.FECHORVENTA,'dd/MM/yy') BETWEEN :DATA_INICIAL AND :DATA_FINAL "); + sql.append(" AND ORIGINAL.INDSTATUSBOLETO = 'V' "); + sql.append(" AND ORIGINAL.TIPOVENTA_ID IN (5,12,18,41,49) and (ORIGINAL.MOTIVOCANCELACION_ID is null or ORIGINAL.MOTIVOCANCELACION_ID = 16 ) "); + sql.append(agencia.equals("-1") || agencia.equals("TODAS") ? "" : " AND ORIGINAL.PUNTOVENTA_ID in (" + agencia + ") "); + sql.append("AND ORIGINAL.EMPRESACORRIDA_ID =" + empresa.getEmpresaId() + " "); + sql.append("UNION ALL "); + sql.append("SELECT 'CANCELADO' as status, pc.NOMBPUNTOVENTA AS nomeAgenciaVenda, pv.NOMBPUNTOVENTA as agencia, "); + sql.append(" ORIGINAL.NUMFOLIOSISTEMA as bilhete, original.CORRIDA_ID as servico, original.NUMASIENTO as poltrona, "); + sql.append(" ORIGINAL.MOTIVOCANCELACION_ID as situacaoCancelado, "); + sql.append(" ORIGINAL.FECHORVENTA as dataEmissao, "); + sql.append(" ORIGINAL.FECHORVIAJE as dataEmbarque, "); + sql.append(" ORIGINAL.MOTIVOCANCELACION_ID, "); + sql.append(" ORIGINAL.PRECIOBASE as preco, "); + sql.append(" ORIGINAL.FECHORVENTA as dataVenda, "); + sql.append(" ORIGINAL.IMPORTEPEDAGIO + original.IMPORTESEGURO + original.IMPORTETAXAEMBARQUE + original.IMPORTEOUTROS AS taxas, "); + sql.append(" r.DESCRUTA AS descricaoLinha, po.DESCPARADA AS descricaoOrigem, "); + sql.append(" pd.DESCPARADA AS descricaoDestino "); + sql.append("FROM BOLETO ORIGINAL "); + sql.append("LEFT JOIN BOLETO UTILIZADO ON (ORIGINAL.BOLETOANTERIOR_ID = UTILIZADO.BOLETO_ID "); + sql.append(" AND UTILIZADO.TIPOVENTA_ID IN (5,12,18,41,49)) "); + sql.append("LEFT JOIN PUNTO_VENTA pv on(ORIGINAL.PUNTOVENTA_ID = pv.PUNTOVENTA_ID) "); + sql.append("LEFT JOIN PUNTO_VENTA pc on(UTILIZADO.PUNTOVENTA_ID = pc.PUNTOVENTA_ID) "); + sql.append("INNER JOIN RUTA r on(original.ruta_id = r.ruta_id) "); + sql.append("INNER JOIN PARADA po ON (ORIGINAL.ORIGEN_ID = po.PARADA_ID) "); + sql.append("INNER JOIN PARADA pd ON (ORIGINAL.DESTINO_ID = pd.PARADA_ID) "); + sql.append("WHERE to_date(original.FECHORVENTA,'dd/MM/yy') BETWEEN :DATA_INICIAL AND :DATA_FINAL "); + sql.append("AND ORIGINAL.INDSTATUSBOLETO not in('V','E') "); + sql.append(" AND ORIGINAL.TIPOVENTA_ID IN (5,12,18,41,49) "); + sql.append(" AND UTILIZADO.MOTIVOCANCELACION_ID IN (" + motivoCancelacion + ") "); + sql.append(agencia.equals("-1") || agencia.equals("TODAS") ? "" : " AND ORIGINAL.PUNTOVENTA_ID in (" + agencia + ") "); + sql.append("AND ORIGINAL.EMPRESACORRIDA_ID =" + empresa.getEmpresaId() + " "); + + } else { // somente cancelados + + sql.append("SELECT 'CANCELADO' as status, pc.NOMBPUNTOVENTA AS nomeAgenciaVenda, pv.NOMBPUNTOVENTA as agencia, "); + sql.append(" ORIGINAL.NUMFOLIOSISTEMA as bilhete, ORIGINAL.CORRIDA_ID as servico, ORIGINAL.NUMASIENTO as poltrona, "); + sql.append(" ORIGINAL.MOTIVOCANCELACION_ID as situacaoCancelado, "); + sql.append(" ORIGINAL.FECHORVENTA as dataEmissao, "); + sql.append(" ORIGINAL.FECHORVIAJE as dataEmbarque, "); + sql.append(" ORIGINAL.MOTIVOCANCELACION_ID, "); + sql.append(" ORIGINAL.PRECIOBASE as preco, "); + sql.append(" ORIGINAL.FECHORVENTA as dataVenda, "); + sql.append(" ORIGINAL.IMPORTEPEDAGIO + original.IMPORTESEGURO + ORIGINAL.IMPORTETAXAEMBARQUE + ORIGINAL.IMPORTEOUTROS AS taxas, "); + sql.append(" r.DESCRUTA AS descricaoLinha, po.DESCPARADA AS descricaoOrigem, "); + sql.append(" pd.DESCPARADA AS descricaoDestino "); + sql.append("FROM BOLETO ORIGINAL "); + sql.append("LEFT JOIN BOLETO UTILIZADO ON (ORIGINAL.BOLETOANTERIOR_ID = UTILIZADO.BOLETO_ID "); + sql.append(" AND UTILIZADO.TIPOVENTA_ID IN (5,12,18,41,49)) "); + sql.append("LEFT JOIN PUNTO_VENTA pv on(ORIGINAL.PUNTOVENTA_ID = pv.PUNTOVENTA_ID) "); + sql.append("LEFT JOIN PUNTO_VENTA pc on(UTILIZADO.PUNTOVENTA_ID = pc.PUNTOVENTA_ID) "); + sql.append("INNER JOIN RUTA r on(ORIGINAL.ruta_id = r.ruta_id) "); + sql.append("INNER JOIN PARADA po ON (ORIGINAL.ORIGEN_ID = po.PARADA_ID) "); + sql.append("INNER JOIN PARADA pd ON (ORIGINAL.DESTINO_ID = pd.PARADA_ID) "); + sql.append("WHERE to_date(original.FECHORVENTA,'dd/MM/yy') BETWEEN :DATA_INICIAL AND :DATA_FINAL "); + sql.append("AND ORIGINAL.INDSTATUSBOLETO not in('V','E') "); + sql.append(" AND ORIGINAL.TIPOVENTA_ID IN (5,12,18,41,49) "); + sql.append(" AND UTILIZADO.MOTIVOCANCELACION_ID IN (" + motivoCancelacion + ") "); + sql.append(agencia.equals("-1") || agencia.equals("TODAS") ? "" : " AND original.PUNTOVENTA_ID in (" + agencia + ") "); + sql.append("AND ORIGINAL.EMPRESACORRIDA_ID =" + empresa.getEmpresaId() + " "); + } + + return sql.toString(); + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPTA_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPTA_es.properties new file mode 100644 index 000000000..40b2d75d6 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPTA_es.properties @@ -0,0 +1,33 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + +#Labels cabeçalho +cabecalho.nome=Relatório Vendas PTA +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: +cabecalho.puntoventa=Agência: +cabecalho.empresa=Empresa: +cabecalho.usuario=Usuário: + +label.nomeVendaAgencia=Agência Atendimento +label.nomeAgenciaEmissao=Agência Emissão +label.nomeAgenciaCancelamento=Agência Cancelamento +label.dataEmissao=Data Emissão +label.dataEmbarque=Data Embarque +label.bilhete=Bilhete +label.dataEmissao=Data Emissão +label.Preco=Preço +label.Taxas= Valor Taxas +label.origem= Origem +label.destino= Destino +label.servico= Servico +label.poltrona= Poltrona +label.dataCancelamento=Data Cancelamento +label.saldo=Saldo R$: +label.total=Total R$: diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPTA_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPTA_pt_BR.properties new file mode 100644 index 000000000..a015e015c --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasPTA_pt_BR.properties @@ -0,0 +1,36 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + +#Labels cabeçalho +cabecalho.nome=Relatório Vendas PTA +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: +cabecalho.puntoventa=Agência: +cabecalho.usuario=Usuário: + +label.nomeVendaAgencia=Agência Atendimento +label.nomeAgenciaEmissao=Agência Emissão +label.nomeAgenciaCancelamento=Agência Cancelamento +label.dataEmissao=Data Emissão +label.dataEmbarque=Data Embarque +label.bilhete=Bilhete +label.dataEmissao=Data Emissão +label.preco=Preço +label.taxas=Taxas +label.origem= Origem +label.destino=Destino +label.descricaoLinha=Linha +label.servico=Servico +label.poltrona= Poltrona +label.dataInicial=Data Inicial: +label.dataFinal=Data Final: +label.empresa=Empresa: +label.situacao=Situacao +label.saldo=Saldo R$: +label.total=Total R$: \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPTA.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPTA.jasper new file mode 100644 index 0000000000000000000000000000000000000000..83a9f7a0dcb6f673fe0eff717160f59dc2bdec8b GIT binary patch literal 44824 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

GTu)$6wbXa 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 literal 0 HcmV?d00001 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPTA.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPTA.jrxml new file mode 100644 index 000000000..e5437c354 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasPTA.jrxml @@ -0,0 +1,373 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <band height="32"> + <textField> + <reportElement x="309" y="2" width="256" height="27" uuid="766b74e4-28c9-4045-8538-343a8bc8e665"/> + <textElement textAlignment="Center" verticalAlignment="Middle"> + <font size="18" isBold="true"/> + </textElement> + <textFieldExpression><![CDATA[$R{cabecalho.nome}]]></textFieldExpression> + </textField> + </band> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioVendasPTABean.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioVendasPTABean.java new file mode 100644 index 000000000..92edf14de --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioVendasPTABean.java @@ -0,0 +1,198 @@ +package com.rjconsultores.ventaboletos.relatorios.utilitarios; + +import java.math.BigDecimal; +import java.util.Date; + +public class RelatorioVendasPTABean { + + private BigDecimal preco; + private BigDecimal taxas; + private String bilhete; + private String codLinha; + private String descricaoLinha; + private String codOrigem; + private String descricaoOrigem; + private String codDestino; + private String descricaoDestino; + private Date dataInicial; + private Date dataFinal; + private BigDecimal servico; + private String poltrona; + private String situacaoVendido; + private String nomeAgenciaVenda; + private String agencia; + private String status; + private Date dataEmissao; + private Date dataEmbarque; + private Date dataVenda; + private String situacaoCancelado; + + public BigDecimal getPreco() { + return preco; + } + + public void setPreco(BigDecimal preco) { + this.preco = preco; + } + + public BigDecimal getTaxas() { + return taxas; + } + + public void setTaxas(BigDecimal taxas) { + this.taxas = taxas; + } + + public String getBilhete() { + return bilhete; + } + + public void setBilhete(String bilhete) { + this.bilhete = bilhete; + } + + public String getDescricaoLinha() { + return descricaoLinha; + } + + public void setDescricaoLinha(String descricaoLinha) { + this.descricaoLinha = descricaoLinha; + } + + public Date getDataInicial() { + return dataInicial; + } + + public void setDataInicial(Date dataInicial) { + this.dataInicial = dataInicial; + } + + public Date getDataFinal() { + return dataFinal; + } + + public void setDataFinal(Date dataFinal) { + this.dataFinal = dataFinal; + } + + public String getCodOrigem() { + return codOrigem; + } + + public void setCodOrigem(String codOrigem) { + this.codOrigem = codOrigem; + } + + public String getDescricaoOrigem() { + return descricaoOrigem; + } + + public void setDescricaoOrigem(String descricaoOrigem) { + this.descricaoOrigem = descricaoOrigem; + } + + public String getCodDestino() { + return codDestino; + } + + public void setCodDestino(String codDestino) { + this.codDestino = codDestino; + } + + public String getDescricaoDestino() { + return descricaoDestino; + } + + public void setDescricaoDestino(String descricaoDestino) { + this.descricaoDestino = descricaoDestino; + } + + public String getCodLinha() { + return codLinha; + } + + public void setCodLinha(String codLinha) { + this.codLinha = codLinha; + } + + public BigDecimal getServico() { + return servico; + } + + public void setServico(BigDecimal servico) { + this.servico = servico; + } + + public String getPoltrona() { + return poltrona; + } + + public void setPoltrona(String poltrona) { + this.poltrona = poltrona; + } + + public String getSituacaoVendido() { + return situacaoVendido; + } + + public void setSituacaoVendido(String situacaoVendido) { + this.situacaoVendido = situacaoVendido; + } + + public String getSituacaoCancelado() { + return situacaoCancelado; + } + + public void setSituacaoCancelado(String situacaoCancelado) { + this.situacaoCancelado = situacaoCancelado; + } + + public String getNomeAgenciaVenda() { + return nomeAgenciaVenda; + } + + public void setNomeAgenciaVenda(String nomeAgenciaVenda) { + this.nomeAgenciaVenda = nomeAgenciaVenda; + } + + public String getAgencia() { + return agencia; + } + + public void setAgencia(String agencia) { + this.agencia = agencia; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public Date getDataEmissao() { + return dataEmissao; + } + + public void setDataEmissao(Date dataEmissao) { + this.dataEmissao = dataEmissao; + } + + public Date getDataVenda() { + return dataVenda; + } + + public void setDataVenda(Date dataVenda) { + this.dataVenda = dataVenda; + } + + public Date getDataEmbarque() { + return dataEmbarque; + } + + public void setDataEmbarque(Date dataEmbarque) { + this.dataEmbarque = dataEmbarque; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendasPTAController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendasPTAController.java new file mode 100644 index 000000000..e0526e8c0 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendasPTAController.java @@ -0,0 +1,242 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios; + +import java.sql.Timestamp; +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.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.Datebox; +import org.zkoss.zul.Paging; +import org.zkoss.zul.Textbox; + +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.PuntoVenta; +import com.rjconsultores.ventaboletos.enums.SituacaoBoleto; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioVendasPTA; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.service.EmpresaService; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; +import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar; +import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxPuntoVenta; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; +import com.rjconsultores.ventaboletos.web.utilerias.paginacion.HibernateSearchObject; +import com.rjconsultores.ventaboletos.web.utilerias.paginacion.PagedListWrapper; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPuntoVentaSimple; +import com.trg.search.Filter; + +@Controller("relatorioVendasPTAController") +@Scope("prototype") +public class RelatorioVendasPTAController extends MyGenericForwardComposer { + + /** + * + */ + private static final long serialVersionUID = 1L; + private static final String TODOS_VALUE = new Integer(-1).toString(); + private static final String TODOS = "TODAS"; + @Autowired + private EmpresaService empresaService; + private List lsEmpresa; + private List lsSituacao; + private MyComboboxEstandar cmbEmpresa; + private MyComboboxPuntoVenta cmbAgencia; + private MyComboboxEstandar cmbSituacao; + private Datebox datInicial; + private Datebox datFinal; + @Autowired + private DataSource dataSourceRead; + private MyListbox puntoVentaList;; + private MyListbox puntoVentaSelList; + private Paging pagingPuntoVenta; + private Bandbox bbPesquisaPuntoVenta; + @Autowired + private transient PagedListWrapper plwPuntoVenta; + private ArrayList lsNumPuntoVenta = new ArrayList(); + + private Textbox txtPalavraPesquisa; + + @Override + public void doAfterCompose(Component comp) throws Exception { + super.doAfterCompose(comp); + lsEmpresa = empresaService.obtenerTodos(); + lsSituacao = Arrays.asList(SituacaoBoleto.values()); + puntoVentaList.setItemRenderer(new RenderPuntoVentaSimple()); + puntoVentaSelList.setItemRenderer(new RenderPuntoVentaSimple()); + + } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + private void executarRelatorio() throws Exception { + Relatorio relatorio; + + Map parametros = new HashMap(); + + Timestamp dataInicio = new Timestamp((DateUtil.inicioFecha((java.util.Date) this.datInicial.getValue()).getTime())); + Timestamp dataFinal = new Timestamp((DateUtil.fimFecha((java.util.Date) this.datFinal.getValue()).getTime())); + + parametros.put("DATA_INICIAL", dataInicio); + parametros.put("DATA_FINAL", dataFinal); + + Empresa empresa = (Empresa) cmbEmpresa.getSelectedItem().getValue(); + SituacaoBoleto situacaoBoleto = (SituacaoBoleto) cmbSituacao.getSelectedItem().getValue(); + lsNumPuntoVenta = new ArrayList(Arrays.asList(puntoVentaSelList.getData())); + + if (lsNumPuntoVenta.size() > 0) { + String puntoVentaExpression = null; + for (PuntoVenta p : lsNumPuntoVenta) { + if (lsNumPuntoVenta.indexOf(p) == 0) { + puntoVentaExpression = p.getPuntoventaId().toString(); + } else { + puntoVentaExpression += ", " + p.getPuntoventaId().toString(); + } + } + parametros.put("PUNTOVENTA_ID", puntoVentaExpression); + parametros.put("PUNTOVENTA", puntoVentaExpression); + } else { + parametros.put("PUNTOVENTA_ID", TODOS_VALUE); + parametros.put("PUNTOVENTA", TODOS); + } + + parametros.put("EMPRESA", empresa); + parametros.put("SITUACAO_BOLETO", situacaoBoleto); + parametros.put("NOME_EMPRESA", empresa.getNombempresa()); + + parametros.put("TITULO", Labels.getLabel("relatorioVendasPTAController.window.title")); + + relatorio = new RelatorioVendasPTA(parametros, dataSourceRead.getConnection()); + + Map args = new HashMap(); + args.put("relatorio", relatorio); + + openWindow("/component/reportView.zul", + Labels.getLabel("relatorioVendasPTAController.window.title"), args, MODAL); + } + + public void onSelect$puntoVentaList(Event ev) { + + } + + public void onClick$btnLimpar(Event ev) { + limparPesquisaAgencia(); + } + + public void onClick$btnPesquisa(Event ev) { + executarPesquisa(); + } + + private void executarPesquisa() { + HibernateSearchObject puntoVentaBusqueda = new HibernateSearchObject(PuntoVenta.class, + pagingPuntoVenta.getPageSize()); + + puntoVentaBusqueda.addFilterOr(Filter.like("nombpuntoventa", "%" + txtPalavraPesquisa.getText().trim().toUpperCase().concat("%")), Filter.like("numPuntoVenta", "%" + txtPalavraPesquisa.getText().trim().toUpperCase().concat("%"))); + + 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("relatorioReceitaDiariaAgenciaController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + } catch (InterruptedException ex) { + } + } + } + + private void limparPesquisaAgencia() { + puntoVentaList.clearSelection(); + + lsNumPuntoVenta.clear(); + this.bbPesquisaPuntoVenta.setValue(""); + } + + public void onDoubleClick$puntoVentaList(Event ev) { + + PuntoVenta puntoVentaSel = (PuntoVenta) puntoVentaList.getSelected(); + puntoVentaSelList.addItemNovo(puntoVentaSel); + + } + + public void onDoubleClick$puntoVentaSelList(Event ev) { + + PuntoVenta puntoVentaSel = (PuntoVenta) puntoVentaSelList.getSelected(); + puntoVentaSelList.removeItem(puntoVentaSel); + + } + + public void onClick$btnExecutarRelatorio(Event ev) throws Exception { + executarRelatorio(); + } + + public List getLsEmpresa() { + return lsEmpresa; + } + + public void setLsEmpresa(List lsEmpresa) { + this.lsEmpresa = lsEmpresa; + } + + public List getLsSituacao() { + return lsSituacao; + } + + public void setLsSituacao(List lsSituacao) { + this.lsSituacao = lsSituacao; + } + + public MyListbox getPuntoVentaList() { + return puntoVentaList; + } + + public void setPuntoVentaList(MyListbox puntoVentaList) { + this.puntoVentaList = puntoVentaList; + } + + public Paging getPagingPuntoVenta() { + return pagingPuntoVenta; + } + + public void setPagingPuntoVenta(Paging pagingPuntoVenta) { + this.pagingPuntoVenta = pagingPuntoVenta; + } + + public Textbox getTxtPalavraPesquisa() { + return txtPalavraPesquisa; + } + + public void setTxtPalavraPesquisa(Textbox txtPalavraPesquisa) { + this.txtPalavraPesquisa = txtPalavraPesquisa; + } + + public Bandbox getBbPesquisaPuntoVenta() { + return bbPesquisaPuntoVenta; + } + + public void setBbPesquisaPuntoVenta(Bandbox bbPesquisaPuntoVenta) { + this.bbPesquisaPuntoVenta = bbPesquisaPuntoVenta; + } + + public MyListbox getPuntoVentaSelList() { + return puntoVentaSelList; + } + + public void setPuntoVentaSelList(MyListbox puntoVentaSelList) { + this.puntoVentaSelList = puntoVentaSelList; + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/tarifas/EnumTipoCancelVendaPacote.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/tarifas/EnumTipoCancelVendaPacote.java index 4a8e92254..12b60a0d2 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/tarifas/EnumTipoCancelVendaPacote.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/tarifas/EnumTipoCancelVendaPacote.java @@ -3,21 +3,19 @@ package com.rjconsultores.ventaboletos.web.gui.controladores.tarifas; import java.util.ArrayList; import java.util.List; +import org.apache.log4j.ext.SysUpTimeResolver; import org.zkoss.util.resource.Labels; public enum EnumTipoCancelVendaPacote { - CANCELAMENTO_VENDA(Labels.getLabel("busquedaMotivoCancelVendaPacoteController.lhCancelacionVenta.label")), - NOTA_CREDITO(Labels.getLabel("busquedaMotivoCancelVendaPacoteController.lhNotaCredito.label")), - REEMBOLSO(Labels.getLabel("busquedaMotivoCancelVendaPacoteController.lhReembolso.label")), - CANCELAMENTO_RESERVA(Labels.getLabel("busquedaMotivoCancelVendaPacoteController.lhCancelacionReserva.label")); - + CANCELAMENTO_VENDA(Labels.getLabel("busquedaMotivoCancelVendaPacoteController.lhCancelacionVenta.label")), NOTA_CREDITO(Labels.getLabel("busquedaMotivoCancelVendaPacoteController.lhNotaCredito.label")), REEMBOLSO(Labels.getLabel("busquedaMotivoCancelVendaPacoteController.lhReembolso.label")), CANCELAMENTO_RESERVA(Labels.getLabel("busquedaMotivoCancelVendaPacoteController.lhCancelacionReserva.label")); + private String descricao; private EnumTipoCancelVendaPacote(String descricao) { this.descricao = descricao; } - + public String getDescricao() { return descricao; } @@ -25,29 +23,30 @@ public enum EnumTipoCancelVendaPacote { public void setDescricao(String descricao) { this.descricao = descricao; } - - public static List obterBundleValues(){ - List lst = new ArrayList(); + + public static List obterBundleValues() { + List lst = new ArrayList(); lst.add(EnumTipoCancelVendaPacote.CANCELAMENTO_VENDA.getDescricao()); lst.add(EnumTipoCancelVendaPacote.NOTA_CREDITO.getDescricao()); lst.add(EnumTipoCancelVendaPacote.REEMBOLSO.getDescricao()); lst.add(EnumTipoCancelVendaPacote.CANCELAMENTO_RESERVA.getDescricao()); - + return lst; - } - - public static EnumTipoCancelVendaPacote obterEnumPorDescricao(String descricao){ - if(descricao != null) { - if(descricao.equals(EnumTipoCancelVendaPacote.CANCELAMENTO_VENDA.descricao)){ + } + + public static EnumTipoCancelVendaPacote obterEnumPorDescricao(String descricao) { + if (descricao != null) { + if (descricao.equals(EnumTipoCancelVendaPacote.CANCELAMENTO_VENDA.descricao)) { return EnumTipoCancelVendaPacote.CANCELAMENTO_VENDA; - }else if(descricao.equals(EnumTipoCancelVendaPacote.NOTA_CREDITO.descricao)){ + } else if (descricao.equals(EnumTipoCancelVendaPacote.NOTA_CREDITO.descricao)) { return EnumTipoCancelVendaPacote.NOTA_CREDITO; - }else if(descricao.equals(EnumTipoCancelVendaPacote.REEMBOLSO.descricao)){ + } else if (descricao.equals(EnumTipoCancelVendaPacote.REEMBOLSO.descricao)) { return EnumTipoCancelVendaPacote.REEMBOLSO; - }else if(descricao.equals(EnumTipoCancelVendaPacote.CANCELAMENTO_RESERVA.descricao)){ + } else if (descricao.equals(EnumTipoCancelVendaPacote.CANCELAMENTO_RESERVA.descricao)) { return EnumTipoCancelVendaPacote.CANCELAMENTO_RESERVA; } } return null; } + } \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioVendasPTA.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioVendasPTA.java new file mode 100644 index 000000000..5242eb9f1 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioVendasPTA.java @@ -0,0 +1,30 @@ +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; + +/** + * @author Wallace + * + */ + +public class ItemMenuRelatorioVendasPTA extends DefaultItemMenuSistema { + + public ItemMenuRelatorioVendasPTA() { + super("indexController.mniRelatorioVendasPTA.label"); + } + + @Override + public String getClaveMenu() { + return "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS.MENU.RELATORIOVENDASPTA"; + } + + @Override + public void ejecutar() { + PantallaUtileria.openWindow("/gui/relatorios/filtroRelatorioVendasPTA.zul", + Labels.getLabel("relatorioVendasPTAController.window.title"), 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 e7b00b52d..fcb27129d 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 @@ -175,6 +175,8 @@ analitico.gerenciais.financeiro.relatorioDepositosDetalhados=com.rjconsultores.v analitico.gerenciais.financeiro.relatorioPosicaoCaixaAnalitico=com.rjconsultores.ventaboletos.web.utilerias.menu.item.contacorrente.ItemMenuRelatorioPosicaoCaixaAnalitico analitico.gerenciais.financeiro.relatorioFormaPagamentoAgencia=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioFormaPagamentoAgencia analitico.gerenciais.financeiro.relatorioFinanceiroGrupoLinhas=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioFinanceiroGrupoLinhas +analitico.gerenciais.financeiro.relatorioVendasPTA=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioVendasPTA +analitico.gerenciais.financeiro.relatorioServicoBloqueadoVendaInternet=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioServicoBloqueadoVendaInternet 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_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index 96c2cff9e..202e3a549 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -286,6 +286,8 @@ indexController.mniRelatorioObservacaoEventosFinanceiros.label = Observación Ev indexController.mniRecebimentoMalote.label = Recebimento Malote indexController.mniRelatorioObservacaoConferenciaMovimento.label = Observación Conferencia Movimientos indexController.mniRelatorioErrosIntegracaoBGMController.label = Listar Erros BGM +indexController.mniRelatorioVendasPTAController.label = Ventas PTA +indexController.mniRelatorioServicoBloqueadoVendaInternet.label = Corrida Bloqueada en Venta Internet indexController.mnSubMenuImpressaoFiscal.label=Impresión Fiscal indexController.mnSubMenuRelatorioImpressaoFiscal.label=Importação Fiscal @@ -689,6 +691,21 @@ relatorioAidfDetalhadoController.lbAidf.value = AIDF relatorioAidfDetalhadoController.lbFormInicial.value = Form. Inicial relatorioAidfDetalhadoController.lbFormFinal.value = Form. Final +#Relatório de Vendas PTA +relatorioVendasPTAController.window.title = Reporte de Ventas PTA +relatorioVendasPTAController.lbDatInicial.value = Fecha Inicial +relatorioVendasPTAController.lbDatFinal.value = Fecha Final +relatorioVendasPTAController.lbEmpresa.value = Empresa +relatorioVendasPTAController.lbAgencia.value = Agencia +relatorioVendasPTAController.lbSituacao.value = Situación + +#Relatório de Serviço Bloqueado na Venda Internet +relatorioServicoBloqueadoVendaInternetController.window.title = Reporte Corrida Bloqueada en Venta Internet +relatorioServicoBloqueadoVendaInternetController.lbDatInicial.value = Fecha Inicial +relatorioServicoBloqueadoVendaInternetController.lbDatFinal.value = Fecha Final +relatorioServicoBloqueadoVendaInternetController.lbEmpresa.value = Empresa +relatorioServicoBloqueadoVendaInternetController.lbAgencia.value = Agencia + #Relatorio Tripulacao relatorioTripulacao.label=Informe Tripulación relatorioTripulacaoController.lbDataInicial=Fecha Inicial diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index a39d04f29..c9cb91028 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -302,6 +302,8 @@ indexController.mniRelatorioObservacaoEventosFinanceiros.label = Observação Ev indexController.mniRecebimentoMalote.label = Recebimento Malote indexController.mniRelatorioObservacaoConferenciaMovimento.label = Movimentos com Observação indexController.mniRelatorioErrosIntegracaoBGMController.label = Listar Erros BGM +indexController.mniRelatorioVendasPTA.label = Vendas PTA +indexController.mniRelatorioServicoBloqueadoVendaInternet.label = Serviço Bloqueado na Venda Internet indexController.mnSubMenuImpressaoFiscal.label=Impressão Fiscal indexController.mnSubMenuRelatorioImpressaoFiscal.label=Importação Fiscal @@ -777,6 +779,26 @@ relatorioAidfDetalhadoController.lbFormInicial.value = Form. Inicial relatorioAidfDetalhadoController.lbFormFinal.value = Form. Final relatorioAidfDetalhadoController.msg.agencia.obrigatorio = Uma Agência deve ser selecionada + +#Relatório de Vendas PTA +relatorioVendasPTAController.window.title = Relatório de Vendas PTA +relatorioVendasPTAController.lbDatInicial.value = Data Inicial +relatorioVendasPTAController.lbDatFinal.value = Data Final +relatorioVendasPTAController.lbEmpresa.value = Empresa +relatorioVendasPTAController.lbAgencia.value = Agência +relatorioVendasPTAController.lbSituacao.value = Situação +relatorioVendasPTAController.btnPesquisa.label = Pesquisar +relatorioVendasPTAController.btnLimpar.label = Limpar Seleção +relatorioVendasPTAController.puntoVentaSelList.codigo = Código +relatorioVendasPTAController.puntoVentaSelList.nome = Nome + +#Relatório de Serviço Bloqueado na Venda Internet +relatorioServicoBloqueadoVendaInternetController.window.title = Relatório de Serviço Bloqueado na Venda Internet +relatorioServicoBloqueadoVendaInternetController.lbDatInicial.value = Data Inicial +relatorioServicoBloqueadoVendaInternetController.lbDatFinal.value = Data Final +relatorioServicoBloqueadoVendaInternetController.lbEmpresa.value = Empresa +relatorioServicoBloqueadoVendaInternetController.lbAgencia.value = Agência + # Pantalla Editar Classe editarClaseServicioController.window.title = Tipo de Classe editarClaseServicioController.btnApagar.tooltiptext = Eliminar diff --git a/web/gui/relatorios/filtroRelatorioVendasPTA.zul b/web/gui/relatorios/filtroRelatorioVendasPTA.zul new file mode 100644 index 000000000..7c5548cc3 --- /dev/null +++ b/web/gui/relatorios/filtroRelatorioVendasPTA.zul @@ -0,0 +1,114 @@ + + + + + + + + + + + + + + + + + + + + + + +