diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarPuntoVentaComissaoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarPuntoVentaComissaoController.java index 1ed4c9226..697156cbf 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarPuntoVentaComissaoController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarPuntoVentaComissaoController.java @@ -541,8 +541,8 @@ public class EditarPuntoVentaComissaoController extends MyGenericForwardComposer } private boolean verificarCampos() throws InterruptedException { - if((ptovtaComissao.getSeguroReceita() || ptovtaComissao.getSeguroDev()) && - (isNullOrZero(ptovtaComissao.getSeguroobrigatorioBaixa()) || isNullOrZero(ptovtaComissao.getSeguroobrigatorioAlta()))) { + if((ptovtaComissao.getSeguroReceita() || ptovtaComissao.getSeguroDev()) && + isNullOrZero(ptovtaComissao.getSeguroobrigatorioBaixa()) && isNullOrZero(ptovtaComissao.getSeguroobrigatorioAlta())) { Messagebox.show( Labels.getLabel("editarPuntoVentaComissaoController.INFO.seguroMarcadoSemValor"), @@ -552,7 +552,7 @@ public class EditarPuntoVentaComissaoController extends MyGenericForwardComposer return false; } - if((!ptovtaComissao.getSeguroReceita() || !ptovtaComissao.getSeguroDev()) && + if(!ptovtaComissao.getSeguroReceita() && !ptovtaComissao.getSeguroDev() && (!isNullOrZero(ptovtaComissao.getSeguroobrigatorioBaixa()) || !isNullOrZero(ptovtaComissao.getSeguroobrigatorioAlta()))) { Messagebox.show( diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioGratuidadeAGEPANController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioGratuidadeAGEPANController.java new file mode 100644 index 000000000..5c4ce1f3d --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioGratuidadeAGEPANController.java @@ -0,0 +1,288 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios; + +import java.io.InputStream; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +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.Filedownload; +import org.zkoss.zhtml.Messagebox; +import org.zkoss.zk.ui.Component; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zul.Datebox; +import org.zkoss.zul.Textbox; + +import com.rjconsultores.ventaboletos.entidad.Categoria; +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.Ruta; +import com.rjconsultores.ventaboletos.exception.BusinessException; +import com.rjconsultores.ventaboletos.service.CategoriaService; +import com.rjconsultores.ventaboletos.service.EmpresaService; +import com.rjconsultores.ventaboletos.service.RelatorioAgepanService; +import com.rjconsultores.ventaboletos.service.RutaService; +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.render.RenderRelatorioLinhaHorario; + +@Controller("relatorioGratuidadeAGEPANController") +@Scope("prototype") +public class RelatorioGratuidadeAGEPANController extends MyGenericForwardComposer { + + private static Logger log = Logger.getLogger(RelatorioGratuidadeAGEPANController.class); + + private static final long serialVersionUID = 1L; + + @Autowired + private CategoriaService categoriaService; + @Autowired + private EmpresaService empresaService; + @Autowired + private RutaService rutaService; + @Autowired + private RelatorioAgepanService relatorioAgepanService; + + private Datebox datInicialVenda; + private Datebox datFinalVenda; + private MyComboboxEstandar cmbEmpresa; + private MyComboboxEstandar cmbTipoGratuidade; + + private List lsCategorias; + private List lsEmpresas; + + private Textbox txtPalavraPesquisaLinha; + private MyListbox linhaList; + private MyListbox linhaListSelList; + private MyListbox selectedTipoGratuidadeList; + + private List listSelectedTipoGratuidade; + + public void onClick$btnRemoveTipoGratuidade(Event ev) throws InterruptedException { + Categoria categoria = (Categoria) selectedTipoGratuidadeList.getSelectedItem().getValue(); + listSelectedTipoGratuidade.remove(categoria); + selectedTipoGratuidadeList.setData(listSelectedTipoGratuidade); + } + + public void onClick$btnAddTipoTipoGratuidade(Event ev) throws InterruptedException { + if (cmbTipoGratuidade.getSelectedItem() != null) { + listSelectedTipoGratuidade.add((Categoria) cmbTipoGratuidade.getSelectedItem().getValue()); + selectedTipoGratuidadeList.setData(listSelectedTipoGratuidade); + selectedTipoGratuidadeList.setSelectedItem(null); + } + } + + public void onClick$btnPesquisaLinha(Event ev) { + executarPesquisaLinha(); + } + + public void onClick$btnLimparLinha(Event ev) { + linhaList.clearSelection(); + linhaListSelList.setData(new ArrayList()); + + linhaList.setItemRenderer(new RenderRelatorioLinhaHorario()); + linhaListSelList.setItemRenderer(new RenderRelatorioLinhaHorario()); + } + + public void onDoubleClick$linhaList(Event ev) { + linhaListSelList.addItemNovo(linhaList.getSelected()); + } + + public MyListbox getSelectedTipoGratuidadeList() { + return selectedTipoGratuidadeList; + } + + public void setSelectedTipoGratuidadeList(MyListbox selectedTipoGratuidadeList) { + this.selectedTipoGratuidadeList = selectedTipoGratuidadeList; + } + + public List getListSelectedTipoGratuidade() { + return listSelectedTipoGratuidade; + } + + public void setListSelectedTipoGratuidade(List listSelectedTipoGratuidade) { + this.listSelectedTipoGratuidade = listSelectedTipoGratuidade; + } + + private void executarPesquisaLinha() { + + String palavraPesquisaRuta = txtPalavraPesquisaLinha.getText(); + linhaList.setData(rutaService.buscaRuta(palavraPesquisaRuta)); + + if (linhaList.getData().length == 0) { + try { + Messagebox.show(Labels.getLabel("MSG.ningunRegistro"), + Labels.getLabel("relatorioGratuidadeAGEPANController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + } catch (InterruptedException ex) { + } + } + } + + private void executarRelatorio() throws Exception { + + Map parametros = new HashMap(); + + SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); + if (this.datInicialVenda.getValue() != null) { + parametros.put("fecInicioVenda", sdf.format(this.datInicialVenda.getValue())); + } + + if (this.datFinalVenda.getValue() != null) { + parametros.put("fecFinalVenda", sdf.format(this.datFinalVenda.getValue())); + } + + if (parametros.get("fecInicioVenda") == null && parametros.get("datFinalVenda") == null) { + Messagebox.show(Labels.getLabel("relatorioGratuidadeAGEPANController.data.obrigatoria"), + Labels.getLabel("relatorioGratuidadeAGEPANController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + return; + } + + if (listSelectedTipoGratuidade.isEmpty()) { + Messagebox.show(Labels.getLabel("relatorioGratuidadeAGEPANController.tipo.obrigatoria"), + Labels.getLabel("relatorioGratuidadeAGEPANController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + return; + } + + StringBuilder tipGratu = new StringBuilder(); + StringBuilder tipGratuIds = new StringBuilder(); + for (Categoria categoria : listSelectedTipoGratuidade) { + tipGratu.append(categoria.getDesccategoria()).append(","); + tipGratuIds.append(categoria.getCategoriaId()).append(","); + } + + // removendo ultima virgula + tipGratuIds = tipGratuIds.delete(tipGratuIds.length() -1, tipGratuIds.length()); + tipGratu = tipGratu.delete(tipGratu.length() -1, tipGratu.length()); + + parametros.put("tipGratu", tipGratu.append(";").toString()); + parametros.put("tipGratuIds", tipGratuIds.toString()); + + StringBuilder linhas = new StringBuilder(); + StringBuilder linhaIds = new StringBuilder(); + + if (linhaListSelList.getListData().isEmpty()) { + linhas.append("Todas"); + linhaIds.append("Todas"); + } else { + for (Object obj : linhaListSelList.getListData()) { + Ruta ruta = (Ruta)obj; + linhas.append(ruta.getDescruta()).append(","); + linhaIds.append(ruta.getRutaId()).append(","); + } + + // removendo ultima virgula + linhaIds = linhaIds.delete(linhaIds.length() -1, linhaIds.length()); + linhas = linhas.delete(linhas.length() -1, linhas.length()); + } + + parametros.put("linhas", linhas.append(";").toString()); + parametros.put("linhaIds", linhaIds.toString()); + + if (cmbEmpresa.getSelectedIndex() != -1) { + parametros.put("empresa", ((Empresa) cmbEmpresa.getSelectedItem().getValue()).getEmpresaId()); + parametros.put("nomb_empresa", ((Empresa) cmbEmpresa.getSelectedItem().getValue()).getNombempresa()); + + }else{ + parametros.put("nomb_empresa", "Todas" ); + } + + + try { + InputStream arquivo = relatorioAgepanService.gerarArquivoGratuidadeAgepan(parametros); + + Filedownload.save(arquivo, "application/xls", "gratuidadeAGEPAN.xls"); + } catch (BusinessException e) { + log.error(e.getMessage(), e); + Messagebox.show(e.getMessage(), + Labels.getLabel("relatorioGratuidadeAGEPANController.window.title"), + Messagebox.OK, Messagebox.ERROR); + } catch (Exception e) { + log.error(e.getMessage(), e); + Messagebox.show(Labels.getLabel("MSG.Error").concat(" - ").concat(e.toString()), + Labels.getLabel("relatorioGratuidadeAGEPANController.window.title"), + Messagebox.OK, Messagebox.ERROR); + } + + } + + public void onClick$btnExecutarRelatorio(Event ev) throws Exception { + executarRelatorio(); + } + + @Override + public void doAfterCompose(Component comp) throws Exception { + super.doAfterCompose(comp); + lsEmpresas = empresaService.obtenerTodos(); + lsCategorias = categoriaService.obtenerTodos(); + listSelectedTipoGratuidade = new ArrayList(); + + linhaList.setItemRenderer(new RenderRelatorioLinhaHorario()); + linhaListSelList.setItemRenderer(new RenderRelatorioLinhaHorario()); + } + + public List getLsCategorias() { + return lsCategorias; + } + + public void setLsCategorias(List lsCategorias) { + this.lsCategorias = lsCategorias; + } + + public Datebox getDatInicialVenda() { + return datInicialVenda; + } + + public void setDatInicialVenda(Datebox datInicialVenda) { + this.datInicialVenda = datInicialVenda; + } + + public Datebox getDatFinalVenda() { + return datFinalVenda; + } + + public void setDatFinalVenda(Datebox datFinalVenda) { + this.datFinalVenda = datFinalVenda; + } + + public MyComboboxEstandar getCmbTipoGratuidade() { + return cmbTipoGratuidade; + } + + public void setCmbTipoGratuidade(MyComboboxEstandar cmbTipoGratuidade) { + this.cmbTipoGratuidade = cmbTipoGratuidade; + } + + public MyListbox getLinhaListSelList() { + return linhaListSelList; + } + + public void setLinhaListSelList(MyListbox linhaListSelList) { + this.linhaListSelList = linhaListSelList; + } + + public Textbox getTxtPalavraPesquisaLinha() { + return txtPalavraPesquisaLinha; + } + + public void setTxtPalavraPesquisaLinha(Textbox txtPalavraPesquisaLinha) { + this.txtPalavraPesquisaLinha = txtPalavraPesquisaLinha; + } + + public List getLsEmpresas() { + return lsEmpresas; + } + + public void setLsEmpresas(List lsEmpresas) { + this.lsEmpresas = lsEmpresas; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorio/bpe/ItemMenuRelatorioGratuidadeAGEPAN.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorio/bpe/ItemMenuRelatorioGratuidadeAGEPAN.java new file mode 100644 index 000000000..af84bc25d --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorio/bpe/ItemMenuRelatorioGratuidadeAGEPAN.java @@ -0,0 +1,25 @@ +package com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorio.bpe; + +import org.zkoss.util.resource.Labels; + +import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria; +import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema; + +public class ItemMenuRelatorioGratuidadeAGEPAN extends DefaultItemMenuSistema { + + public ItemMenuRelatorioGratuidadeAGEPAN() { + super("indexController.mniRelatorioGratuidadeAGEPAN.label"); + } + + @Override + public String getClaveMenu() { + return "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS.MENU.RELATORIOGRATUIDADEAGEPAN"; + } + + @Override + public void ejecutar() { + PantallaUtileria.openWindow("/gui/relatorios/filtroRelatorioGratuidadeAGEPAN.zul", + Labels.getLabel("relatorioGratuidadeAGEPANController.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 f5a4172ef..3f75655b3 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 @@ -264,6 +264,7 @@ analitico.integracion.bpe.exportacao=com.rjconsultores.ventaboletos.web.utileria analitico.integracion.bpe.rdi=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorio.bpe.ItemMenuBpeRdi analitico.integracion.bpe.financeiro=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorio.bpe.ItemMenuBpeFinanceiro analitico.integracion.bpe.devolucion=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorio.bpe.ItemMenuBpeDevolucao +analitico.integracion.bpe.gratuidadesAGEPAN=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorio.bpe.ItemMenuRelatorioGratuidadeAGEPAN analitico.integracion.sgti=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorio.sgti.SubMenuSGTI analitico.integracion.cashmonitor=com.rjconsultores.ventaboletos.web.utilerias.menu.item.integracion.cashmonitor.SubMenuCashMonitor analitico.integracion.cashmonitor.relatoriovendacartaocashmonitor=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioVendaCartaoCashMonitor diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index b714d7901..36209acc4 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -93,6 +93,7 @@ relatorio.lb.btnSalvarRelatorioPdf = Guardar reporte en PDF relatorio.lb.btnSalvarRelatorioXls = Guardar reporte en XLS relatorio.parametro.msgNoData = No fue posible obtener datos con los parámetros informados. relatorio.parametro.dataMenorDataAtual=Data não pode ser menor do que a Data Atual +relatorio.lb.btnGerarArquivo=Generar Arquivo # tooltip botões @@ -304,6 +305,7 @@ indexController.mniRelatorioMovimentacaoBilhete.label = Movimentações de Bilhe indexController.mniRelatorioEncerramentoCheckin.label = Encerramento do Checkin indexController.mniRelatorioGratuidade.label = Gratuidades indexController.mniRelatorioGratuidadeANTT.label = Gratuidades ANTT +indexController.mniRelatorioGratuidadeAGEPAN.label = Gratuidades AGEPAN indexController.mniRelatorioExportacaoIdosoARTESP.label = Reporte Exportación Ancianos ARTESP indexController.mniRelatorioGratuidadeIdosoDeficiente.label = Gratuidades Idoso/Deficiente indexController.mniRelatorioAproveitamentoFinanceiro.label = Aproveitamento Financeiro @@ -8966,4 +8968,23 @@ editarOperadoresDispositivoController.btnAddUsuario.tooltiptext = Incluir editarOperadoresDispositivoController.btnBorrarUsuario.tooltiptext = Eliminar editarOperadoresDispositivoController.btnSalvar.tooltiptext = Salvar editarOperadoresDispositivoController.MSG.naoAdicionadoItemNovo = Não foi adicionado ítem novo na lista -editarOperadoresDispositivoController.MSG.suscribirOK = Usuario do dipositivo alterados com sucesso \ No newline at end of file +editarOperadoresDispositivoController.MSG.suscribirOK = Usuario do dipositivo alterados com sucesso + +# Relatório Gratuidade AGEPAN +relatorioGratuidadeAGEPANController.window.title = Gratuidades AGEPAN +relatorioGratuidadeAGEPANController.data.obrigatoria = Data inicial e Final são obrigatórias +relatorioGratuidadeAGEPANController.tipo.obrigatoria = Tipo de passagens é obrigatório +relatorioGratuidadeAGEPANController.lbEmpresa.value = Empresa +relatorioGratuidadeAGEPANController.lbAgencia.value = Agência +relatorioGratuidadeAGEPANController.lbLinha.value = Linha +relatorioGratuidadeAGEPANController.lbOrigem.value = Origem +relatorioGratuidadeAGEPANController.lbDestino.value = Destino +relatorioGratuidadeAGEPANController.lbTipoGratuidade.value = Tipos de Passagens +relatorioGratuidadeAGEPANController.lbDataIniVenda.value = Data Inicial Venda +relatorioGratuidadeAGEPANController.lbDataFinVenda.value = Data Final Venda +relatorioGratuidadeAGEPANController.btnPesquisa.value = Pesquisar +relatorioGratuidadeAGEPANController.btnLimpar.value = Limpar +relatorioGratuidadeAGEPANController.lbNumRuta.value = Num. Linha +relatorioGratuidadeAGEPANController.lbPrefixo.value = Prefixo +relatorioGratuidadeAGEPANController.lvVenda = Venda +relatorioGratuidadeAGEPANController.lbOrgao.value = Orgão Concedente \ No newline at end of file diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 8f0148715..3673dc81e 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -95,6 +95,7 @@ relatorio.lb.btnSalvarRelatorioXls = Salvar Relatório em XLS relatorio.parametro.msgNoData = Não foi possivel obter dados com os parâmetros informados. relatorio.lb.btnExecutarRelatorioEstavel = Executar Relatório - Versão Estável relatorio.parametro.dataMenorDataAtual=Data não pode ser menor do que a Data Atual +relatorio.lb.btnGerarArquivo=Gerar Arquivo # tooltip botões @@ -317,6 +318,7 @@ indexController.mniRelatorioGratuidade.label = Relatório Tipo Passagem indexController.mniRelatorioGratuidadeANTT.label = Relatório Gratuidades ANTT indexController.mniRelatorioGratuidadeARTESP.label = Relatório Gratuidade ARTESP indexController.mniRelatorioGratuidadeAGER.label = Relatório Gratuidade AGER +indexController.mniRelatorioGratuidadeAGEPAN.label = Gratuidades AGEPAN indexController.mniRelatorioOperacionalFinanceiro.label = Relatório Operacional Financeiro indexController.mniRelatorioBilhetesVendidos.label = Bilhetes Vendidos indexController.mniRelatorioGratuidadeIdosoDeficiente.label = Gratuidades Idoso/Deficiente @@ -9526,4 +9528,23 @@ editarOperadoresDispositivoController.btnBorrarUsuario.tooltiptext = Eliminar editarOperadoresDispositivoController.btnSalvar.tooltiptext = Salvar editarOperadoresDispositivoController.MSG.naoAdicionadoItemNovo = Não foi adicionado ítem novo na lista editarOperadoresDispositivoController.MSG.suscribirOK = Usuario do dipositivo alterados com sucesso -editarOperadoresDispositivoController.MSG.existemUsuariosAtrelados = Existem usuários atrelados não foram. Deseja sair mesmo assim ? \ No newline at end of file +editarOperadoresDispositivoController.MSG.existemUsuariosAtrelados = Existem usuários atrelados não foram. Deseja sair mesmo assim ? + +# Gratuidade AGEPAN +relatorioGratuidadeAGEPANController.window.title = Gratuidades AGEPAN +relatorioGratuidadeAGEPANController.data.obrigatoria = Data inicial e Final são obrigatórias +relatorioGratuidadeAGEPANController.tipo.obrigatoria = Tipo de passagens é obrigatório +relatorioGratuidadeAGEPANController.lbEmpresa.value = Empresa +relatorioGratuidadeAGEPANController.lbAgencia.value = Agência +relatorioGratuidadeAGEPANController.lbLinha.value = Linha +relatorioGratuidadeAGEPANController.lbOrigem.value = Origem +relatorioGratuidadeAGEPANController.lbDestino.value = Destino +relatorioGratuidadeAGEPANController.lbTipoGratuidade.value = Tipos de Passagens +relatorioGratuidadeAGEPANController.lbDataIniVenda.value = Data Inicial Venda +relatorioGratuidadeAGEPANController.lbDataFinVenda.value = Data Final Venda +relatorioGratuidadeAGEPANController.btnPesquisa.value = Pesquisar +relatorioGratuidadeAGEPANController.btnLimpar.value = Limpar +relatorioGratuidadeAGEPANController.lbNumRuta.value = Num. Linha +relatorioGratuidadeAGEPANController.lbPrefixo.value = Prefixo +relatorioGratuidadeAGEPANController.lvVenda = Venda +relatorioGratuidadeAGEPANController.lbOrgao.value = Orgão Concedente \ No newline at end of file diff --git a/web/gui/relatorios/filtroRelatorioGratuidadeAGEPAN.zul b/web/gui/relatorios/filtroRelatorioGratuidadeAGEPAN.zul new file mode 100644 index 000000000..34dc97f18 --- /dev/null +++ b/web/gui/relatorios/filtroRelatorioGratuidadeAGEPAN.zul @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +