diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/BusquedaConexionController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/BusquedaConexionController.java index fb37694ad..a205d56a9 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/BusquedaConexionController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/BusquedaConexionController.java @@ -63,13 +63,15 @@ public class BusquedaConexionController extends MyGenericForwardComposer { args.put("conexionCtrlId", conexionCtrlId); args.put("conexionesList", conexionesList); - if(conexionService.buscarPorConexionCtrl(conexionCtrlId).get(0).getRutaId() != null) { - openWindow("/gui/esquema_operacional/editarConexionRuta.zul", - Labels.getLabel("editarConexionController.window.title"), args, MODAL); - }else { - openWindow("/gui/esquema_operacional/editarConexion.zul", - Labels.getLabel("editarConexionController.window.title"), args, MODAL); - } +// if(conexionCtrlId != null && conexionService.buscarPorConexionCtrl(conexionCtrlId).get(0).getRutaId() != null) { +// openWindow("/gui/esquema_operacional/editarConexionRuta.zul", +// Labels.getLabel("editarConexionController.window.title"), args, MODAL); +// }else { +// openWindow("/gui/esquema_operacional/editarConexion.zul", +// Labels.getLabel("editarConexionController.window.title"), args, MODAL); +// } + openWindow("/gui/esquema_operacional/editarConexion.zul", + Labels.getLabel("editarConexionController.window.title"), args, MODAL); } // TODO Geneciones de Conexiones Desabilitado diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/BusquedaConexionPorRutaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/BusquedaConexionPorRutaController.java new file mode 100644 index 000000000..5fb7393eb --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/BusquedaConexionPorRutaController.java @@ -0,0 +1,100 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package com.rjconsultores.ventaboletos.web.gui.controladores.esquemaoperacional; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Controller; +import org.zkoss.util.resource.Labels; +import org.zkoss.zk.ui.Component; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zk.ui.event.EventListener; +import org.zkoss.zul.Intbox; +import org.zkoss.zul.Textbox; + +import com.rjconsultores.ventaboletos.entidad.ConexionRutaConf; +import com.rjconsultores.ventaboletos.service.ConexionRutaConfService; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderBusquedaConexionRuta; + +/** + * + * @author wallace + */ +@Controller("busquedaConexionPorRutaController") +@Scope("prototype") +public class BusquedaConexionPorRutaController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + @Autowired + private ConexionRutaConfService conexionRutaConfService; + private MyListbox conexionesRutaConfList; + private Textbox txtDescricao; + private Intbox idConexionRutaConf; + + @Override + public void doAfterCompose(Component comp) throws Exception { + super.doAfterCompose(comp); + + conexionesRutaConfList.setData(conexionRutaConfService.obtenerTodosActivo()); + + conexionesRutaConfList.setItemRenderer(new RenderBusquedaConexionRuta()); + conexionesRutaConfList.addEventListener("onDoubleClick", new EventListener() { + + @Override + public void onEvent(Event event) throws Exception { + ConexionRutaConf conexionRutaConf = (ConexionRutaConf) conexionesRutaConfList.getSelected(); + verConexionRutaConf(conexionRutaConf); + } + }); + } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + private void verConexionRutaConf(ConexionRutaConf conexionRutaConf) { + Map args = new HashMap(); + + args.put("conexionRutaConf", conexionRutaConf); + + openWindow("/gui/esquema_operacional/gerarConexionPorRuta.zul", + Labels.getLabel("gerarConexionPorRuta.window.title"), args, MODAL); + } + + public void onClick$btnPesquisa(Event ev) throws InterruptedException { + refreshLista(); + } + public void onClick$btnRefresh(Event ev) throws Exception { + refreshLista(); + } + + private void refreshLista() { + + Integer id = idConexionRutaConf.getValue(); + String descricao = txtDescricao.getValue(); + + List lsConexionRutaConf = new ArrayList(); + if (id != null) { + lsConexionRutaConf.add(conexionRutaConfService.obtenerID(id)); + conexionesRutaConfList.setData(lsConexionRutaConf); + } else if (StringUtils.isNotBlank(descricao)) { + lsConexionRutaConf = conexionRutaConfService.buscarPorDescricao(descricao); + }else { + lsConexionRutaConf = conexionRutaConfService.obtenerTodosActivo(); + } + conexionesRutaConfList.setData(lsConexionRutaConf); + + } + + public void onClick$btnNovo(Event ev) { + verConexionRutaConf(null); + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarConexionRutaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarConexionRutaController.java index bc1e4568d..139123d8c 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarConexionRutaController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarConexionRutaController.java @@ -171,8 +171,8 @@ public class EditarConexionRutaController extends MyGenericForwardComposer { ConexionRutaTramoCtrl conexionRutaTramoCtrl = conexionRutaTramoCtrlService.buscarPorId(ConexionRutaTramoCtrl.getConexionRutaTramoConexionId(lsConexiones)); conexionRutaCtrl = conexionRutaTramoCtrl.getConexionRutaCtrl(); - conexionRutaPuntoVentaList.setData(conexionRutaRestricaoPtoVtaService.obtenerConexionRutaExcepcionPtoVtasActivo(conexionRutaTramoCtrl.getConexionRutaCtrl())); - conexionRutaTipoPuntoVentaList.setData(conexionRutaExcepcionTipoPtoVtaService.obtenerConexionRutaExcepcionPtoVtasActivo(conexionRutaTramoCtrl.getConexionRutaCtrl())); +// conexionRutaPuntoVentaList.setData(conexionRutaRestricaoPtoVtaService.obtenerConexionRutaExcepcionPtoVtasActivo(conexionRutaTramoCtrl.getConexionRutaCtrl())); +// conexionRutaTipoPuntoVentaList.setData(conexionRutaExcepcionTipoPtoVtaService.obtenerConexionRutaExcepcionTipoPtoVtaActivo(conexionRutaTramoCtrl.getConexionRutaCtrl())); } public void onBlur$cmbOrigemCntrl(Event event) throws InterruptedException { @@ -470,7 +470,7 @@ public class EditarConexionRutaController extends MyGenericForwardComposer { List conexionRutaTipoPuntoVentas = conexionRutaTipoPuntoVentaList.getListData(); ConexionRutaTramoCtrl conexionRutaTramoCtrl = conexionRutaTramoCtrlService.buscarPorId(ConexionRutaTramoCtrl.getConexionRutaTramoConexionId(getConexiones(conexionCtrlId))); - conexionRutaExcepcionTipoPtoVtaService.borrar(conexionRutaExcepcionTipoPtoVtaService.obtenerConexionRutaExcepcionPtoVtasActivo(conexionRutaTramoCtrl.getConexionRutaCtrl())); +// conexionRutaExcepcionTipoPtoVtaService.borrar(conexionRutaExcepcionTipoPtoVtaService.obtenerConexionRutaExcepcionTipoPtoVtaActivo(conexionRutaTramoCtrl.getConexionRutaCtrl())); conexionRutaExcepcionTipoPtoVtaService.suscribirTodos(conexionRutaTipoPuntoVentas); } @@ -481,7 +481,7 @@ public class EditarConexionRutaController extends MyGenericForwardComposer { List conexionRutapuntoVentas = conexionRutaPuntoVentaList.getListData(); ConexionRutaTramoCtrl conexionRutaTramoCtrl = conexionRutaTramoCtrlService.buscarPorId(ConexionRutaTramoCtrl.getConexionRutaTramoConexionId(getConexiones(conexionCtrlId))); - conexionRutaRestricaoPtoVtaService.borrar(conexionRutaRestricaoPtoVtaService.obtenerConexionRutaExcepcionPtoVtasActivo(conexionRutaTramoCtrl.getConexionRutaCtrl())); +// conexionRutaRestricaoPtoVtaService.borrar(conexionRutaRestricaoPtoVtaService.obtenerConexionRutaExcepcionPtoVtasActivo(conexionRutaTramoCtrl.getConexionRutaCtrl())); conexionRutaRestricaoPtoVtaService.suscribirTodos(conexionRutapuntoVentas); } @@ -577,7 +577,7 @@ public class EditarConexionRutaController extends MyGenericForwardComposer { TipoPuntoVenta ptovta = (TipoPuntoVenta) cmbTipoPtovta.getSelectedItem().getValue(); ConexionRutaExcepcionTipoPtoVta conexionRutaExcepcionTipoPtoVta = new ConexionRutaExcepcionTipoPtoVta(); - conexionRutaExcepcionTipoPtoVta.setConexionRutaCtrl(conexionRutaCtrl); +// conexionRutaExcepcionTipoPtoVta.setConexionRutaCtrl(conexionRutaCtrl); conexionRutaExcepcionTipoPtoVta.setTipoPtovta(ptovta); if (conexionRutaTipoPuntoVentaList.getListData().contains(ptovta)) { @@ -635,7 +635,7 @@ public class EditarConexionRutaController extends MyGenericForwardComposer { PuntoVenta puntoVenta = (PuntoVenta) cmbPtovta.getSelectedItem().getValue(); ConexionRutaExcepcionPtoVta conexionRutaExcepcionPtoVta = new ConexionRutaExcepcionPtoVta(); - conexionRutaExcepcionPtoVta.setConexionRutaCtrl(conexionRutaCtrl); +// conexionRutaExcepcionPtoVta.setConexionRutaCtrl(conexionRutaCtrl); conexionRutaExcepcionPtoVta.setPuntoVenta(puntoVenta); if (conexionRutaPuntoVentaList.getListData().contains(puntoVenta)) { diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/GerarConexionPorRutaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/GerarConexionPorRutaController.java index 99db634d4..97bc72e70 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/GerarConexionPorRutaController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/GerarConexionPorRutaController.java @@ -1,18 +1,12 @@ package com.rjconsultores.ventaboletos.web.gui.controladores.esquemaoperacional; import java.util.ArrayList; -import java.util.Arrays; import java.util.Calendar; -import java.util.Collections; -import java.util.Comparator; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; -import java.util.LinkedList; import java.util.List; -import java.util.Map; import java.util.Set; -import java.util.TreeSet; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; @@ -20,6 +14,7 @@ import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Controller; import org.zkoss.util.resource.Labels; import org.zkoss.zk.ui.Component; +import org.zkoss.zk.ui.Executions; import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.event.EventListener; import org.zkoss.zul.Button; @@ -28,11 +23,13 @@ import org.zkoss.zul.Intbox; import org.zkoss.zul.ListModelList; import org.zkoss.zul.Messagebox; import org.zkoss.zul.Tab; +import org.zkoss.zul.Textbox; import com.rjconsultores.ventaboletos.entidad.Conexion; import com.rjconsultores.ventaboletos.entidad.ConexionConf; import com.rjconsultores.ventaboletos.entidad.ConexionCtrl; import com.rjconsultores.ventaboletos.entidad.ConexionDescuento; +import com.rjconsultores.ventaboletos.entidad.ConexionRutaConf; import com.rjconsultores.ventaboletos.entidad.ConexionRutaCtrl; import com.rjconsultores.ventaboletos.entidad.ConexionRutaExcepcionPtoVta; import com.rjconsultores.ventaboletos.entidad.ConexionRutaExcepcionTipoPtoVta; @@ -42,25 +39,29 @@ import com.rjconsultores.ventaboletos.entidad.PuntoVenta; import com.rjconsultores.ventaboletos.entidad.Ruta; import com.rjconsultores.ventaboletos.entidad.RutaCombinacion; import com.rjconsultores.ventaboletos.entidad.TipoPuntoVenta; +import com.rjconsultores.ventaboletos.entidad.Tramo; import com.rjconsultores.ventaboletos.service.ConexionConfService; import com.rjconsultores.ventaboletos.service.ConexionCtrlService; import com.rjconsultores.ventaboletos.service.ConexionDescuentoService; +import com.rjconsultores.ventaboletos.service.ConexionRutaConfService; import com.rjconsultores.ventaboletos.service.ConexionRutaCtrlService; import com.rjconsultores.ventaboletos.service.ConexionRutaExcepcionPtoVtaService; import com.rjconsultores.ventaboletos.service.ConexionRutaExcepcionTipoPtoVtaService; import com.rjconsultores.ventaboletos.service.ConexionRutaTramoCtrlService; import com.rjconsultores.ventaboletos.service.ConexionService; +import com.rjconsultores.ventaboletos.service.ParadaService; +import com.rjconsultores.ventaboletos.service.PuntoVentaService; import com.rjconsultores.ventaboletos.service.RutaCombinacionService; import com.rjconsultores.ventaboletos.service.RutaService; import com.rjconsultores.ventaboletos.service.TipoPuntoVentaService; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import com.rjconsultores.ventaboletos.vo.parada.ParadaVOConexionRuta; -import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; -import com.rjconsultores.ventaboletos.web.utilerias.render.RenderConexionPorRuta; +import com.rjconsultores.ventaboletos.web.utilerias.combinacion.conexionruta.ConexionRutaCombinacionFactory; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderConexionRuta; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderConexionRutaRemoveSelecionada; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderGeracaoConexionPorRuta; @Controller("gerarConexionPorRutaController") @Scope("prototype") @@ -78,6 +79,8 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { @Autowired private ConexionRutaCtrlService conexionRutaCtrlService; @Autowired + private ConexionRutaConfService conexionRutaConfService; + @Autowired private ConexionRutaTramoCtrlService conexionRutaTramoCtrlService; @Autowired private RutaService rutaService; @@ -91,41 +94,55 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { private ConexionRutaExcepcionTipoPtoVtaService conexionRutaExcepcionTipoPtoVtaService; @Autowired private RutaCombinacionService rutaCombinacionService; - - private List lsOrigens; - private List lsDestino; + @Autowired + private ParadaService paradaService; private MyListbox localidadesOrigemlList; private MyListbox localidadesDestinoList; - private MyListbox localidadesOrigenSelecionadaList; - private MyListbox localidadesDestinoSelecionadaList; + private MyListbox localidadesDestinoLinhaCList; + private MyListbox localidadesLinhaASelecionadaList; + private MyListbox localidadesLinhaBSelecionadaList; + private MyListbox localidadesLinhaCSelecionadaList; private Tab resultadoCombinacao; - private Button btnSalvar; + private Button btnSalvarr; + private Button btnApagarr; private Intbox txtTiempoMin; private Intbox txtTiempoMax; + private Textbox txtDescricao; + private MyListbox rutasAList; + private MyListbox rutasBList; + private MyListbox rutasCList; private MyListbox localidadesCombinadasList; private MyListbox localidadesComunsList; + private MyListbox localidadesComunsDestinoCList; private MyListbox listEspCanal; private MyListbox listPuntoVenta; - private MyComboboxEstandar cmbRutaOrigem; - private MyComboboxEstandar cmbRutaDestino; private List lsLocalidadesComuns; + private List lsLocalidadesComunsLinhasBC; private Combobox cmbTipoPtovta; private Combobox cmbPtovta; + private Combobox cmbRutaA; + private Combobox cmbRutaB; + private Combobox cmbRutaC; private List lsTipoPtovta; private List lsConexoes; + private List lsConexoesTemp = new ArrayList(); + private List lsConexionRutaTramoCtrlTemp = new ArrayList(); private Integer grupo; private Short secuencia; + @Autowired + private PuntoVentaService puntoVentaService; private List lsRutas; private HashMap conexionesConfHash; private List conexoesDescontoRemovidas; - private Map cacheLocalidades; private List conexoesCtrl; private List lsConexionRutaTramo; + private List lsConexionRutaTramoConexoes = new ArrayList(); private List lsConexionExistentesRutaTramo; - + private ConexionRutaConf conexionRutaConf; @Override public void doAfterCompose(Component comp) throws Exception { + super.doAfterCompose(comp); grupo = 1; secuencia = 1; @@ -133,33 +150,189 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { conexionesConfHash = new HashMap(); txtTiempoMax.setConstraint("no empty"); txtTiempoMin.setConstraint("no empty"); + txtDescricao.setConstraint("no empty"); lsRutas = rutaService.obtenerTodos(); lsTipoPtovta = tipoPuntoVentaService.obtenerTodos(); - localidadesOrigenSelecionadaList.setItemRenderer(new RenderConexionRutaRemoveSelecionada(new EventListener() { + conexionRutaConf = (ConexionRutaConf) Executions.getCurrent().getArg().get("conexionRutaConf"); + List lsParadasOrigemA = new ArrayList(); + List lsParadasTodasOrigemA = new ArrayList(); + List lsParadasDestinoB = new ArrayList(); + List lsParadasTodasDestinoB = new ArrayList(); + List lsParadasDestinoC = new ArrayList(); + List lsParadasTodasDestinoC = new ArrayList(); + + + if (conexionRutaConf != null) { + + btnSalvarr.setDisabled(false); + btnApagarr.setDisabled(false); + + txtDescricao.setValue(conexionRutaConf.getDescricao()); + txtTiempoMin.setValue(conexionRutaConf.getTiempoMin()); + txtTiempoMax.setValue(conexionRutaConf.getTiempoMax()); + List lsRutaA = new ArrayList(); + List lsRutaB = new ArrayList(); + List lsRutaC = new ArrayList(); + List lsConexionRutaExcepcionPtoVta = conexionRutaRestricaoPtoVtaService.buscarPorConexionConf(conexionRutaConf); + for (ConexionRutaExcepcionPtoVta conexionRutaExcepcionPtoVta : lsConexionRutaExcepcionPtoVta) { + listPuntoVenta.addItemNovo(puntoVentaService.obtenerID(conexionRutaExcepcionPtoVta.getPuntoVenta().getPuntoventaId())); + } + + List lsConexionRutaExcepcionTipoPtoVta = conexionRutaExcepcionTipoPtoVtaService.buscarPorConexionConf(conexionRutaConf); + for (ConexionRutaExcepcionTipoPtoVta conexionRutaExcepcionTipoPtoVta : lsConexionRutaExcepcionTipoPtoVta) { + listEspCanal.addItemNovo(tipoPuntoVentaService.obtenerID(conexionRutaExcepcionTipoPtoVta.getTipoPtovta().getTipoptovtaId())); + } + + + List lsConexionRutaCtrl = conexionRutaCtrlService.buscarPorConexionConf(conexionRutaConf); + for (ConexionRutaCtrl conexionRutaCtrl : lsConexionRutaCtrl) { + Ruta ruta = rutaService.obtenerID(conexionRutaCtrl.getRutaOrigenId()); + if(!lsRutaA.contains(ruta)) { + lsRutaA.add(ruta); + } + ruta = rutaService.obtenerID(conexionRutaCtrl.getRutaDestinoId()); + if(!lsRutaB.contains(ruta)) { + lsRutaB.add(ruta); + } + if(conexionRutaCtrl.getRutaDestinoCId() != null) { + ruta = rutaService.obtenerID(conexionRutaCtrl.getRutaDestinoCId()); + if(!lsRutaC.contains(ruta)) { + lsRutaC.add(ruta); + } + } + + + List lsConexionesRutaTramoCtrl = conexionRutaTramoCtrlService.buscarPorConexionRutaCtrl(conexionRutaCtrl); + lsConexoes = new ArrayList(); + for (ConexionRutaTramoCtrl conexionRutaTramoCtrl : lsConexionesRutaTramoCtrl) { + lsConexoes.add(conexionService.buscarPorConexionRutaTramoCtrl(conexionRutaTramoCtrl.getConexionRutaTramoId())); + } + lsConexionRutaTramoCtrlTemp.addAll(lsConexionesRutaTramoCtrl); + lsConexoesTemp.addAll(lsConexoes); + Set lsParadas = new HashSet(0); + for (Conexion conexion : lsConexoes) { + buscaConfiguraciones(conexion.getConexionctrlId()); + if (conexion.getNumsecuencia() == 1) { + lsParadas = new HashSet(0); + Parada parada = paradaService.obtenerID(conexion.getOrigenId()); + if(!lsParadasOrigemA.contains(parada)) { + lsParadasOrigemA.add(parada); + } + ruta = rutaService.obtenerID(conexionRutaCtrl.getRutaOrigenId()); + if (ruta.getRutaCombinacionList() != null) { + for (RutaCombinacion rc : ruta.getRutaCombinacionList()) { + if (rc.getTramo() != null) { + lsParadas.add(rc.getTramo().getOrigem()); + lsParadas.add(rc.getTramo().getDestino()); + } + } + } + if(!lsParadasTodasOrigemA.containsAll(lsParadas)) { + lsParadasTodasOrigemA.addAll(lsParadas); + } + }else if (conexion.getNumsecuencia() == 2) { + lsParadas = new HashSet(0); + Parada parada = paradaService.obtenerID(conexion.getDestinoId()); + if(!lsParadasDestinoB.contains(parada)) { + lsParadasDestinoB.add(parada); + } + ruta = rutaService.obtenerID(conexionRutaCtrl.getRutaDestinoId()); + if (ruta.getRutaCombinacionList() != null) { + for (RutaCombinacion rc : ruta.getRutaCombinacionList()) { + if (rc.getTramo() != null) { + lsParadas.add(rc.getTramo().getOrigem()); + lsParadas.add(rc.getTramo().getDestino()); + } + } + } + if(!lsParadasTodasDestinoB.containsAll(lsParadas)) { + lsParadasTodasDestinoB.addAll(lsParadas); + } + } + else if (conexion.getNumsecuencia() == 3) { + lsParadas = new HashSet(0); + Parada parada = paradaService.obtenerID(conexion.getDestinoId()); + if(!lsParadasDestinoC.contains(parada)) { + lsParadasDestinoC.add(parada); + } + ruta = rutaService.obtenerID(conexionRutaCtrl.getRutaDestinoCId()); + if (ruta.getRutaCombinacionList() != null) { + for (RutaCombinacion rc : ruta.getRutaCombinacionList()) { + if (rc.getTramo() != null) { + lsParadas.add(rc.getTramo().getOrigem()); + lsParadas.add(rc.getTramo().getDestino()); + } + } + } + if(!lsParadasTodasDestinoC.containsAll(lsParadas)) { + lsParadasTodasDestinoC.addAll(lsParadas); + } + } + } + } + localidadesLinhaASelecionadaList.setData(lsParadasOrigemA); + localidadesOrigemlList.setData(lsParadasTodasOrigemA); + + localidadesLinhaBSelecionadaList.setData(lsParadasDestinoB); + localidadesDestinoList.setData(lsParadasTodasDestinoB); + localidadesLinhaCSelecionadaList.setData(lsParadasDestinoC); + localidadesDestinoLinhaCList.setData(lsParadasTodasDestinoC); + + executarPesquisaLocalidadesOrigen(); + executarPesquisaLocalidadesDestino(); + executarPesquisaLocalidadesDestinoLinhasC(); + + + rutasAList.setData(lsRutaA); + rutasBList.setData(lsRutaB); + rutasCList.setData(lsRutaC); + + gerarCombinacao(); + }else{ + btnSalvarr.setDisabled(true); + btnApagarr.setDisabled(true); + } + + + localidadesLinhaASelecionadaList.setItemRenderer(new RenderConexionRutaRemoveSelecionada(new EventListener() { @Override public void onEvent(Event arg0) throws Exception { - Parada parada = (Parada) arg0.getTarget().getAttribute("data"); - for (Object objectParada : localidadesOrigenSelecionadaList.getListData()) { - if (((Parada) objectParada).equals(parada)) { - localidadesOrigenSelecionadaList.removeItem(parada); + Parada conexionRutaVO = (Parada) arg0.getTarget().getAttribute("data"); + for (Object objectParada : localidadesLinhaASelecionadaList.getListData()) { + if (((Parada) objectParada).equals(conexionRutaVO)) { + localidadesLinhaASelecionadaList.removeItem(conexionRutaVO); break; } } } })); - localidadesDestinoSelecionadaList.setItemRenderer(new RenderConexionRutaRemoveSelecionada(new EventListener() { + localidadesLinhaBSelecionadaList.setItemRenderer(new RenderConexionRutaRemoveSelecionada(new EventListener() { @Override public void onEvent(Event arg0) throws Exception { - Parada parada = (Parada) arg0.getTarget().getAttribute("data"); - for (Object objectParada : localidadesDestinoSelecionadaList.getListData()) { - if (((Parada) objectParada).equals(parada)) { - localidadesDestinoSelecionadaList.removeItem(parada); + Parada conexionRutaVO = (Parada) arg0.getTarget().getAttribute("data"); + for (Object objectParada : localidadesLinhaBSelecionadaList.getListData()) { + if (((Parada) objectParada).equals(conexionRutaVO)) { + localidadesLinhaBSelecionadaList.removeItem(conexionRutaVO); + break; + } + } + } + })); + localidadesLinhaCSelecionadaList.setItemRenderer(new RenderConexionRutaRemoveSelecionada(new EventListener() { + + @Override + public void onEvent(Event arg0) throws Exception { + + Parada conexionRutaVO = (Parada) arg0.getTarget().getAttribute("data"); + for (Object objectParada : localidadesLinhaCSelecionadaList.getListData()) { + if (((Parada) objectParada).equals(conexionRutaVO)) { + localidadesLinhaCSelecionadaList.removeItem(conexionRutaVO); break; } } @@ -183,49 +356,60 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { conexion.setDestinoId(vo.getParadaDestino().getParadaId()); conexion.setRutaId(vo.getRutaId()); conexion.setActivo(true); - conexion.setNumgrupo(grupo); - for (ConexionRutaTramoCtrl conexionRutaTramoCtrl : lsConexionRutaTramo) { - if(conexionRutaTramoCtrl.getOrigenId().equals(vo.getParadaOrigem().getParadaId()) && conexionRutaTramoCtrl.getDestinoId().equals(vo.getParadaDestino().getParadaId()) && secuencia == vo.getSecuencia() && vo.isValido()) { + + for (ConexionRutaTramoCtrl conexionRutaTramoCtrl : lsConexionRutaTramoConexoes) { + if(conexionRutaTramoCtrl.getOrigenId().equals(vo.getParadaOrigem().getParadaId()) && conexionRutaTramoCtrl.getDestinoId().equals(vo.getParadaDestino().getParadaId()) + && secuencia == vo.getSecuencia() && (vo.getGrupo().equals(conexionRutaTramoCtrl.getGrupo())) && conexionRutaTramoCtrl.isValido()) { conexion.setConexionRutaTramoId(conexionRutaTramoCtrl.getConexionRutaTramoId()); conexion.setNumsecuencia(secuencia); vo.setValido(false); - adicionarTrecho(vo.getParadaDestino(), conexion, tempoMax, tempoMin, conexionCtrl); + conexionRutaTramoCtrl.setValido(false); + conexion.setNumgrupo(conexionRutaTramoCtrl.getGrupo()); + adicionarTrecho(conexion, tempoMax, tempoMin, conexionCtrl, conexionRutaTramoCtrl.getGrupo()); + }else if(secuencia > vo.getSecuencia()) { continue LOPP_EXTERNO; } - } - + } } - } - private void adicionarTrecho(Parada destino, Conexion conexion, Integer tempoMax, Integer tempoMin, ConexionCtrl conexionCtrl) throws InterruptedException { + private void adicionarTrecho(Conexion conexion, Integer tempoMax, Integer tempoMin, ConexionCtrl conexionCtrl, Integer grupo) throws InterruptedException { - criaConfiguracaoConexao(tempoMax, tempoMin, conexionCtrl); + criaConfiguracaoConexao(tempoMax, tempoMin, conexionCtrl, grupo); lsConexoes.add(conexion); secuencia++; } @SuppressWarnings("unchecked") - private boolean validarTrechos() throws InterruptedException { + private boolean validarTrechosEixoAEixoB() throws InterruptedException { - Ruta rutaOrigem = (Ruta) cmbRutaOrigem.getSelectedItem().getValue(); - List paradasOrigen = localidadesOrigenSelecionadaList.getListData(); + List rutasEixoA = rutasAList.getListData(); + List paradasOrigen = localidadesLinhaASelecionadaList.getListData(); + List lsLocalidadesComuns = getLsLocalidadesComuns(); - for (Parada paradaOrigem : paradasOrigen) { - for (Parada paradaComum : lsLocalidadesComuns) { - if (!rutaCombinacionService.busquedaRutaTramo(rutaOrigem, rutaCombinacionService.busqueda(rutaOrigem, paradaOrigem, paradaComum), Boolean.TRUE)) { - mostraMensagem(Labels.getLabel("editarConexionController.MSG.trechoInexistente")+" " + paradaOrigem + " - " + paradaComum); - return false; - } + for (Ruta rutaEeixoA : rutasEixoA) { + for (Parada paradaOrigem : paradasOrigen) { + for (Parada paradaComum : lsLocalidadesComuns) { + Tramo tramo = new Tramo(); + tramo.setOrigem(paradaOrigem); + tramo.setDestino(paradaComum); + + if (rutaCombinacionService.busquedaTramoRutaOrigemDestino(rutaEeixoA.getRutaId(),paradaOrigem.getParadaId(), paradaComum.getParadaId()) == null) { + mostraMensagem(Labels.getLabel("editarConexionController.MSG.trechoInexistente")+"Linha : "+rutaEeixoA+ " - " + paradaOrigem + " - " + paradaComum); + return false; + } + } } } + + return true; } - private void criaConfiguracaoConexao(Integer tempoMax, Integer tempoMin, ConexionCtrl conexionCtrl) { + private void criaConfiguracaoConexao(Integer tempoMax, Integer tempoMin, ConexionCtrl conexionCtrl, Integer grupo) { if (secuencia == 1) { ConexionConf conexionConf = new ConexionConf(); conexionConf.setGrupo(grupo); @@ -241,36 +425,75 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { } } + private void buscaConfiguraciones(Long conexionCtrl) { + + ConexionCtrl novoConexionCtrl = conexionCtrlService.obtenerID(conexionCtrl); + conexionesConfHash = new HashMap(); + for (ConexionConf conexionConf : conexionConfService.buscarPorConexionCtrl(novoConexionCtrl)) { + conexionesConfHash.put(conexionConf.getGrupo(), conexionConf); + } + } public void finalizarInsercao() { secuencia = 1; grupo++; } - public void onClick$btnSalvar(Event ev) throws Exception { + @SuppressWarnings("unchecked") + public void onClick$btnSalvarr(Event ev) throws Exception { if(!validarItensSalvar()) { return; } - if (validarConexioneRutasExistentes()) { - StringBuilder sb = new StringBuilder(); - for (ConexionRutaTramoCtrl conexionRutaTramoCtrl : lsConexionExistentesRutaTramo) { - sb.append(cacheLocalidades.get(conexionRutaTramoCtrl.getOrigenId()).getDescparada() + " - " + cacheLocalidades.get(conexionRutaTramoCtrl.getDestinoId()).getDescparada()); - sb.append("\n"); - } - mostraMensagem(Labels.getLabel("editarConexionPorRutaController.MSG.suscribirOBSOK")+ "\n - " + sb.toString()); - - return; + apagarConfiguracaoExistente(); + gerarCombinacao(); + + ConexionRutaCtrl conexionRutaCtrl = null; + + List rutasEixoA = rutasAList.getListData(); + List rutasEixoB = rutasBList.getListData(); + List rutasEixoC = rutasCList.getListData(); + + if(conexionRutaConf == null) { + conexionRutaConf = new ConexionRutaConf(); } - ConexionRutaCtrl conexionRutaCtrl = new ConexionRutaCtrl(); - - salvarConexionesRutaCtrl(conexionRutaCtrl); - salvarPuntoVentasRutaCtrl(conexionRutaCtrl); - salvarCanalVentasRutaCtrl(conexionRutaCtrl); + conexionRutaConf.setDescricao(txtDescricao.getText()); + conexionRutaConf.setTiempoMin(txtTiempoMin.getValue()); + conexionRutaConf.setTiempoMax(txtTiempoMax.getValue()); + salvarConexionesRutaConf(conexionRutaConf); + + int grupo = 1; + + if(!rutasEixoC.isEmpty()) { + for (Ruta rutaEixoA : rutasEixoA) { + for (Ruta rutaEixoB : rutasEixoB) { + for (Ruta rutaEixoC : rutasEixoC) { + conexionRutaCtrl = new ConexionRutaCtrl(); + conexionRutaCtrl.setConexionRutaConf(conexionRutaConf); + salvarConexionesRutaTramoCtrl(conexionRutaCtrl, rutaEixoA, rutaEixoB, rutaEixoC, grupo); + grupo++; + } + } + } + }else { + for (Ruta rutaEixoA : rutasEixoA) { + for (Ruta rutaEixoB : rutasEixoB) { + conexionRutaCtrl = new ConexionRutaCtrl(); + conexionRutaCtrl.setConexionRutaConf(conexionRutaConf); + salvarConexionesRutaTramoCtrl(conexionRutaCtrl, rutaEixoA, rutaEixoB, null, grupo); + grupo++; + } + } + } + + + salvarPuntoVentasRutaCtrl(conexionRutaCtrl, conexionRutaConf); + salvarCanalVentasRutaCtrl(conexionRutaCtrl, conexionRutaConf); for (ConexionCtrl conexionCtrl : conexoesCtrl) { + conexionCtrl.setConexionctrlId(null); if (conexionCtrl.getConexionctrlId() == null) { conexionCtrlService.suscribir(conexionCtrl); @@ -278,78 +501,152 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { conexionCtrlService.actualizacion(conexionCtrl); } salvarConexiones(conexionCtrl); - } - if(!lsConexionExistentesRutaTramo.isEmpty()) { - StringBuilder sb = new StringBuilder(); - for (ConexionRutaTramoCtrl conexionRutaTramoCtrl : lsConexionExistentesRutaTramo) { - sb.append(cacheLocalidades.get(conexionRutaTramoCtrl.getOrigenId()).getDescparada() + " - " + cacheLocalidades.get(conexionRutaTramoCtrl.getDestinoId()).getDescparada()); - sb.append("\n"); - } - mostraMensagem(Labels.getLabel("editarConexionPorRutaController.MSG.suscribirOBSOK")+ "\n - " + sb.toString()); } +// if(!lsConexionExistentesRutaTramo.isEmpty()) { +// StringBuilder sb = new StringBuilder(); +// for (ConexionRutaTramoCtrl conexionRutaTramoCtrl : lsConexionExistentesRutaTramo) { +// sb.append(ConexionRutaCombinacionFactory.getCacheLocalidades().get(conexionRutaTramoCtrl.getOrigenId()).getDescparada() + " - " + ConexionRutaCombinacionFactory.getCacheLocalidades().get(conexionRutaTramoCtrl.getDestinoId()).getDescparada()); +// sb.append("\n"); +// } +// mostraMensagem(Labels.getLabel("editarConexionPorRutaController.MSG.suscribirOBSOK")+ "\n - " + sb.toString()); +// +// } + mostraMensagem(Labels.getLabel("editarConexionPorRutaController.MSG.suscribirOK")); closeWindow(); } - @SuppressWarnings("unchecked") - private boolean validarConexioneRutasExistentes() { - - Ruta rutaOrigem = (Ruta) cmbRutaOrigem.getSelectedItem().getValue(); - Ruta rutaDestino = (Ruta) cmbRutaDestino.getSelectedItem().getValue(); - boolean conexaoExistente = false; - lsConexionRutaTramo = new ArrayList(); - lsConexionExistentesRutaTramo = new ArrayList(); + public void onClick$btnApagarr(Event ev) throws Exception { + int resp = Messagebox.show( + Labels.getLabel("editarConexionPorRutaController.MSG.PerguntaApagar"), + Labels.getLabel("editarConexionExcepcionController.window.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + + if (resp == Messagebox.YES) { + apagarConfiguracaoExistente(); + mostraMensagem(Labels.getLabel("editarConexionPorRutaController.MSG.ApagarOK")); + closeWindow(); + } + + } + + private void apagarConfiguracaoExistente() { + + apagarConexionConf(); + apagarConexionConexoes(); + apagarConexionConexoesCtrl(); + apagarConexionRutaTramoCtrl(); + apagarConexionRutaExceptionTipoPta(); + apagarConexionRutaExceptionPtoPta(); + apagarConexionRutaCtrl(); + apagarConexionConexoesRutaConf(); + } + + private void apagarConexionConexoesRutaConf() { + if(conexionRutaConf != null) { + conexionRutaConfService.borrar(conexionRutaConf); + } + } + + + private void apagarConexionRutaCtrl() { + for (ConexionRutaTramoCtrl conexionTramoCtrl : lsConexionRutaTramoCtrlTemp) { + conexionRutaCtrlService.borrar(conexionTramoCtrl.getConexionRutaCtrl()); + } + } + + + private void apagarConexionRutaExceptionPtoPta() { + + List ls = conexionRutaRestricaoPtoVtaService.buscarPorConexionConf(conexionRutaConf); + conexionRutaRestricaoPtoVtaService.borrar(ls); + } + + private void apagarConexionRutaExceptionTipoPta() { + conexionRutaExcepcionTipoPtoVtaService.borrar(conexionRutaExcepcionTipoPtoVtaService.buscarPorConexionConf(conexionRutaConf)); + } + + + private void apagarConexionRutaTramoCtrl() { + conexionRutaTramoCtrlService.borrar(lsConexionRutaTramoCtrlTemp); + } + + private void apagarConexionConexoesCtrl() { + for (Conexion conexion : lsConexoesTemp) { + conexionCtrlService.borrar(conexionCtrlService.obtenerID(conexion.getConexionctrlId())); + } + } + + private void apagarConexionConexoes() { + conexionService.borrar(lsConexoesTemp); + } + + + private void apagarConexionConf() { + for (ConexionConf conexionConf : conexionesConfHash.values()) { + conexionConfService.borrar(conexionConf); + } + conexionesConfHash = new HashMap(); + } + + + @SuppressWarnings("unchecked") + private boolean validarConexioneRutasExistentes(ConexionRutaCtrl conecionRuta, int grupo) { + + lsConexionExistentesRutaTramo = new ArrayList(); + lsConexionRutaTramo = new ArrayList(); + + boolean conexaoExistente = false; for (ParadaVOConexionRuta vo : (List) localidadesCombinadasList.getListData()) { - + ConexionRutaTramoCtrl conexionRutaTramoCtrl = new ConexionRutaTramoCtrl(); conexionRutaTramoCtrl.setOrigenId(vo.getParadaOrigem().getParadaId()); conexionRutaTramoCtrl.setDestinoId(vo.getParadaDestino().getParadaId()); - - conexaoExistente = conexionRutaTramoCtrlService.validarConexioneRutasExistentes(rutaOrigem.getRutaId(), rutaDestino.getRutaId(), - vo.getParadaOrigem().getParadaId(), vo.getParadaDestino().getParadaId(), vo.getParadaOrigemTrecho().getParadaId(), vo.getParadaDestinoTrecho().getParadaId()); - + conexionRutaTramoCtrl.setRutaId(vo.getRutaId()); + conexionRutaTramoCtrl.setSecuencia(vo.getSecuencia()); + conexaoExistente = conexionRutaTramoCtrlService.validarConexioneRutasExistentes(conecionRuta.getRutaOrigenId(), conecionRuta.getRutaDestinoId(), conecionRuta.getRutaDestinoCId(), + vo.getParadaOrigem().getParadaId(), vo.getParadaDestino().getParadaId(), vo.getParadaOrigemTrecho().getParadaId(), vo.getParadaDestinoTrecho().getParadaId()); + if (conexaoExistente) { lsConexionExistentesRutaTramo.add(conexionRutaTramoCtrl); Iterator it = conexoesCtrl.iterator(); - while(it.hasNext()) { + while (it.hasNext()) { ConexionCtrl cc = it.next(); - if(cc.getOrigenId().equals(vo.getParadaOrigemTrecho().getParadaId()) && cc.getDestinoId().equals(vo.getParadaDestinoTrecho().getParadaId())) { + if (cc.getOrigenId().equals(vo.getParadaOrigemTrecho().getParadaId()) && cc.getDestinoId().equals(vo.getParadaDestinoTrecho().getParadaId())) { conexoesCtrl.remove(cc); break; - } + } + } + } else { + + if (vo.getGrupo().equals(grupo)) { + conexionRutaTramoCtrl.setConexionRutaCtrl(conecionRuta); + conexionRutaTramoCtrl.setValido(true); + conexionRutaTramoCtrl.setGrupo(vo.getGrupo()); + lsConexionRutaTramo.add(conexionRutaTramoCtrl); + lsConexionRutaTramoConexoes.add(conexionRutaTramoCtrl); } - }else { - lsConexionRutaTramo.add(conexionRutaTramoCtrl); } - } - + return lsConexionRutaTramo.isEmpty(); } private void salvarConexiones(ConexionCtrl conexionCtrl) { try { - addConexao(conexionCtrl); + addConexao(conexionCtrl);; } catch (InterruptedException e) { e.printStackTrace(); } List conexionesDescuentos = new ArrayList(); conexionesDescuentos.addAll(conexoesDescontoRemovidas); - - Collections.sort(lsConexoes, new Comparator() { - - @Override - public int compare(Conexion o1, Conexion o2) { - o1.getNumsecuencia().compareTo(o2.getNumsecuencia()); - return 0; - } - }); for (Conexion conexion : lsConexoes) { + conexion.setConexionctrlId(conexionCtrl.getConexionctrlId()); conexion.setFecmodif(Calendar.getInstance().getTime()); conexion.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); @@ -374,28 +671,38 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { conexionConfService.suscribirTodos(conexionesConfHash.values()); } - private void salvarConexionesRutaCtrl(ConexionRutaCtrl conecionRuta) { - - Ruta rutaOrigem = (Ruta) cmbRutaOrigem.getSelectedItem().getValue(); - Ruta rutaDestino = (Ruta) cmbRutaDestino.getSelectedItem().getValue(); - - conecionRuta.setRutaOrigenId(rutaOrigem.getRutaId()); - conecionRuta.setRutaDestinoId(rutaDestino.getRutaId()); - - conexionRutaCtrlService.suscribir(conecionRuta); - salvarConexionesRutaTramoCtrl(conecionRuta); - } - - private void salvarConexionesRutaTramoCtrl(ConexionRutaCtrl conecionRuta) { - - for (ConexionRutaTramoCtrl conexionRutaTramoCtrl : lsConexionRutaTramo) { - conexionRutaTramoCtrl.setConexionRutaCtrl(conecionRuta); + private void salvarConexionesRutaConf(ConexionRutaConf conexionRutaConf) { + if(conexionRutaConf.getConexionRutaConfId() != null) { + conexionRutaConfService.actualizacion(conexionRutaConf); + }else { + conexionRutaConfService.suscribir(conexionRutaConf); } + } + + private void salvarConexionesRutaTramoCtrl(ConexionRutaCtrl conecionRuta, Ruta rutaEixoA, Ruta rutaEixoB, Ruta rutaEixoC, int grupo) throws InterruptedException { + + if (validarConexioneRutasExistentes(conecionRuta, grupo)) { + + StringBuilder sb = new StringBuilder(); + for (ConexionRutaTramoCtrl conexionRutaTramoCtrl : lsConexionExistentesRutaTramo) { + sb.append(ConexionRutaCombinacionFactory.getCacheLocalidades().get(conexionRutaTramoCtrl.getOrigenId()).getDescparada() + " - " + ConexionRutaCombinacionFactory.getCacheLocalidades().get(conexionRutaTramoCtrl.getDestinoId()).getDescparada()); + sb.append("\n"); + } + mostraMensagem(Labels.getLabel("editarConexionPorRutaController.MSG.suscribirOBSOK")+ "\n - " + sb.toString()); + + return; + } + + conecionRuta.setRutaOrigenId(rutaEixoA.getRutaId()); + conecionRuta.setRutaDestinoId(rutaEixoB.getRutaId()); + conecionRuta.setRutaDestinoCId(rutaEixoC != null ? rutaEixoC.getRutaId() : null); + + conexionRutaCtrlService.suscribir(conecionRuta); conexionRutaTramoCtrlService.suscribirTodos(lsConexionRutaTramo); } - private void salvarCanalVentasRutaCtrl(ConexionRutaCtrl conexionRutaCtrl) { + private void salvarCanalVentasRutaCtrl(ConexionRutaCtrl conexionRutaCtrl, ConexionRutaConf conexionRutaConf) { @SuppressWarnings("unchecked") List puntoVentas = listEspCanal.getListData(); @@ -404,7 +711,7 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { for (TipoPuntoVenta vo : puntoVentas) { ConexionRutaExcepcionTipoPtoVta conexionRutaPtoVta = new ConexionRutaExcepcionTipoPtoVta(); - conexionRutaPtoVta.setConexionRutaCtrl(conexionRutaCtrl); + conexionRutaPtoVta.setConexionRutaConf(conexionRutaConf); conexionRutaPtoVta.setTipoPtovta(vo); canalVentaConexionRutas.add(conexionRutaPtoVta); } @@ -412,7 +719,7 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { } - private void salvarPuntoVentasRutaCtrl(ConexionRutaCtrl conexionRutaCtrl) { + private void salvarPuntoVentasRutaCtrl(ConexionRutaCtrl conexionRutaCtrl, ConexionRutaConf conexionRutaConf) { @SuppressWarnings("unchecked") List puntoVentas = listPuntoVenta.getListData(); @@ -421,7 +728,7 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { for (PuntoVenta vo : puntoVentas) { ConexionRutaExcepcionPtoVta conexionRutaPtoVta = new ConexionRutaExcepcionPtoVta(); - conexionRutaPtoVta.setConexionRutaCtrl(conexionRutaCtrl); + conexionRutaPtoVta.setConexionRutaConf(conexionRutaConf); conexionRutaPtoVta.setPuntoVenta(vo); puntoVentasConexionRuta.add(conexionRutaPtoVta); } @@ -439,41 +746,10 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { private void executarPesquisaLocalidadesOrigen() throws InterruptedException { - if (!validarLinhaJaSelecionada()) { - Messagebox.show(Labels.getLabel("editarConexionPorRutaController.MSG.rutaJaSelecionada"), - Labels.getLabel("editarConexionPorRutaController.window.title"), - Messagebox.OK, Messagebox.INFORMATION); - return; - } - - // localidadesOrigenSelecionadaList.clear(); localidadesCombinadasList.clear(); localidadesComunsList.setModel(new ListModelList(new ArrayList())); - localidadesDestinoList.setModel(new ListModelList(new ArrayList())); - localidadesDestinoSelecionadaList.setModel(new ListModelList(new ArrayList())); - - Set lsParadas = new HashSet(0); +// localidadesOrigemlList.setModel(new ListModelList(localidadesLinhaASelecionadaList.getListData())); try { - Ruta ruta = cmbRutaOrigem.getSelectedItem() != null ? (Ruta) cmbRutaOrigem.getSelectedItem().getValue() : null; - if (localidadesOrigemlList.getItems() != null) { - localidadesOrigemlList.getItems().clear(); - } - if (ruta != null) { - - ruta = rutaService.obtenerID(ruta.getRutaId()); - if (ruta != null && ruta.getRutaCombinacionList() != null) { - for (RutaCombinacion rc : ruta.getRutaCombinacionList()) { - if (rc.getTramo() != null) { - lsParadas.add(rc.getTramo().getOrigem()); - lsParadas.add(rc.getTramo().getDestino()); - } - } - } - - lsOrigens = new ArrayList(lsParadas); - localidadesOrigenSelecionadaList.setData(lsOrigens); - localidadesOrigemlList.setData(lsOrigens); - } localidadesOrigemlList.setItemRenderer(new RenderConexionRuta(new EventListener() { @@ -481,15 +757,15 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { public void onEvent(Event arg0) throws Exception { Parada parada = (Parada) arg0.getTarget().getAttribute("data"); if (arg0.getTarget().getAttribute("tipo").equals(RenderConexionRuta.BOTAO_ADICIONAR_PERMISSAO)) { - if (localidadesOrigenSelecionadaList.getListData().isEmpty()) { - localidadesOrigenSelecionadaList.addItemNovo(parada); + if (localidadesLinhaASelecionadaList.getListData().isEmpty()) { + localidadesLinhaASelecionadaList.addItemNovo(parada); } else { - for (Object objectParada : localidadesOrigenSelecionadaList.getListData()) { - if (localidadesOrigenSelecionadaList.getListData().contains(parada) || (getLsLocalidadesComuns() != null && getLsLocalidadesComuns().contains(parada))) { + for (Object objectParada : localidadesLinhaASelecionadaList.getListData()) { + if (localidadesLinhaASelecionadaList.getListData().contains(parada) || (getLsLocalidadesComuns() != null && getLsLocalidadesComuns().contains(parada))) { return; } if (!((Parada) objectParada).equals(parada)) { - localidadesOrigenSelecionadaList.addItemNovo(parada); + localidadesLinhaASelecionadaList.addItemNovo(parada); break; } } @@ -498,63 +774,37 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { } } })); + gerarLocalidadesComuns(); } catch (Exception e) { log.error("", e); } } - @SuppressWarnings("unchecked") private void executarPesquisaLocalidadesDestino() throws InterruptedException { - if (!validarLinhaJaSelecionada()) { - Messagebox.show(Labels.getLabel("editarConexionPorRutaController.MSG.rutaJaSelecionada"), - Labels.getLabel("editarConexionPorRutaController.window.title"), - Messagebox.OK, Messagebox.INFORMATION); - return; - } - localidadesCombinadasList.clear(); + localidadesComunsDestinoCList.setModel(new ListModelList(new ArrayList())); +// localidadesDestinoList.setModel(new ListModelList(localidadesLinhaBSelecionadaList.getListData())); - Set lsParadas = new HashSet(0); + try { - Ruta ruta = cmbRutaDestino.getSelectedItem() != null ? (Ruta) cmbRutaDestino.getSelectedItem().getValue() : null; - if (localidadesDestinoList.getItems() != null) { - localidadesDestinoList.getItems().clear(); - } - if (ruta != null) { - - ruta = rutaService.obtenerID(ruta.getRutaId()); - if (ruta != null && ruta.getRutaCombinacionList() != null) { - for (RutaCombinacion rc : ruta.getRutaCombinacionList()) { - if (rc.getTramo() != null) { - lsParadas.add(rc.getTramo().getOrigem()); - lsParadas.add(rc.getTramo().getDestino()); - } - } - } - - lsDestino = new ArrayList(lsParadas); - localidadesDestinoSelecionadaList.setData(new ListModelList(lsDestino)); - localidadesDestinoList.setModel(new ListModelList(lsDestino)); - } - localidadesDestinoList.setItemRenderer(new RenderConexionRuta(new EventListener() { @Override public void onEvent(Event arg0) throws Exception { Parada parada = (Parada) arg0.getTarget().getAttribute("data"); if (arg0.getTarget().getAttribute("tipo").equals(RenderConexionRuta.BOTAO_ADICIONAR_PERMISSAO)) { - if (localidadesDestinoSelecionadaList.getListData().isEmpty()) { - localidadesDestinoSelecionadaList.addItemNovo(parada); + if (localidadesLinhaBSelecionadaList.getListData().isEmpty()) { + localidadesLinhaBSelecionadaList.addItemNovo(parada); } else { - for (Object objectParada : localidadesDestinoSelecionadaList.getListData()) { - if (localidadesDestinoSelecionadaList.getListData().contains(parada) || (getLsLocalidadesComuns() != null && getLsLocalidadesComuns().contains(parada))) { + for (Object objectParada : localidadesLinhaBSelecionadaList.getListData()) { + if (localidadesLinhaBSelecionadaList.getListData().contains(parada) || (getLsLocalidadesComuns() != null && getLsLocalidadesComuns().contains(parada))) { return; } if (!((Parada) objectParada).equals(parada)) { - localidadesDestinoSelecionadaList.addItemNovo(parada); + localidadesLinhaBSelecionadaList.addItemNovo(parada); break; } } @@ -563,40 +813,85 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { } } })); + gerarLocalidadesComuns(); + } catch (Exception e) { + log.error("", e); + } - lsParadas = new HashSet(0); - ruta = cmbRutaOrigem.getSelectedItem() != null ? (Ruta) cmbRutaOrigem.getSelectedItem().getValue() : null; - ruta = rutaService.obtenerID(ruta.getRutaId()); - if (ruta != null && ruta.getRutaCombinacionList() != null) { - for (RutaCombinacion rc : ruta.getRutaCombinacionList()) { - if (rc.getTramo() != null) { - lsParadas.add(rc.getTramo().getOrigem()); - lsParadas.add(rc.getTramo().getDestino()); + } + + private void executarPesquisaLocalidadesDestinoLinhasC() throws InterruptedException { + + localidadesCombinadasList.clear(); +// localidadesDestinoLinhaCList.setModel(new ListModelList(localidadesLinhaCSelecionadaList.getListData())); + + try { + localidadesDestinoLinhaCList.setItemRenderer(new RenderConexionRuta(new EventListener() { + + @Override + public void onEvent(Event arg0) throws Exception { + Parada parada = (Parada) arg0.getTarget().getAttribute("data"); + if (arg0.getTarget().getAttribute("tipo").equals(RenderConexionRuta.BOTAO_ADICIONAR_PERMISSAO)) { + if (localidadesLinhaCSelecionadaList.getListData().isEmpty()) { + localidadesLinhaCSelecionadaList.addItemNovo(parada); + } else { + for (Object objectParada : localidadesLinhaCSelecionadaList.getListData()) { + if (localidadesLinhaCSelecionadaList.getListData().contains(parada) || (getLsLocalidadesComunsLinhasBC() != null && getLsLocalidadesComunsLinhasBC().contains(parada))) { + return; + } + if (!((Parada) objectParada).equals(parada)) { + localidadesLinhaCSelecionadaList.addItemNovo(parada); + break; + } + } + } + localidadesDestinoLinhaCList.removeItem(parada); } } - } - - ArrayList paradasDuplicadas = new ArrayList(lsParadas); - paradasDuplicadas.retainAll(localidadesDestinoSelecionadaList.getListData()); - - localidadesOrigenSelecionadaList.getListData().removeAll(paradasDuplicadas); - localidadesDestinoSelecionadaList.getListData().removeAll(paradasDuplicadas); - - localidadesComunsList.setModel(new ListModelList(paradasDuplicadas)); - lsLocalidadesComuns = paradasDuplicadas; - + })); + gerarLocalidadesComuns(); } catch (Exception e) { log.error("", e); } } - public void onSelect$cmbRutaOrigem(Event ev) throws Exception { - executarPesquisaLocalidadesOrigen(); + private void gerarLocalidadesComuns() { + + gerarLocalidadesComunsAB(); + gerarLocalidadesComunsBC(); + + } + @SuppressWarnings("unchecked") + private void gerarLocalidadesComunsAB() { + Set lsParadas = new HashSet(0); + lsParadas = new HashSet(localidadesOrigemlList.getListData()); + ArrayList paradasDuplicadas = new ArrayList(lsParadas); + paradasDuplicadas.retainAll(localidadesDestinoList.getListData()); + + localidadesLinhaASelecionadaList.getListData().removeAll(paradasDuplicadas); + localidadesLinhaBSelecionadaList.getListData().removeAll(paradasDuplicadas); + + localidadesComunsList.setModel(new ListModelList(paradasDuplicadas)); + lsLocalidadesComuns = paradasDuplicadas; + } + @SuppressWarnings("unchecked") + private void gerarLocalidadesComunsBC() { + Set lsParadas = new HashSet(0); + lsParadas = new HashSet(localidadesDestinoList.getListData()); + ArrayList paradasDuplicadas = new ArrayList(lsParadas); + paradasDuplicadas.retainAll(localidadesDestinoLinhaCList.getListData()); + localidadesLinhaCSelecionadaList.getListData().removeAll(paradasDuplicadas); + localidadesComunsDestinoCList.setModel(new ListModelList(paradasDuplicadas)); + lsLocalidadesComunsLinhasBC = paradasDuplicadas; + + } + public void onSelect$cmbRutaA(Event ev) throws Exception { +// executarPesquisaLocalidadesOrigen(); } - public void onSelect$cmbRutaDestino(Event ev) throws Exception { - executarPesquisaLocalidadesDestino(); + public void onSelect$cmbRutaB(Event ev) throws Exception { +// executarPesquisaLocalidadesDestino(); } public void onClick$btnCombinarTrechos(Event ev) throws InterruptedException { @@ -606,7 +901,7 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { Messagebox.OK, Messagebox.INFORMATION); return; } - if(!validarTrechos() ) { + if(!validarTrechosEixoAEixoB() ) { return; } gerarCombinacao(); @@ -736,7 +1031,230 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { } } } + + @SuppressWarnings("unchecked") + public void onClick$btnNovoRutaA(Event ev) throws InterruptedException { + + if (!validarLinhaJaSelecionada()) { + Messagebox.show(Labels.getLabel("editarConexionPorRutaController.MSG.rutaJaSelecionada"), + Labels.getLabel("editarConexionPorRutaController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + return; + } + + if(cmbRutaA.getSelectedItem() == null){ + return; + } + Ruta rutaA = (Ruta) cmbRutaA.getSelectedItem().getValue(); + + if (rutasAList.getListData().contains(rutaA)) { + Messagebox.show( + Labels.getLabel("editarPricingEspecificoOcupacionController.MSG.noPricingEspecificoCanalJaCadastrado"), + Labels.getLabel("busquedaPricingEspecificoController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } else { + if(rutaA.getRutaId() == -1){ + rutasAList.clear(); + }else { + @SuppressWarnings("unchecked") + List canaisVenta = rutasAList.getListData(); + for (Ruta rutaAux : canaisVenta) { + if(rutaA.getRutaId() == -1){ + rutasAList.clear(); + rutasAList.addItemNovo(rutaAux); + rutaA = null; + break; + } + } + } + Set lsParadas = new HashSet(0); + lsParadas.addAll(localidadesLinhaASelecionadaList.getListData()); + if(rutaA != null) { + rutaA = rutaService.obtenerID(rutaA.getRutaId()); + if (rutaA.getRutaCombinacionList() != null) { + for (RutaCombinacion rc : rutaA.getRutaCombinacionList()) { + if (rc.getTramo() != null) { + lsParadas.add(rc.getTramo().getOrigem()); + lsParadas.add(rc.getTramo().getDestino()); + } + } + } + + localidadesOrigemlList.setData(new ListModelList(new ArrayList(lsParadas))); + localidadesLinhaASelecionadaList.setData(new ListModelList(new ArrayList(lsParadas))); + + rutasAList.addItemNovo(rutaA); + } + } + executarPesquisaLocalidadesOrigen(); + cmbRutaA.setValue(""); + } + + public void onClick$btnApagarRutaA(Event ev) throws InterruptedException { + int resp = Messagebox.show( + Labels.getLabel("editarConexionExcepcionController.MSG.borrarConexionPergunta"), + Labels.getLabel("editarConexionExcepcionController.window.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + + if (resp == Messagebox.YES) { + if (rutasAList.getSelected() != null) { + rutasAList.removeItem((Ruta) rutasAList.getSelectedItem().getValue()); + } else { + Messagebox.show(Labels.getLabel("editarConexionExcepcionController.MSG.borrarRutaPergunta"), + Labels.getLabel("editarConexionExcepcionController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + } + } + } + + public void onClick$btnNovoRutaB(Event ev) throws InterruptedException { + + if (!validarLinhaJaSelecionada()) { + Messagebox.show(Labels.getLabel("editarConexionPorRutaController.MSG.rutaJaSelecionada"), + Labels.getLabel("editarConexionPorRutaController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + return; + } + + if(cmbRutaB.getSelectedItem() == null){ + return; + } + Ruta rutaB = (Ruta) cmbRutaB.getSelectedItem().getValue(); + + if (rutasBList.getListData().contains(rutaB)) { + Messagebox.show( + Labels.getLabel("editarPricingEspecificoOcupacionController.MSG.noPricingEspecificoCanalJaCadastrado"), + Labels.getLabel("busquedaPricingEspecificoController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } else { + if(rutaB.getRutaId() == -1){ + rutasBList.clear(); + }else { + @SuppressWarnings("unchecked") + List canaisVenta = rutasBList.getListData(); + for (Ruta rutaAux : canaisVenta) { + if(rutaB.getRutaId() == -1){ + rutasBList.clear(); + rutasBList.addItemNovo(rutaAux); + rutaB = null; + break; + } + } + } + Set lsParadas = new HashSet(0); + lsParadas.addAll(localidadesLinhaBSelecionadaList.getListData()); + if(rutaB != null) { + rutaB = rutaService.obtenerID(rutaB.getRutaId()); + if (rutaB.getRutaCombinacionList() != null) { + for (RutaCombinacion rc : rutaB.getRutaCombinacionList()) { + if (rc.getTramo() != null) { + lsParadas.add(rc.getTramo().getOrigem()); + lsParadas.add(rc.getTramo().getDestino()); + } + } + } + localidadesDestinoList.setData(new ListModelList(new ArrayList(lsParadas))); + localidadesLinhaBSelecionadaList.setData(new ListModelList(new ArrayList(lsParadas))); + + rutasBList.addItemNovo(rutaB); + } + } + executarPesquisaLocalidadesDestino(); + cmbRutaB.setValue(""); + + } + + public void onClick$btnApagarRutaB(Event ev) throws InterruptedException { + + int resp = Messagebox.show( + Labels.getLabel("editarConexionExcepcionController.MSG.borrarConexionPergunta"), + Labels.getLabel("editarConexionExcepcionController.window.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + + if (resp == Messagebox.YES) { + if (rutasBList.getSelected() != null) { + rutasBList.removeItem((Ruta) rutasBList.getSelectedItem().getValue()); + } else { + Messagebox.show(Labels.getLabel("editarConexionExcepcionController.MSG.borrarRutaPergunta"), + Labels.getLabel("editarConexionExcepcionController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + } + } + } + public void onClick$btnNovoRutaC(Event ev) throws InterruptedException { + + + if (!validarLinhaJaSelecionada()) { + Messagebox.show(Labels.getLabel("editarConexionPorRutaController.MSG.rutaJaSelecionada"), + Labels.getLabel("editarConexionPorRutaController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + return; + } + + if(cmbRutaC.getSelectedItem() == null){ + return; + } + Ruta rutaC = (Ruta) cmbRutaC.getSelectedItem().getValue(); + + if (rutasCList.getListData().contains(rutaC)) { + Messagebox.show( + Labels.getLabel("editarPricingEspecificoOcupacionController.MSG.noPricingEspecificoCanalJaCadastrado"), + Labels.getLabel("busquedaPricingEspecificoController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } else { + if(rutaC.getRutaId() == -1){ + rutasCList.clear(); + }else { + @SuppressWarnings("unchecked") + List canaisVenta = rutasCList.getListData(); + for (Ruta rutaAux : canaisVenta) { + if(rutaC.getRutaId() == -1){ + rutasCList.clear(); + rutasCList.addItemNovo(rutaAux); + rutaC = null; + break; + } + } + } + Set lsParadas = new HashSet(0); + lsParadas.addAll(localidadesLinhaCSelecionadaList.getListData()); + if(rutaC != null) { + rutaC = rutaService.obtenerID(rutaC.getRutaId()); + if (rutaC.getRutaCombinacionList() != null) { + for (RutaCombinacion rc : rutaC.getRutaCombinacionList()) { + if (rc.getTramo() != null) { + lsParadas.add(rc.getTramo().getOrigem()); + lsParadas.add(rc.getTramo().getDestino()); + } + } + } + localidadesDestinoLinhaCList.setData(new ListModelList(new ArrayList(lsParadas))); + localidadesLinhaCSelecionadaList.setData(new ListModelList(new ArrayList(lsParadas))); + + rutasCList.addItemNovo(rutaC); + } + } + executarPesquisaLocalidadesDestinoLinhasC(); + cmbRutaC.setValue(""); + } + public void onClick$btnApagarRutaC(Event ev) throws InterruptedException { + + int resp = Messagebox.show( + Labels.getLabel("editarConexionExcepcionController.MSG.borrarConexionPergunta"), + Labels.getLabel("editarConexionExcepcionController.window.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + + if (resp == Messagebox.YES) { + if (rutasCList.getSelected() != null) { + rutasCList.removeItem((Ruta) rutasCList.getSelectedItem().getValue()); + } else { + Messagebox.show(Labels.getLabel("editarConexionExcepcionController.MSG.borrarRutaPergunta"), + Labels.getLabel("editarConexionExcepcionController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + } + } + } public List getLsRutas() { return lsRutas; } @@ -770,102 +1288,112 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { public void setLsLocalidadesComuns(List lsLocalidadesComuns) { this.lsLocalidadesComuns = lsLocalidadesComuns; } + + public List getLsLocalidadesComunsLinhasBC() { + return lsLocalidadesComunsLinhasBC; + } + + public void setLsLocalidadesComunsLinhasBC(List lsLocalidadesComunsLinhasBC) { + this.lsLocalidadesComunsLinhasBC = lsLocalidadesComunsLinhasBC; + } + @SuppressWarnings("unchecked") private void gerarCombinacao() { - List listParada1 = localidadesOrigenSelecionadaList.getListData(); - - for (int i = 0; i < getLsLocalidadesComuns().size(); i++) { - - List listParada2 = getLsLocalidadesComuns(); - List listParada3 = Arrays.asList(getLsLocalidadesComuns().get(i)); - List listParada4 = localidadesDestinoSelecionadaList.getListData(); - - LinkedList> lists = new LinkedList>(); - - lists.add(listParada1); - lists.add(listParada2); - lists.add(listParada3); - lists.add(listParada4); - - List localidades = new ArrayList(); - localidades.addAll(listParada1); - localidades.addAll(listParada2); - localidades.addAll(listParada3); - localidades.addAll(listParada4); - - cacheLocalidades = criandoCacheLocalidades(localidades); - gerarCombinacao(lists); - - } - } - - public Map criandoCacheLocalidades(List list) { - Map map = new HashMap(); - for (Parada parada : list) { - map.put(parada.getParadaId(), parada); - } - return map; - } - - private void gerarCombinacao(LinkedList> lists) { - - List lsLocalidades = new ArrayList(); - - Set combinations = new TreeSet(); - Set newCombinations; - - for (Parada s : lists.removeFirst()) - combinations.add(s.getParadaId().toString()); - - while (!lists.isEmpty()) { - List next = lists.removeFirst(); - newCombinations = new TreeSet(); - for (String s1 : combinations) - for (Parada s2 : next) { - newCombinations.add(s1 + ";" + s2.getParadaId()); - } - - combinations = newCombinations; - } - - String[] valoresCalculados = new String[3]; - short i = 1; - Ruta rutaOrigem = (Ruta) cmbRutaOrigem.getSelectedItem().getValue(); - Ruta rutaDestino = (Ruta) cmbRutaDestino.getSelectedItem().getValue(); + List listParada1 = localidadesLinhaASelecionadaList.getListData(); + List rutasEixoA = rutasAList.getListData(); + List rutasEixoB = rutasBList.getListData(); + List rutasEixoC = rutasCList.getListData(); + List listParada4 = localidadesLinhaBSelecionadaList.getListData(); + List listParadasC = localidadesLinhaCSelecionadaList.getListData(); + List localidadesGeradas = new ArrayList(); conexoesCtrl = new ArrayList(); - - for (String comb : combinations) { - - valoresCalculados = comb.split(";"); - lsLocalidades.add(new ParadaVOConexionRuta(cacheLocalidades.get(Integer.parseInt(valoresCalculados[0])), cacheLocalidades.get(Integer.parseInt(valoresCalculados[1])),rutaOrigem.getRutaId(),i, true, - cacheLocalidades.get(Integer.parseInt(valoresCalculados[0])), cacheLocalidades.get(Integer.parseInt(valoresCalculados[3])))); - i++; - lsLocalidades.add(new ParadaVOConexionRuta(cacheLocalidades.get(Integer.parseInt(valoresCalculados[2])), cacheLocalidades.get(Integer.parseInt(valoresCalculados[3])), rutaDestino.getRutaId() ,i, true, - cacheLocalidades.get(Integer.parseInt(valoresCalculados[0])), cacheLocalidades.get(Integer.parseInt(valoresCalculados[3])))); - conexoesCtrl.add(new ConexionCtrl(cacheLocalidades.get(Integer.parseInt(valoresCalculados[0])).getParadaId(), cacheLocalidades.get(Integer.parseInt(valoresCalculados[3])).getParadaId())); - i = 1; - } - - localidadesCombinadasList.setData(lsLocalidades); - localidadesCombinadasList.setItemRenderer(new RenderConexionPorRuta()); - - for (ParadaVOConexionRuta localidade : lsLocalidades) { - log.info(localidade); + if(rutasEixoC.isEmpty()) { + ConexionRutaCombinacionFactory.gerarCombinacionEntre2Eixos(listParada1,rutasEixoA, rutasEixoB, getLsLocalidadesComuns(), listParada4, rutasEixoA, rutasEixoB, localidadesGeradas, conexoesCtrl ); + }else { + ConexionRutaCombinacionFactory.gerarCombinacionEntre3Eixos(listParada1,rutasEixoA, rutasEixoB, getLsLocalidadesComuns(), listParada4,listParadasC, rutasEixoA, rutasEixoB,rutasEixoC,localidadesGeradas, conexoesCtrl ); } + + localidadesCombinadasList.setData(localidadesGeradas); + localidadesCombinadasList.setItemRenderer(new RenderGeracaoConexionPorRuta()); + resultadoCombinacao.setSelected(true); - btnSalvar.setDisabled(Boolean.FALSE); + + btnSalvarr.setDisabled(Boolean.FALSE); + } + + + + @SuppressWarnings("unchecked") private boolean validarLinhaJaSelecionada() { - if (cmbRutaOrigem.getSelectedItem() != null && cmbRutaDestino.getSelectedItem() != null) { - if (cmbRutaOrigem.getSelectedItem().getValue().equals(cmbRutaDestino.getSelectedItem().getValue())) { - return false; + + List lsRutaA = rutasAList.getListData(); + List lsRutaB = rutasBList.getListData(); + List lsRutaC = rutasCList.getListData(); + + Ruta rutaA = (Ruta) (cmbRutaA.getSelectedItem() != null ? cmbRutaA.getSelectedItem().getValue() : null); + Ruta rutaB = (Ruta) (cmbRutaB.getSelectedItem() != null ? cmbRutaB.getSelectedItem().getValue() : null); + Ruta rutaC = (Ruta) (cmbRutaC.getSelectedItem() != null ? cmbRutaC.getSelectedItem().getValue() : null); + + for (Ruta rA : lsRutaA) { + if(rutaA != null) { + if(rA.equals(rutaA)) { + return false; + } } + if(rutaB != null) { + if(rA.equals(rutaB)) { + return false; + } + } + if(rutaC != null) { + if(rA.equals(rutaC)) { + return false; + } + } + + } + for (Ruta rb : lsRutaB) { + if(rutaA != null) { + if(rb.equals(rutaA)) { + return false; + } + } + if(rutaB != null) { + if(rb.equals(rutaB)) { + return false; + } + } + if(rutaC != null) { + if(rb.equals(rutaC)) { + return false; + } + } + + } + for (Ruta rc : lsRutaC) { + if(rutaA != null) { + if(rc.equals(rutaA)) { + return false; + } + } + if(rutaB != null) { + if(rc.equals(rutaB)) { + return false; + } + } + if(rutaC != null) { + if(rc.equals(rutaC)) { + return false; + } + } + } return true; } - } + diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/combinacion/conexionruta/ConexionRutaCombinacionFactory.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/combinacion/conexionruta/ConexionRutaCombinacionFactory.java new file mode 100644 index 000000000..915d792ff --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/combinacion/conexionruta/ConexionRutaCombinacionFactory.java @@ -0,0 +1,185 @@ +package com.rjconsultores.ventaboletos.web.utilerias.combinacion.conexionruta; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.TreeSet; + +import com.rjconsultores.ventaboletos.entidad.ConexionCtrl; +import com.rjconsultores.ventaboletos.entidad.Parada; +import com.rjconsultores.ventaboletos.entidad.Ruta; +import com.rjconsultores.ventaboletos.vo.parada.ParadaVOConexionRuta; + +public class ConexionRutaCombinacionFactory { + + private static Map cacheLocalidades; + + + public static Map criandoCacheLocalidades(List list) { + Map map = new HashMap(); + for (Parada parada : list) { + map.put(parada.getParadaId(), parada); + } + return map; + } + + private static void gerarCombinacao(LinkedList> lists, List rutasEixoA, List rutasEixoB, List rutasEixoC, List localidadesGeradas, List conexoesCtrl) { + + + Set combinacoes = new TreeSet(); + Set novasCombinacoes; + + for (Parada s : lists.removeFirst()) + combinacoes.add(s.getParadaId().toString()); + + while (!lists.isEmpty()) { + List next = lists.removeFirst(); + novasCombinacoes = new TreeSet(); + for (String s1 : combinacoes) + for (Parada s2 : next) { + novasCombinacoes.add(s1 + ";" + s2.getParadaId()); + } + + combinacoes = novasCombinacoes; + } + + if(rutasEixoC == null) { + gerarLocalidadesEixoAB(rutasEixoA, rutasEixoB, localidadesGeradas, combinacoes, conexoesCtrl); + }else { + gerarLocalidadesEixoABC(rutasEixoA, rutasEixoB,rutasEixoC, localidadesGeradas, combinacoes, conexoesCtrl); + } + } + + + private static void gerarLocalidadesEixoAB(List rutasEixoA, List rutasEixoB, List localidadesGeradas, Set combinacoes, List conexoesCtrl) { + short i = 1; + int grupo = 0; + String[] valoresCalculados; + + for (Ruta rutaEixoA : rutasEixoA) { + for (Ruta rutaEixoB : rutasEixoB) { + grupo++; + for (String comb : combinacoes) { + + valoresCalculados = comb.split(";"); + localidadesGeradas.add(new ParadaVOConexionRuta(grupo, cacheLocalidades.get(Integer.parseInt(valoresCalculados[0])), cacheLocalidades.get(Integer.parseInt(valoresCalculados[1])), rutaEixoA.getRutaId(), rutaEixoA.getNumRuta(), i, true, + cacheLocalidades.get(Integer.parseInt(valoresCalculados[0])), cacheLocalidades.get(Integer.parseInt(valoresCalculados[3])))); + i++; + localidadesGeradas.add(new ParadaVOConexionRuta(grupo, cacheLocalidades.get(Integer.parseInt(valoresCalculados[2])), cacheLocalidades.get(Integer.parseInt(valoresCalculados[3])), rutaEixoB.getRutaId(), rutaEixoB.getNumRuta(), i, true, + cacheLocalidades.get(Integer.parseInt(valoresCalculados[0])), cacheLocalidades.get(Integer.parseInt(valoresCalculados[3])))); + i++; + + conexoesCtrl.add(new ConexionCtrl(cacheLocalidades.get(Integer.parseInt(valoresCalculados[0])).getParadaId(), cacheLocalidades.get(Integer.parseInt(valoresCalculados[3])).getParadaId())); + i = 1; + + } + } + } + } + + private static void gerarLocalidadesEixoABC(List rutasEixoA, List rutasEixoB, List rutasEixoC, List localidadesGeradas, Set combinations, List conexoesCtrl) { + + short i = 1; + String[] valoresCalculados = null; + int grupo = 0; + for (Ruta rutaEixoA : rutasEixoA) { + + for (Ruta rutaEixoB : rutasEixoB) { + for (Ruta rutaEixoC : rutasEixoC) { + grupo++; + for (String comb : combinations) { + + valoresCalculados = comb.split(";"); + localidadesGeradas.add(new ParadaVOConexionRuta(grupo, cacheLocalidades.get(Integer.parseInt(valoresCalculados[0])), cacheLocalidades.get(Integer.parseInt(valoresCalculados[1])), rutaEixoA.getRutaId(), rutaEixoA.getNumRuta(), i, true, + cacheLocalidades.get(Integer.parseInt(valoresCalculados[0])), cacheLocalidades.get(Integer.parseInt(valoresCalculados[3])))); + i++; + localidadesGeradas.add(new ParadaVOConexionRuta(grupo, cacheLocalidades.get(Integer.parseInt(valoresCalculados[2])), cacheLocalidades.get(Integer.parseInt(valoresCalculados[3])), rutaEixoB.getRutaId(), rutaEixoB.getNumRuta(), i, true, + cacheLocalidades.get(Integer.parseInt(valoresCalculados[0])), cacheLocalidades.get(Integer.parseInt(valoresCalculados[3])))); + i++; + localidadesGeradas.add(new ParadaVOConexionRuta(grupo, cacheLocalidades.get(Integer.parseInt(valoresCalculados[3])), cacheLocalidades.get(Integer.parseInt(valoresCalculados[4])), rutaEixoC.getRutaId(), rutaEixoC.getNumRuta(), i, true, + cacheLocalidades.get(Integer.parseInt(valoresCalculados[0])), cacheLocalidades.get(Integer.parseInt(valoresCalculados[4])))); + i++; + i = 1; + conexoesCtrl.add(new ConexionCtrl(cacheLocalidades.get(Integer.parseInt(valoresCalculados[0])).getParadaId(), cacheLocalidades.get(Integer.parseInt(valoresCalculados[4])).getParadaId())); + +// if(conexoesCtrl.isEmpty()) { +// conexoesCtrl.add(new ConexionCtrl(cacheLocalidades.get(Integer.parseInt(valoresCalculados[0])).getParadaId(), cacheLocalidades.get(Integer.parseInt(valoresCalculados[4])).getParadaId())); +// }else { +// for (ConexionCtrl conexaoCtrl : conexoesCtrl) { +// if(!conexaoCtrl.getOrigenId().equals(Integer.parseInt(valoresCalculados[0])) && conexaoCtrl.getDestinoId().equals(Integer.parseInt(valoresCalculados[0]))) { +// conexoesCtrl.add(new ConexionCtrl(cacheLocalidades.get(Integer.parseInt(valoresCalculados[0])).getParadaId(), cacheLocalidades.get(Integer.parseInt(valoresCalculados[4])).getParadaId())); +// } +// } +// } + } + } + + } + } + } + + + public static void gerarCombinacionEntre2Eixos(List listParada1, List rutasEixoA, List rutasEixoB, List lsLocalidadesComuns, List listParada4, List rutasEixoA2, List rutasEixoB2, List localidadesGeradas, List conexoesCtrl) { + + for (int i = 0; i < lsLocalidadesComuns.size(); i++) { + + List listParada2 = lsLocalidadesComuns; + List listParada3 = Arrays.asList(lsLocalidadesComuns.get(i)); + + LinkedList> lists = new LinkedList>(); + + lists.add(listParada1); + lists.add(listParada2); + lists.add(listParada3); + lists.add(listParada4); + + List localidades = new ArrayList(); + localidades.addAll(listParada1); + localidades.addAll(listParada2); + localidades.addAll(listParada3); + localidades.addAll(listParada4); + + cacheLocalidades = criandoCacheLocalidades(localidades); + gerarCombinacao(lists, rutasEixoA, rutasEixoB, null, localidadesGeradas, conexoesCtrl); + + } + + } + + public static void gerarCombinacionEntre3Eixos(List listParada1, List rutasEixoA, List rutasEixoB, List lsLocalidadesComuns, List listParada4, List listParadasC, List rutasEixoA2, List rutasEixoB2, List rutasEixoC, List localidadesGeradas, List conexoesCtrl) { + + for (int i = 0; i < lsLocalidadesComuns.size(); i++) { + + List listParada2 = lsLocalidadesComuns; + List listParada3 = Arrays.asList(lsLocalidadesComuns.get(i)); + + LinkedList> lists = new LinkedList>(); + + lists.add(listParada1); + lists.add(listParada2); + lists.add(listParada3); + lists.add(listParada4); + lists.add(listParadasC); + + List localidades = new ArrayList(); + localidades.addAll(listParada1); + localidades.addAll(listParada2); + localidades.addAll(listParada3); + localidades.addAll(listParada4); + localidades.addAll(listParadasC); + + cacheLocalidades = criandoCacheLocalidades(localidades); + gerarCombinacao(lists, rutasEixoA, rutasEixoB, rutasEixoC, localidadesGeradas, conexoesCtrl); + + } + } + + public static Map getCacheLocalidades() { + return cacheLocalidades; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/esquemaoperacional/ItemMenuConexionPorRuta.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/esquemaoperacional/ItemMenuConexionPorRuta.java index 07457544b..b24ff9cb9 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/esquemaoperacional/ItemMenuConexionPorRuta.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/esquemaoperacional/ItemMenuConexionPorRuta.java @@ -18,7 +18,7 @@ public class ItemMenuConexionPorRuta extends DefaultItemMenuSistema { @Override public void ejecutar() { - PantallaUtileria.openWindow("/gui/esquema_operacional/gerarConexionPorRuta.zul", + PantallaUtileria.openWindow("/gui/esquema_operacional/busquedaConexionPorRuta.zul", Labels.getLabel("busquedaConexionPorRutaController.window.title"), getArgs() ,desktop); } diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderBusquedaConexionRuta.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderBusquedaConexionRuta.java new file mode 100644 index 000000000..07600d1da --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderBusquedaConexionRuta.java @@ -0,0 +1,31 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package com.rjconsultores.ventaboletos.web.utilerias.render; + +import org.zkoss.zul.Listcell; +import org.zkoss.zul.Listitem; +import org.zkoss.zul.ListitemRenderer; + +import com.rjconsultores.ventaboletos.entidad.ConexionRutaConf; + +/** + * + * @author wallace + */ +public class RenderBusquedaConexionRuta implements ListitemRenderer { + + public void render(Listitem lstm, Object o) throws Exception { + ConexionRutaConf conexionRutaConf = (ConexionRutaConf) o; + + Listcell lc = new Listcell(String.valueOf(conexionRutaConf.getConexionRutaConfId())); + lc.setParent(lstm); + + lc = new Listcell(String.valueOf(conexionRutaConf.getDescricao())); + lc.setParent(lstm); + + lstm.setValue(conexionRutaConf); + + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderConexionPorRuta.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderConexionPorRuta.java deleted file mode 100644 index c164dd963..000000000 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderConexionPorRuta.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * To change this template, choose Tools | Templates - * and open the template in the editor. - */ -package com.rjconsultores.ventaboletos.web.utilerias.render; - -import org.zkoss.zkplus.spring.SpringUtil; -import org.zkoss.zul.Listcell; -import org.zkoss.zul.Listitem; -import org.zkoss.zul.ListitemRenderer; - -import com.rjconsultores.ventaboletos.entidad.ConexionConf; -import com.rjconsultores.ventaboletos.service.ConexionConfService; -import com.rjconsultores.ventaboletos.vo.parada.ParadaVOConexionRuta; - -/** - * - * @author wallace - */ -public class RenderConexionPorRuta implements ListitemRenderer { - private boolean changeColor = true; - private static long grupo = 0; - private static long grupoConexionCtrl = 0; - private ConexionConfService conexionConfService = (ConexionConfService) SpringUtil.getBean("conexionConfService"); - private String style1 = "Font-weight:bold;background-color: #858a8a"; - private String style2 = "Font-weight:bold;background-color: #535757"; - private String styleDesativada1 = "Font-weight:bold;background-color: #A52A2A"; - private String styleDesativada2 = "Font-weight:bold;background-color: #800000"; - - private void setStyle(Listcell lc, ConexionConf conexionConf) { - lc.setStyle(changeColor ? style1 : style2); - if (conexionConf != null && conexionConf.getIndisponible() != null && conexionConf.getIndisponible()) { - lc.setStyle(changeColor ? styleDesativada1 : styleDesativada2); - } - } - - public void render(Listitem lstm, Object o) throws Exception { - - ParadaVOConexionRuta conexion = (ParadaVOConexionRuta) o; - ConexionConf conexionConf = null; - - Listcell lc = new Listcell(conexion.getParadaOrigem().getDescparada()); -// setStyle(lc, conexionConf); - lc.setParent(lstm); - - lc = new Listcell(conexion.getParadaDestino().getDescparada()); -// setStyle(lc, conexionConf); - lc.setParent(lstm); - - - lstm.setValue(conexion); - } -} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderEditarConexion.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderEditarConexion.java index 8ded80795..d4306bf12 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderEditarConexion.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderEditarConexion.java @@ -70,9 +70,13 @@ public class RenderEditarConexion implements ListitemRenderer { lc.setParent(listItem); setupCelServico(conexionConf); - Ruta ruta = rutaService.obtenerID(conexion.getRutaId()); - lc = new Listcell(ruta.getNumRuta()+ " -"+ ruta.getDescruta()); - lc.setParent(listItem); + Ruta ruta = null; + if (conexion.getRutaId() != null) { + ruta = rutaService.obtenerID(conexion.getRutaId()); + lc = new Listcell(ruta.getNumRuta() + " -" + ruta.getDescruta()); + lc.setParent(listItem); + } + listItem.setValue(conexion); } diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderGeracaoConexionPorRuta.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderGeracaoConexionPorRuta.java new file mode 100644 index 000000000..f825ba83f --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderGeracaoConexionPorRuta.java @@ -0,0 +1,37 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package com.rjconsultores.ventaboletos.web.utilerias.render; + +import org.zkoss.zul.Listcell; +import org.zkoss.zul.Listitem; +import org.zkoss.zul.ListitemRenderer; + +import com.rjconsultores.ventaboletos.vo.parada.ParadaVOConexionRuta; + +/** + * + * @author wallace + */ +public class RenderGeracaoConexionPorRuta implements ListitemRenderer { + + public void render(Listitem lstm, Object o) throws Exception { + + ParadaVOConexionRuta conexion = (ParadaVOConexionRuta) o; + + Listcell lc = new Listcell(conexion.getParadaOrigem().getDescparada()); + lc.setParent(lstm); + + lc = new Listcell(conexion.getParadaDestino().getDescparada()); + lc.setParent(lstm); + + lc = new Listcell(conexion.getNumRuta()); + lc.setParent(lstm); + + lc = new Listcell(String.valueOf(conexion.getSecuencia())); + lc.setParent(lstm); + + lstm.setValue(conexion); + } +} diff --git a/src/java/spring-config.xml b/src/java/spring-config.xml index 714eb9f01..88306d1ec 100644 --- a/src/java/spring-config.xml +++ b/src/java/spring-config.xml @@ -508,6 +508,7 @@ com.rjconsultores.ventaboletos.entidad.ConexionRutaTramoCtrl com.rjconsultores.ventaboletos.entidad.ConexionRutaExcepcionTipoPtoVta com.rjconsultores.ventaboletos.entidad.ConexionRutaExcepcionPtoVta + com.rjconsultores.ventaboletos.entidad.ConexionRutaConf diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 16c326f93..cfcf8ddf4 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -6719,6 +6719,28 @@ busquedaConexionController.btnNovo.tooltiptext = Novo busquedaConexionController.btnPesquisa.label = Pesquisa busquedaConexionController.msg.erroConfConexion = Erro ao carregar a conexão origem {0} e destino {1} para grupo {2} +#Busqueda param conexion por ruta + +busquedaConexionPorRutaController.window.title=Buscar conexões entre Linhas +busquedaConexionPorRutaController.window.title=Buscar Conexões entre Linhas +busquedaConexionPorRutaController.lhOrigenConexion.label=Ori. Conexão +busquedaConexionPorRutaController.lhDestinoConexion.label= Dest. Conexão +busquedaConexionPorRutaController.lhDecricao=Descrição +busquedaConexionPorRutaController.lhId=Id +busquedaConexionPorRutaController.lhGrupo.label=Grupo +busquedaConexionPorRutaController.lhSecuencia.label = Sequencia +busquedaConexionPorRutaController.lhOrigenTrecho.label=Ori. Trecho +busquedaConexionPorRutaController.lhDestinoTrecho.label=Dest. Trecho +busquedaConexionPorRutaController.btnCerrar.tooltiptext=Fechar +busquedaConexionPorRutaController.btnGenerarConexiones.tooltiptext=Gerar Conexões +busquedaConexionPorRutaController.msgGerarCombincoes=Deseja gerar as combinações de conexões? +busquedaConexionPorRutaController.msgCombincoesGeradas=Combinações Geradas com Sucesso +busquedaConexionPorRutaController.btnNovo.tooltiptext = Novo +busquedaConexionPorRutaController.btnPesquisa.label = Pesquisa +busquedaConexionPorRutaController.msg.erroConfConexion = Erro ao carregar a conexão origem {0} e destino {1} para grupo {2} +busquedaConexionPorRutaController.labelDestino.value = Linha Destino +busquedaConexionPorRutaController.labelOrigen.value = Linha Origem + #Editar conexion por ruta editarConexionPorRutaController.window.title=Gerar Conexões entre Linhas @@ -6740,10 +6762,13 @@ editarConexionPorRutaController.labelLocalidadesDescricao.value = Descrição editarConexionPorRutaController.labelLocalidadesCodigo.value = Cód. editarConexionPorRutaController.labelLinhaOrigem.value =Linha Origem editarConexionPorRutaController.labelLinhaDestino.value =Linha Destino -editarConexionPorRutaController.labelLocalidadesComuns.value = Localidades Comuns +editarConexionPorRutaController.labelLocalidadesComunsAB.value =Eixo A x B +editarConexionPorRutaController.labelLocalidadesComunsBC.value =Eixo B x C editarConexionPorRutaController.labelAdicionarLocalidade.value = Adicionar editarConexionPorRutaController.labelOrigemTrecho.value = Origem Trecho editarConexionPorRutaController.labelDestinoTrecho.value = Destino Trecho +editarConexionPorRutaController.labelNumRuta.value = Número da Linha +editarConexionPorRutaController.labelSecuencia.value = Sequência editarConexionPorRutaController.MSG.selecionarConexion= Favor selecionar as linhas para gerar as combinações editarConexionPorRutaController.MSG.rutaJaSelecionada= Linha Já selecionada ! editarConexionPorRutaController.tabResultadoCombinacao = Resultado Combinação @@ -6752,11 +6777,21 @@ editarConexionController.tabConfiguracaoTempo.value = Tempo Conexão editarConexionPorRutaController.labelExcecaoPuntoVenta.value = Exceção Agências editarConexionPorRutaController.MSG.noPuntoVentaJaCadastrado = Ponto de Venda já cadastrado editarConexionExcepcionController.MSG.borrarPuntoVentaPergunta = Deseja remover essa Agência? +editarConexionExcepcionController.MSG.borrarRutaPergunta = Deseja remover essa Linha? editarConexionPorRutaController.labelIDPuntoVenta = ID editarConexionPorRutaController.labelDescPuntoVenta = Agência editarConexionPorRutaController.MSG.suscribirOK = Conexão salva com sucesso. editarConexionPorRutaController.MSG.suscribirOBSOK = Já existem conexões criadas para os seguintes trechos. - +editarConexionPorRutaController.tabLinhas.value=Linhas +editarConexionPorRutaController.tabLocalidades = Localidades +editarConexionPorRutaController.tabDescricao = Descrição +editarConexionPorRutaController.labelLinhaA.value = Eixo A (Linhas) +editarConexionPorRutaController.labelLinhaB.value = Eixo B (Linhas) +editarConexionPorRutaController.labelLinhaC.value = Eixo C (Linhas) +editarConexionPorRutaController.labelDescricao.value=Descrição +editarConexionPorRutaController.MSG.ApagarOK = Conexão removida com sucesso. +editarConexionPorRutaController.MSG.PerguntaApagar = Deseja remover essa Conexão ? +editarConexionPorRutaController.MSG.SequenciaEixOK = Inserir as linhas nas sequências dos eixos. 1º Eixo A, 2º Eixo B, 3º Eixo C #Busqueda param conexion busquedaParamConexionController.window.title=Parâmetros de Conexão @@ -7962,6 +7997,11 @@ relatorioVendasPacotesDetalhadoController.lblSituacaoReservados.value = Reservad relatorioVendasPacotesDetalhadoController.lblSituacaoCancelados.value = Cancelados relatorioVendasPacotesDetalhadoController.lblVoucherNotaCredito=Voucher Nota Crédito + +# Relatorio Quadro Demonstrativo do Momvimento de Passageiro + +relatorioQuadroDemonstrativoMovimentoPassageirosController.relatorio.lb.btnExecutarRelatorioNovoLayout = Layout 2 + # Relatorio Vendas Pacotes Boletos relatorioVendasPacotesBoletosController.window.title = Relatório Vendas de Pacotes - Bilhetes relatorioVendasPacotesBoletosController.lbDataVendaIni.value = Dt Venda Inicial diff --git a/web/gui/esquema_operacional/busquedaConexionPorRuta.zul b/web/gui/esquema_operacional/busquedaConexionPorRuta.zul new file mode 100644 index 000000000..fe20567b9 --- /dev/null +++ b/web/gui/esquema_operacional/busquedaConexionPorRuta.zul @@ -0,0 +1,65 @@ + + + + + + + + + + -