diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarCatalogoDeRutaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarCatalogoDeRutaController.java index f09e4b9b9..407b954c8 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarCatalogoDeRutaController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarCatalogoDeRutaController.java @@ -20,6 +20,7 @@ import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.Predicate; import org.apache.log4j.Logger; import org.apache.log4j.lf5.util.DateFormatManager; +import org.hibernate.Hibernate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Controller; @@ -35,6 +36,7 @@ import org.zkoss.zul.Combobox; import org.zkoss.zul.Comboitem; import org.zkoss.zul.Constraint; import org.zkoss.zul.Intbox; +import org.zkoss.zul.ListModel; import org.zkoss.zul.ListModelList; import org.zkoss.zul.Listcell; import org.zkoss.zul.Listitem; @@ -44,6 +46,7 @@ import org.zkoss.zul.Paging; import org.zkoss.zul.Radio; import org.zkoss.zul.Spinner; import org.zkoss.zul.Textbox; +import org.zkoss.zul.event.ListDataListener; import org.zkoss.zul.ext.Constrainted; import com.rjconsultores.ventaboletos.entidad.CasetaPeaje; @@ -278,6 +281,12 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer @Override public void onEvent(Event event) throws Exception { + if(ruta.getRutaId() == null){ + Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.msg.salvarRutaPrimeiro"), + Labels.getLabel("editarCatalogoDeRutaController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + return; + } ParadaSecuencia psOrigen = (ParadaSecuencia)rutaSecuenciaList.getSelected(); int indexSelecto = rutaSecuenciaList.getSelectedIndex(); ParadaSecuencia psDestino = new ParadaSecuencia(); @@ -390,7 +399,7 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer claseServicioBusqueda.addFilterEqual("ruta", ruta); plwRutaCombinacion.init(claseServicioBusqueda, rutaCombinacionList, pagingRutaCombinacion); - } + } } private void addTramoPardaSecuencia(Parada parada, Via via, Short numsecuencia) { @@ -713,7 +722,7 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer public void onClick$btnSalvar(Event ev) throws InterruptedException { txtPrefixo.getValue(); txtNumRioCard.getValue(); - + if(null != txtCantEixos && txtCantEixos.getValue()!= null && txtCantEixos.getValue() == 0){ Messagebox.show( Labels.getLabel("editarCatalogoDeRutaController.lblCantEixosZeroInvalido.value"), @@ -772,7 +781,7 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer } try { - + if (lsParadasSequencia.size() == 1) { Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.MSG.sequencia"), Labels.getLabel("editarCatalogoDeRutaController.window.title"), @@ -880,7 +889,9 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer op.add("Não"); comboVenda.setModel(new ListModelList(op)); comboVenda.setValue(rutaCombinacion.getIndventa() == Boolean.TRUE ? "Sim" : "Não"); - comboVenda.setTooltip(rutaCombinacion.getRutacombinacionId().toString()); + if(rutaCombinacion.getRutacombinacionId() != null){ + comboVenda.setTooltip(rutaCombinacion.getRutacombinacionId().toString()); + } comboVenda.addEventListener("onChange", new EventListener() { @Override @@ -905,8 +916,9 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer final Combobox comboVia = new Combobox(); comboVia.setMold("rounded"); comboVia.setWidth("90%"); + if(rutaCombinacion.getRutacombinacionId() != null){ comboVia.setTooltip(rutaCombinacion.getRutacombinacionId().toString()); - + } List lsViaCombinacion = tramoService.obtenerViasOrigemDestino( rutaCombinacion.getTramo().getOrigem(), rutaCombinacion.getTramo().getDestino()); @@ -1003,4 +1015,45 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer public void setTxtNumRioCard(MyTextbox txtNumRioCard) { this.txtNumRioCard = txtNumRioCard; } + + private boolean clone = false; + + public void onClick$btnCopiar(Event ev) { + if (!clone) { + Hibernate.initialize(ruta); + List rutaCombinacions = rutaCombinacionService.obtenerPorRuta(ruta); + ruta.setRutaId(null); + + for (RutaCombinacion r : rutaCombinacions) { + r.setRutacombinacionId(null); + } + ruta.setRutaCombinacionList(rutaCombinacions); + + for (RutaEmpresa r : ruta.getLsRutaEmpresa()) { + r.setRutaEmpresaId(null); + } + + for(RutaSecuencia r: ruta.getRutaSecuenciaList()){ + r.setRutasecuenciaId(null); + r.setLsCasetaPeaje(new ArrayList()); + } + + for(ParadaSecuencia ps : lsParadasSequencia){ + ps.setCasetas(new ArrayList()); + ps.setCasetasTxt(""); + } + + rutaSecuenciaList.setModel(new ListModelList(lsParadasSequencia)); + + txtNumRuta.setConstraint(""); + ruta.setNumRuta(""); + txtNumRuta.setValue(""); + txtNumRuta.setConstraint("no empty"); + + rutaCombinacionList.setModel(new ListModelList(rutaCombinacions)); + lsEmpresa = UsuarioLogado.getUsuarioLogado().getEmpresa(); + clone = true; + } + } + } \ No newline at end of file diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index d1b663c1a..23033a0e4 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -1696,6 +1696,7 @@ editarCatalogoDeRutaController.window.title = Linea editarCatalogoDeRutaController.btnApagar.tooltiptext = Eliminar editarCatalogoDeRutaController.btnSalvar.tooltiptext = Guardar editarCatalogoDeRutaController.btnFechar.tooltiptext = Cerrar +editarCatalogoDeRutaController.btnCopiar.tooltiptext = Gerar Linha igual a esta. editarCatalogoDeRutaController.btnModificar.tooltiptext = Modificar secuencia editarCatalogoDeRutaController.lbNome.value = Linea editarCatalogoDeRutaController.lbGrupoRuta.value = Grupo de rutas @@ -1753,6 +1754,7 @@ editarCatalogoDeRutaController.lbSentidoLinha.value = Sentido de la linea editarCatalogoDeRutaController.lblNumRuta.value = Número de la linea editarCatalogoDeRutaController.registroNumRutaExiste = Ya existe una linea con este número editarCatalogoDeRutaController.msg.finRuta = No es posible adicionar casetas de peaje en el fin de la linea +editarCatalogoDeRutaController.msg.salvarRutaPrimeiro = Não é possível adicionar praças de pedágio sem salvar a linha primeiramente. editarCatalogoDeRutaController.lblCantEixos.value = Cantidad de Tramos editarCatalogoDeRutaController.lblCantAsientos.value = Cantidad de Asientos editarCatalogoDeRutaController.lblCantAsientosZeroInvalido.value = Cantidad de Asientos no puede ser igual a cero diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 7f9467784..fae91858a 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -1742,6 +1742,7 @@ editarCatalogoDeRutaController.window.title = Linha editarCatalogoDeRutaController.btnApagar.tooltiptext = Eliminar editarCatalogoDeRutaController.btnSalvar.tooltiptext = Salvar editarCatalogoDeRutaController.btnFechar.tooltiptext = Fechar +editarCatalogoDeRutaController.btnCopiar.tooltiptext = Gerar Linha igual a esta. editarCatalogoDeRutaController.btnModificar.tooltiptext = Modificar sequência editarCatalogoDeRutaController.lbNome.value = Linha editarCatalogoDeRutaController.lbGrupoRuta.value = Grupo de Linhas @@ -1799,6 +1800,7 @@ editarCatalogoDeRutaController.lbSentidoLinha.value = Sentido da Linha editarCatalogoDeRutaController.lblNumRuta.value = Número da Linha editarCatalogoDeRutaController.registroNumRutaExiste = Já existe uma linha com este número editarCatalogoDeRutaController.msg.finRuta = Não é possível adicionar praças de pedágio no fim da linha +editarCatalogoDeRutaController.msg.salvarRutaPrimeiro = Não é possível adicionar praças de pedágio sem salvar a linha primeiramente. editarCatalogoDeRutaController.lblCantEixos.value = Quantidade de Eixos editarCatalogoDeRutaController.lblCantAsientos.value = Quantidade de Assentos editarCatalogoDeRutaController.lblCantAsientosZeroInvalido.value = Quantidade de Assentos não pode ser igual à zero diff --git a/web/gui/esquema_operacional/editarRuta.zul b/web/gui/esquema_operacional/editarRuta.zul index 1bcfa134e..b4a1566ca 100644 --- a/web/gui/esquema_operacional/editarRuta.zul +++ b/web/gui/esquema_operacional/editarRuta.zul @@ -20,7 +20,11 @@