fixes bug#18256

dev:thiago
qua:

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@100186 d1611594-4594-4d17-8e1d-87c2c4800839
master
wilian 2020-02-12 21:25:01 +00:00
parent 4b6647cec9
commit f8f0fc132c
7 changed files with 294 additions and 4 deletions

View File

@ -0,0 +1,191 @@
package com.rjconsultores.ventaboletos.web.gui.controladores.seguridad;
import java.util.Date;
import java.util.List;
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.event.Event;
import org.zkoss.zul.Combobox;
import org.zkoss.zul.Comboitem;
import org.zkoss.zul.Datebox;
import org.zkoss.zul.Filedownload;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.Estado;
import com.rjconsultores.ventaboletos.service.BpeService;
import com.rjconsultores.ventaboletos.service.EmpresaService;
import com.rjconsultores.ventaboletos.service.EstadoService;
import com.rjconsultores.ventaboletos.utilerias.DateUtil;
import com.rjconsultores.ventaboletos.vo.bpe.BPeVO;
import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar;
import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer;
@Controller("extrairBpeXmlController")
@Scope("prototype")
public class ExtrairBpeXmlController extends MyGenericForwardComposer {
private static Logger log = Logger.getLogger(ExtrairBpeXmlController.class);
private static final long serialVersionUID = 1L;
private Datebox dtInicio;
private Datebox dtFim;
private MyComboboxEstandar cmbEmpresa;
private MyComboboxEstandar cmbEstado;
private Combobox cmbPuntoVenta;
private List<Empresa> lsEmpresa;
private List<Estado> lsEstado;
@Autowired
private EmpresaService empresaService;
@Autowired
private EstadoService estadoService;
@Autowired
private BpeService bpeService;
@Override
public void doAfterCompose(Component comp) throws Exception {
lsEmpresa = empresaService.obtenerTodos();
lsEstado = estadoService.obtenerTodos();
super.doAfterCompose(comp);
}
private void extrairBpeXml() throws Exception {
if (!validar()) {
return;
}
try {
Integer empresaId = null;
Date dataVendaInicio = null;
Date dataVendaFim = null;
Integer estadoId = null;
if (dtInicio.getValue() != null && dtFim.getValue() != null) {
dataVendaInicio = dtInicio.getValue();
dataVendaFim = dtFim.getValue();
}
Comboitem itemEmpresa = cmbEmpresa.getSelectedItem();
if (itemEmpresa != null) {
Empresa empresa = (Empresa) itemEmpresa.getValue();
empresaId = empresa.getEmpresaId();
}
Comboitem itemEstado = cmbEstado.getSelectedItem();
if (itemEstado != null) {
Estado estado = (Estado) itemEstado.getValue();
estadoId = estado.getEstadoId();
}
List<BPeVO> bpes = bpeService.buscarBPeVendaEEventosAutorizados(empresaId, dataVendaInicio, dataVendaFim, estadoId);
if(bpes == null || bpes.isEmpty()) {
Messagebox.show(Labels.getLabel("extrairBpeXmlController.MSG.nenhumaInformacao"),
Labels.getLabel("extrairBpeXmlController.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
return;
}
byte[] arquivoCompactado = bpeService.extrairXmlsBPe(bpes);
String dataInicial = DateUtil.getStringDate(dataVendaInicio, "yyyy-MM-dd");
String dataFinal = DateUtil.getStringDate(dataVendaFim, "yyyy-MM-dd");
String nomearquivo = "BPe_Dump_" + dataInicial + "_" + dataFinal + ".zip";
Filedownload.save(arquivoCompactado, "application/x-download", nomearquivo);
} catch (Exception e) {
log.error(e.getMessage(), e);
}
}
private boolean validar() {
try {
if (dtInicio.getValue() == null || dtFim.getValue() == null) {
Messagebox.show(Labels.getLabel("relatorioBPeController.MSG.informarData"),
Labels.getLabel("extrairBpeXmlController.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
return false;
}
if(dtInicio.getValue().after(dtFim.getValue())){
Messagebox.show(Labels.getLabel("relatorioBPeController.MSG.dataInicialMaiorQueFinal"),
Labels.getLabel("extrairBpeXmlController.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
return false;
}
Integer difDias = DateUtil.getElapsedDias(dtInicio.getValue(), dtFim.getValue());
if(difDias >= 7) {
Messagebox.show(Labels.getLabel("extrairBpeXmlController.MSG.limiteDias"),
Labels.getLabel("extrairBpeXmlController.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
return false;
}
} catch (InterruptedException ex) {
return false;
}
return true;
}
public void onClick$btnExtrairBpeXml(Event ev) throws Exception {
extrairBpeXml();
}
public Datebox getDtInicio() {
return dtInicio;
}
public void setDtInicio(Datebox dtInicio) {
this.dtInicio = dtInicio;
}
public Datebox getDtFim() {
return dtFim;
}
public void setDtFim(Datebox dtFim) {
this.dtFim = dtFim;
}
public MyComboboxEstandar getCmbEmpresa() {
return cmbEmpresa;
}
public void setCmbEmpresa(MyComboboxEstandar cmbEmpresa) {
this.cmbEmpresa = cmbEmpresa;
}
public Combobox getCmbPuntoVenta() {
return cmbPuntoVenta;
}
public void setCmbPuntoVenta(Combobox cmbPuntoVenta) {
this.cmbPuntoVenta = cmbPuntoVenta;
}
public List<Empresa> getLsEmpresa() {
return lsEmpresa;
}
public void setLsEmpresa(List<Empresa> lsEmpresa) {
this.lsEmpresa = lsEmpresa;
}
public List<Estado> getLsEstado() {
return lsEstado;
}
public void setLsEstado(List<Estado> lsEstado) {
this.lsEstado = lsEstado;
}
}

View File

@ -0,0 +1,24 @@
package com.rjconsultores.ventaboletos.web.utilerias.menu.item.seguridad;
import org.zkoss.util.resource.Labels;
import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria;
import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema;
public class ItemMenuExtrairBPeXml extends DefaultItemMenuSistema {
public ItemMenuExtrairBPeXml() {
super("indexController.mniExtrairBpeXmlController.label");
}
@Override
public String getClaveMenu() {
return "COM.RJCONSULTORES.ADMINISTRACION.GUI.SEGURIDAD.MENU.EXTRAIRBPEXML";
}
@Override
public void ejecutar() {
PantallaUtileria.openWindow("/gui/seguridad/busquedaExtrairBpeXml.zul",
Labels.getLabel("extrairBpeXmlController.window.title"), getArgs(), desktop);
}
}

View File

@ -1,6 +1,5 @@
package com.rjconsultores.ventaboletos.web.utilerias.menu.item.seguridad;
import org.apache.log4j.Logger;
import org.zkoss.util.resource.Labels;
import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria;

View File

@ -274,6 +274,7 @@ seguridad.visualizaSenhaInstalacaoVendaEmbarcada=com.rjconsultores.ventaboletos.
seguridad.painelBpe=com.rjconsultores.ventaboletos.web.utilerias.menu.item.seguridad.ItemMenuPainelBPe
seguridad.contingencia=com.rjconsultores.ventaboletos.web.utilerias.menu.item.seguridad.ItemMenuContingencia
seguridad.reenvioBpe=com.rjconsultores.ventaboletos.web.utilerias.menu.item.seguridad.ItemMenuReenvioBPe
seguridad.reenvioBpe=com.rjconsultores.ventaboletos.web.utilerias.menu.item.seguridad.ItemMenuExtrairBPeXml
pasajerofrecuente=com.rjconsultores.ventaboletos.web.utilerias.menu.item.pasajerofrecuente.MenuPasajeroFrecuente
pasajerofrecuente.cliente=com.rjconsultores.ventaboletos.web.utilerias.menu.item.pasajerofrecuente.ItemMenuCliente
pasajerofrecuente.importarClientes=com.rjconsultores.ventaboletos.web.utilerias.menu.item.pasajerofrecuente.ItemMenuImportarClientes

View File

@ -400,7 +400,8 @@ indexController.mniRelatorioDepositosDetalhados.label= Depósitos Detallados
indexController.mniRelatorioPosicaoCaixaAnalitico.label= Reporte de Numeración Lógica
indexController.mniPainelBpe.label = Painel BPe
indexController.mniReenvioBpe.label = Reenvio BP-e
indexController.mniVisualizaSenhaInstalacaoVendaEmbarcada.label = Visualizar Senha Instalação
indexController.mniVisualizaSenhaInstalacaoVendaEmbarcada.label = Visualizar Senha Instalação
indexController.mniExtrairBpeXmlController.label = Extrair BP-e XML
relatorioPosicaoCaixaAnaliticoController.lbPuntoVenta.value=Punto de venta
relatorioPosicaoCaixaAnaliticoController.lbEmpresa.value=Empresa
@ -8511,4 +8512,10 @@ reenvioBpeController.lbl.selecioneReenvio = Selecione os BP-e para Reenvio
reenvioBpeController.lbl.codigoRejeicao = Código Rejeição (Separados por ';')
reenvioBpeController.MSG.bpeNaoSelecionados = Nenhum BP-e selecionado para reenvio
reenvioBpeController.MSG.bpeDefinidosReenvio = BP-e(s) selecioando(s) definido(s) para reenvio com sucesso
reenvioBpeController.MSG.bpeNaoLocalizado = Nenhum BP-e localizado com os filtros informados
reenvioBpeController.MSG.bpeNaoLocalizado = Nenhum BP-e localizado com os filtros informados
# Extrair BPe XML
extrairBpeXmlController.window.title = Extrair BP-e XML
extrairBpeXmlController.lbl.btnExtrairBpeXml = Extrair XML
extrairBpeXmlController.MSG.nenhumaInformacao = Nenhuma Informação foi localizada com os dados informados
extrairBpeXmlController.MSG.limiteDias = Extração BP-e XML limitada para 7 dias

View File

@ -408,6 +408,7 @@ indexController.mniAutorizacaoUsoSerieEmbarcada.label = Autorização de uso de
indexController.mniPainelBpe.label = Painel BPe
indexController.mniReenvioBpe.label = Reenvio BP-e
indexController.mniVisualizaSenhaInstalacaoVendaEmbarcada.label = Visualizar Senha Instalação
indexController.mniExtrairBpeXmlController.label = Extrair BP-e XML
indexController.mniEscola.label = Escola
indexController.mniCurso.label = Curso
@ -9058,4 +9059,10 @@ reenvioBpeController.lbl.selecioneReenvio = Selecione os BP-e para Reenvio
reenvioBpeController.lbl.codigoRejeicao = Código Rejeição (Separados por ';')
reenvioBpeController.MSG.bpeNaoSelecionados = Nenhum BP-e selecionado para reenvio
reenvioBpeController.MSG.bpeDefinidosReenvio = BP-e(s) selecioando(s) definido(s) para reenvio com sucesso
reenvioBpeController.MSG.bpeNaoLocalizado = Nenhum BP-e localizado com os filtros informados
reenvioBpeController.MSG.bpeNaoLocalizado = Nenhum BP-e localizado com os filtros informados
# Extrair BPe XML
extrairBpeXmlController.window.title = Extrair BP-e XML
extrairBpeXmlController.lbl.btnExtrairBpeXml = Extrair XML
extrairBpeXmlController.MSG.nenhumaInformacao = Nenhuma Informação foi localizada com os dados informados
extrairBpeXmlController.MSG.limiteDias = Extração BP-e XML limitada para 7 dias

View File

@ -0,0 +1,61 @@
<?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="winExtrairBpeXml"?>
<?taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c"?>
<zk xmlns="http://www.zkoss.org/2005/zul">
<window id="winExtrairBpeXml" apply="${extrairBpeXmlController}"
contentStyle="overflow:auto"
height="165px" width="600px" border="normal">
<grid fixedLayout="true">
<columns>
<column width="17%" />
<column width="35%" />
<column width="17%" />
<column width="32%" />
</columns>
<rows>
<row>
<label
value="${c:l('reenvioBpeController.lbDtInicio.value')}" />
<datebox id="dtInicio" width="90%" mold="rounded"
format="dd/MM/yyyy" maxlength="10" />
<label
value="${c:l('reenvioBpeController.lbDtFim.value')}" />
<datebox id="dtFim" width="90%" mold="rounded"
format="dd/MM/yyyy" maxlength="10" />
</row>
<row spans="1,3">
<label
value="${c:l('lb.empresa')}" />
<combobox id="cmbEmpresa"
buttonVisible="true"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
model="@{winExtrairBpeXml$composer.lsEmpresa}"
mold="rounded"
style="100%"
width="100%" />
</row>
<row spans="1, 3">
<label
value="${c:l('busquedaCiudadController.estado.label')}" />
<combobox id="cmbEstado"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
constraint="no empty" mold="rounded" buttonVisible="true"
style="100%" model="@{winExtrairBpeXml$composer.lsEstado}"
width="100%"/>
</row>
</rows>
</grid>
<toolbar>
<button id="btnExtrairBpeXml" image="/gui/img/find.png"
label="${c:l('extrairBpeXmlController.lbl.btnExtrairBpeXml')}" />
</toolbar>
</window>
</zk>