From 53d3a9e140dba8ff6272a339d64c1ad6221ea038 Mon Sep 17 00:00:00 2001 From: gleimar Date: Thu, 14 Mar 2013 14:11:38 +0000 Subject: [PATCH] - Nova funcionalidade de categoria com tempo para ativar e desativar git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@25194 d1611594-4594-4d17-8e1d-87c2c4800839 --- ...quedaConfiguracionCategoriaController.java | 1 - ...ditarConfiguracionCategoriaController.java | 44 ++++- ...cionCategoriaDatosCategoriaController.java | 59 ++++++- web/WEB-INF/i3-label_pt_BR.label | 8 +- .../editarConfiguracionCategorias.zul | 161 +++++++++--------- ...rConfiguracionCategoriasDatosCategoria.zul | 26 ++- 6 files changed, 208 insertions(+), 91 deletions(-) diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/configuracioneccomerciales/BusquedaConfiguracionCategoriaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/configuracioneccomerciales/BusquedaConfiguracionCategoriaController.java index 88a800f0a..36e09eb90 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/configuracioneccomerciales/BusquedaConfiguracionCategoriaController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/configuracioneccomerciales/BusquedaConfiguracionCategoriaController.java @@ -84,7 +84,6 @@ public class BusquedaConfiguracionCategoriaController extends MyGenericForwardCo configCategoriaBusqueda.addFilterEqual("activo", Boolean.TRUE); configCategoriaBusqueda.addSortAsc("empresa.nombempresa"); - configCategoriaBusqueda.addFilterIn("empresa", UsuarioLogado.getUsuarioLogado().getEmpresa()); diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/configuracioneccomerciales/EditarConfiguracionCategoriaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/configuracioneccomerciales/EditarConfiguracionCategoriaController.java index 162279e99..29a72556c 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/configuracioneccomerciales/EditarConfiguracionCategoriaController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/configuracioneccomerciales/EditarConfiguracionCategoriaController.java @@ -27,8 +27,10 @@ import org.zkoss.zul.Combobox; import org.zkoss.zul.Comboitem; import org.zkoss.zul.Decimalbox; import org.zkoss.zul.Intbox; +import org.zkoss.zul.Label; import org.zkoss.zul.Radio; import org.zkoss.zul.Row; +import org.zkoss.zul.Spinner; import org.zkoss.zul.Tab; import org.zkoss.zul.api.Timebox; @@ -147,6 +149,11 @@ public class EditarConfiguracionCategoriaController extends MyGenericForwardComp private Checkbox chkPrecoPedagio; private Checkbox chkPrecoSeguro; private Checkbox chkPrecoOutros; + private Label lblMsgTiempo; + private Spinner spnHora; + private Spinner spnMinuto; + private Radio rdVendaAntecipadaSi; + private Radio rdVendaAntecipadaNo; public List getLsCategorias() { @@ -587,13 +594,28 @@ public class EditarConfiguracionCategoriaController extends MyGenericForwardComp public void onClick$btnAdicionarDesconto(Event ev) throws InterruptedException { if (cmbCategorias.getSelectedItem() == null) { Messagebox.show( - Labels.getLabel("MSG.Error.combobox"), + Labels.getLabel("editarConfiguracionCategoriaController.msg.validacaoCategoria"), Labels.getLabel("editarConfiguracionCategoriaController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); cmbCategorias.focus(); return; } + + if (rdVendaAntecipadaSi.isChecked()){ + int hora = (spnHora.getValue() == null)?0:spnHora.getValue(); + int minuto = (spnMinuto.getValue() == null)?0:spnMinuto.getValue(); + if ( (hora + minuto) == 0){ + Messagebox.show( + Labels.getLabel("editarConfiguracionCategoriaController.msg.validacaoVentaAntecipada"), + Labels.getLabel("editarConfiguracionCategoriaController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + + spnHora.focus(); + + return; + } + } cmbCategorias.getValue(); cantAutorizada.getValue(); @@ -622,6 +644,12 @@ public class EditarConfiguracionCategoriaController extends MyGenericForwardComp cDescuento.setIndImporteSeguro(chkPrecoSeguro.isChecked()); cDescuento.setIndImporteTxEmbarque(chkPrecoTxEmbarque.isChecked()); + if (rdVendaAntecipadaSi.isChecked()){ + cDescuento.setTiempoDesactivar(spnHora.getValue(), spnMinuto.getValue()); + }else{ + cDescuento.setTiempoActivar(spnHora.getValue(), spnMinuto.getValue()); + } + if (cmbIndGeneraFeriado.getSelectedItem() != null) { cDescuento.setIndAplicaFeriado((String) cmbIndGeneraFeriado.getSelectedItem().getValue()); } @@ -656,8 +684,8 @@ public class EditarConfiguracionCategoriaController extends MyGenericForwardComp } else { onClick$radioPor(null); } - - cmbIndGeneraFeriado.setSelectedItem(null); + onClick$rdVendaAntecipadaNo(null); + rdVendaAntecipadaNo.setChecked(true); } else { Messagebox.show( Labels.getLabel("MSG.Registro.Existe"), @@ -1171,6 +1199,16 @@ public class EditarConfiguracionCategoriaController extends MyGenericForwardComp descuentoPorc.setConstraint("no empty, no zero, no negative"); } + public void onClick$rdVendaAntecipadaSi(Event ev) { + spnHora.setValue(0); + spnMinuto.setValue(0); + lblMsgTiempo.setValue(Labels.getLabel("editarConfiguracionCategoriaController.lblVentaAntecipadaTempoDesactivar.value")); + } + public void onClick$rdVendaAntecipadaNo(Event ev) { + spnHora.setValue(0); + spnMinuto.setValue(0); + lblMsgTiempo.setValue(Labels.getLabel("editarConfiguracionCategoriaController.lblVentaAntecipadaTempoActivar.value")); + } public void onClick$rdCuotaSi(Event ev) { mudarCamposCuota(true); } diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/configuracioneccomerciales/EditarConfiguracionCategoriaDatosCategoriaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/configuracioneccomerciales/EditarConfiguracionCategoriaDatosCategoriaController.java index be04ee6c0..6ed9dc5e2 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/configuracioneccomerciales/EditarConfiguracionCategoriaDatosCategoriaController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/configuracioneccomerciales/EditarConfiguracionCategoriaDatosCategoriaController.java @@ -9,6 +9,7 @@ import java.math.BigDecimal; 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.Executions; import org.zkoss.zk.ui.WrongValueException; @@ -16,8 +17,10 @@ import org.zkoss.zk.ui.event.Event; import org.zkoss.zul.Checkbox; import org.zkoss.zul.Combobox; import org.zkoss.zul.Comboitem; +import org.zkoss.zul.Label; import org.zkoss.zul.Radio; import org.zkoss.zul.Row; +import org.zkoss.zul.Spinner; import org.zkoss.zul.Textbox; import org.zkoss.zul.api.Timebox; @@ -48,6 +51,12 @@ public class EditarConfiguracionCategoriaDatosCategoriaController extends MyGene private Radio rdCuotaSi; private Radio rdTrecho; private Combobox cmbIndGeneraFeriado; + private Label lblMsgTiempo; + private Spinner spnHora; + private Spinner spnMinuto; + private Radio rdVendaAntecipadaSi; + private Radio rdVendaAntecipadaNo; + @Override public void doAfterCompose(Component comp) throws Exception { @@ -92,18 +101,53 @@ public class EditarConfiguracionCategoriaDatosCategoriaController extends MyGene cmbIndGeneraFeriado.setSelectedIndex(2); } } + + if (categoriaDescuento.getTiempoActivar()!=null){ + preencherDataHora(categoriaDescuento.getTiempoActivar()); + rdVendaAntecipadaNo.setChecked(true); + }else if (categoriaDescuento.getTiempoDesactivar() !=null){ + rdVendaAntecipadaSi.setChecked(true); + preencherDataHora(categoriaDescuento.getTiempoDesactivar()); + }else{ + rdVendaAntecipadaNo.setChecked(true); + } + + } + private void preencherDataHora(Integer tiempoMinutos){ + if (tiempoMinutos != null){ + spnHora.setValue(tiempoMinutos/60); + spnMinuto.setValue(tiempoMinutos%60); + } } - public void onClick$btnSalvar(Event ev) { + public void onClick$btnSalvar(Event ev) throws InterruptedException { if (radioImprimePassagem.isSelected()) { categoriaDescuento.setIndImprimeBoleto(Boolean.TRUE); } else if (radioNaoImprimePassagem.isSelected()) { categoriaDescuento.setIndImprimeBoleto(Boolean.FALSE); } + if (rdVendaAntecipadaSi.isChecked()){ + int hora = (spnHora.getValue() == null)?0:spnHora.getValue(); + int minuto = (spnMinuto.getValue() == null)?0:spnMinuto.getValue(); + if ( (hora + minuto) == 0){ + Messagebox.show( + Labels.getLabel("editarConfiguracionCategoriaController.msg.validacaoVentaAntecipada"), + Labels.getLabel("editarConfiguracionCategoriaController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + + spnHora.focus(); + + return; + } + } categoriaDescuento.setIndAplicaFeriado((String) cmbIndGeneraFeriado.getSelectedItem().getValue()); categoriaDescuento.setIndCuota(false); categoriaDescuento.setIndCuotaTramo(false); - + if (rdVendaAntecipadaSi.isChecked()){ + categoriaDescuento.setTiempoDesactivar(spnHora.getValue(), spnMinuto.getValue()); + }else{ + categoriaDescuento.setTiempoActivar(spnHora.getValue(), spnMinuto.getValue()); + } if (rdCuotaSi.isChecked()){ if (timeTempoPermitir.getValue() == null){ throw new WrongValueException(timeTempoPermitir, Labels.getLabel("MSG.CONSTRAINT.CONSTRAINTNUMBERBDOBLIGATORIO")); @@ -177,4 +221,15 @@ public class EditarConfiguracionCategoriaDatosCategoriaController extends MyGene combobox.removeItemAt(i); } } + + public void onClick$rdVendaAntecipadaSi(Event ev) { + spnHora.setValue(0); + spnMinuto.setValue(0); + lblMsgTiempo.setValue(Labels.getLabel("editarConfiguracionCategoriaController.lblVentaAntecipadaTempoDesactivar.value")); + } + public void onClick$rdVendaAntecipadaNo(Event ev) { + spnHora.setValue(0); + spnMinuto.setValue(0); + lblMsgTiempo.setValue(Labels.getLabel("editarConfiguracionCategoriaController.lblVentaAntecipadaTempoActivar.value")); + } } diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 45778ba89..85b6883b0 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -7,7 +7,7 @@ # . . = XXX #Versao do VentaBoleto: -versao = ADM_20130312_1RC127 +versao = ADM_20130314_1RC128 # MSG Defaut: MSG.CONSTRAINT.PORCENTAGEM = Os valores devem estar entre 0 e 100 @@ -983,6 +983,12 @@ editarConfiguracionCategoriaController.lblComponentesPrecoTxEmbarque.value=Taxa editarConfiguracionCategoriaController.lblComponentesPrecoPedagio.value=Pedágio editarConfiguracionCategoriaController.lblComponentesPrecoSeguro.value=Seguro editarConfiguracionCategoriaController.lblComponentesPrecoOutros.value=Outros +editarConfiguracionCategoriaController.lblVentaAntecipada.value=Venda Antecipada +editarConfiguracionCategoriaController.lblVentaAntecipadaTempo.value=Tempo (HH:mm) +editarConfiguracionCategoriaController.lblVentaAntecipadaTempoDesactivar.value=O tipo de passagem firá disponível até X horas antes do serviço sair +editarConfiguracionCategoriaController.lblVentaAntecipadaTempoActivar.value=O tipo de passagem firá disponível a partir de X horas antes do serviço sair +editarConfiguracionCategoriaController.msg.validacaoVentaAntecipada=Para venda antecipada, é obrigatório informar o tempo +editarConfiguracionCategoriaController.msg.validacaoCategoria=É necessário informar uma categoria # Detener a pantalla de Pesquisa busquedaCatalogoDeParadaController.window.title = Localidade diff --git a/web/gui/configuraciones_comerciales/editarConfiguracionCategorias.zul b/web/gui/configuraciones_comerciales/editarConfiguracionCategorias.zul index 00c06385c..77a959a7f 100644 --- a/web/gui/configuraciones_comerciales/editarConfiguracionCategorias.zul +++ b/web/gui/configuraciones_comerciales/editarConfiguracionCategorias.zul @@ -6,8 +6,8 @@ @@ -62,7 +62,7 @@ - + @@ -75,18 +75,16 @@ value="${c:l('editarConfiguracionCategoriaController.lblCategorias.value')}" /> - + + + + - - - - - + + + + + + - - - - + + + + + + + + + + + + + + + - - - - - - - - - - - - - + - + @@ -244,7 +251,7 @@ - + @@ -293,7 +300,7 @@ - + @@ -331,7 +338,7 @@ - + @@ -369,7 +376,7 @@ - + @@ -411,11 +418,5 @@ - - - "Haga Double Click en Grid para agregar el período del - descuento." - - diff --git a/web/gui/configuraciones_comerciales/editarConfiguracionCategoriasDatosCategoria.zul b/web/gui/configuraciones_comerciales/editarConfiguracionCategoriasDatosCategoria.zul index 3284cdcc3..00b3e1ad1 100644 --- a/web/gui/configuraciones_comerciales/editarConfiguracionCategoriasDatosCategoria.zul +++ b/web/gui/configuraciones_comerciales/editarConfiguracionCategoriasDatosCategoria.zul @@ -9,7 +9,7 @@ border="normal" title="${c:l('editarConfiguracionCategoriaController.window.title')}" apply="${editarConfiguracionCategoriaDatosCategoriaController}" - width="400px" contentStyle="overflow:auto"> + width="500px" contentStyle="overflow:auto">