From 247895a959a684d442de12aada5d47f6ad815fa8 Mon Sep 17 00:00:00 2001 From: Leonardo Oliveira Date: Thu, 27 Jun 2024 12:14:11 -0300 Subject: [PATCH] Permitir assento com letra --- .../EditarDetDiagramaAutobusController.java | 39 +++++++++++++++---- ...cionCategoriaDatosCategoriaController.java | 7 +++- .../EditarDiagramaAutobusController.java | 12 +++++- .../EditarPricingAsientoController.java | 25 ++++++++++-- .../web/utilerias/ConstraintNumbersOnly.java | 15 +++++++ web/WEB-INF/i3-label_es_MX.label | 3 +- web/WEB-INF/i3-label_pt_BR.label | 3 +- .../editarDetDiagramaAutoBus.zul | 5 +-- web/gui/pricing/editarPricingAsiento.zul | 2 +- 9 files changed, 90 insertions(+), 21 deletions(-) create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/ConstraintNumbersOnly.java diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarDetDiagramaAutobusController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarDetDiagramaAutobusController.java index dcc094271..b1a01eaef 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarDetDiagramaAutobusController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarDetDiagramaAutobusController.java @@ -22,14 +22,17 @@ import org.zkoss.zul.Button; import org.zkoss.zul.Checkbox; import org.zkoss.zul.Combobox; import org.zkoss.zul.Comboitem; -import org.zkoss.zul.Intbox; import org.zkoss.zul.Row; +import com.rjconsultores.ventaboletos.constantes.Constantes; +import com.rjconsultores.ventaboletos.entidad.Constante; import com.rjconsultores.ventaboletos.entidad.DetDiagramaAutobus; import com.rjconsultores.ventaboletos.entidad.DiagramaAutobus; +import com.rjconsultores.ventaboletos.service.ConstanteService; import com.rjconsultores.ventaboletos.service.DetDiagramaAutobusService; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyTextbox; /** * @@ -41,12 +44,14 @@ public class EditarDetDiagramaAutobusController extends MyGenericForwardComposer @Autowired private DetDiagramaAutobusService detDiagramaAutobusService; + @Autowired + ConstanteService constanteService; private DetDiagramaAutobus detDiagramaAutobus; private Short numefila; private Short numecolumna; private DiagramaAutobus diagramaAutobus; private Checkbox chkVendible; - private Intbox txtAsiento; + private MyTextbox txtAsiento; private Button button; private Combobox cmbTipo; private Combobox cmbDireccion; @@ -61,6 +66,7 @@ public class EditarDetDiagramaAutobusController extends MyGenericForwardComposer public final static String ASIENTO = "ASIENTO"; private String itemCombo = ASIENTO; private String itemOrientacion = DetDiagramaAutobus.ORIENTACION_W; + private Boolean numAsientoComLetra = false; public DetDiagramaAutobus getDetDiagramaAutobus() { return detDiagramaAutobus; @@ -77,13 +83,16 @@ public class EditarDetDiagramaAutobusController extends MyGenericForwardComposer public void setChkVendible(Checkbox chkVendible) { this.chkVendible = chkVendible; } - + + @Override public void doAfterCompose(Component comp) throws Exception { detDiagramaAutobus = (DetDiagramaAutobus) Executions.getCurrent().getArg().get("detDiagramaAutobus"); - + Constante constNumAsientoComLetra = constanteService.buscarPorNomeConstante(Constantes.NUM_ASIENTO_CON_LETRA); + numAsientoComLetra = constNumAsientoComLetra.getValorconstante().equals("true"); + super.doAfterCompose(comp); - + numefila = (Short) Executions.getCurrent().getArg().get("numefila"); numecolumna = (Short) Executions.getCurrent().getArg().get("numecolumna"); diagramaAutobus = (DiagramaAutobus) Executions.getCurrent().getArg().get("autobusDiagrama"); @@ -120,7 +129,7 @@ public class EditarDetDiagramaAutobusController extends MyGenericForwardComposer if (!noEsAsiento) { - txtAsiento.setValue(Integer.parseInt(detDiagramaAutobus.getAsiento())); + txtAsiento.setValue(detDiagramaAutobus.getAsiento()); } rowAsiento.setVisible(!noEsAsiento); @@ -175,6 +184,15 @@ public class EditarDetDiagramaAutobusController extends MyGenericForwardComposer return; } + + if (!numAsientoComLetra && txtAsiento.getText().matches(".*[a-zA-Z]+.*")) { + Messagebox.show( + Labels.getLabel("editarDiagramaAutobusController.msg.asientoConLetra"), + Labels.getLabel("editarDiagramaAutobusController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + txtAsiento.focus(); + return; + } try { // checando se jah existe esse assento: @@ -300,7 +318,7 @@ public class EditarDetDiagramaAutobusController extends MyGenericForwardComposer chkVendible.setChecked(false); } else { - txtAsiento.setValue((Integer) null); + txtAsiento.setValue(null); chkVendible.setChecked(true); rowAsiento.setVisible(true); @@ -308,6 +326,7 @@ public class EditarDetDiagramaAutobusController extends MyGenericForwardComposer rowDireccion.setVisible(true); } } + public String getItemCombo() { return itemCombo; @@ -323,5 +342,9 @@ public class EditarDetDiagramaAutobusController extends MyGenericForwardComposer public void setItemOrientacion(String itemOrientacion) { this.itemOrientacion = itemOrientacion; - } + } + + public Boolean getNumAsientoComLetra() { + return numAsientoComLetra; + } } \ No newline at end of file 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 0e75774d8..5cbd004e1 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 @@ -201,7 +201,7 @@ public class EditarConfiguracionCategoriaDatosCategoriaController extends MyGene private CKeditor ckCustomizaRodapeCupomEmbarque; private Checkbox chkIndCustomizaRodapeCupomEmbarque; private Row rowCustomizaRodapeCupomEmbarque; - + private Boolean numAsientoComLetra = false; @Override public void doAfterCompose(Component comp) throws Exception { @@ -209,6 +209,9 @@ public class EditarConfiguracionCategoriaDatosCategoriaController extends MyGene categoriaDescuento = (CategoriaDescuento) Executions.getCurrent().getArg().get("categoriaDescuento"); lsTipoOcupacion = (List) Executions.getCurrent().getArg().get("lsTipoOcupacion"); + Constante constNumAsientoComLetra = constanteService.buscarPorNomeConstante(Constantes.NUM_ASIENTO_CON_LETRA); + numAsientoComLetra = constNumAsientoComLetra.getValorconstante().equals("true"); + super.doAfterCompose(comp); popularCombobox(cmbIndGeneraFeriado); @@ -720,7 +723,7 @@ public class EditarConfiguracionCategoriaDatosCategoriaController extends MyGene private Boolean validarCampoAssentosReservados() throws InterruptedException{ //Verifica se o campo possui numeros separados por ponto e virgula. //Não permite que outros caracteres sejam digitados. - if (!asientosReservados.getValue().equals("") && !asientosReservados.getValue().toString().matches("(([1-9]([0-9])+;)|([1-9]([0-9])+)|([1-9];)|([1-9][1-9][1-9])|[1-9])+")){ + if (!asientosReservados.getValue().equals("") && (!numAsientoComLetra && !asientosReservados.getValue().toString().matches("(([1-9]([0-9])+;)|([1-9]([0-9])+)|([1-9];)|([1-9][1-9][1-9])|[1-9])+"))){ Messagebox.show( Labels.getLabel("editarConfiguracionCategoriaController.msg.validacaoAssentosReservadosPontoeVirgula"), Labels.getLabel("editarConfiguracionCategoriaController.window.title"), diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarDiagramaAutobusController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarDiagramaAutobusController.java index 7cc10f26e..dfffaf164 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarDiagramaAutobusController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarDiagramaAutobusController.java @@ -28,9 +28,12 @@ import org.zkoss.zul.Intbox; import org.zkoss.zul.Messagebox; import org.zkoss.zul.Textbox; +import com.rjconsultores.ventaboletos.constantes.Constantes; +import com.rjconsultores.ventaboletos.entidad.Constante; import com.rjconsultores.ventaboletos.entidad.Corrida; import com.rjconsultores.ventaboletos.entidad.DetDiagramaAutobus; import com.rjconsultores.ventaboletos.entidad.DiagramaAutobus; +import com.rjconsultores.ventaboletos.service.ConstanteService; import com.rjconsultores.ventaboletos.service.CorridaService; import com.rjconsultores.ventaboletos.service.DiagramaAutobusService; import com.rjconsultores.ventaboletos.utilerias.ApplicationProperties; @@ -54,6 +57,8 @@ public class EditarDiagramaAutobusController extends MyGenericForwardComposer { private DiagramaAutobusService diagramaAutoBusService; @Autowired private CorridaService corridaService; + @Autowired + ConstanteService constanteService; private Textbox txtDescDiagrama; private Intbox txtCantasSientos; private MyListbox diagramaAutobusList; @@ -242,6 +247,7 @@ public class EditarDiagramaAutobusController extends MyGenericForwardComposer { private Button btn_7_25; private Button btn_7_26; private static Logger log = LogManager.getLogger(EditarDiagramaAutobusController.class); + private Boolean numAsientoComLetra = false; private Checkbox chkUsaVagaoFim; @@ -2377,9 +2383,11 @@ public class EditarDiagramaAutobusController extends MyGenericForwardComposer { @Override public void doAfterCompose(Component comp) throws Exception { diagramaAutobus = (DiagramaAutobus) Executions.getCurrent().getArg().get("diagramaAutobus"); - + Constante constNumAsientoComLetra = constanteService.buscarPorNomeConstante(Constantes.NUM_ASIENTO_CON_LETRA); + numAsientoComLetra = constNumAsientoComLetra.getValorconstante().equals("true"); + super.doAfterCompose(comp); - + if (diagramaAutobus.getDiagramaautobusId() != null) { diagramaAutobus = diagramaAutoBusService.obtenerID(diagramaAutobus.getDiagramaautobusId()); } diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/EditarPricingAsientoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/EditarPricingAsientoController.java index d6e744a82..5f9b6abe8 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/EditarPricingAsientoController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/pricing/EditarPricingAsientoController.java @@ -17,10 +17,13 @@ import org.zkoss.zhtml.Messagebox; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.Executions; import org.zkoss.zk.ui.event.Event; -import org.zkoss.zul.Intbox; +import org.zkoss.zul.Textbox; +import com.rjconsultores.ventaboletos.constantes.Constantes; +import com.rjconsultores.ventaboletos.entidad.Constante; import com.rjconsultores.ventaboletos.entidad.Pricing; import com.rjconsultores.ventaboletos.entidad.PricingAsiento; +import com.rjconsultores.ventaboletos.service.ConstanteService; import com.rjconsultores.ventaboletos.service.PricingAsientoService; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import com.rjconsultores.ventaboletos.web.utilerias.ConstraintPorcentagem; @@ -39,12 +42,16 @@ public class EditarPricingAsientoController extends MyGenericForwardComposer { private static final long serialVersionUID = 1L; @Autowired private PricingAsientoService pricingAsientoService; + @Autowired + ConstanteService constanteService; private PricingAsiento pricingAsiento; private MyListbox pricingAsientoList; private MyTextboxDecimal porcentaje; - private Intbox numeasiento; + private Textbox numeasiento; private ConstraintPorcentagem ct; private static Logger log = LogManager.getLogger(EditarPricingAsientoController.class); + private Boolean numAsientoComLetra = false; + @Override public void doAfterCompose(Component comp) throws Exception { @@ -53,13 +60,25 @@ public class EditarPricingAsientoController extends MyGenericForwardComposer { pricingAsiento = (PricingAsiento) Executions.getCurrent().getArg().get("pricingAsiento"); pricingAsientoList = (MyListbox) Executions.getCurrent().getArg().get("pricingAsientoList"); + Constante constNumAsientoComLetra = constanteService.buscarPorNomeConstante(Constantes.NUM_ASIENTO_CON_LETRA); + numAsientoComLetra = constNumAsientoComLetra.getValorconstante().equals("true"); + super.doAfterCompose(comp); } - public void onClick$btnAdicionarAsiento(Event ev) throws Exception { + public void onClick$btnAdicionarAsiento(Event ev) throws Exception { numeasiento.getValue(); porcentaje.getValue(); + if (!numAsientoComLetra && numeasiento.getText().matches(".*[a-zA-Z]+.*")) { + Messagebox.show( + Labels.getLabel("editarDiagramaAutobusController.msg.asientoConLetra"), + Labels.getLabel("editarDiagramaAutobusController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + numeasiento.focus(); + return; + } + List lsAsientos = pricingAsientoService.obtenerPricingCategoria(pricingAsiento.getPricing(), numeasiento.getValue()); try { diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/ConstraintNumbersOnly.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/ConstraintNumbersOnly.java new file mode 100644 index 000000000..e029d1577 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/ConstraintNumbersOnly.java @@ -0,0 +1,15 @@ +package com.rjconsultores.ventaboletos.web.utilerias; + +import org.zkoss.zk.ui.Component; +import org.zkoss.zk.ui.WrongValueException; +import org.zkoss.zul.Constraint; + +public class ConstraintNumbersOnly implements Constraint { + + @Override + public void validate(Component comp, Object value) throws WrongValueException { + if (!value.toString().matches("\\d+")) + throw new WrongValueException(comp, "Somente números "+value); + } + +} diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index 3a7b6d158..8030a08b6 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -3578,7 +3578,7 @@ editarConfiguracionCategoriaController.lblqtdMaximaVendaMes.value = Quantidade m editarConfiguracionCategoriaController.msg.modoFidelidadeNaoCinfigurado = Modulo de Fidelidad no configurado. Se debe configurar el Módulo Fidelidad antes de vincular este Tipo de Categoría. editarConfiguracionCategoriaController.msg.nuncaLiberarAssentosReservados = Debe tener asientos cuando se selecciona Nunca Liberar Reserva editarConfiguracionCategoriaController.msg.validacaoAssentosReservados = El numero de Asientos reservados no puede ser mayor que la cantidad autorizada. -editarConfiguracionCategoriaController.msg.validacaoAssentosReservadosPontoeVirgula = Digite Asientos separados por punto y coma. Asientos no deben de contener ceros a la izquierda. +editarConfiguracionCategoriaController.msg.validacaoAssentosReservadosPontoeVirgula = Digite Asientos separados por punto y coma. Asientos no deben de contener ceros a la izquierda o niguna letra. editarConfiguracionCategoriaController.msg.validacaoCategoria = Es necesário informar una categoria editarConfiguracionCategoriaController.msg.validacaoVentaAntecipada = Para venta anticipada, es obligatório informar el tiempo editarConfiguracionCategoriaController.permissoes.value = Permisos @@ -4274,6 +4274,7 @@ editarDiagramaAutobusController.lhentreAcentosLateralEsquerdaList.label = EAE editarDiagramaAutobusController.lhlateralDireitaList.label = LD editarDiagramaAutobusController.lhlateralEsquerdaList.label = LE editarDiagramaAutobusController.msg.asientoObligatorio = Informe el numero del asiento +editarDiagramaAutobusController.msg.asientoConLetra = El campo Asiento no puede contener letras # Pantalla coche Edición de Diagrama editarDiagramaAutobusController.window.title = Diagrama de autobús editarDispositivoVendaEmbarcadaController.MSG.empresaNaoInformada = Informe a empresa. diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 48a6599e3..5f5640495 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -3574,7 +3574,7 @@ editarConfiguracionCategoriaController.lblqtdMaximaVendaMes.value = Quantidade m editarConfiguracionCategoriaController.msg.modoFidelidadeNaoCinfigurado = Modulo de Fidelidade não configurado. Deve-se configurar o Módulo Fidelidade antes de vincular este Tipo de Categoria. editarConfiguracionCategoriaController.msg.nuncaLiberarAssentosReservados = Deve se ter assentos, quando a opção Nunca Liberar Reserva for selecionada editarConfiguracionCategoriaController.msg.validacaoAssentosReservados = O número de assentos reservados não pode ser maior que a quantidade autorizada -editarConfiguracionCategoriaController.msg.validacaoAssentosReservadosPontoeVirgula = Digite assentos separados por ponto e virgula. Assentos não devem conter zeros à esquerda +editarConfiguracionCategoriaController.msg.validacaoAssentosReservadosPontoeVirgula = Digite assentos separados por ponto e virgula. Assentos não devem conter zeros à esquerda ou letras. editarConfiguracionCategoriaController.msg.validacaoCategoria = É necessário informar uma categoria editarConfiguracionCategoriaController.msg.validacaoVentaAntecipada = Para venda antecipada, é obrigatório informar o tempo editarConfiguracionCategoriaController.permissoes.value = Permissões @@ -4271,6 +4271,7 @@ editarDiagramaAutobusController.lhentreAcentosLateralEsquerdaList.label = EAE editarDiagramaAutobusController.lhlateralDireitaList.label = LD editarDiagramaAutobusController.lhlateralEsquerdaList.label = LE editarDiagramaAutobusController.msg.asientoObligatorio = Informe o número da poltrona +editarDiagramaAutobusController.msg.asientoConLetra = Campo Poltrona não pode conter letras # Pantalla Veículo Edición de Diagrama editarDiagramaAutobusController.window.title = Diagrama de autobús editarDispositivoVendaEmbarcadaController.MSG.empresaNaoInformada = Informe a empresa. diff --git a/web/gui/esquema_operacional/editarDetDiagramaAutoBus.zul b/web/gui/esquema_operacional/editarDetDiagramaAutoBus.zul index 3961e5765..7e73fa56b 100644 --- a/web/gui/esquema_operacional/editarDetDiagramaAutoBus.zul +++ b/web/gui/esquema_operacional/editarDetDiagramaAutoBus.zul @@ -55,9 +55,8 @@