bug#17121

qua:Wallysson
dev:Thiago

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@99566 d1611594-4594-4d17-8e1d-87c2c4800839
master
frederico 2020-01-03 20:01:01 +00:00
parent efecb0fe74
commit ba504b54aa
10 changed files with 558 additions and 2 deletions

View File

@ -0,0 +1,174 @@
package com.rjconsultores.ventaboletos.web.gui.controladores.tarifas;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
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.zk.ui.event.EventListener;
import org.zkoss.zul.Combobox;
import org.zkoss.zul.Paging;
import com.rjconsultores.ventaboletos.entidad.Cotacao;
import com.rjconsultores.ventaboletos.entidad.Moneda;
import com.rjconsultores.ventaboletos.service.MonedaService;
import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer;
import com.rjconsultores.ventaboletos.web.utilerias.MyListbox;
import com.rjconsultores.ventaboletos.web.utilerias.paginacion.HibernateSearchObject;
import com.rjconsultores.ventaboletos.web.utilerias.paginacion.PagedListWrapper;
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderCotacao;
@Controller("busquedaCotacaoController")
@Scope("prototype")
public class BusquedaCotacaoController extends MyGenericForwardComposer {
private static final long serialVersionUID = 1L;
@Autowired
private transient PagedListWrapper<Cotacao> plwCotacao;
private MyListbox cotacaolList;
private Paging pagingCtrlCotacao;
@Autowired
private MonedaService monedaService;
private Combobox cmbMoneda;
private List<Moneda> lsMoneda;
private org.zkoss.zul.Checkbox chcExibirInativos;
@Override
public void doAfterCompose(Component comp) throws Exception {
lsMoneda = monedaService.obterTodosExcetoReais();
super.doAfterCompose(comp);
cotacaolList.setItemRenderer(new RenderCotacao());
cotacaolList.addEventListener("onDoubleClick", new EventListener() {
@Override
public void onEvent(Event event) throws Exception {
Cotacao rc = (Cotacao) cotacaolList.getSelected();
verCotacao(rc);
}
});
refreshListaPesquisa(Boolean.FALSE);
}
@SuppressWarnings({ "rawtypes", "unchecked" })
private void verCotacao(Cotacao c) {
if (c == null) {
return;
}
Map args = new HashMap();
args.put("cotacao", c);
args.put("cotacaoList", cotacaolList);
args.put("busquedaCotacaoController", this);
openWindow("/gui/tarifas/editarCotacao.zul",
Labels.getLabel("editarCotacaoController.window.title"), args, MODAL);
}
public void refreshListaPesquisa(Boolean exibirMensagemPesquisaVazia) {
HibernateSearchObject<Cotacao> excepcionRedondoBusqueda = new HibernateSearchObject<Cotacao>(Cotacao.class, pagingCtrlCotacao.getPageSize());
if (!chcExibirInativos.isChecked()) {
excepcionRedondoBusqueda.addFilterEqual("activo", Boolean.TRUE);
}
excepcionRedondoBusqueda.addSort("fecmodif", true);
Moneda moneda = (Moneda) (cmbMoneda.getSelectedItem() != null ? cmbMoneda.getSelectedItem().getValue() : null);
if (moneda != null) {
excepcionRedondoBusqueda.addFilterEqual("moneda", moneda);
}
plwCotacao.init(excepcionRedondoBusqueda, cotacaolList, pagingCtrlCotacao);
if (cotacaolList.getData().length == 0 && exibirMensagemPesquisaVazia) {
try {
Messagebox.show(Labels.getLabel("MSG.ningunRegistro"),
Labels.getLabel("editarCotacaoController.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
} catch (InterruptedException ex) {
}
}
}
public void onClick$btnPesquisa(Event ev) throws InterruptedException {
refreshListaPesquisa(Boolean.TRUE);
}
public void onClick$btnRefresh(Event ev) {
refreshListaPesquisa(Boolean.TRUE);
}
public void onClick$btnNovo(Event ev) {
verCotacao(new Cotacao());
}
public PagedListWrapper<Cotacao> getPlwCotacao() {
return plwCotacao;
}
public void setPlwCotacao(PagedListWrapper<Cotacao> plwCotacao) {
this.plwCotacao = plwCotacao;
}
public MyListbox getCotacaolList() {
return cotacaolList;
}
public void setCotacaolList(MyListbox cotacaolList) {
this.cotacaolList = cotacaolList;
}
public Paging getPagingCtrlCotacao() {
return pagingCtrlCotacao;
}
public void setPagingCtrlCotacao(Paging pagingCtrlCotacao) {
this.pagingCtrlCotacao = pagingCtrlCotacao;
}
public MonedaService getMonedaService() {
return monedaService;
}
public void setMonedaService(MonedaService monedaService) {
this.monedaService = monedaService;
}
public Combobox getCmbMoneda() {
return cmbMoneda;
}
public void setCmbMoneda(Combobox cmbMoneda) {
this.cmbMoneda = cmbMoneda;
}
public List<Moneda> getLsMoneda() {
return lsMoneda;
}
public void setLsMoneda(List<Moneda> lsMoneda) {
this.lsMoneda = lsMoneda;
}
public org.zkoss.zul.Checkbox getChcExibirInativos() {
return chcExibirInativos;
}
public void setChcExibirInativos(org.zkoss.zul.Checkbox chcExibirInativos) {
this.chcExibirInativos = chcExibirInativos;
}
}

View File

@ -0,0 +1,153 @@
package com.rjconsultores.ventaboletos.web.gui.controladores.tarifas;
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.zk.ui.Component;
import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.event.Event;
import com.rjconsultores.ventaboletos.entidad.Cotacao;
import com.rjconsultores.ventaboletos.entidad.Moneda;
import com.rjconsultores.ventaboletos.service.CotacaoService;
import com.rjconsultores.ventaboletos.service.MonedaService;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar;
import com.rjconsultores.ventaboletos.web.utilerias.MyDatebox;
import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer;
import com.rjconsultores.ventaboletos.web.utilerias.MyListbox;
import com.rjconsultores.ventaboletos.web.utilerias.MyTextboxDecimal;
@Controller("editarCotacaoController")
@Scope("prototype")
public class EditarCotacaoController extends MyGenericForwardComposer {
private static final long serialVersionUID = 1L;
private static Logger log = Logger.getLogger(EditarCotacaoController.class);
@Autowired
private MonedaService monedaService;
@Autowired
private CotacaoService cotacaoService;
private List<Moneda> lsMoneda;
private MyComboboxEstandar cmbMoneda;
private MyTextboxDecimal txtValor;
private Cotacao cotacao;
private MyListbox cotacaoList;
private MyDatebox txtFecmodif;
private BusquedaCotacaoController busquedaCotacaoController;
@Override
public void doAfterCompose(Component comp) throws Exception {
lsMoneda = monedaService.obterTodosExcetoReais();
super.doAfterCompose(comp);
cotacao = (Cotacao) Executions.getCurrent().getArg().get("cotacao");
cotacaoList = (MyListbox) Executions.getCurrent().getArg().get("cotacaoList");
busquedaCotacaoController = (BusquedaCotacaoController) Executions.getCurrent().getArg().get("busquedaCotacaoController");
txtFecmodif.setDisabled(Boolean.TRUE);
if (cotacao.getCotacaoId() == null) {
txtFecmodif.setValue(new Date());
} else {
txtFecmodif.setValue(cotacao.getFecmodif());
txtValor.setDisabled(Boolean.TRUE);
cmbMoneda.setDisabled(Boolean.TRUE);
}
}
public void onClick$btnSalvar(Event ev) {
if (cotacao.getCotacaoId() == null) {
if (txtValor.getValueDecimal() == null && cmbMoneda.getSelectedItem() == null) {
return;
}
cotacao.setActivo(Boolean.TRUE);
cotacao.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
cotacao.setFecmodif(new Date());
cotacao.setValor(txtValor.getValueDecimal());
cotacaoService.inativarCotacoesAntigas(cotacao.getMoneda());
cotacaoService.suscribir(cotacao);
cotacaoList.addItemNovo(cotacao);
busquedaCotacaoController.refreshListaPesquisa(Boolean.FALSE);
}
closeWindow();
}
public MyComboboxEstandar getCmbMoneda() {
return cmbMoneda;
}
public void setCmbMoneda(MyComboboxEstandar cmbMoneda) {
this.cmbMoneda = cmbMoneda;
}
public MonedaService getMonedaService() {
return monedaService;
}
public void setMonedaService(MonedaService monedaService) {
this.monedaService = monedaService;
}
public CotacaoService getCotacaoService() {
return cotacaoService;
}
public void setCotacaoService(CotacaoService cotacaoService) {
this.cotacaoService = cotacaoService;
}
public List<Moneda> getLsMoneda() {
return lsMoneda;
}
public void setLsMoneda(List<Moneda> lsMoneda) {
this.lsMoneda = lsMoneda;
}
public MyTextboxDecimal getTxtValor() {
return txtValor;
}
public void setTxtValor(MyTextboxDecimal txtValor) {
this.txtValor = txtValor;
}
public Cotacao getCotacao() {
return cotacao;
}
public void setCotacao(Cotacao cotacao) {
this.cotacao = cotacao;
}
public MyListbox getCotacaoList() {
return cotacaoList;
}
public void setCotacaoList(MyListbox cotacaoList) {
this.cotacaoList = cotacaoList;
}
public MyDatebox getTxtFecmodif() {
return txtFecmodif;
}
public void setTxtFecmodif(MyDatebox txtFecmodif) {
this.txtFecmodif = txtFecmodif;
}
}

View File

@ -0,0 +1,26 @@
package com.rjconsultores.ventaboletos.web.utilerias.menu.item.tarifas;
import org.zkoss.util.resource.Labels;
import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria;
import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema;
public class ItemMenuCotacao extends DefaultItemMenuSistema {
public ItemMenuCotacao() {
super("indexController.mniCotacao.label");
}
@Override
public String getClaveMenu() {
return "COM.RJCONSULTORES.ADMINISTRACION.GUI.TARIFAS.MENU.COTACAO";
}
@Override
public void ejecutar() {
PantallaUtileria.openWindow("/gui/tarifas/busquedaCotacao.zul",
Labels.getLabel("busquedaCotacaoController.window.title"), getArgs(), desktop);
}
}

View File

@ -43,7 +43,7 @@ confComerciales=com.rjconsultores.ventaboletos.web.utilerias.menu.item.confcomer
confComerciales.precioVentaja=com.rjconsultores.ventaboletos.web.utilerias.menu.item.tarifas.ItemMenuPrecioVentaja
confComerciales.secretaria=com.rjconsultores.ventaboletos.web.utilerias.menu.item.confcomerciales.ItemMenuSecretaria
confComerciales.convenio=com.rjconsultores.ventaboletos.web.utilerias.menu.item.confcomerciales.ItemMenuConvenio
#confComerciales.tipoCambioCiudad=com.rjconsultores.ventaboletos.web.utilerias.menu.item.confcomerciales.ItemMenuTipoCambioCiudad
confComerciales.tipoCambioCiudad=com.rjconsultores.ventaboletos.web.utilerias.menu.item.confcomerciales.ItemMenuTipoCambioCiudad
confComerciales.motivoCancelacion=com.rjconsultores.ventaboletos.web.utilerias.menu.item.confcomerciales.ItemMenuMotivoCancelacion
confComerciales.motivoDevolucaoBilhete=com.rjconsultores.ventaboletos.web.utilerias.menu.item.confcomerciales.ItemMenuMotivoDevolucaoBilhete
confComerciales.configuracionCancelacion=com.rjconsultores.ventaboletos.web.utilerias.menu.item.confcomerciales.ItemMenuConfiguracionCancelacion
@ -124,6 +124,7 @@ tarifas.segopcional.seguradoraEmpresa=com.rjconsultores.ventaboletos.web.utileri
tarifas.segopcional.segVKM=com.rjconsultores.ventaboletos.web.utilerias.menu.item.tarifas.ItemMenuSegVKM
tarifas.excepcionPeaje=com.rjconsultores.ventaboletos.web.utilerias.menu.item.confcomerciales.ItemMenuExcepcionPeaje
tarifas.redondeo=com.rjconsultores.ventaboletos.web.utilerias.menu.item.tarifas.ItemMenuRedondeo
tarifas.cotacao=com.rjconsultores.ventaboletos.web.utilerias.menu.item.tarifas.ItemMenuCotacao
pricing=com.rjconsultores.ventaboletos.web.utilerias.menu.item.pricing.MenuPricing
pricing.general=com.rjconsultores.ventaboletos.web.utilerias.menu.item.pricing.ItemMenuPricing
pricing.especifico=com.rjconsultores.ventaboletos.web.utilerias.menu.item.pricing.ItemMenuPricingEspecifico

View File

@ -0,0 +1,33 @@
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.entidad.Cotacao;
public class RenderCotacao implements ListitemRenderer {
public void render(Listitem lstm, Object o) throws Exception {
Cotacao cotacao = (Cotacao) o;
Listcell lc = new Listcell();
lc = new Listcell(cotacao.getCotacaoId().toString());
lc.setParent(lstm);
lc = new Listcell(cotacao.getMoneda().getDescmoneda());
lc.setParent(lstm);
lc = new Listcell(cotacao.getValor().toString());
lc.setParent(lstm);
lc = new Listcell(cotacao.getActivo() == true ? "Sim" : "Não");
lc.setParent(lstm);
lstm.setAttribute("data", cotacao);
}
}

View File

@ -493,6 +493,7 @@
<value>com.rjconsultores.ventaboletos.entidad.ConfTotem</value>
<value>com.rjconsultores.ventaboletos.entidad.TarifaEmbarcada</value>
<value>com.rjconsultores.ventaboletos.entidad.TarifaEmbarcadaHist</value>
<value>com.rjconsultores.ventaboletos.entidad.Cotacao</value>
</list>
</property>

View File

@ -198,6 +198,7 @@ indexController.mniAutorizacionPerfil.label = Autorización perfil
indexController.mniEstacion.label = Estación
indexController.mniExcepcionRedondo.label = Excepción viaje ida y regreso
indexController.mniRedondeo.label = Reglas de redondeo
indexController.mniCotacao.label=Cotação
indexController.mniRedondeoMarca.label = Redondeo marca
indexController.mniComisionistaExterno.label = Comisionista externo
indexController.mniConvenio.label = Descuento
@ -4439,6 +4440,16 @@ busquedaRedondeoController.lhindaplicaartesp.label = Redondeo ARTESP
busquedaRedondeoController.colhdindaplicaartesp.label = ARTESP
busquedaRedondeoController.btnPesquisa.label = Búsqueda
# Cotacao
busquedaCotacaoController.window.title=Cotação
editarCotacaoController.window.title=Cotação
busquedaCotacaoController.moneda.label=Moeda
busquedaCotacaoController.exibirInativos.label=Exibir Inativos
busquedaCotacaoController.ativo.label=Ativo
busquedaCotacaoController.valor.label=Valor
busquedaCotacaoController.fecmodif.label=Data Criação
# Editar Redondeo
editarRedondeoController.window.title = Reglas de redondeo
editarRedondeoController.tabRedondeo.title = Redondeo

View File

@ -201,6 +201,7 @@ indexController.mniAutorizacionPerfil.label = Autorização Perfil
indexController.mniEstacion.label = Estação
indexController.mniExcepcionRedondo.label = Exceção Viagem Ida e Volta
indexController.mniRedondeo.label = Regras de Arredondamento
indexController.mniCotacao.label=Cotação
indexController.mniRedondeoMarca.label = Arredondamento Marca
indexController.mniComisionistaExterno.label = Comissionista Externo
indexController.mniConvenio.label = Desconto
@ -4666,6 +4667,16 @@ busquedaRedondeoController.lhindaplicaartesp.label = Arredondamento ARTESP
busquedaRedondeoController.colhdindaplicaartesp.label = ARTESP
busquedaRedondeoController.btnPesquisa.label = Pesquisa
# Cotacao
busquedaCotacaoController.window.title=Cotação
editarCotacaoController.window.title=Cotação
busquedaCotacaoController.moneda.label=Moeda
busquedaCotacaoController.exibirInativos.label=Exibir Inativos
busquedaCotacaoController.ativo.label=Ativo
busquedaCotacaoController.valor.label=Valor
busquedaCotacaoController.fecmodif.label=Data Criação
# Editar Arredondamento
editarRedondeoController.window.title = Regras de Arredondamento
editarRedondeoController.tabRedondeo.title = Arredondamento

View File

@ -0,0 +1,77 @@
<?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="winBusquedaCotacao"?>
<?taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c"?>
<zk xmlns="http://www.zkoss.org/2005/zul">
<window id="winBusquedaCotacao"
title="${c:l('busquedaCotacaoController.window.title')}"
apply="${busquedaCotacaoController}" contentStyle="overflow:auto"
height="420px" width="600px" border="normal">
<toolbar>
<button id="btnRefresh" image="/gui/img/refresh.png"
width="35px"
tooltiptext="${c:l('busquedaRedondeoController.btnRefresh.tooltiptext')}" />
<separator orient="vertical" />
<button id="btnNovo" image="/gui/img/add.png" width="35px"
tooltiptext="${c:l('busquedaRedondeoController.btnNovo.tooltiptext')}" />
<separator orient="vertical" />
<button id="btnCerrar" onClick="winBusquedaCotacao.detach()"
image="/gui/img/exit.png" width="35px"
tooltiptext="${c:l('busquedaRedondeoController.btnCerrar.tooltiptext')}" />
</toolbar>
<grid fixedLayout="true">
<columns>
<column width="30%" />
<column width="70%" />
</columns>
<rows>
<row>
<label
value="${c:l('busquedaCotacaoController.moneda.label')}" />
<combobox id="cmbMoneda"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
mold="rounded" buttonVisible="true" width="60%"
model="@{winBusquedaCotacao$composer.lsMoneda}" />
</row>
<row>
<checkbox id="chcExibirInativos"
label="${c:l('busquedaCotacaoController.exibirInativos.label')}" />
</row>
</rows>
</grid>
<toolbar>
<button id="btnPesquisa" image="/gui/img/find.png"
label="${c:l('busquedaRedondeoController.btnPesquisa.label')}" />
</toolbar>
<paging id="pagingCtrlCotacao" pageSize="15" />
<listbox id="cotacaolList"
use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox"
multiple="false" height="70%">
<listhead sizable="true">
<listheader image="/gui/img/builder.gif"
label="${c:l('lb.id')}" sort="auto(cotacaoId)" width="25%" />
<listheader image="/gui/img/builder.gif" width="25%"
label="${c:l('busquedaCotacaoController.moneda.label')}"
sort="auto(moneda.descmoneda)" />
<listheader image="/gui/img/builder.gif" width="25%"
label="${c:l('busquedaCotacaoController.valor.label')}"
sort="auto(valor)" />
<listheader image="/gui/img/builder.gif" width="25%"
label="${c:l('busquedaCotacaoController.ativo.label')}"
sort="auto(activo)" />
</listhead>
</listbox>
</window>
</zk>

View File

@ -0,0 +1,69 @@
<?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="winEditarCotacao"?>
<?taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c"?>
<zk xmlns="http://www.zkoss.org/2005/zul">
<window id="winEditarCotacao" border="normal"
apply="${editarCotacaoController}" width="300px" height="156px"
contentStyle="overflow:auto"
title="${c:l('editarCotacaoController.window.title')}">
<toolbar>
<hbox spacing="5px" style="padding:1px" align="right">
<button id="btnSalvar" height="20"
image="/gui/img/save.png" width="35px"
tooltiptext="${c:l('editarRedondeoController.btnSalvar.tooltiptext')}" />
<button id="btnFechar" height="20"
image="/gui/img/exit.png" width="35px"
onClick="winEditarCotacao.detach()"
tooltiptext="${c:l('editarRedondeoController.btnFechar.tooltiptext')}" />
</hbox>
</toolbar>
<grid fixedLayout="true">
<columns>
<column width="30%" />
<column width="70%" />
</columns>
<rows>
<row>
<label
value="${c:l('busquedaCotacaoController.fecmodif.label')}" />
<datebox id="txtFecmodif" width="90%"
use="com.rjconsultores.ventaboletos.web.utilerias.MyDatebox"
maxlength="10" />
</row>
<row>
<label id="lbMoneda"
value="${c:l('busquedaCotacaoController.moneda.label')}" />
<combobox id="cmbMoneda" width="90%" mold="rounded"
buttonVisible="true" constraint="no empty"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
model="@{winEditarCotacao$composer.lsMoneda}"
selectedItem="@{winEditarCotacao$composer.cotacao.moneda}" />
</row>
<row>
<label
value="${c:l('busquedaCotacaoController.valor.label')}" />
<textbox id="txtValor" width="100%" mold="rounded"
constraint="no empty, no zero, no negative, /([0-9]+(\,[0-9][0-9]?)?)?/"
use="com.rjconsultores.ventaboletos.web.utilerias.MyTextboxDecimal"
value="@{winEditarCotacao$composer.cotacao.valor,converter=com.rjconsultores.ventaboletos.web.utilerias.StringDecimalToDecimalConverter}"
precision="10" scale="2" />
</row>
</rows>
</grid>
</window>
</zk>