diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/componente/esquemaoperacional/GridRutaTramo.java b/src/java/com/rjconsultores/ventaboletos/web/gui/componente/esquemaoperacional/GridRutaTramo.java index 2a9ac576e..3680ab234 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/componente/esquemaoperacional/GridRutaTramo.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/componente/esquemaoperacional/GridRutaTramo.java @@ -55,8 +55,10 @@ public class GridRutaTramo extends Grid implements RowRenderer, RendererCtrl { private DataBinder dataBinder; private boolean mostraPopupGrid; private static Logger log = Logger.getLogger(GridRutaTramo.class); + private boolean isPrimeiraVia; public GridRutaTramo() { + lsVias = new ArrayList(); lsSecuenciaRutaTramoVO = new ArrayList(); this.setRowRenderer(this); this.appendChild(generarColumns()); @@ -133,9 +135,15 @@ public class GridRutaTramo extends Grid implements RowRenderer, RendererCtrl { * - Cuándo el destino que se intenta agregar ya está agregado */ public void agregarSecuencia(Parada origen, Parada destino, Via via) throws IllegalArgumentException, ParadaExisteException { - dataBinder.saveAll(); - dataBinder = new DataBinder(); - + + try { + dataBinder.saveAll(); + dataBinder = new DataBinder(); + }catch (Exception e) { + e.printStackTrace(); + System.out.println("\n\nExecption: " + e.getMessage()); + } + if ((origen == null) || (destino == null)) { throw new IllegalArgumentException(Labels.getLabel("gridRutaSecuencia.agregarSecuencia.exception.origenDestinoObligatorio")); } @@ -343,9 +351,11 @@ public class GridRutaTramo extends Grid implements RowRenderer, RendererCtrl { final MyCustomTextboxDecimal dKmsReal = new MyCustomTextboxDecimal((secuenciaRutaTramoVO.getKmReal() == null) ? BigDecimal.ZERO : secuenciaRutaTramoVO.getKmReal()); dKmsReal.setWidth("90%"); - if (secuenciaRutaTramoVO.getKmReal().equals(BigDecimal.ZERO)){ - dKmsReal.setRawValue(""); - } +// Trecho faz com nao seja possível salvar o binder uma vez que o km é obrigatório e a +// classe MyCustomTextboxDecimal considera vazio como null. +// if (secuenciaRutaTramoVO.getKmReal().equals(BigDecimal.ZERO)){ +// dKmsReal.setRawValue(""); +// } final Spinner spHora = new Spinner(); final Spinner spMinuto = new Spinner(); @@ -618,4 +628,12 @@ public class GridRutaTramo extends Grid implements RowRenderer, RendererCtrl { dataBinder.saveAll(); return lsSecuenciaRutaTramoVO; } -} + + public boolean isPrimeiraVia() { + return isPrimeiraVia; + } + + public void setPrimeiraVia(boolean isPrimeiraVia) { + this.isPrimeiraVia = isPrimeiraVia; + } +} \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/generaciontramosrutas/EditarTramoRutaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/generaciontramosrutas/EditarTramoRutaController.java index b4fdf1b06..5ea7379f4 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/generaciontramosrutas/EditarTramoRutaController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/generaciontramosrutas/EditarTramoRutaController.java @@ -88,9 +88,9 @@ public class EditarTramoRutaController extends MyGenericForwardComposer { lsOrgaoConcedente = orgaoConcedenteService.obtenerTodos(); lsEmpresa = UsuarioLogado.getUsuarioLogado().getEmpresa(); lsRutaEmpresa = new ArrayList(); - super.doAfterCompose(comp); - + gridRutaSecuencia.setPrimeiraVia(true); + NuevaParadaController.via = null; gridRutaSecuencia.setLsVias(viaService.obtenerTodos()); } diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/generaciontramosrutas/NuevaParadaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/generaciontramosrutas/NuevaParadaController.java index 6abebabf5..e64703b25 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/generaciontramosrutas/NuevaParadaController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/generaciontramosrutas/NuevaParadaController.java @@ -44,13 +44,16 @@ public class NuevaParadaController extends MyGenericForwardComposer { private Combobox cmbVia; private List lsVias; private Parada origen; + public static Via via; @Override public void doAfterCompose(Component comp) throws Exception { - lsVias = viaService.obtenerTodos(); - super.doAfterCompose(comp); + + lsVias = viaService.obtenerTodos(); + gridRutaSecuencia = (GridRutaTramo) Executions.getCurrent().getArg().get("gridRutaSecuencia"); - origen = (Parada) Executions.getCurrent().getArg().get("origen"); + origen = (Parada) Executions.getCurrent().getArg().get("origen"); + super.doAfterCompose(comp); if (origen != null) { List lsOrigen = new ArrayList(); @@ -65,6 +68,10 @@ public class NuevaParadaController extends MyGenericForwardComposer { cmbParadaOrigen.setFocus(true); } } + + public void doFinally() throws Exception { + super.doFinally(); + } private void validar() { if (cmbParadaOrigen.getSelectedItem() == null) { @@ -79,9 +86,15 @@ public class NuevaParadaController extends MyGenericForwardComposer { } public void onClick$btnSalvar(Event e) throws InterruptedException { + validar(); try { + + if(gridRutaSecuencia.isPrimeiraVia()) { + via = (Via) cmbVia.getSelectedItem().getValue(); + } + gridRutaSecuencia.agregarSecuencia((Parada) cmbParadaOrigen.getSelectedItem().getValue(), (Parada) cmbParadaDestino .getSelectedItem().getValue(), (Via) cmbVia.getSelectedItem().getValue()); @@ -92,11 +105,74 @@ public class NuevaParadaController extends MyGenericForwardComposer { Messagebox.show(e1.getMessage(), Labels.getLabel("nuevaParadaController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); } - + + gridRutaSecuencia.setPrimeiraVia(false); this.closeWindow(); } public List getLsVias() { return lsVias; } + + public ViaService getViaService() { + return viaService; + } + + public void setViaService(ViaService viaService) { + this.viaService = viaService; + } + + public GridRutaTramo getGridRutaSecuencia() { + return gridRutaSecuencia; + } + + public void setGridRutaSecuencia(GridRutaTramo gridRutaSecuencia) { + this.gridRutaSecuencia = gridRutaSecuencia; + } + + public MyComboboxParada getCmbParadaOrigen() { + return cmbParadaOrigen; + } + + public void setCmbParadaOrigen(MyComboboxParada cmbParadaOrigen) { + this.cmbParadaOrigen = cmbParadaOrigen; + } + + public MyComboboxParada getCmbParadaDestino() { + return cmbParadaDestino; + } + + public void setCmbParadaDestino(MyComboboxParada cmbParadaDestino) { + this.cmbParadaDestino = cmbParadaDestino; + } + + public Combobox getCmbVia() { + return cmbVia; + } + + public void setCmbVia(Combobox cmbVia) { + this.cmbVia = cmbVia; + } + + public Parada getOrigen() { + return origen; + } + + public void setOrigen(Parada origen) { + this.origen = origen; + } + + public Via getVia() { + return via; + } + + public void setVia(Via via) { + this.via = via; + } + + public void setLsVias(List lsVias) { + this.lsVias = lsVias; + } + + } diff --git a/web/gui/esquema_operacional/generacion_tramo_ruta/nuevaParada.zul b/web/gui/esquema_operacional/generacion_tramo_ruta/nuevaParada.zul index eddc45c56..7c35df5bc 100644 --- a/web/gui/esquema_operacional/generacion_tramo_ruta/nuevaParada.zul +++ b/web/gui/esquema_operacional/generacion_tramo_ruta/nuevaParada.zul @@ -35,15 +35,16 @@