Alteração na Administração uma opção de configuração de bloqueio de poltronas

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@23270 d1611594-4594-4d17-8e1d-87c2c4800839
master
carla 2012-12-19 18:26:20 +00:00
parent 6896420885
commit 8baaca5000
3 changed files with 173 additions and 20 deletions

View File

@ -19,7 +19,10 @@ import com.rjconsultores.ventaboletos.service.ParadaService;
import com.rjconsultores.ventaboletos.service.RutaSecuenciaService;
import com.rjconsultores.ventaboletos.service.RutaService;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar;
import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer;
import com.rjconsultores.ventaboletos.web.utilerias.MyTextbox;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
@ -37,6 +40,7 @@ import org.zkoss.zkplus.databind.BindingListModel;
import org.zkoss.zkplus.databind.BindingListModelList;
import org.zkoss.zul.Button;
import org.zkoss.zul.Combobox;
import org.zkoss.zul.Radio;
import org.zkoss.zul.Textbox;
/**
@ -61,6 +65,7 @@ public class EditarCorridaAsientoController extends MyGenericForwardComposer {
private RutaSecuenciaService rutaSecuenciaService;
private EsquemaCorrida esquemaCorrida;
private List<Parada> lsOrigen;
private List<Parada> lsDestino;
private List<EsquemaAsiento> lsAsientos;
private DiagramaAutobus diagramaAutobus;
private Textbox txtAsiento;
@ -119,6 +124,10 @@ public class EditarCorridaAsientoController extends MyGenericForwardComposer {
private Button btn_7_11;
private Button btn_7_12;
private Button btn_7_13;
private Radio poltronaExclusiva;
private Radio poltronaOcupada;
private MyComboboxEstandar cmbDestino;
private Textbox txtMotivo;
private static Logger log = Logger.getLogger(EditarCorridaAsientoController.class);
@Override
@ -126,9 +135,11 @@ public class EditarCorridaAsientoController extends MyGenericForwardComposer {
esquemaCorrida = (EsquemaCorrida) Executions.getCurrent().getArg().get("esquemaCorrida");
lsOrigen = new ArrayList<Parada>();
lsDestino = new ArrayList<Parada>();
Ruta ruta = esquemaCorrida.getRuta();
//ruta = rutaService.obtenerID(ruta.getRutaId());
if (ruta != null) {
List<RutaSecuencia> lsRutaSecuencia = rutaSecuenciaService.buscarSecuenciaOrdenado(ruta);
for (RutaSecuencia rc : lsRutaSecuencia) {
Tramo tramo = rc.getTramo();
@ -139,14 +150,19 @@ public class EditarCorridaAsientoController extends MyGenericForwardComposer {
}
Parada destino = tramo.getDestino();
if (!lsOrigen.contains(destino)) {
lsOrigen.add(destino);
if (!lsDestino.contains(destino)) {
lsDestino.add(destino);
}
}
}
if (lsOrigen.size() > 1) {
lsOrigen.remove(lsOrigen.size() - 1);//O destino final de uma ruta não pode ter asento cedido
if (!lsRutaSecuencia.isEmpty()) {
lsOrigen.add(lsRutaSecuencia.get(lsRutaSecuencia.size() - 1).getTramo().getDestino());
}
// if (lsOrigen.size() > 1) {
// lsOrigen.remove(lsOrigen.size() - 1);//O destino final de uma ruta não pode ter asento cedido
// }
}
super.doAfterCompose(comp);
@ -170,6 +186,11 @@ public class EditarCorridaAsientoController extends MyGenericForwardComposer {
}
}
}
if(poltronaExclusiva.isChecked()){
cmbDestino.setDisabled(true);
txtMotivo.setDisabled(true);
}
}
public void colorirAsientos(Event ev) throws InterruptedException {
@ -189,19 +210,41 @@ public class EditarCorridaAsientoController extends MyGenericForwardComposer {
for (EsquemaAsiento as : lsAsientos) {
if (as.getNumasiento().equals(dd.getAsiento())) {
button.setSclass("myBlue");
button.setLabel(as.getParada().getCveparada());
break;
if(as.getIndvendible()){
button.setSclass("myBlue");
button.setLabel(as.getParada().getCveparada());
break;
}else{
button.setSclass("myGray");
button.setLabel(as.getParada().getCveparada());
break;
}
}
}
}
}
}
public void onClick$btnCeder(Event ev) throws InterruptedException {
try {
cmbOrigen.getValue();
public void onClick$poltronaExclusiva(){
cmbDestino.setDisabled(true);
txtMotivo.setDisabled(true);
}
public void onClick$poltronaOcupada(){
cmbDestino.setConstraint("no empty");
cmbDestino.setDisabled(false);
txtMotivo.setDisabled(false);
}
public void enviarPeticionAsientos(String tipoPeticion) throws InterruptedException{
try {
cmbOrigen.getValue();
cmbDestino.getValue();
boolean salvo = true;
txtAsiento.setText((txtAsiento.getValue().endsWith(",")) ? txtAsiento.getValue() : txtAsiento.getValue().concat(","));
@ -255,17 +298,44 @@ public class EditarCorridaAsientoController extends MyGenericForwardComposer {
es.setFecmodif(Calendar.getInstance().getTime());
es.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
es.setNumasiento(asiento);
es.setIndvendible(Boolean.TRUE);
if(tipoPeticion.equals("ceder")){
es.setIndvendible(Boolean.TRUE);
es.setParada((Parada) cmbOrigen.getSelectedItem().getValue());
}else if (tipoPeticion.equals("bloqueo")){
if(txtMotivo.getText().trim().equals("")){
Messagebox.show(Labels.getLabel("editarConfiguracionCorridaAsientoController.MSG.motivo"),
Labels.getLabel("editarConfiguracionCorridaAsientoController.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
txtMotivo.setFocus(true);
return;
}
if(cmbOrigen.getSelectedIndex()>=cmbDestino.getSelectedIndex()){
Messagebox.show(Labels.getLabel("editarConfiguracionCorridaAsientoController.MSG.tramo"),
Labels.getLabel("editarConfiguracionCorridaAsientoController.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
cmbOrigen.setFocus(true);
return;
}
es.setIndvendible(Boolean.FALSE);
es.setParada((Parada) cmbOrigen.getSelectedItem().getValue());
es.setDestinoId((Parada)cmbDestino.getSelectedItem().getValue());
es.setMotivobloqueo(txtMotivo.getText());
}
es.setEsquemaCorrida(esquemaCorrida);
es.setParada((Parada) cmbOrigen.getSelectedItem().getValue());
EsquemaAsiento esquemaAsientoBusqueda = esquemaAsientoService.obtenerPorCorridaeAsiento(esquemaCorrida, asiento);
if (esquemaAsientoBusqueda.getEsquemaasientoId() == null) {
esquemaAsientoService.suscribir(es);
lsAsientos.add(es);
} else {
salvo = false;
Messagebox.show("Asiento " + asiento + " existe en el Registro.",
Labels.getLabel("editarConfiguracionCorridaAsientoController.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
}
} else {
@ -285,7 +355,10 @@ public class EditarCorridaAsientoController extends MyGenericForwardComposer {
}
colorirAsientos(null);
txtAsiento.setValue("");
txtMotivo.setText("");
//closeWindow();
} catch (Exception ex) {
log.error("Erro asiento:" + ex);
txtAsiento.setValue("");
@ -294,6 +367,20 @@ public class EditarCorridaAsientoController extends MyGenericForwardComposer {
Messagebox.OK, Messagebox.ERROR);
}
}
public void onClick$btnCeder(Event ev) throws InterruptedException {
if(poltronaOcupada.isSelected()){
enviarPeticionAsientos("bloqueo");
}
if(poltronaExclusiva.isSelected()){
enviarPeticionAsientos("ceder");
}
}
public void onClick$btnLiberar(Event ev) throws InterruptedException {
@ -339,6 +426,8 @@ public class EditarCorridaAsientoController extends MyGenericForwardComposer {
txtAsiento.setValue("");
txtMotivo.setText("");
colorirAsientos(null);
//closeWindow();
} catch (Exception ex) {
@ -1440,6 +1529,16 @@ public class EditarCorridaAsientoController extends MyGenericForwardComposer {
this.lsOrigen = lsOrigen;
}
public List<Parada> getLsDestino() {
return lsDestino;
}
public void setLsDestino(List<Parada> lsDestino) {
this.lsDestino = lsDestino;
}
public ParadaService getParadaService() {
return paradaService;
}
@ -1911,4 +2010,23 @@ public class EditarCorridaAsientoController extends MyGenericForwardComposer {
public void setCmbOrigen(Combobox cmbOrigen) {
this.cmbOrigen = cmbOrigen;
}
public Textbox getTxtMotivo() {
return txtMotivo;
}
public void setTxtMotivo(Textbox txtMotivo) {
this.txtMotivo = txtMotivo;
}
public MyComboboxEstandar getCmbDestino() {
return cmbDestino;
}
public void setCmbDestino(MyComboboxEstandar cmbDestino) {
this.cmbDestino = cmbDestino;
}
}

View File

@ -1280,12 +1280,19 @@ editarConfiguracionCorridaAsientoController.btnCeder.value = Asignar
editarConfiguracionCorridaController.lbAsiento.value = Poltrona:
editarConfiguracionCorridaController.lbOrigem.value = Origem:
editarConfiguracionCorridaAsientoController.lbAsiento.value = Poltrona:
editarConfiguracionCorridaAsientoController.lbOrigem.value = Localidade:
editarConfiguracionCorridaAsientoController.lbOrigem.value = Origem:
editarConfiguracionCorridaAsientoController.lbDestino.value = Destino:
editarConfiguracionCorridaAsientoController.lbMotivo.value = Motivo da Ocupação:
editarConfiguracionCorridaAsientoController.lbMotivoOcupacao.value = Tipo de Ocupação:
editarConfiguracionCorridaAsientoController.rdPoltronaExclusiva.value = Poltronas Exclusivas
editarConfiguracionCorridaAsientoController.rdPoltronaOcupada.value = Poltronas Ocupadas
editarConfiguracionCorridaAsientoController.MSG.salvo = Planejamento de poltronas Registrado com Sucesso.
editarConfiguracionCorridaAsientoController.MSG.existe = Já existe um registro com estes dados.
editarConfiguracionCorridaAsientoController.MSG.liberar = Poltrona(s) liberada(s).
editarConfiguracionCorridaAsientoController.MSG.help = (Ej: 1,2,3,4 o 1-4)
editarConfiguracionCorridaAsientoController.MSG.invalido = Poltrona inválida
editarConfiguracionCorridaAsientoController.MSG.motivo = Necessário informar o motivo
editarConfiguracionCorridaAsientoController.MSG.tramo = Não é permitido bloqueo neste trecho
# Buesqueda de Tarifas Mínimas
busquedaTarifasMinimasController.window.title = Tarifas Mínimas

View File

@ -8,7 +8,7 @@
<window id="winEditarCorridaAsiento" border="normal"
apply="${editarCorridaAsientoController}"
width="790px" height="380px" contentStyle="overflow:auto"
width="790px" height="450px" contentStyle="overflow:auto"
title="${c:l('editarConfiguracionCorridaController.window.title')}"
xmlns:h="http://www.w3.org/1999/xhtml">
@ -25,6 +25,12 @@
#color: white;
#font-size:8px;
}
.myGray .z-button-cm {
background-image : url(${c:encodeURL('/gui/img/grey.png')});
#color: white;
#font-size:8px;
}
.btndiv .z-button-cm {
background : no-repeat 0 0 ;
}
@ -193,7 +199,28 @@
<column width="80%" />
</columns>
<rows>
<row>
<label value="${c:l('editarConfiguracionCorridaAsientoController.lbMotivoOcupacao.value')}"/>
<radiogroup Id="radiogroupMotivo">
<radio Id="poltronaExclusiva" label="${c:l('editarConfiguracionCorridaAsientoController.rdPoltronaExclusiva.value')}" checked="true" />
<radio Id="poltronaOcupada" label="${c:l('editarConfiguracionCorridaAsientoController.rdPoltronaOcupada.value')}" />
</radiogroup>
</row>
<row>
<label value="${c:l('editarConfiguracionCorridaAsientoController.lbOrigem.value')}"/>
<combobox id="cmbOrigen" use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar" constraint="no empty"
mold="rounded" buttonVisible="true" width="300px"
model="@{winEditarCorridaAsiento$composer.lsOrigen}"/>
</row>
<row>
<label value="${c:l('editarConfiguracionCorridaAsientoController.lbDestino.value')}"/>
<combobox id="cmbDestino" use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
mold="rounded" buttonVisible="true" width="300px"
model="@{winEditarCorridaAsiento$composer.lsOrigen}"/>
</row>
<row>
<label value="${c:l('editarConfiguracionCorridaAsientoController.lbAsiento.value')}"/>
<hbox>
<textbox id="txtAsiento" width="300px"
@ -202,10 +229,11 @@
</hbox>
</row>
<row>
<label value="${c:l('editarConfiguracionCorridaAsientoController.lbOrigem.value')}"/>
<combobox id="cmbOrigen" use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar" constraint="no empty"
mold="rounded" buttonVisible="true" width="300px"
model="@{winEditarCorridaAsiento$composer.lsOrigen}"/>
<label value="${c:l('editarConfiguracionCorridaAsientoController.lbMotivo.value')}"/>
<hbox>
<textbox id="txtMotivo" width="300px" use="com.rjconsultores.ventaboletos.web.utilerias.MyTextbox"/>
</hbox>
</row>
<row>
<label value=""/>