From 24968928958c1df7917a76c2f4bdf8118ef1c1cb Mon Sep 17 00:00:00 2001 From: fabio Date: Thu, 15 Jul 2021 14:57:44 +0000 Subject: [PATCH] fixes bug#22225 dev: Celio qua: git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@107840 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../relatorios/RelatorioSapController.java | 155 ++++++++++++++++++ .../item/relatorios/ItemMenuRelatorioSap.java | 25 +++ .../utilerias/menu/menu_original.properties | 1 + .../render/RenderFechamentoCntcorrente.java | 63 +++++++ web/WEB-INF/i3-label_en.label | 22 ++- web/WEB-INF/i3-label_es_MX.label | 20 +++ web/WEB-INF/i3-label_pt_BR.label | 20 +++ web/gui/relatorios/filtroRelatorioSap.zul | 88 ++++++++++ 8 files changed, 393 insertions(+), 1 deletion(-) create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioSapController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioSap.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderFechamentoCntcorrente.java create mode 100644 web/gui/relatorios/filtroRelatorioSap.zul diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioSapController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioSapController.java new file mode 100644 index 000000000..fa43499ff --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioSapController.java @@ -0,0 +1,155 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios; + +import java.util.List; + +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.CheckEvent; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zk.ui.event.EventListener; +import org.zkoss.zul.Checkbox; +import org.zkoss.zul.Combobox; +import org.zkoss.zul.Comboitem; +import org.zkoss.zul.Datebox; +import org.zkoss.zul.Messagebox; + +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.service.EmpresaService; +import com.rjconsultores.ventaboletos.service.SapService; +import com.rjconsultores.ventaboletos.vo.integracao.FechamentoCntCorrenteVO; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderFechamentoCntcorrente; + +@Controller("relatorioSapController") +@Scope("prototype") +public class RelatorioSapController extends MyGenericForwardComposer { + + private static final long serialVersionUID = -6110350409404675022L; + + private MyListbox boletoFechamentoList; + + private List lsEmpresas; + private List lsFechamentoCntcorrente; + private Empresa empresa; + private Boolean reenviar; + private int qtdEnviar = 0; + + private Combobox cmbEmpresa; + private Datebox fecBoletoIni; + private Datebox fecBoletoFin; + private Checkbox chkReenviarGerados; + + @Autowired + private EmpresaService empresaService; + + @Autowired + private SapService sapService; + + @Override + public void doAfterCompose(Component comp) throws Exception { + this.lsEmpresas = empresaService.obtenerTodos(); + + super.doAfterCompose(comp); + + for (Empresa e : this.lsEmpresas) { + Comboitem comboItem = new Comboitem(e.getNombempresa()); + comboItem.setValue(e); + comboItem.setParent(this.cmbEmpresa); + } + + this.boletoFechamentoList.setItemRenderer(new RenderFechamentoCntcorrente(new EventListener() { + + @Override + public void onEvent(Event arg0) throws Exception { + + FechamentoCntCorrenteVO registro = (FechamentoCntCorrenteVO) arg0.getTarget().getAttribute("data"); + for (Object obj : boletoFechamentoList.getListData()) { + FechamentoCntCorrenteVO fechamento = (FechamentoCntCorrenteVO) obj; + if (fechamento.equals(registro)) { + fechamento.setEnviar( ((CheckEvent)arg0).isChecked() ); + + if( ((CheckEvent)arg0).isChecked() ) { + qtdEnviar++; + }else { + qtdEnviar--; + } + + break; + } + } + } + })); + + this.chkReenviarGerados.setChecked(Boolean.FALSE); + + } + + public void onClick$btnPesquisar(Event ev) throws Exception { + + if(cmbEmpresa.getSelectedItem() == null){ + Messagebox.show(Labels.getLabel("relatorioSap.MGS.erroSemEmpresa"), Labels.getLabel("relatorioSap.window.title"), Messagebox.CANCEL, Messagebox.ERROR); + return; + } + + empresa = (Empresa) cmbEmpresa.getSelectedItem().getValue(); + + this.lsFechamentoCntcorrente = sapService.obtenerTodosParaRemessa(empresa, this.fecBoletoIni.getValue(), this.fecBoletoFin.getValue(), chkReenviarGerados.isChecked()); + this.boletoFechamentoList.setData(this.lsFechamentoCntcorrente); + + if(this.lsFechamentoCntcorrente.isEmpty()){ + Messagebox.show(Labels.getLabel("relatorioSapController.MGS.alertaCNABSemItens"), + Labels.getLabel("relatorioSap.window.title"), Messagebox.CANCEL, Messagebox.ERROR); + } + } + + public void onClick$btnExecutarRemessa(Event ev) throws Exception { + + if(this.lsFechamentoCntcorrente.isEmpty()){ + return; + } + try { + int integrados = sapService.remessa( lsFechamentoCntcorrente ); + + if( integrados == 0 ){ + + Messagebox.show(Labels.getLabel("Registros não integrados"), + Labels.getLabel("relatorioSap.window.title"), Messagebox.OK, Messagebox.ERROR); + + return; + }else if( integrados < qtdEnviar ) { + Messagebox.show("Alguns registros não foram integrados, favor filtrar novamente para verificar", + Labels.getLabel("relatorioSap.window.title"), Messagebox.OK, Messagebox.ERROR); + + return; + }else if( integrados == qtdEnviar ) { + Messagebox.show("Todos registros foram integrados com sucesso", + Labels.getLabel("relatorioSap.window.title"), Messagebox.OK, Messagebox.ERROR); + + return; + } + } catch (RuntimeException e) { + Messagebox.show( e.getMessage(), + Labels.getLabel("relatorioSap.window.title"), Messagebox.OK, Messagebox.ERROR); + } + } + + public Empresa getEmpresa() { + return empresa; + } + + public void setEmpresa(Empresa empresa) { + this.empresa = empresa; + } + + public Boolean getReenviar() { + return reenviar; + } + + public void setReenviar(Boolean reenviar) { + this.reenviar = reenviar; + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioSap.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioSap.java new file mode 100644 index 000000000..17e3a516f --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioSap.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 ItemMenuRelatorioSap extends DefaultItemMenuSistema { + + public ItemMenuRelatorioSap() { + super("indexController.mniRelatorioSap.label"); + } + + @Override + public String getClaveMenu() { + return "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS.MENU.RELATORIOSAP"; + } + + @Override + public void ejecutar() { + PantallaUtileria.openWindow("/gui/relatorios/filtroRelatorioSap.zul", + Labels.getLabel("relatorioSapController.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 bd9d0efee..bf9f4a5d3 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 @@ -235,6 +235,7 @@ analitico.gerenciais.pacote.resumido=com.rjconsultores.ventaboletos.web.utileria analitico.gerenciais.relatorioRemessaCNAB=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioRemessaCNAB analitico.integracion=com.rjconsultores.ventaboletos.web.utilerias.menu.item.analitico.integracion.SubMenuIntegracion analitico.integracion.sisdap=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioSisdap +analitico.integracion.sap=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioSap analitico.integracion.derpr=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioDERPR analitico.integracion.aidf=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioAidf analitico.integracion.relatoriosAnaliticos=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.impressaofiscal.relatorios.SubMenuRelatorioFiscalRelatorios diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderFechamentoCntcorrente.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderFechamentoCntcorrente.java new file mode 100644 index 000000000..9b3f9f9fa --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderFechamentoCntcorrente.java @@ -0,0 +1,63 @@ +package com.rjconsultores.ventaboletos.web.utilerias.render; + +import java.text.NumberFormat; +import java.util.Locale; + +import org.zkoss.zk.ui.event.EventListener; +import org.zkoss.zul.Checkbox; +import org.zkoss.zul.Listcell; +import org.zkoss.zul.Listitem; +import org.zkoss.zul.ListitemRenderer; + +import com.rjconsultores.ventaboletos.vo.integracao.FechamentoCntCorrenteVO; + +public class RenderFechamentoCntcorrente implements ListitemRenderer { + + NumberFormat numberFormat = NumberFormat.getCurrencyInstance(new Locale("pt", "BR")); + + private EventListener listenerGenerico; + + public RenderFechamentoCntcorrente(EventListener listenerGenerico) { + super(); + this.listenerGenerico = listenerGenerico; + } + + @Override + public void render(Listitem lstm, Object o) throws Exception { + + FechamentoCntCorrenteVO fechamentoCntcorrente = (FechamentoCntCorrenteVO) o; + + Listcell lc = new Listcell(); + + Checkbox chk = new Checkbox(); + chk.setId(fechamentoCntcorrente.getFechamentocntcorrenteId().toString()); + chk.setAttribute("data", o); + chk.addEventListener("onCheck", listenerGenerico); + + lc = new Listcell(); + chk.setParent(lc); + lc.setParent(lstm); + + lc = new Listcell(fechamentoCntcorrente.getNombEmpresa()); + lc.setParent(lstm); + + lc = new Listcell(fechamentoCntcorrente.getNombpuntoventa()); + lc.setParent(lstm); + + lc = new Listcell(fechamentoCntcorrente.getFecfechamento()); + lc.setParent(lstm); + + lc = new Listcell(fechamentoCntcorrente.getFeclancamento()); + lc.setParent(lstm); + + lc = new Listcell(numberFormat.format(fechamentoCntcorrente.getTotal())); + lc.setParent(lstm); + + String id = (fechamentoCntcorrente.isIntegradoSap()) ? "Sim" : "Não"; + lc = new Listcell(id); + lc.setParent(lstm); + + lstm.setAttribute("data", fechamentoCntcorrente); + } + +} diff --git a/web/WEB-INF/i3-label_en.label b/web/WEB-INF/i3-label_en.label index 09d274ade..d320ae5ed 100644 --- a/web/WEB-INF/i3-label_en.label +++ b/web/WEB-INF/i3-label_en.label @@ -302,6 +302,7 @@ indexController.mniRelatorioLinhasHorario.label=Routes by Time indexController.mniRelatorioTaxasLinha.label=Fees indexController.mniRelatorioDevolucaoBilhetes.label=Refunded Tickets indexController.mniRelatorioSisdap.label=SISDAP +indexController.mniRelatorioSap.label=SAP indexController.mniRelatorioDERPR.label=DERPR indexController.mniRelatorioEmpresaCorrida.label=Route by Company indexController.mniRelatorioEmpresaOnibus.label=Bus Company @@ -847,7 +848,26 @@ relatorioSisdapController.MSG.gratuidade.idoso.obrigatorio=É obrigatório relatorioSisdapController.MSG.desconto.jovem.obrigatorio=É obrigatório informar as categorias de desconto do jovem relatorioSisdapController.MSG.gratuidade.jovem.obrigatorio=É obrigatório informar as categorias de gratuidade do jovem filtroRelatorioSisdap.window.title=Relatório SISDAP - + +# Relatorio Sap +relatorioSapController.window.title=Integração SAP +relatorioSapController.lbEmpresa.label = Empresa +relatorioSapController.lbFec.label = Data Fechamento +relatorioSapController.lbAte.label = até +relatorioSapController.reenviarGerados.label = Buscar já enviados? +relatorioSapController.btnPesquisar.label = Pequisar +relatorioSapController.btnGerarRemessa.label = Enviar Integração +relatorioSapController.lbEmpresa.value = Empresa +relatorioSapController.lbPtoVenda.value = Agência +relatorioSapController.lbDataFecha.value = Dt. Fechamento +relatorioSapController.lbDataLanca.value = Dt. Lançamento +relatorioSapController.lbValor.value = Valor +relatorioSapController.lbEnviado.value = Enviado +relatorioSapController.MGS.erroSemEmpresa = Escolha uma empresa +relatorioSapController.MGS.alertaArquivoRemessaNaoGerado = Arquivo de remessa não pôde ser criado, favor entrar em contato com o suporte. +relatorioSapController.MGS.alertaCNABSemItens = Não há itens fechamento a enviar para esta empresa +filtroRelatorioSap.window.title=Integração SAP + #Relatório de Vendas por bilheteiro relatorioVendasBilheteiroController.window.title=Relatório de Vendas por Bilheteiro relatorioVendasBilheteiroController.lbDatInicial.value=Data inicial diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index d8147fba0..8d651f5a0 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -297,6 +297,7 @@ indexController.mniRelatorioAcompanhamentoEquivalentes.label = Indicadores (Acom indexController.mniRelatorioLinhasHorario.label = Rutas por horário indexController.mniRelatorioTaxasLinha.label = Tasas indexController.mniRelatorioSisdap.label=SISDAP +indexController.mniRelatorioSap.label=SAP indexController.mniRelatorioDERPR.label=DERPR indexController.mniRelatorioMmphDer.label=MMPH-DER indexController.mniRelatorioEmpresaCorrida.label = Reporte de la empresa corrida @@ -820,6 +821,25 @@ relatorioSisdapController.MSG.desconto.jovem.obrigatorio=É obrigatório informa relatorioSisdapController.MSG.gratuidade.jovem.obrigatorio=É obrigatório informar as categorias de gratuidade do jovem filtroRelatorioSisdap.window.title=Reporte SISDAP +# Relatorio Sap +relatorioSapController.window.title=Integração SAP +relatorioSapController.lbEmpresa.label = Empresa +relatorioSapController.lbFec.label = Data Fechamento +relatorioSapController.lbAte.label = até +relatorioSapController.reenviarGerados.label = Buscar já enviados? +relatorioSapController.btnPesquisar.label = Pequisar +relatorioSapController.btnGerarRemessa.label = Enviar Integração +relatorioSapController.lbEmpresa.value = Empresa +relatorioSapController.lbPtoVenda.value = Agência +relatorioSapController.lbDataFecha.value = Dt. Fechamento +relatorioSapController.lbDataLanca.value = Dt. Lançamento +relatorioSapController.lbValor.value = Valor +relatorioSapController.lbEnviado.value = Enviado +relatorioSapController.MGS.erroSemEmpresa = Escolha uma empresa +relatorioSapController.MGS.alertaArquivoRemessaNaoGerado = Arquivo de remessa não pôde ser criado, favor entrar em contato com o suporte. +relatorioSapController.MGS.alertaCNABSemItens = Não há itens fechamento a enviar para esta empresa +filtroRelatorioSap.window.title=Integração SAP + # Relatorio DERPR relatorioDERPRController.window.title=Relatório DERPR relatorioDERPRController.lbDatInicio.value=Data Inicio diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index d73959493..08ffa7316 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -309,6 +309,7 @@ indexController.mniRelatorioLinhasHorario.label = Linhas por Horário indexController.mniRelatorioTaxasLinha.label = Taxas indexController.mniRelatorioDevolucaoBilhetes.label = Bilhetes Devolvidos indexController.mniRelatorioSisdap.label=SISDAP +indexController.mniRelatorioSap.label=SAP indexController.mniRelatorioDERPR.label=DERPR indexController.mniRelatorioMmphDer.label=MMPH-DER indexController.mniRelatorioEmpresaCorrida.label = Empresa Corrida @@ -910,6 +911,25 @@ relatorioSisdapController.MSG.desconto.jovem.obrigatorio=É obrigatório informa relatorioSisdapController.MSG.gratuidade.jovem.obrigatorio=É obrigatório informar as categorias de gratuidade do jovem filtroRelatorioSisdap.window.title=Relatório SISDAP +# Relatorio Sap +relatorioSapController.window.title=Integração SAP +relatorioSapController.lbEmpresa.label = Empresa +relatorioSapController.lbFec.label = Data Fechamento +relatorioSapController.lbAte.label = até +relatorioSapController.reenviarGerados.label = Buscar já enviados? +relatorioSapController.btnPesquisar.label = Pequisar +relatorioSapController.btnGerarRemessa.label = Enviar Integração +relatorioSapController.lbEmpresa.value = Empresa +relatorioSapController.lbPtoVenda.value = Agência +relatorioSapController.lbDataFecha.value = Dt. Fechamento +relatorioSapController.lbDataLanca.value = Dt. Lançamento +relatorioSapController.lbValor.value = Valor +relatorioSapController.lbEnviado.value = Enviado +relatorioSapController.MGS.erroSemEmpresa = Escolha uma empresa +relatorioSapController.MGS.alertaArquivoRemessaNaoGerado = Arquivo de remessa não pôde ser criado, favor entrar em contato com o suporte. +relatorioSapController.MGS.alertaCNABSemItens = Não há itens fechamento a enviar para esta empresa +filtroRelatorioSap.window.title=Integração SAP + # Relatorio DERPR relatorioDERPRController.window.title=Relatório DERPR relatorioDERPRController.lbDatInicio.value=Data Inicio diff --git a/web/gui/relatorios/filtroRelatorioSap.zul b/web/gui/relatorios/filtroRelatorioSap.zul new file mode 100644 index 000000000..b38dc27eb --- /dev/null +++ b/web/gui/relatorios/filtroRelatorioSap.zul @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +