Permitir assento com letra

master
Leonardo Oliveira 2024-06-27 12:14:11 -03:00
parent b1822be51c
commit 247895a959
9 changed files with 90 additions and 21 deletions

View File

@ -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;
@ -78,9 +84,12 @@ public class EditarDetDiagramaAutobusController extends MyGenericForwardComposer
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);
@ -120,7 +129,7 @@ public class EditarDetDiagramaAutobusController extends MyGenericForwardComposer
if (!noEsAsiento) {
txtAsiento.setValue(Integer.parseInt(detDiagramaAutobus.getAsiento()));
txtAsiento.setValue(detDiagramaAutobus.getAsiento());
}
rowAsiento.setVisible(!noEsAsiento);
@ -176,6 +185,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:
List<DetDiagramaAutobus> lsDetDiagramaAutobus = diagramaAutobus.getDetDiagramaAutobusList();
@ -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);
@ -309,6 +327,7 @@ public class EditarDetDiagramaAutobusController extends MyGenericForwardComposer
}
}
public String getItemCombo() {
return itemCombo;
}
@ -324,4 +343,8 @@ public class EditarDetDiagramaAutobusController extends MyGenericForwardComposer
public void setItemOrientacion(String itemOrientacion) {
this.itemOrientacion = itemOrientacion;
}
public Boolean getNumAsientoComLetra() {
return numAsientoComLetra;
}
}

View File

@ -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<TipoOcupacion>) 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"),

View File

@ -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,6 +2383,8 @@ 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);

View File

@ -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,6 +60,9 @@ 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);
}
@ -60,6 +70,15 @@ public class EditarPricingAsientoController extends MyGenericForwardComposer {
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<PricingAsiento> lsAsientos = pricingAsientoService.obtenerPricingCategoria(pricingAsiento.getPricing(), numeasiento.getValue());
try {

View File

@ -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);
}
}

View File

@ -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.

View File

@ -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.

View File

@ -55,9 +55,8 @@
</row>
<row id="rowAsiento" visible="true" >
<label id="lbAsiento" value="${c:l('editarDetDiagramaAutobusController.lbAsiento.value')}"/>
<intbox id="txtAsiento" width="70%" maxlength="3" constraint="no negative">
<attribute name="onOK">btnSalvar.focus();</attribute>
</intbox>
<textbox id="txtAsiento" width="70%" maxlength="3" constraint="no zero, no negative"
use="com.rjconsultores.ventaboletos.web.utilerias.MyTextbox" />
</row>
<row id="rowVendible" visible="true">
<label id="lbVendible" value="${c:l('editarDetDiagramaAutobusController.lbVendible.value')}"/>

View File

@ -32,7 +32,7 @@
<rows>
<row>
<label value="${c:l('editarPricingController.asiento.value')}"/>
<intbox id="numeasiento" constraint="no negative,no zero, no empty"
<textbox id="numeasiento" constraint="no negative,no zero, no empty"
value="@{winEditarPricingAsiento$composer.pricingAsiento.numeasiento}" maxlength="2"/>
</row>
<row>