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
master
fabio 2021-07-15 14:57:44 +00:00
parent c1963d8c4e
commit 2496892895
8 changed files with 393 additions and 1 deletions

View File

@ -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<Empresa> lsEmpresas;
private List<FechamentoCntCorrenteVO> 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;
}
}

View File

@ -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);
}
}

View File

@ -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.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=com.rjconsultores.ventaboletos.web.utilerias.menu.item.analitico.integracion.SubMenuIntegracion
analitico.integracion.sisdap=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioSisdap 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.derpr=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioDERPR
analitico.integracion.aidf=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioAidf 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 analitico.integracion.relatoriosAnaliticos=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.impressaofiscal.relatorios.SubMenuRelatorioFiscalRelatorios

View File

@ -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);
}
}

View File

@ -302,6 +302,7 @@ indexController.mniRelatorioLinhasHorario.label=Routes by Time
indexController.mniRelatorioTaxasLinha.label=Fees indexController.mniRelatorioTaxasLinha.label=Fees
indexController.mniRelatorioDevolucaoBilhetes.label=Refunded Tickets indexController.mniRelatorioDevolucaoBilhetes.label=Refunded Tickets
indexController.mniRelatorioSisdap.label=SISDAP indexController.mniRelatorioSisdap.label=SISDAP
indexController.mniRelatorioSap.label=SAP
indexController.mniRelatorioDERPR.label=DERPR indexController.mniRelatorioDERPR.label=DERPR
indexController.mniRelatorioEmpresaCorrida.label=Route by Company indexController.mniRelatorioEmpresaCorrida.label=Route by Company
indexController.mniRelatorioEmpresaOnibus.label=Bus 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.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 relatorioSisdapController.MSG.gratuidade.jovem.obrigatorio=É obrigatório informar as categorias de gratuidade do jovem
filtroRelatorioSisdap.window.title=Relatório SISDAP 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 #Relatório de Vendas por bilheteiro
relatorioVendasBilheteiroController.window.title=Relatório de Vendas por Bilheteiro relatorioVendasBilheteiroController.window.title=Relatório de Vendas por Bilheteiro
relatorioVendasBilheteiroController.lbDatInicial.value=Data inicial relatorioVendasBilheteiroController.lbDatInicial.value=Data inicial

View File

@ -297,6 +297,7 @@ indexController.mniRelatorioAcompanhamentoEquivalentes.label = Indicadores (Acom
indexController.mniRelatorioLinhasHorario.label = Rutas por horário indexController.mniRelatorioLinhasHorario.label = Rutas por horário
indexController.mniRelatorioTaxasLinha.label = Tasas indexController.mniRelatorioTaxasLinha.label = Tasas
indexController.mniRelatorioSisdap.label=SISDAP indexController.mniRelatorioSisdap.label=SISDAP
indexController.mniRelatorioSap.label=SAP
indexController.mniRelatorioDERPR.label=DERPR indexController.mniRelatorioDERPR.label=DERPR
indexController.mniRelatorioMmphDer.label=MMPH-DER indexController.mniRelatorioMmphDer.label=MMPH-DER
indexController.mniRelatorioEmpresaCorrida.label = Reporte de la empresa corrida 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 relatorioSisdapController.MSG.gratuidade.jovem.obrigatorio=É obrigatório informar as categorias de gratuidade do jovem
filtroRelatorioSisdap.window.title=Reporte SISDAP 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 # Relatorio DERPR
relatorioDERPRController.window.title=Relatório DERPR relatorioDERPRController.window.title=Relatório DERPR
relatorioDERPRController.lbDatInicio.value=Data Inicio relatorioDERPRController.lbDatInicio.value=Data Inicio

View File

@ -309,6 +309,7 @@ indexController.mniRelatorioLinhasHorario.label = Linhas por Horário
indexController.mniRelatorioTaxasLinha.label = Taxas indexController.mniRelatorioTaxasLinha.label = Taxas
indexController.mniRelatorioDevolucaoBilhetes.label = Bilhetes Devolvidos indexController.mniRelatorioDevolucaoBilhetes.label = Bilhetes Devolvidos
indexController.mniRelatorioSisdap.label=SISDAP indexController.mniRelatorioSisdap.label=SISDAP
indexController.mniRelatorioSap.label=SAP
indexController.mniRelatorioDERPR.label=DERPR indexController.mniRelatorioDERPR.label=DERPR
indexController.mniRelatorioMmphDer.label=MMPH-DER indexController.mniRelatorioMmphDer.label=MMPH-DER
indexController.mniRelatorioEmpresaCorrida.label = Empresa Corrida 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 relatorioSisdapController.MSG.gratuidade.jovem.obrigatorio=É obrigatório informar as categorias de gratuidade do jovem
filtroRelatorioSisdap.window.title=Relatório SISDAP 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 # Relatorio DERPR
relatorioDERPRController.window.title=Relatório DERPR relatorioDERPRController.window.title=Relatório DERPR
relatorioDERPRController.lbDatInicio.value=Data Inicio relatorioDERPRController.lbDatInicio.value=Data Inicio

View File

@ -0,0 +1,88 @@
<?xml version="1.0" encoding="UTF-8"?>
<?page contentType="text/html;charset=UTF-8"?>
<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>
<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" arg0="winFiltroRelatorioSap"?>
<?taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c"?>
<zk xmlns="http://www.zkoss.org/2005/zul">
<window id="winFiltroRelatorioSap" border="normal"
apply="${relatorioSapController}" width="950px"
height="590px" contentStyle="overflow:auto"
title="${c:l('relatorioSapController.window.title')}"
xmlns:h="http://www.w3.org/1999/xhtml">
<grid fixedLayout="true">
<columns>
<column width="20%" />
<column width="40%" />
<column width="40%" />
</columns>
<rows>
<row>
<!-- Empresa -->
<label
value="${c:l('relatorioSapController.lbEmpresa.label')}" />
<cell colspan="2">
<combobox id="cmbEmpresa"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
mold="rounded" buttonVisible="true" width="70%"
selectedItem="@{winFiltroRelatorioSap$composer.empresa}" />
</cell>
</row>
<row>
<label
value="${c:l('relatorioSapController.lbFec.label')}" />
<cell colspan="2">
<datebox id="fecBoletoIni" width="130px"
format="dd/MM/yyyy" constraint="no empty"
maxlength="10" />
<space />
<label
value="${c:l('relatorioSapController.lbAte.label')}" />
<space />
<datebox id="fecBoletoFin" width="130px"
format="dd/MM/yyyy" constraint="no empty"
maxlength="10" />
</cell>
</row>
<row>
<label
value="${c:l('relatorioSapController.reenviarGerados.label')}" />
<cell colspan="2">
<checkbox id="chkReenviarGerados" value="@{winFiltroRelatorioSap$composer.reenviar}" />
</cell>
</row>
</rows>
</grid>
<toolbar>
<button id="btnPesquisar"
image="/gui/img/enginer.png"
label="${c:l('relatorioSapController.btnPesquisar.label')}" />
<button id="btnExecutarRemessa"
image="/gui/img/enginer.png"
label="${c:l('relatorioSapController.btnGerarRemessa.label')}" />
<button id="btnImportarRetorno" visible="false"
image="/gui/img/enginer.png"
label="${c:l('relatorioSapController.btnImportarRetornoRemessa.label')}" />
</toolbar>
<listbox id="boletoFechamentoList"
use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox"
multiple="false" height="90%">
<listhead sizable="true">
<listheader image="" label="" width="5%"/>
<listheader image="/gui/img/builder.gif" label="${c:l('relatorioSapController.lbEmpresa.value')}" width="29%"/>
<listheader image="/gui/img/builder.gif" label="${c:l('relatorioSapController.lbPtoVenda.value')}" width="29%" />
<listheader image="/gui/img/builder.gif" label="${c:l('relatorioSapController.lbDataFecha.value')}" width="14%" />
<listheader image="/gui/img/builder.gif" label="${c:l('relatorioSapController.lbDataLanca.value')}" width="14%" />
<listheader image="/gui/img/builder.gif" label="${c:l('relatorioSapController.lbValor.value')}" width="14%" />
<listheader image="/gui/img/builder.gif" label="${c:l('relatorioSapController.lbEnviado.value')}" width="10%" />
</listhead>
</listbox>
</window>
</zk>