fixes bug#17529

dev:thiago
qua:

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@99318 d1611594-4594-4d17-8e1d-87c2c4800839
master
wilian 2019-12-11 14:43:07 +00:00
parent 18089d8e0a
commit f98fed194c
7 changed files with 480 additions and 2 deletions

View File

@ -0,0 +1,243 @@
package com.rjconsultores.ventaboletos.web.gui.controladores.seguridad;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import org.apache.commons.lang.StringUtils;
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.Textbox;
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.vo.bpe.BPeVO;
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.RenderBpe;
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderEstadoUf;
@Controller("reenvioBpeController")
@Scope("prototype")
public class ReenvioBpeController extends MyGenericForwardComposer {
private static Logger log = Logger.getLogger(ReenvioBpeController.class);
private static final long serialVersionUID = 1L;
private Datebox dtInicio;
private Datebox dtFim;
private MyComboboxEstandar cmbEmpresa;
private Combobox cmbPuntoVenta;
private MyListbox estadoList;
private Textbox txtChBpe;
private Textbox txtNumBpe;
private Textbox txtCodigoRejeicao;
private List<Empresa> lsEmpresa;
private List<Estado> lsEstado;
private MyListbox bpeReenvioList;
@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);
estadoList.setItemRenderer(new RenderEstadoUf());
estadoList.setData(lsEstado);
bpeReenvioList.setItemRenderer(new RenderBpe());
bpeReenvioList.setData(new ArrayList<BPeVO>());
}
private void buscarBpeReenvio() throws Exception {
if (!validar()) {
return;
}
Integer empresaId = null;
Date dataVendaInicio = null;
Date dataVendaFim = null;
String chbpe = null;
String numbpe = null;
List<Integer> estados = new ArrayList<Integer>();
List<String> codigosRejeicoes = new ArrayList<String>();
if (dtInicio.getValue() != null && dtFim.getValue() != null) {
dataVendaInicio = dtInicio.getValue();
dataVendaFim = dtFim.getValue();
}
List<Object> lsEstadosSelecionados = estadoList.getItensSelecionados();
if (!lsEstadosSelecionados.isEmpty()) {
for (int i = 0; i < lsEstadosSelecionados.size(); i++) {
Estado estado = (Estado) lsEstadosSelecionados.get(i);
estados.add(estado.getEstadoId());
}
}
Comboitem itemEmpresa = cmbEmpresa.getSelectedItem();
if (itemEmpresa != null) {
Empresa empresa = (Empresa) itemEmpresa.getValue();
empresaId = empresa.getEmpresaId();
}
txtChBpe.getValue();
if(StringUtils.isNotBlank(txtChBpe.getValue())) {
chbpe = txtChBpe.getValue();
}
txtNumBpe.getValue();
if(StringUtils.isNotBlank(txtNumBpe.getValue())) {
numbpe = txtNumBpe.getValue();
}
txtCodigoRejeicao.getValue();
if(StringUtils.isNotBlank(txtCodigoRejeicao.getValue())) {
codigosRejeicoes = Arrays.asList(txtCodigoRejeicao.getValue().split(";"));
}
List<BPeVO> lsBpes = bpeService.buscarBPeRejeitadosContingencia(empresaId, numbpe, chbpe, dataVendaInicio, dataVendaFim, estados, codigosRejeicoes);
if(lsBpes == null || lsBpes.isEmpty()) {
Messagebox.show(Labels.getLabel("reenvioBpeController.MSG.bpeNaoLocalizado"),
Labels.getLabel("reenvioBpeController.window.title"),
Messagebox.OK, Messagebox.EXCLAMATION);
}
bpeReenvioList.setData(lsBpes);
}
private boolean validar() {
try {
txtChBpe.getValue();
txtNumBpe.getValue();
boolean isFiltroChbpeOrNumbpe = StringUtils.isNotBlank(txtChBpe.getValue()) || StringUtils.isNotBlank(txtNumBpe.getValue());
if(!isFiltroChbpeOrNumbpe) {
if (dtInicio.getValue() == null || dtFim.getValue() == null) {
Messagebox.show(Labels.getLabel("relatorioBPeController.MSG.informarData"),
Labels.getLabel("reenvioBpeController.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
return false;
}
if(dtInicio.getValue().after(dtFim.getValue())){
Messagebox.show(Labels.getLabel("relatorioBPeController.MSG.dataInicialMaiorQueFinal"),
Labels.getLabel("reenvioBpeController.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
return false;
}
}
} catch (InterruptedException ex) {
return false;
}
return true;
}
public void onClick$btnBuscarBpe(Event ev) throws Exception {
buscarBpeReenvio();
}
public void onClick$btnReenviarBpe(Event ev) throws Exception {
try {
List<BPeVO> bpesSelecionados = bpeReenvioList.getItensSelecionados(BPeVO.class);
if(bpesSelecionados == null || bpesSelecionados.isEmpty()) {
Messagebox.show(Labels.getLabel("reenvioBpeController.MSG.bpeNaoSelecionados"),
Labels.getLabel("reenvioBpeController.window.title"),
Messagebox.OK, Messagebox.EXCLAMATION);
return;
}
bpeService.definirBPeRejeitadoSefazReenvio(bpesSelecionados);
Messagebox.show(Labels.getLabel("reenvioBpeController.MSG.bpeDefinidosReenvio"),
Labels.getLabel("reenvioBpeController.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
bpeReenvioList.clearSelection();
bpeReenvioList.clear();
} catch (Exception e) {
log.error(e.getMessage(), e);
}
}
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 MyListbox getEstadoList() {
return estadoList;
}
public void setEstadoList(MyListbox estadoList) {
this.estadoList = estadoList;
}
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,25 @@
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;
import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema;
public class ItemMenuReenvioBPe extends DefaultItemMenuSistema {
public ItemMenuReenvioBPe() {
super("indexController.mniReenvioBpe.label");
}
@Override
public String getClaveMenu() {
return "COM.RJCONSULTORES.ADMINISTRACION.GUI.SEGURIDAD.MENU.REENVIO_BPE";
}
@Override
public void ejecutar() {
PantallaUtileria.openWindow("/gui/seguridad/busquedaReenvioBpe.zul",
Labels.getLabel("busquedaReenvioBpeController.window.title"), getArgs(), desktop);
}
}

View File

@ -270,6 +270,7 @@ seguridad.dispositivoVendaEmbarcada=com.rjconsultores.ventaboletos.web.utilerias
seguridad.autorizacaoSerieEmbarcada=com.rjconsultores.ventaboletos.web.utilerias.menu.item.seguridad.ItemMenuAutorizacaoUsoSerieEmbarcada
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
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

@ -0,0 +1,45 @@
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.rjconsultores.ventaboletos.web.utilerias.render;
import org.zkoss.zul.Listcell;
import org.zkoss.zul.Listitem;
import org.zkoss.zul.ListitemRenderer;
import com.rjconsultores.ventaboletos.utilerias.DateUtil;
import com.rjconsultores.ventaboletos.vo.bpe.BPeVO;
public class RenderBpe implements ListitemRenderer {
public void render(Listitem lstm, Object o) throws Exception {
BPeVO bpe = (BPeVO) o;
Listcell lc = new Listcell(bpe.getNombempresa().toString());
lc.setParent(lstm);
lc = new Listcell(bpe.getUf());
lc.setParent(lstm);
lc = new Listcell(DateUtil.getStringDate(bpe.getFechorventa(), "dd/MM/yyyy HH:mm"));
lc.setParent(lstm);
lc = new Listcell(bpe.getNumBpeSerie());
lc.setParent(lstm);
lc = new Listcell(bpe.getCodstat());
lc.setParent(lstm);
lc = new Listcell(bpe.getChbpe());
lc.setParent(lstm);
lc = new Listcell(bpe.getMotivo());
lc.setParent(lstm);
lc = new Listcell(bpe.getErrocontingencia());
lc.setParent(lstm);
lstm.setAttribute("data", bpe);
}
}

View File

@ -72,6 +72,10 @@ lb.ate = Hasta
lb.dataIni.value = Fecha Ini
lb.dataFin.value = Fecha fin
lb.empresa = Empresa
lb.dataVenda = Fecha Venta
lb.uf = Cve Estado
lb.numBpe = Número BP-e
lb.chbpe = Chave BP-e
lb.todas = TODAS
lb.puntoventa = Punto Venta
@ -393,6 +397,9 @@ indexController.mniRelatorioDescontos.label = Descuentos
indexController.mniRelatorioDepositos.label=Cierre Cnt Contábil / Depósitos
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
relatorioPosicaoCaixaAnaliticoController.lbPuntoVenta.value=Punto de venta
relatorioPosicaoCaixaAnaliticoController.lbEmpresa.value=Empresa
relatorioPosicaoCaixaAnaliticoController.lbNumero.value=Numero punto de venta
@ -8445,3 +8452,19 @@ busquedaTarifaEmbarcadaController.window.title = Alteração de Preço - Embarca
editarTarifaEmbarcadaController.window.title = Tarifa Embarcada
editarTarifaEmbarcadaController.btnFechar.MSG.Deseja.Borrar = Deseja Eliminar?
editarTarifaEmbarcadaController.btnFechar.MSG.SuscbrirOK = Tarifa Embarcada Registrada com Sucesso.
# Reenvio BPe
busquedaReenvioBpeController.window.title = Reenvio BP-e
reenvioBpeController.lbDtInicio.value = Fecha Venta Inicio
reenvioBpeController.lbDtFim.value = Fecha Venta Fin
reenvioBpeController.lbl.btnBuscarBpe = Buscar
reenvioBpeController.lbl.numBpeSerie = Número/Série
reenvioBpeController.lbl.motivo = Motivo
reenvioBpeController.lbl.rejeicaoContingencia = Rejeição Contingência
reenvioBpeController.lbl.codstat = CODSTAT
reenvioBpeController.lbl.reenviar = Reenviar
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

View File

@ -73,6 +73,10 @@ lb.ate = até
lb.dataIni.value = Data Inicial
lb.dataFin.value = Data Final
lb.empresa = Empresa
lb.dataVenda = Data Venda
lb.uf = UF
lb.numBpe = Número BP-e
lb.chbpe = Chave BP-e
lb.todas = TODAS
lb.puntoventa = Ponto de Venda (Agência)
@ -401,6 +405,7 @@ indexController.mniCustom.label = Customização Sistema
indexController.mniDispositivoVendaEmbarcada.label = Dispositivo Venda Embarcada
indexController.mniAutorizacaoUsoSerieEmbarcada.label = Autorização de uso de Série por Dispositivo
indexController.mniPainelBpe.label = Painel BPe
indexController.mniReenvioBpe.label = Reenvio BP-e
indexController.mniEscola.label = Escola
indexController.mniCurso.label = Curso
@ -409,6 +414,7 @@ indexController.mniRelatorioDescontos.label = Vendas com Desconto
indexController.mniRelatorioDepositos.label=Fechamento Conta Corrente / Depósitos
indexController.mniRelatorioDepositosDetalhados.label=Depósitos Detalhados
indexController.mniRelatorioPosicaoCaixaAnalitico.label=Numeração Lógica
relatorioPosicaoCaixaAnaliticoController.lbPuntoVenta.value=Ponto de Venda
relatorioPosicaoCaixaAnaliticoController.lbEmpresa.value=Empresa
relatorioPosicaoCaixaAnaliticoController.lbNumero.value=Número Ponto de Venda
@ -8977,3 +8983,19 @@ editarTarifaEmbarcadaController.window.title = Tarifa Embarcada
editarTarifaEmbarcadaController.btnFechar.MSG.Deseja.Borrar = Deseja Eliminar?
editarTarifaEmbarcadaController.btnFechar.MSG.SuscbrirOK = Tarifa Embarcada Registrada com Sucesso.
editarTarifaEmbarcadaController.btnFechar.MSG.borrarOK = Tarifa Embarcada Excluida com Sucesso.
# Reenvio BPe
busquedaReenvioBpeController.window.title = Reenvio BP-e
reenvioBpeController.lbDtInicio.value = Data Venda Inicial
reenvioBpeController.lbDtFim.value = Data Venda Final
reenvioBpeController.lbl.btnBuscarBpe = Buscar
reenvioBpeController.lbl.numBpeSerie = Número/Série
reenvioBpeController.lbl.motivo = Motivo
reenvioBpeController.lbl.rejeicaoContingencia = Rejeição Contingência
reenvioBpeController.lbl.codstat = CODSTAT
reenvioBpeController.lbl.reenviar = Reenviar
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

View File

@ -0,0 +1,119 @@
<?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="winReenvioBpe"?>
<?taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c"?>
<zk xmlns="http://www.zkoss.org/2005/zul">
<window id="winReenvioBpe" apply="${reenvioBpeController}"
contentStyle="overflow:auto"
height="600px" width="900px" 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="50%" mold="rounded"
format="dd/MM/yyyy" maxlength="10" />
<label
value="${c:l('reenvioBpeController.lbDtFim.value')}" />
<datebox id="dtFim" width="50%" 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="@{winReenvioBpe$composer.lsEmpresa}"
width="100%" />
</row>
<row spans="1, 3">
<label
value="${c:l('lb.uf')}" />
<listbox id="estadoList" rows="10" vflex="false"
width="90%" multiple="true" checkmark="true"
height="100px"
use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox">
</listbox>
</row>
</rows>
</grid>
<grid fixedLayout="true">
<columns>
<column width="15%" />
<column width="48%" />
<column width="12%" />
<column width="25%" />
</columns>
<rows>
<row>
<label
value="${c:l('lb.chbpe')}" />
<textbox id="txtChBpe" width="95%"/>
<label
value="${c:l('lb.numBpe')}" />
<textbox id="txtNumBpe" />
</row>
<row spans="1,3">
<label
value="${c:l('reenvioBpeController.lbl.codigoRejeicao')}" />
<textbox id="txtCodigoRejeicao" width="98%"/>
</row>
</rows>
</grid>
<toolbar>
<button id="btnBuscarBpe" image="/gui/img/find.png"
label="${c:l('reenvioBpeController.lbl.btnBuscarBpe')}" />
</toolbar>
<label value="${c:l('reenvioBpeController.lbl.selecioneReenvio')}" style="font-weight:bold;"/>
<listbox id="bpeReenvioList"
use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox"
vflex="true" multiple="true" checkmark="true">
<listhead sizable="true">
<listheader image="/gui/img/create_doc.gif"
label="${c:l('lb.empresa')}" width="250px" />
<listheader image="/gui/img/create_doc.gif"
label="${c:l('lb.uf')}" width="50px" align="center"/>
<listheader image="/gui/img/create_doc.gif"
label="${c:l('lb.dataVenda')}" width="100px" />
<listheader image="/gui/img/create_doc.gif"
label="${c:l('reenvioBpeController.lbl.numBpeSerie')}" width="100px" align="center"/>
<listheader image="/gui/img/create_doc.gif"
label="${c:l('reenvioBpeController.lbl.codstat')}" width="100px" align="center"/>
<listheader image="/gui/img/create_doc.gif"
label="${c:l('lb.chbpe')}" width="150px"/>
<listheader image="/gui/img/create_doc.gif"
label="${c:l('reenvioBpeController.lbl.motivo')}" width="200px"/>
<listheader image="/gui/img/create_doc.gif"
label="${c:l('reenvioBpeController.lbl.rejeicaoContingencia')}" width="300px" />
</listhead>
</listbox>
<toolbar>
<button id="btnReenviarBpe" image="/gui/img/ok.png"
label="${c:l('reenvioBpeController.lbl.reenviar')}" />
</toolbar>
</window>
</zk>