diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAidf.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAidf.java new file mode 100644 index 000000000..775197489 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAidf.java @@ -0,0 +1,71 @@ +package com.rjconsultores.ventaboletos.relatorios.impl; + +import java.sql.Connection; +import java.sql.ResultSet; +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.web.utilerias.NamedParameterStatement; + +public class RelatorioAidf extends Relatorio { + + public RelatorioAidf(Map parametros, Connection conexao) throws Exception + { + super(parametros, conexao); + + this.setCustomDataSource(new ArrayDataSource(this) { + + public void initDados() throws Exception { + Connection conexao = this.relatorio.getConexao(); + Map parametros = this.relatorio.getParametros(); + String sql = getSql(); + + NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); + + ResultSet rset = stmt.executeQuery(); + + while (rset.next()) { + Map dataResult = new HashMap(); + dataResult.put("aidf", rset.getString("aidf")); + dataResult.put("empresa", rset.getString("nombempresa")); + dataResult.put("agencia", rset.getString("nombpuntoventa")); + dataResult.put("serie", rset.getString("serie")); + dataResult.put("numeracao", rset.getString("numeracao")); + dataResult.put("folios", rset.getString("folios")); + this.dados.add(dataResult); + } + + this.resultSet = rset; + } + }); + } + + @Override + protected void processaParametros() throws Exception { + } + + private String getSql() { + StringBuilder sql = new StringBuilder(); + sql.append(" select a.aidf_id as aidf, e.nombempresa, p.nombpuntoventa, a.serie, "); + sql.append(" concat(a.forminicial, concat('-',a.formfinal)) as numeracao,"); + sql.append(" concat(dab.numfolioinicial,concat('-',dab.numfoliofinal)) as folios "); + sql.append(" from aidf a "); + sql.append(" inner join empresa e on e.empresa_id = a.empresa_id "); + sql.append(" inner join abasto_boleto ab on a.empresa_id = ab.empresa_id "); + sql.append(" inner join det_abasto_boleto dab on dab.abastoboleto_id = ab.abastoboleto_id "); + sql.append(" inner join punto_venta p on p.puntoventa_id = ab.puntoventa_id "); + if(parametros.get("EMPRESA_ID") != null){ + sql.append(" where a.empresa_id = ").append(parametros.get("EMPRESA_ID")); + } + if(parametros.get("SERIE") != null){ + sql.append(" and a.serie = '").append(parametros.get("SERIE")).append("'"); + } + sql.append(" group by a.aidf_id, e.nombempresa, p.nombpuntoventa, a.serie, concat(a.forminicial, concat('-',a.formfinal)), "); + sql.append(" concat(dab.numfolioinicial,concat('-',dab.numfoliofinal)) "); + sql.append(" order by a.aidf_id"); + return sql.toString(); + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAidf_es_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAidf_es_BR.properties new file mode 100644 index 000000000..d76a88fb5 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAidf_es_BR.properties @@ -0,0 +1,21 @@ +#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: + +#Labels header +label.aidf=AIDF +label.empresa=Empresa +label.agencia=Agência +label.serie=Série +label.bilhete=Bilhetes +label.numeracao=Numeração + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAidf_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAidf_pt_BR.properties new file mode 100644 index 000000000..2f6485486 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAidf_pt_BR.properties @@ -0,0 +1,20 @@ +#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: + +#Labels header +label.aidf=AIDF +label.empresa=Empresa +label.agencia=Agencia +label.serie=Serie +label.bilhete=Bilhetes +label.numeracao=Numeração diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAidf.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAidf.jasper new file mode 100644 index 000000000..0672d4fa1 Binary files /dev/null and b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAidf.jasper differ diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAidf.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAidf.jrxml new file mode 100644 index 000000000..1f1d93119 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAidf.jrxml @@ -0,0 +1,203 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioAidfController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioAidfController.java new file mode 100644 index 000000000..e89d38635 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioAidfController.java @@ -0,0 +1,158 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios; + +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.zk.ui.Component; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zul.Comboitem; +import org.zkoss.zul.Datebox; +import org.zkoss.zul.Textbox; + +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioAidf; +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; + +@Controller("relatorioAidfController") +@Scope("prototype") +public class RelatorioAidfController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + + private Datebox datInicial; + private Datebox datFinal; + private MyComboboxEstandar cmbEmpresa; + private List lsEmpresa; + private Textbox txtSerie; + + @Autowired + private EmpresaService empresaService; + @Autowired + private DataSource dataSourceRead; + + @Override + public void doAfterCompose(Component comp) throws Exception { + lsEmpresa = empresaService.obtenerTodos(); + super.doAfterCompose(comp); + } + + /** + * @throws Exception + * + */ + @SuppressWarnings({ "rawtypes", "unchecked" }) + private void executarRelatorio() throws Exception { + Relatorio relatorio; + + Map parametros = new HashMap(); + + StringBuilder filtro = new StringBuilder(); + + parametros.put("NOME_RELATORIO", Labels.getLabel("relatorioAidfController.window.title")); + parametros.put("USUARIO", UsuarioLogado.getUsuarioLogado().getUsuarioId().toString()); + parametros.put("USUARIO_NOME", UsuarioLogado.getUsuarioLogado().getNombusuario()); + + filtro.append("Empresa: "); + Comboitem itemEmpresa = cmbEmpresa.getSelectedItem(); + if (itemEmpresa != null) { + Empresa empresa = (Empresa) itemEmpresa.getValue(); + parametros.put("EMPRESA_ID", empresa.getEmpresaId()); + filtro.append(empresa.getNombempresa() + ";"); + } else { + filtro.append(" Todas;"); + } + + filtro.append("Serie: "); + if(!txtSerie.getValue().equals("")){ + parametros.put("SERIE", txtSerie.getValue()); + filtro.append(txtSerie.getValue() + ";"); + }else{ + filtro.append(" Todas;"); + } + + parametros.put("FILTROS", filtro.toString()); + relatorio = new RelatorioAidf(parametros, dataSourceRead.getConnection()); + + Map args = new HashMap(); + args.put("relatorio", relatorio); + + openWindow("/component/reportView.zul", + Labels.getLabel("relatorioAidfController.window.title"), args, MODAL); + } + + public void onClick$btnExecutarRelatorio(Event ev) throws Exception{ + executarRelatorio(); + } + + private void executarPesquisa() { + + } + + public void onClick$btnPesquisa(Event ev) { + executarPesquisa(); + } + + public void onClick$btnLimpar(Event ev) { + + } + + public void onDoubleClick$puntoVentaSelList(Event ev) { + + } + + public void onDoubleClick$puntoVentaList(Event ev) { + + } + + 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 List getLsEmpresa() { + return lsEmpresa; + } + + public void setLsEmpresa(List lsEmpresa) { + this.lsEmpresa = lsEmpresa; + } + + public MyComboboxEstandar getCmbEmpresa() { + return cmbEmpresa; + } + + public void setCmbEmpresa(MyComboboxEstandar cmbEmpresa) { + this.cmbEmpresa = cmbEmpresa; + } + + public Textbox getTxtSerie() { + return txtSerie; + } + + public void setTxtSerie(Textbox txtSerie) { + this.txtSerie = txtSerie; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioAidf.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioAidf.java new file mode 100644 index 000000000..09a9edbed --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioAidf.java @@ -0,0 +1,25 @@ +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 ItemMenuRelatorioAidf extends DefaultItemMenuSistema { + + public ItemMenuRelatorioAidf() { + super("indexController.mniRelatorioAIDF.label"); + } + + @Override + public String getClaveMenu() { + return "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS.MENU.RELATORIOAIDF"; + } + + @Override + public void ejecutar() { + PantallaUtileria.openWindow("/gui/relatorios/filtroRelatorioAidf.zul", + Labels.getLabel("relatorioAidfController.window.title"), getArgs(), desktop); + + } +} diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index ae2d13464..22c56eabe 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -248,6 +248,7 @@ indexController.mniRelatorioCorridas.label = Reporte de Corridas indexController.mniRelatorioDemandas.label = Reporte de Demandas indexController.mniRelatorioReceitaServico.label = Relatório de Receita por Serviço indexController.mniRelatorioCancelamentoVendaCartao.label = Relatório Cancelamento de Venda de Cartão +indexController.mniRelatorioAIDF.label = Relatório AIDF indexController.mniPrecoApanhe.label = Preço Apanhe indexController.mniRelatorioVendasPacotesResumido.label = Ventas de Paquetes - Resumido indexController.mniRelatorioVendasPacotesDetalhado.label = Ventas de Paquetes - Detalhado @@ -524,6 +525,13 @@ relatorioCancelamentoVendaCartaoController.btnLimpar.label = Limpar relatorioCancelamentoVendaCartaoController.lbNumero.value = Número Agência relatorioCancelamentoVendaCartaoController.lbBilheteiro.value = Bilheteiro +#Relatorio Aidf +relatorioAidfController.window.title = Relatório Aidf +relatorioAidfController.datainicial.value = Data Inicial +relatorioAidfController.dataFinal.value = Data Final +relatorioAidfController.lbEmpresa.value = Empresa +relatorioAidfController.lbSerie.value = Série + # Pantalla Editar clase editarClaseServicioController.window.title = Clase de servicio editarClaseServicioController.btnApagar.tooltiptext = Eliminar @@ -5870,7 +5878,6 @@ conferenciaController.btnRemoverObservacaoLog.tooltiptext = Remover Observação conferenciaController.btnAdicionarObservacaoLog.tooltiptext = Adicionar Observação conferenciaController.msg.adicionarLogConferencia = Observação adicionada com sucesso conferenciaController.msg.removerLogConferencia = Observação removido com sucesso -conferenciaController.msg.numfoliosistemaNaoInformado = Nº Bilhete não foi informado conferenciaController.lhNumAsiento.value = Asiento conferenciaController.lhNumFolioSistema.value = Folio Sistema conferenciaController.lhNumSeriePreimpresa.value = Série Pré-impressa diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index a3c42ce8f..87d389da2 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -253,6 +253,7 @@ indexController.mniRelatorioCorridas.label = Relatório de Serviços indexController.mniRelatorioDemandas.label = Relatório de Demandas indexController.mniRelatorioReceitaServico.label = Relatório de Receita por Serviço indexController.mniRelatorioCancelamentoVendaCartao.label = Relatório Cancelamento de Venda de Cartão +indexController.mniRelatorioAIDF.label = Relatório AIDF indexController.mniPrecoApanhe.label = Preço Apanhe indexController.mniRelatorioVendasPacotesResumido.label = Vendas de Pacotes - Resumido indexController.mniRelatorioVendasPacotesDetalhado.label = Vendas de Pacotes - Detalhado @@ -560,6 +561,13 @@ relatorioCancelamentoVendaCartaoController.btnLimpar.label = Limpar relatorioCancelamentoVendaCartaoController.lbNumero.value = Número Agência relatorioCancelamentoVendaCartaoController.lbBilheteiro.value = Bilheteiro +#Relatorio Aidf +relatorioAidfController.window.title = Relatório Aidf +relatorioAidfController.datainicial.value = Data Inicial +relatorioAidfController.dataFinal.value = Data Final +relatorioAidfController.lbEmpresa.value = Empresa +relatorioAidfController.lbSerie.value = Série + # Pantalla Editar Classe editarClaseServicioController.window.title = Tipo de Classe editarClaseServicioController.btnApagar.tooltiptext = Eliminar @@ -6012,7 +6020,6 @@ conferenciaController.btnRemoverObservacaoLog.tooltiptext = Remover Observação conferenciaController.btnAdicionarObservacaoLog.tooltiptext = Adicionar Observação conferenciaController.msg.adicionarLogConferencia = Observação adicionada com sucesso conferenciaController.msg.removerLogConferencia = Observação removido com sucesso -conferenciaController.msg.numfoliosistemaNaoInformado = Nº Bilhete não foi informado conferenciaController.lhNumAsiento.value = Asento conferenciaController.lhNumFolioSistema.value = Nº Bilhete conferenciaController.lhNumSeriePreimpresa.value = Série Pré-impressa diff --git a/web/gui/relatorios/filtroRelatorioAidf.zul b/web/gui/relatorios/filtroRelatorioAidf.zul new file mode 100644 index 000000000..7adf136dd --- /dev/null +++ b/web/gui/relatorios/filtroRelatorioAidf.zul @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + +