From 98b6f77d2db3191a01924f7542a728b4f8e092d2 Mon Sep 17 00:00:00 2001 From: wilian Date: Wed, 2 Jun 2021 21:33:13 +0000 Subject: [PATCH] fixes bug#22475 dev:wilian qua: git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@107031 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../GerarConexionPorRutaController.java | 97 +++++++++---------- 1 file changed, 44 insertions(+), 53 deletions(-) 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 70cd5e85b..faa4d2aab 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,6 +1,7 @@ package com.rjconsultores.ventaboletos.web.gui.controladores.esquemaoperacional; import java.util.ArrayList; +import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; @@ -24,7 +25,6 @@ import org.zkoss.zul.Textbox; import com.rjconsultores.ventaboletos.entidad.ConexionCtrl; import com.rjconsultores.ventaboletos.entidad.ConexionRutaConf; -import com.rjconsultores.ventaboletos.entidad.ConexionRutaCtrl; import com.rjconsultores.ventaboletos.entidad.ConexionRutaExcepcionPtoVta; import com.rjconsultores.ventaboletos.entidad.ConexionRutaExcepcionTipoPtoVta; import com.rjconsultores.ventaboletos.entidad.Parada; @@ -33,18 +33,19 @@ import com.rjconsultores.ventaboletos.entidad.Ruta; import com.rjconsultores.ventaboletos.entidad.RutaCombinacion; import com.rjconsultores.ventaboletos.entidad.TipoPuntoVenta; 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.RutaService; import com.rjconsultores.ventaboletos.service.TipoPuntoVentaService; import com.rjconsultores.ventaboletos.vo.parada.ConexionCtrlVO; +import com.rjconsultores.ventaboletos.vo.parada.ConexionRutaConfVO; import com.rjconsultores.ventaboletos.vo.parada.ConexionRutaCtrlVO; import com.rjconsultores.ventaboletos.vo.parada.ParadaVOConexionRuta; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; import com.rjconsultores.ventaboletos.web.utilerias.combinacion.conexionruta.ConexionRutaCombinacionFactory; +import com.rjconsultores.ventaboletos.web.utilerias.combinacion.conexionruta.OrdenarLocalidadesGeradas; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderConexionRuta; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderConexionRutaRemoveSelecionada; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderGeracaoConexionPorRuta; @@ -56,8 +57,6 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { private static final long serialVersionUID = 1L; private static Logger log = Logger.getLogger(GerarConexionPorRutaController.class); - @Autowired - private ConexionRutaCtrlService conexionRutaCtrlService; @Autowired private ConexionRutaConfService conexionRutaConfService; @Autowired @@ -110,6 +109,7 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { public void doAfterCompose(Component comp) throws Exception { super.doAfterCompose(comp); + txtTiempoMax.setConstraint("no empty"); txtTiempoMin.setConstraint("no empty"); txtDescricao.setConstraint("no empty"); @@ -135,9 +135,6 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { txtDescricao.setValue(conexionRutaConf.getDescricao()); txtTiempoMin.setValue(conexionRutaConf.getTiempoMin()); txtTiempoMax.setValue(conexionRutaConf.getTiempoMax()); - List lsRutaA = new ArrayList(); - List lsRutaB = new ArrayList(); - List lsRutaC = new ArrayList(); for (ConexionRutaExcepcionPtoVta conexionRutaExcepcionPtoVta : conexionRutaRestricaoPtoVtaService.buscarPorConexionConf(conexionRutaConf)) { listPuntoVenta.addItemNovo(conexionRutaExcepcionPtoVta.getPuntoVenta()); @@ -146,26 +143,24 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { for (ConexionRutaExcepcionTipoPtoVta conexionRutaExcepcionTipoPtoVta: conexionRutaExcepcionTipoPtoVtaService.buscarPorConexionConf(conexionRutaConf)) { listEspCanal.addItemNovo(conexionRutaExcepcionTipoPtoVta.getTipoPtovta()); } + + List> rutas = conexionRutaConfService.buscarRutasPorConexionConf(conexionRutaConf.getConexionRutaConfId()); + List lsRutaA = rutas.get(0); + List lsRutaB = rutas.get(1); + List lsRutaC = rutas.get(2); - List lsConexionRutaCtrl = conexionRutaCtrlService.buscarPorConexionConf(conexionRutaConf); - for (ConexionRutaCtrl conexionRutaCtrl : lsConexionRutaCtrl) { - Ruta ruta = rutaService.obtenerID(conexionRutaCtrl.getRutaOrigenId()); - carregarRuta(lsParadasTodasOrigemA, lsRutaA, ruta); - - ruta = rutaService.obtenerID(conexionRutaCtrl.getRutaDestinoId()); - carregarRuta(lsParadasTodasDestinoB, lsRutaB, ruta); - - if(conexionRutaCtrl.getRutaDestinoCId() != null) { - ruta = rutaService.obtenerID(conexionRutaCtrl.getRutaDestinoCId()); - carregarRuta(lsParadasTodasDestinoC, lsRutaC, ruta); - } - - lsParadasOrigemA.addAll(conexionRutaTramoCtrlService.buscarLocalidadesOrigem(conexionRutaCtrl)); - - lsParadasDestinoB.addAll(conexionRutaTramoCtrlService.buscarLocalidadesDestino(conexionRutaCtrl)); - - lsParadasDestinoC.addAll(conexionRutaTramoCtrlService.buscarLocalidadesDestinoC(conexionRutaCtrl)); - } + lsParadasOrigemA.addAll(conexionRutaTramoCtrlService.buscarLocalidadesOrigem(conexionRutaConf.getConexionRutaConfId())); + lsParadasDestinoB.addAll(conexionRutaTramoCtrlService.buscarLocalidadesDestino(conexionRutaConf.getConexionRutaConfId())); + lsParadasDestinoC.addAll(conexionRutaTramoCtrlService.buscarLocalidadesDestinoC(conexionRutaConf.getConexionRutaConfId())); + + lsParadasTodasOrigemA.addAll(conexionRutaTramoCtrlService.buscarTodasLocalidadesOrigem(conexionRutaConf.getConexionRutaConfId())); + lsParadasTodasOrigemA.removeAll(lsParadasOrigemA); + + lsParadasTodasDestinoB.addAll(conexionRutaTramoCtrlService.buscarTodasLocalidadesDestino(conexionRutaConf.getConexionRutaConfId())); + lsParadasTodasDestinoB.removeAll(lsParadasDestinoB); + + lsParadasTodasDestinoC.addAll(conexionRutaTramoCtrlService.buscarTodasLocalidadesDestinoC(conexionRutaConf.getConexionRutaConfId())); + lsParadasTodasDestinoC.removeAll(lsParadasDestinoC); localidadesLinhaASelecionadaList.setData(new ArrayList(lsParadasOrigemA)); localidadesOrigemlList.setData(new ArrayList(lsParadasTodasOrigemA)); @@ -182,7 +177,7 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { rutasBList.setData(lsRutaB); rutasCList.setData(lsRutaC); - gerarCombinacao(); + gerarCombinacao(true); }else{ btnSalvar.setDisabled(true); btnApagar.setDisabled(true); @@ -242,19 +237,7 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { })); resultadoCombinacao.setSelected(false); - } - - - private void carregarRuta(Set lsParadasTodas, List lsRuta, Ruta ruta) { - if(!lsRuta.contains(ruta)) { - lsRuta.add(ruta); - for (RutaCombinacion rc : ruta.getRutaCombinacionList()) { - if (rc.getTramo() != null) { - lsParadasTodas.add(rc.getTramo().getOrigem()); - lsParadasTodas.add(rc.getTramo().getDestino()); - } - } - } + } @SuppressWarnings("unchecked") @@ -268,7 +251,7 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { conexionRutaConfService.excluirConfiguracao(conexionRutaConf, false); } - gerarCombinacao(); + gerarCombinacao(false); List lsConexionRutaCtrl = ConexionRutaCombinacionFactory.extrairConexionRutaCtrl(localidadesGeradas); boolean itemNovo = false; @@ -284,7 +267,8 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { List canalVentas = listEspCanal.getListData(); List puntoVentas = listPuntoVenta.getListData(); - conexionRutaConf = conexionRutaConfService.salvarConfiguracao(conexionRutaConf, canalVentas, puntoVentas, conexoesCtrl, lsConexionRutaCtrl, localidadesGeradas); + conexionRutaConf = conexionRutaConfService.salvarConfiguracao(conexionRutaConf, canalVentas, puntoVentas, + conexoesCtrl, lsConexionRutaCtrl, localidadesGeradas); if(itemNovo) { conexionRutaConfList.addItemNovo(conexionRutaConf); @@ -479,7 +463,7 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { return; } - gerarCombinacao(); + gerarCombinacao(false); } private boolean validarItensSalvar() throws InterruptedException { @@ -838,9 +822,8 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { @SuppressWarnings("unchecked") - private void gerarCombinacao() { + private void gerarCombinacao(boolean carregarGravadas) { - localidadesGeradas = new ArrayList(); conexoesCtrl = new ArrayList(); @@ -852,16 +835,24 @@ public class GerarConexionPorRutaController extends MyGenericForwardComposer { List listParadasC = localidadesLinhaCSelecionadaList.getListData(); List conexoesCtrlVO = new ArrayList(0); - if(rutasEixoC.isEmpty()) { - ConexionRutaCombinacionFactory.gerarCombinacionEntre2Eixos(listParada1,rutasEixoA, rutasEixoB, getLsLocalidadesComuns(), listParada4, rutasEixoA, rutasEixoB, localidadesGeradas, conexoesCtrlVO ); - }else { - ConexionRutaCombinacionFactory.gerarCombinacionEntre3Eixos(listParada1,rutasEixoA, rutasEixoB, getLsLocalidadesComuns(), listParada4,listParadasC, rutasEixoA, rutasEixoB,rutasEixoC,localidadesGeradas, conexoesCtrlVO ); + if(carregarGravadas && conexionRutaConf != null) { + ConexionRutaConfVO conexionRutaConfVO = conexionRutaConfService.carregarConexoesCadastradas(conexionRutaConf.getConexionRutaConfId()); + localidadesGeradas = new ArrayList(conexionRutaConfVO.getLocalidadesCombinadas()); + Collections.sort(localidadesGeradas, new OrdenarLocalidadesGeradas()); + conexoesCtrl = new ArrayList(conexionRutaConfVO.getListConexionCtrl()); + } else { + if(rutasEixoC.isEmpty()) { + ConexionRutaCombinacionFactory.gerarCombinacionEntre2Eixos(listParada1,rutasEixoA, rutasEixoB, getLsLocalidadesComuns(), listParada4, rutasEixoA, rutasEixoB, localidadesGeradas, conexoesCtrlVO ); + }else { + ConexionRutaCombinacionFactory.gerarCombinacionEntre3Eixos(listParada1,rutasEixoA, rutasEixoB, getLsLocalidadesComuns(), listParada4,listParadasC, rutasEixoA, rutasEixoB,rutasEixoC,localidadesGeradas, conexoesCtrlVO ); + } + + for (ConexionCtrlVO conexionCtrlVO : conexoesCtrlVO) { + conexoesCtrl.add(new ConexionCtrl(conexionCtrlVO.getOrigenId(), conexionCtrlVO.getDestinoId(), conexionCtrlVO.getGrupo())); + } + } - for (ConexionCtrlVO conexionCtrlVO : conexoesCtrlVO) { - conexoesCtrl.add(new ConexionCtrl(conexionCtrlVO.getOrigenId(), conexionCtrlVO.getDestinoId(), conexionCtrlVO.getGrupo())); - } - localidadesCombinadasList.setData(localidadesGeradas); localidadesCombinadasList.setItemRenderer(new RenderGeracaoConexionPorRuta());