From 11963c640e5872c4afdc081d1d118719bd1fff8c Mon Sep 17 00:00:00 2001 From: valdevir Date: Mon, 1 Feb 2021 14:02:16 +0000 Subject: [PATCH] fixes bug#21352 qua: dev:Valdevir git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@105248 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../impl/RelatorioReceitaDiariaAgencia.java | 28 ++++++--- ...latorioReceitaDiariaAgenciaController.java | 60 ++++++++++++++++++- web/WEB-INF/i3-label_es_MX.label | 6 ++ web/WEB-INF/i3-label_pt_BR.label | 9 ++- web/gui/utilerias/visualizarPontoVenda.zul | 58 ++++++++++++++++++ 5 files changed, 149 insertions(+), 12 deletions(-) create mode 100644 web/gui/utilerias/visualizarPontoVenda.zul diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioReceitaDiariaAgencia.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioReceitaDiariaAgencia.java index 19635be38..5b8fbba0f 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioReceitaDiariaAgencia.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioReceitaDiariaAgencia.java @@ -12,8 +12,10 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.Set; import com.rjconsultores.ventaboletos.entidad.Estado; import com.rjconsultores.ventaboletos.entidad.PuntoVenta; @@ -28,14 +30,16 @@ import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; * @author Bruno H. G. Gouvêa * */ -public class RelatorioReceitaDiariaAgencia extends Relatorio { +public class RelatorioReceitaDiariaAgencia extends Relatorio { private Map> mapCacheConfigComissao; //Mantis 16390 //As vendas com impressão posterior não estavam sendo exibidas como prévenda pois só estavam sendo validados os tipoVendaId 18 e 39. //Verifiquei a classe RelatorioImpressaoPosterior e adicionei os tipoVendaId faltantes de acordo com sua regra de negócio. private List listaTipoVentaIdPreVenda = Arrays.asList(5, 12, 18, 41, 49, 39); + private Set pontoVendaConfiguracao; + public RelatorioReceitaDiariaAgencia(Map parametros, Connection conexao) throws Exception { super(parametros, conexao); @@ -312,7 +316,7 @@ public class RelatorioReceitaDiariaAgencia extends Relatorio { @Override public void initDados() throws Exception { - + pontoVendaConfiguracao = new HashSet(); this.prepareQuery(); this.mapDados = new HashMap>(); @@ -432,6 +436,7 @@ public class RelatorioReceitaDiariaAgencia extends Relatorio { } } this.dados = new ArrayList>(this.mapDados.values()); + } }); @@ -513,7 +518,7 @@ public class RelatorioReceitaDiariaAgencia extends Relatorio { else { StringBuilder sqlParam = new StringBuilder(); - sqlParam.append(" SELECT EM.NOMBEMPRESA, PV.NOMBPUNTOVENTA "); + sqlParam.append(" SELECT EM.NOMBEMPRESA, PV.NOMBPUNTOVENTA, PV.PUNTOVENTA_ID, PV.NUMPUNTOVENTA "); sqlParam.append(" FROM EMPRESA EM, "); sqlParam.append(" PUNTO_VENTA PV "); sqlParam.append(" WHERE EM.EMPRESA_ID = :EMPRESA_ID "); @@ -525,9 +530,9 @@ public class RelatorioReceitaDiariaAgencia extends Relatorio { ResultSet rsParam = stmtParam.executeQuery(); - if (rsParam.next()) - this.addInfoMsg("Não foi possivel obter a configuração de comissão do ponto de venda: " + rsParam.getString("NOMBPUNTOVENTA") + " empresa: " + rsParam.getString("NOMBEMPRESA") + " ."); - + if (rsParam.next()){ + pontoVendaConfiguracao.add(new PuntoVenta(new Integer (rsParam.getString("PUNTOVENTA_ID")), rsParam.getString("NOMBPUNTOVENTA"), rsParam.getString("NUMPUNTOVENTA"))); + } rsParam.close(); stmtParam.close(); } @@ -745,12 +750,19 @@ public class RelatorioReceitaDiariaAgencia extends Relatorio { sql.append(" :ISNUMPUNTOVENTATODOS = 'N') OR (:ISNUMPUNTOVENTATODOS = 'S')) "); sql.append(" AND ((INSTR(:ESTADO_ID, ',' || TRIM(ES.ESTADO_ID) || ',') > 0 AND "); sql.append(" :ISESTADOTODOS = 'N') OR (:ISESTADOTODOS = 'S')) "); - sql.append(" ORDER BY EC.NOMBEMPRESA, ES.CVEESTADO "); - System.out.println(sql.toString()); + sql.append(" ORDER BY to_number(regexp_substr(PV.NUMPUNTOVENTA, '\\d+')), EC.NOMBEMPRESA, ES.CVEESTADO "); return sql.toString(); } private boolean isTipoVentaIdPreVenda(Integer tipoVentaId) { return listaTipoVentaIdPreVenda.contains(tipoVentaId); } + public Set getPontoVendaConfiguracao() { + return pontoVendaConfiguracao; + } + + public void setPontoVendaConfiguracao(Set pontoVendaConfiguracao) { + this.pontoVendaConfiguracao = pontoVendaConfiguracao; + } + } \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioReceitaDiariaAgenciaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioReceitaDiariaAgenciaController.java index bcd1c0352..f78e0db22 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioReceitaDiariaAgenciaController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioReceitaDiariaAgenciaController.java @@ -12,14 +12,19 @@ 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.Executions; +import org.zkoss.zk.ui.WrongValueException; import org.zkoss.zk.ui.event.Event; +import org.zkoss.zk.ui.event.EventListener; import org.zkoss.zul.Bandbox; +import org.zkoss.zul.Button; import org.zkoss.zul.Checkbox; import org.zkoss.zul.Combobox; import org.zkoss.zul.Comboitem; @@ -27,6 +32,8 @@ import org.zkoss.zul.Datebox; import org.zkoss.zul.Paging; import org.zkoss.zul.Radio; import org.zkoss.zul.Textbox; +import org.zkoss.zul.Window; +import org.zkoss.zul.api.Row; import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.Estado; @@ -34,7 +41,6 @@ import com.rjconsultores.ventaboletos.entidad.GrupoRuta; import com.rjconsultores.ventaboletos.entidad.PuntoVenta; import com.rjconsultores.ventaboletos.entidad.TipoPuntoVenta; import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioReceitaDiariaAgencia; -import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; import com.rjconsultores.ventaboletos.service.EmpresaService; import com.rjconsultores.ventaboletos.service.EstadoService; import com.rjconsultores.ventaboletos.service.GrupoRutaService; @@ -103,7 +109,9 @@ public class RelatorioReceitaDiariaAgenciaController extends MyGenericForwardCom private Checkbox chkContemplarGap; private Radio rd1; private Radio radDataFechamento; - + private MyListbox puntoVentaConfiguracaoList; + private Paging pagingPuntoVentaConfiguracao; + private static Logger log; public Checkbox getSomenteCancelados() { return somenteCancelados; } @@ -398,7 +406,11 @@ public class RelatorioReceitaDiariaAgenciaController extends MyGenericForwardCom parametros.put("FILTROS", filtro.toString()); - Relatorio relatorio = new RelatorioReceitaDiariaAgencia(parametros, dataSourceRead.getConnection()); + RelatorioReceitaDiariaAgencia relatorio = new RelatorioReceitaDiariaAgencia(parametros, dataSourceRead.getConnection()); + if(relatorio.getPontoVendaConfiguracao()!=null && !relatorio.getPontoVendaConfiguracao().isEmpty() ) { + final Window dialog = (Window) Executions.createComponents("/gui/utilerias/visualizarPontoVenda.zul", null, null); + exibirDialog(dialog, new ArrayList(relatorio.getPontoVendaConfiguracao())); + } Map args = new HashMap(); args.put("relatorio", relatorio); @@ -407,9 +419,51 @@ public class RelatorioReceitaDiariaAgenciaController extends MyGenericForwardCom Labels.getLabel("relatorioReceitaDiariaAgenciaController.window.title"), args, MODAL); } + + private void exibirDialog(final Window dialog, List puntoVentaList){ + try { + Button visualizarAgencias = (Button) dialog.getFellow("visualizarAgencias"); + puntoVentaConfiguracaoList = (MyListbox) dialog.getFellow("puntoVentaConfiguracaoList"); + puntoVentaConfiguracaoList.setItemRenderer(new RenderPuntoVentaSimple()); + puntoVentaConfiguracaoList.setData(puntoVentaList); + pagingPuntoVentaConfiguracao = (Paging) dialog.getFellow("pagingPuntoVentaConfiguracao"); + pagingPuntoVentaConfiguracao.setPageSize(5); + visualizarAgencias.addEventListener("onClick", new EventListener() { + @Override + public void onEvent(Event event) throws Exception { + try{ + + Row puntoVentaConfiguracaoRow = (Row) dialog.getFellow("puntoVentaConfiguracaoRow"); + if(puntoVentaConfiguracaoRow.isVisible()) { + puntoVentaConfiguracaoList.setVisible(false); + puntoVentaConfiguracaoRow.setVisible(false); + }else { + puntoVentaConfiguracaoList.setVisible(true); + puntoVentaConfiguracaoRow.setVisible(true); + } + }catch(Throwable t){ + if (t instanceof WrongValueException){ + throw (WrongValueException)t; + } + + Messagebox.show(Labels.getLabel("MSG.CONSTRAINT.DECIMALBOXISNOTANUMBER"), + Labels.getLabel("editarCatalogoDeRutaController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } + } + }); + + //dialog.setMaximizable(true); + dialog.doModal(); + + } catch (Exception e) { + log.error("", e); + } + } @Override public void doAfterCompose(Component comp) throws Exception { + log = Logger.getLogger(RelatorioReceitaDiariaAgenciaController.class); lsEstado = estadoService.obtenerTodos(); lsEmpresa = empresaService.obtenerTodos(); lsGrupoRuta = grupoRutaService.obtenerTodos(); diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index 3ed3c69a8..6e7f08529 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -653,6 +653,12 @@ relatorioReceitaDiariaAgenciaController.rdIndAgenciaDevol.cmbReceitaImposto.cmbI relatorioReceitaDiariaAgenciaController.rdIndAgenciaDevol.cmbReceitaImposto.cmbItemReceitaEmbarque = Ingresos de abordaje relatorioReceitaDiariaAgenciaController.rdIndAgenciaDevol.cmbReceitaImposto.cmbItemReceitaPedagio = Ingresos de peaje relatorioReceitaDiariaAgenciaController.rdIndAgenciaDevol.cmbReceitaImposto.cmbItemReceitaBagagem = Ingresos de equipaje +relatorioReceitaDiariaAgenciaController.visualizarAgencias= Visualizar Agências +relatorioReceitaDiariaAgenciaController.visualizarRelatorio=Visualizar Relatório +relatorioReceitaDiariaAgenciaController.visualizarRelatorio=Visualizar Relatório +relatorioReceitaDiariaAgenciaController.numPontoVenda = Num. +relatorioReceitaDiariaAgenciaController.numPontoVenda = Nome P. Venda +relatorioReceitaDiariaAgenciaController.labelAvisoAhecnciaConfigurada = Não foi possivel obter a configuração de comissão. Para validar as agências clique em Visualizar Agências #Relatorio Impressao RMD busquedaImpressaoRMDController.label.RMD = RMD diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 7cb5b599f..577154080 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -684,7 +684,7 @@ relatorioReceitaDiariaAgenciaController.lbFiltroData.value = Tipo Data relatorioReceitaDiariaAgenciaController.lbFiltroDataCorte.value = Fechamento relatorioReceitaDiariaAgenciaController.lbFiltroDataVenda.value = Venda relatorioReceitaDiariaAgenciaController.btnPesquisa.label = Pesquisar -relatorioReceitaDiariaAgenciaController.btnLimpar.label = Limpar Seleção +relatorioReceitaDiariaAgenciaController.btnLimpar.label = Limpar Seleção relatorioReceitaDiariaAgenciaController.puntoVentaSelList.codigo = Código relatorioReceitaDiariaAgenciaController.puntoVentaSelList.nome = Nome relatorioReceitaDiariaAgenciaController.chkExcessoBagagem.label = Excluso Excesso de Bagagem @@ -701,6 +701,13 @@ relatorioReceitaDiariaAgenciaController.rdIndAgenciaDevol.cmbReceitaImposto.cmbI relatorioReceitaDiariaAgenciaController.rdIndAgenciaDevol.cmbReceitaImposto.cmbItemReceitaEmbarque = Receita de Embarque relatorioReceitaDiariaAgenciaController.rdIndAgenciaDevol.cmbReceitaImposto.cmbItemReceitaPedagio = Receita de Pedagio relatorioReceitaDiariaAgenciaController.rdIndAgenciaDevol.cmbReceitaImposto.cmbItemReceitaBagagem = Receita de Bagagem +relatorioReceitaDiariaAgenciaController.visualizarAgencias= Visualizar Agências +relatorioReceitaDiariaAgenciaController.visualizarRelatorio=Visualizar Relatório +relatorioReceitaDiariaAgenciaController.visualizarRelatorio=Visualizar Relatório +relatorioReceitaDiariaAgenciaController.numPontoVenda = Num. +relatorioReceitaDiariaAgenciaController.numPontoVenda = Nome P. Venda +relatorioReceitaDiariaAgenciaController.labelAvisoAhecnciaConfigurada = Não foi possivel obter a configuração de comissão. Para validar as agências clique em Visualizar Agências + #Relatorio Impressao RMD busquedaImpressaoRMDController.mnImpressaoRMD.label = Impressão RMD diff --git a/web/gui/utilerias/visualizarPontoVenda.zul b/web/gui/utilerias/visualizarPontoVenda.zul new file mode 100644 index 000000000..0be850afb --- /dev/null +++ b/web/gui/utilerias/visualizarPontoVenda.zul @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + +