fixes bug 6654
git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@48491 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
1ead24798b
commit
44e77220a3
|
@ -6,10 +6,13 @@ package com.rjconsultores.ventaboletos.web.gui.controladores.configuracioneccome
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
@ -26,7 +29,6 @@ import org.zkoss.zul.Checkbox;
|
||||||
import org.zkoss.zul.Combobox;
|
import org.zkoss.zul.Combobox;
|
||||||
import org.zkoss.zul.Comboitem;
|
import org.zkoss.zul.Comboitem;
|
||||||
import org.zkoss.zul.Decimalbox;
|
import org.zkoss.zul.Decimalbox;
|
||||||
import org.zkoss.zul.Hbox;
|
|
||||||
import org.zkoss.zul.Intbox;
|
import org.zkoss.zul.Intbox;
|
||||||
import org.zkoss.zul.Label;
|
import org.zkoss.zul.Label;
|
||||||
import org.zkoss.zul.Radio;
|
import org.zkoss.zul.Radio;
|
||||||
|
@ -598,6 +600,43 @@ public class EditarConfiguracionCategoriaController extends MyGenericForwardComp
|
||||||
Messagebox.ERROR);
|
Messagebox.ERROR);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Boolean validarCampoAssentosReservados() throws InterruptedException{
|
||||||
|
|
||||||
|
//Verifica se o campo possui números separados por ponto e vírgula.
|
||||||
|
//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])+")){
|
||||||
|
Messagebox.show(
|
||||||
|
Labels.getLabel("editarConfiguracionCategoriaController.msg.validacaoAssentosReservadosPontoeVirgula"),
|
||||||
|
Labels.getLabel("editarConfiguracionCategoriaController.window.title"),
|
||||||
|
Messagebox.OK, Messagebox.ERROR);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
//Verifica se a quantidade de assentos reservados é menor que a quantidade de assentos autorizados.
|
||||||
|
String assentosReservados[] = asientosReservados.getValue().toString().split(";");
|
||||||
|
if(assentosReservados.length > cantAutorizada.getValue()){
|
||||||
|
Messagebox.show(
|
||||||
|
Labels.getLabel("editarConfiguracionCategoriaController.msg.validacaoAssentosReservados"),
|
||||||
|
Labels.getLabel("editarConfiguracionCategoriaController.window.title"),
|
||||||
|
Messagebox.OK, Messagebox.ERROR);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Retira possíveis assentos em duplicidade utilizando Set
|
||||||
|
if(!asientosReservados.getValue().equals("") && assentosReservados.length > 0){
|
||||||
|
Set<String> assentosSemDuplicacao = new HashSet<String>();
|
||||||
|
StringBuilder assentos = new StringBuilder();
|
||||||
|
assentosSemDuplicacao.addAll(Arrays.asList(assentosReservados));
|
||||||
|
assentosReservados = assentosSemDuplicacao.toArray(new String[assentosSemDuplicacao.size()]);
|
||||||
|
for(String assento :assentosReservados){
|
||||||
|
assentos.append(assento.trim()).append(";");
|
||||||
|
}
|
||||||
|
assentos.replace(assentos.length()-1, assentos.length(),"");
|
||||||
|
asientosReservados.setValue(assentos.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
public void onClick$btnAdicionarDesconto(Event ev) throws InterruptedException {
|
public void onClick$btnAdicionarDesconto(Event ev) throws InterruptedException {
|
||||||
if (cmbCategorias.getSelectedItem() == null) {
|
if (cmbCategorias.getSelectedItem() == null) {
|
||||||
|
@ -639,65 +678,67 @@ public class EditarConfiguracionCategoriaController extends MyGenericForwardComp
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!existe) {
|
if (!existe) {
|
||||||
CategoriaDescuento cDescuento = new CategoriaDescuento();
|
if(validarCampoAssentosReservados()){
|
||||||
cDescuento.setCategoriaCtrl(categoriaCtrl);
|
CategoriaDescuento cDescuento = new CategoriaDescuento();
|
||||||
cDescuento.setActivo(Boolean.TRUE);
|
cDescuento.setCategoriaCtrl(categoriaCtrl);
|
||||||
cDescuento.setFecmodif(Calendar.getInstance().getTime());
|
cDescuento.setActivo(Boolean.TRUE);
|
||||||
cDescuento.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
|
cDescuento.setFecmodif(Calendar.getInstance().getTime());
|
||||||
cDescuento.setCategoria((Categoria) cmbCategorias.getSelectedItem().getValue());
|
cDescuento.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
|
||||||
cDescuento.setCantautorizada(cantAutorizada.getValue());
|
cDescuento.setCategoria((Categoria) cmbCategorias.getSelectedItem().getValue());
|
||||||
cDescuento.setDescuentoimporte(descuentoImporte.getValue());
|
cDescuento.setCantautorizada(cantAutorizada.getValue());
|
||||||
cDescuento.setDescuentoporc(descuentoPorc.getValue());
|
cDescuento.setDescuentoimporte(descuentoImporte.getValue());
|
||||||
cDescuento.setIndImporteOutros(chkPrecoOutros.isChecked());
|
cDescuento.setDescuentoporc(descuentoPorc.getValue());
|
||||||
cDescuento.setIndImportePedagio(chkPrecoPedagio.isChecked());
|
cDescuento.setIndImporteOutros(chkPrecoOutros.isChecked());
|
||||||
cDescuento.setIndImporteSeguro(chkPrecoSeguro.isChecked());
|
cDescuento.setIndImportePedagio(chkPrecoPedagio.isChecked());
|
||||||
cDescuento.setIndImporteTxEmbarque(chkPrecoTxEmbarque.isChecked());
|
cDescuento.setIndImporteSeguro(chkPrecoSeguro.isChecked());
|
||||||
cDescuento.setIndVentaAbierto(rdVendeAbertoSim.isSelected());
|
cDescuento.setIndImporteTxEmbarque(chkPrecoTxEmbarque.isChecked());
|
||||||
cDescuento.setIndLiberacionSolamenteEnvasado(chkLiberacionSolamenteEnvasado.isChecked());
|
cDescuento.setIndVentaAbierto(rdVendeAbertoSim.isSelected());
|
||||||
cDescuento.setAsientosReservados(asientosReservados.getValue());
|
cDescuento.setIndLiberacionSolamenteEnvasado(chkLiberacionSolamenteEnvasado.isChecked());
|
||||||
|
cDescuento.setAsientosReservados(asientosReservados.getValue());
|
||||||
|
|
||||||
if (rdVendaAntecipadaSi.isChecked()) {
|
if (rdVendaAntecipadaSi.isChecked()) {
|
||||||
cDescuento.setTiempoDesactivar(spnHora.getValue(), spnMinuto.getValue());
|
cDescuento.setTiempoDesactivar(spnHora.getValue(), spnMinuto.getValue());
|
||||||
} else {
|
} else {
|
||||||
cDescuento.setTiempoActivar(spnHora.getValue(), spnMinuto.getValue());
|
cDescuento.setTiempoActivar(spnHora.getValue(), spnMinuto.getValue());
|
||||||
}
|
|
||||||
|
|
||||||
if (cmbIndGeneraFeriado.getSelectedItem() != null) {
|
|
||||||
cDescuento.setIndAplicaFeriado((String) cmbIndGeneraFeriado.getSelectedItem().getValue());
|
|
||||||
}
|
|
||||||
|
|
||||||
if (radioImprimePassagem.isSelected()) {
|
|
||||||
cDescuento.setIndImprimeBoleto(Boolean.TRUE);
|
|
||||||
} else if (radioNaoImprimePassagem.isSelected()) {
|
|
||||||
cDescuento.setIndImprimeBoleto(Boolean.FALSE);
|
|
||||||
}
|
|
||||||
|
|
||||||
cDescuento.setIndCuota(false);
|
|
||||||
cDescuento.setIndCuotaTramo(false);
|
|
||||||
|
|
||||||
if (rdCuotaSi.isChecked()) {
|
|
||||||
if (timeTempoPermitir.getValue() == null) {
|
|
||||||
throw new WrongValueException(timeTempoPermitir, Labels.getLabel("MSG.CONSTRAINT.CONSTRAINTNUMBERBDOBLIGATORIO"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
cDescuento.setIndCuota(true);
|
if (cmbIndGeneraFeriado.getSelectedItem() != null) {
|
||||||
cDescuento.setIndCuotaTramo(rdTrecho.isChecked());
|
cDescuento.setIndAplicaFeriado((String) cmbIndGeneraFeriado.getSelectedItem().getValue());
|
||||||
cDescuento.setTiempoCuota(timeTempoPermitir.getValue());
|
}
|
||||||
}
|
|
||||||
|
|
||||||
lsCategoriaDescuento.add(cDescuento);
|
if (radioImprimePassagem.isSelected()) {
|
||||||
categoriaDescuentoList.addItemNovo(cDescuento);
|
cDescuento.setIndImprimeBoleto(Boolean.TRUE);
|
||||||
categoriaCtrl.setCategoriaDescuentoList(lsCategoriaDescuento);
|
} else if (radioNaoImprimePassagem.isSelected()) {
|
||||||
|
cDescuento.setIndImprimeBoleto(Boolean.FALSE);
|
||||||
|
}
|
||||||
|
|
||||||
cmbCategorias.setSelectedItem(null);
|
cDescuento.setIndCuota(false);
|
||||||
cantAutorizada.setRawValue(null);
|
cDescuento.setIndCuotaTramo(false);
|
||||||
if (radioImp.isChecked()) {
|
|
||||||
onClick$radioImp(null);
|
if (rdCuotaSi.isChecked()) {
|
||||||
} else {
|
if (timeTempoPermitir.getValue() == null) {
|
||||||
onClick$radioPor(null);
|
throw new WrongValueException(timeTempoPermitir, Labels.getLabel("MSG.CONSTRAINT.CONSTRAINTNUMBERBDOBLIGATORIO"));
|
||||||
}
|
}
|
||||||
onClick$rdVendaAntecipadaNo(null);
|
|
||||||
rdVendaAntecipadaNo.setChecked(true);
|
cDescuento.setIndCuota(true);
|
||||||
|
cDescuento.setIndCuotaTramo(rdTrecho.isChecked());
|
||||||
|
cDescuento.setTiempoCuota(timeTempoPermitir.getValue());
|
||||||
|
}
|
||||||
|
|
||||||
|
lsCategoriaDescuento.add(cDescuento);
|
||||||
|
categoriaDescuentoList.addItemNovo(cDescuento);
|
||||||
|
categoriaCtrl.setCategoriaDescuentoList(lsCategoriaDescuento);
|
||||||
|
|
||||||
|
cmbCategorias.setSelectedItem(null);
|
||||||
|
cantAutorizada.setRawValue(null);
|
||||||
|
if (radioImp.isChecked()) {
|
||||||
|
onClick$radioImp(null);
|
||||||
|
} else {
|
||||||
|
onClick$radioPor(null);
|
||||||
|
}
|
||||||
|
onClick$rdVendaAntecipadaNo(null);
|
||||||
|
rdVendaAntecipadaNo.setChecked(true);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
Messagebox.show(
|
Messagebox.show(
|
||||||
Labels.getLabel("MSG.Registro.Existe"),
|
Labels.getLabel("MSG.Registro.Existe"),
|
||||||
|
|
|
@ -5,6 +5,9 @@
|
||||||
package com.rjconsultores.ventaboletos.web.gui.controladores.configuracioneccomerciales;
|
package com.rjconsultores.ventaboletos.web.gui.controladores.configuracioneccomerciales;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
import org.springframework.context.annotation.Scope;
|
import org.springframework.context.annotation.Scope;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
|
@ -17,6 +20,7 @@ import org.zkoss.zk.ui.event.Event;
|
||||||
import org.zkoss.zul.Checkbox;
|
import org.zkoss.zul.Checkbox;
|
||||||
import org.zkoss.zul.Combobox;
|
import org.zkoss.zul.Combobox;
|
||||||
import org.zkoss.zul.Comboitem;
|
import org.zkoss.zul.Comboitem;
|
||||||
|
import org.zkoss.zul.Intbox;
|
||||||
import org.zkoss.zul.Label;
|
import org.zkoss.zul.Label;
|
||||||
import org.zkoss.zul.Radio;
|
import org.zkoss.zul.Radio;
|
||||||
import org.zkoss.zul.Row;
|
import org.zkoss.zul.Row;
|
||||||
|
@ -62,6 +66,8 @@ public class EditarConfiguracionCategoriaDatosCategoriaController extends MyGene
|
||||||
private Radio radioNaoVentaSolamenteReserva;
|
private Radio radioNaoVentaSolamenteReserva;
|
||||||
private Row linhaLiberarPoltronasQuandoOnibus;
|
private Row linhaLiberarPoltronasQuandoOnibus;
|
||||||
private Row linhaAssentosReservados;
|
private Row linhaAssentosReservados;
|
||||||
|
private Textbox asientosReservados;
|
||||||
|
private Intbox cantAutorizada;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void doAfterCompose(Component comp) throws Exception {
|
public void doAfterCompose(Component comp) throws Exception {
|
||||||
|
@ -132,9 +138,13 @@ public class EditarConfiguracionCategoriaDatosCategoriaController extends MyGene
|
||||||
rdVendaAbertoNao.setChecked(true);
|
rdVendaAbertoNao.setChecked(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
linhaLiberarPoltronasQuandoOnibus.setVisible(false);
|
if(categoriaDescuento.getIndCuota()== true){
|
||||||
linhaAssentosReservados.setVisible(false);
|
linhaLiberarPoltronasQuandoOnibus.setVisible(true);
|
||||||
|
linhaAssentosReservados.setVisible(true);
|
||||||
|
}else{
|
||||||
|
linhaLiberarPoltronasQuandoOnibus.setVisible(false);
|
||||||
|
linhaAssentosReservados.setVisible(false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
private void preencherDataHora(Integer tiempoMinutos){
|
private void preencherDataHora(Integer tiempoMinutos){
|
||||||
if (tiempoMinutos != null){
|
if (tiempoMinutos != null){
|
||||||
|
@ -190,9 +200,51 @@ public class EditarConfiguracionCategoriaDatosCategoriaController extends MyGene
|
||||||
categoriaDescuento.setTiempoCuota(timeTempoPermitir.getValue());
|
categoriaDescuento.setTiempoCuota(timeTempoPermitir.getValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!validarCampoAssentosReservados()){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
categoriaDescuento.setAsientosReservados(asientosReservados.getValue());
|
||||||
|
|
||||||
categoriaDescuentoList.updateItem(categoriaDescuento);
|
categoriaDescuentoList.updateItem(categoriaDescuento);
|
||||||
this.closeWindow();
|
this.closeWindow();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Boolean validarCampoAssentosReservados() throws InterruptedException{
|
||||||
|
//Verifica se o campo possui números separados por ponto e vírgula.
|
||||||
|
//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])+")){
|
||||||
|
Messagebox.show(
|
||||||
|
Labels.getLabel("editarConfiguracionCategoriaController.msg.validacaoAssentosReservadosPontoeVirgula"),
|
||||||
|
Labels.getLabel("editarConfiguracionCategoriaController.window.title"),
|
||||||
|
Messagebox.OK, Messagebox.ERROR);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
//Verifica se a quantidade de assentos reservados é menor que a quantidade de assentos autorizados.
|
||||||
|
String assentosReservados[] = asientosReservados.getValue().toString().split(";");
|
||||||
|
if(assentosReservados.length > cantAutorizada.getValue()){
|
||||||
|
Messagebox.show(
|
||||||
|
Labels.getLabel("editarConfiguracionCategoriaController.msg.validacaoAssentosReservados"),
|
||||||
|
Labels.getLabel("editarConfiguracionCategoriaController.window.title"),
|
||||||
|
Messagebox.OK, Messagebox.ERROR);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Retira possíveis assentos em duplicidade utilizando Set
|
||||||
|
if(!asientosReservados.getValue().equals("") && assentosReservados.length > 0){
|
||||||
|
Set<String> assentosSemDuplicacao = new HashSet<String>();
|
||||||
|
StringBuilder assentos = new StringBuilder();
|
||||||
|
assentosSemDuplicacao.addAll(Arrays.asList(assentosReservados));
|
||||||
|
assentosReservados = assentosSemDuplicacao.toArray(new String[assentosSemDuplicacao.size()]);
|
||||||
|
for(String assento :assentosReservados){
|
||||||
|
assentos.append(assento.trim()).append(";");
|
||||||
|
}
|
||||||
|
assentos.replace(assentos.length()-1, assentos.length(),"");
|
||||||
|
asientosReservados.setValue(assentos.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
public CategoriaDescuento getCategoriaDescuento() {
|
public CategoriaDescuento getCategoriaDescuento() {
|
||||||
return categoriaDescuento;
|
return categoriaDescuento;
|
||||||
|
|
|
@ -1511,6 +1511,9 @@ editarConfiguracionCategoriaController.lblSimVentaSolamenteReserva.value = Si
|
||||||
editarConfiguracionCategoriaController.lblNaoVentaSolamenteReserva.value = No
|
editarConfiguracionCategoriaController.lblNaoVentaSolamenteReserva.value = No
|
||||||
editarConfiguracionCategoriaController.lblHeaderVentaSolamenteReserva.value = V. So. Reserva
|
editarConfiguracionCategoriaController.lblHeaderVentaSolamenteReserva.value = V. So. Reserva
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
# Detener a pantalla de Búsqueda
|
# Detener a pantalla de Búsqueda
|
||||||
busquedaCatalogoDeParadaController.window.title = Parada
|
busquedaCatalogoDeParadaController.window.title = Parada
|
||||||
busquedaCatalogoDeParadaController.btnRefresh.tooltiptext = Actualizar
|
busquedaCatalogoDeParadaController.btnRefresh.tooltiptext = Actualizar
|
||||||
|
|
|
@ -1550,6 +1550,9 @@ editarConfiguracionCategoriaController.lblSimVentaSolamenteReserva.value = Sim
|
||||||
editarConfiguracionCategoriaController.lblNaoVentaSolamenteReserva.value = Não
|
editarConfiguracionCategoriaController.lblNaoVentaSolamenteReserva.value = Não
|
||||||
editarConfiguracionCategoriaController.lblHeaderVentaSolamenteReserva.value = V. So. Reserva
|
editarConfiguracionCategoriaController.lblHeaderVentaSolamenteReserva.value = V. So. Reserva
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
# Detener a pantalla de Pesquisa
|
# Detener a pantalla de Pesquisa
|
||||||
busquedaCatalogoDeParadaController.window.title = Localidade
|
busquedaCatalogoDeParadaController.window.title = Localidade
|
||||||
busquedaCatalogoDeParadaController.btnRefresh.tooltiptext = Atualizar
|
busquedaCatalogoDeParadaController.btnRefresh.tooltiptext = Atualizar
|
||||||
|
|
Loading…
Reference in New Issue