From 2027e5d7073dd1b754df0f47ce2003f181022868 Mon Sep 17 00:00:00 2001 From: wilian Date: Mon, 7 Jun 2021 21:02:26 +0000 Subject: [PATCH] bug#22508 dev:wilian qua: git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@107099 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../ConexionRutaCombinacionFactory.java | 309 ------------------ .../OrdenarLocalidadesGeradas.java | 24 -- 2 files changed, 333 deletions(-) delete mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/combinacion/conexionruta/ConexionRutaCombinacionFactory.java delete mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/combinacion/conexionruta/OrdenarLocalidadesGeradas.java 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 deleted file mode 100644 index 29e2dfdb3..000000000 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/combinacion/conexionruta/ConexionRutaCombinacionFactory.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.rjconsultores.ventaboletos.web.utilerias.combinacion.conexionruta; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -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.Parada; -import com.rjconsultores.ventaboletos.entidad.Ruta; -import com.rjconsultores.ventaboletos.service.RutaCombinacionService; -import com.rjconsultores.ventaboletos.vo.parada.ConexionCtrlVO; -import com.rjconsultores.ventaboletos.vo.parada.ConexionRutaCtrlVO; -import com.rjconsultores.ventaboletos.vo.parada.ParadaVOConexionRuta; -import com.rjconsultores.ventaboletos.web.utilerias.spring.AppContext; - -public class ConexionRutaCombinacionFactory { - - private static Map cacheLocalidades; - - private static RutaCombinacionService rutaCombinacionService = (RutaCombinacionService) AppContext.getApplicationContext().getBean("rutaCombinacionaService"); - - 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(); - - for (Parada s : lists.removeFirst()) - combinacoes.add(s.getParadaId().toString()); - - while (!lists.isEmpty()) { - List next = lists.removeFirst(); - Set novasCombinacoes = new TreeSet(); - for (String s1 : combinacoes) { - for (Parada s2 : next) { - novasCombinacoes.add(s1 + ";" + s2.getParadaId()); - } - } - combinacoes = novasCombinacoes; - } - //System.out.println(combinacoes); - - if(rutasEixoC == null) { - gerarLocalidadesEixoAB(rutasEixoA, rutasEixoB, localidadesGeradas, combinacoes, conexoesCtrl); - }else { - gerarLocalidadesEixoABC(rutasEixoA, rutasEixoB,rutasEixoC, localidadesGeradas, combinacoes, conexoesCtrl); - } - - Collections.sort(localidadesGeradas, new OrdenarLocalidadesGeradas()); - } - - - private static void gerarLocalidadesEixoAB(List rutasEixoA, List rutasEixoB, List localidadesGeradas, Set combinacoes, List conexoesCtrl) { - short i = 1; - String[] valoresCalculados; - - for (Ruta rutaEixoA : rutasEixoA) { - for (Ruta rutaEixoB : rutasEixoB) { - for (String comb : combinacoes) { - valoresCalculados = comb.split(";"); - if(valoresCalculados != null && valoresCalculados.length == 4) { - Integer origemConexaoCtrl = Integer.parseInt(valoresCalculados[0]); - Integer destinoConexaoCtrl = Integer.parseInt(valoresCalculados[3]); - if(origemConexaoCtrl == null || cacheLocalidades.get(origemConexaoCtrl) == null || - destinoConexaoCtrl == null || cacheLocalidades.get(destinoConexaoCtrl) == null) { - continue; - } - - ConexionCtrlVO conexionCtrl = adicionarConexao(conexoesCtrl, origemConexaoCtrl, destinoConexaoCtrl); - ConexionRutaCtrlVO conexionRutaCtrl = new ConexionRutaCtrlVO(rutaEixoA.getRutaId(), rutaEixoB.getRutaId(), null); - - ParadaVOConexionRuta trechoA = new ParadaVOConexionRuta(conexionCtrl.getGrupo(), 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])), - conexionCtrl, conexionRutaCtrl, rutaEixoA.getDescSentido()); - i++; - - ParadaVOConexionRuta trechoB = new ParadaVOConexionRuta(conexionCtrl.getGrupo(), 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])), - conexionCtrl, conexionRutaCtrl, rutaEixoB.getDescSentido()); - i++; - - adicionarLocalidadeGerada(conexionCtrl, localidadesGeradas, trechoA, trechoB, null); - - i = 1; - } - - } - } - } - - removerConexionCtrlInvalida(conexoesCtrl); - } - - /** - * @param conexoesCtrl - * @param origemConexaoCtrl - * @param destinoConexaoCtrl - * @return - */ - private static ConexionCtrlVO adicionarConexao(List conexoesCtrl, Integer origemConexaoCtrl, Integer destinoConexaoCtrl) { - ConexionCtrlVO conexionCtrl = null; - Integer indice = 0; - for (ConexionCtrlVO conexionCtrlTemp : conexoesCtrl) { - if(conexionCtrlTemp.isOrigemDestinoIgual(origemConexaoCtrl, destinoConexaoCtrl)) { - conexionCtrl = conexionCtrlTemp; - break; - } - indice++; - } - - if(conexionCtrl == null) { - conexionCtrl = new ConexionCtrlVO(origemConexaoCtrl, destinoConexaoCtrl); - indice = -1; - } - - conexionCtrl.incrementarGrupo(); - - if(indice > -1) { - conexoesCtrl.set(indice, conexionCtrl); - } else { - conexoesCtrl.add(conexionCtrl); - } - - return conexionCtrl; - - } - - private static void adicionarLocalidadeGerada(ConexionCtrlVO conexionCtrl, List localidadesGeradas, ParadaVOConexionRuta trechoA, ParadaVOConexionRuta trechoB, ParadaVOConexionRuta trechoC) { - boolean isTrechoAVende = false; - boolean isTrechoBVende = false; - - if(isDadosNotNull(trechoA)) { - isTrechoAVende = rutaCombinacionService.isRutaCombinacionVenda(trechoA.getRutaId(), trechoA.getParadaOrigem().getParadaId(), trechoA.getParadaDestino().getParadaId()); - } - - if(isDadosNotNull(trechoB)) { - isTrechoBVende = rutaCombinacionService.isRutaCombinacionVenda(trechoB.getRutaId(), trechoB.getParadaOrigem().getParadaId(), trechoB.getParadaDestino().getParadaId()); - } - - boolean isTrechoCVende = true; - if(trechoC != null) { - if(isDadosNotNull(trechoC)) { - isTrechoCVende = rutaCombinacionService.isRutaCombinacionVenda(trechoC.getRutaId(), trechoC.getParadaOrigem().getParadaId(), trechoC.getParadaDestino().getParadaId()); - } else { - isTrechoCVende = false; - } - } - - if(isTrechoAVende && isTrechoBVende && isTrechoCVende) { - localidadesGeradas.add(trechoA); - localidadesGeradas.add(trechoB); - if(trechoC != null) { - localidadesGeradas.add(trechoC); - } - conexionCtrl.setValida(true); - } else { - conexionCtrl.decrementarGrupo(); - } - } - - private static void gerarLocalidadesEixoABC(List rutasEixoA, List rutasEixoB, List rutasEixoC, List localidadesGeradas, Set combinations, List conexoesCtrl) { - - short i = 1; - String[] valoresCalculados = null; - for (Ruta rutaEixoA : rutasEixoA) { - - for (Ruta rutaEixoB : rutasEixoB) { - for (Ruta rutaEixoC : rutasEixoC) { - for (String comb : combinations) { - valoresCalculados = comb.split(";"); - if(valoresCalculados != null && valoresCalculados.length == 5) { - Integer origemConexaoCtrl = Integer.parseInt(valoresCalculados[0]); - Integer destinoConexaoCtrl = Integer.parseInt(valoresCalculados[4]); - if(origemConexaoCtrl == null || cacheLocalidades.get(origemConexaoCtrl) == null || - destinoConexaoCtrl == null || cacheLocalidades.get(destinoConexaoCtrl) == null) { - continue; - } - - ConexionCtrlVO conexionCtrl = adicionarConexao(conexoesCtrl, origemConexaoCtrl, destinoConexaoCtrl); - ConexionRutaCtrlVO conexionRutaCtrl = new ConexionRutaCtrlVO(rutaEixoA.getRutaId(), rutaEixoB.getRutaId(), rutaEixoC.getRutaId()); - - ParadaVOConexionRuta trechoA = new ParadaVOConexionRuta(conexionCtrl.getGrupo(), 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[4])), - conexionCtrl, conexionRutaCtrl, rutaEixoA.getDescSentido()); - i++; - - ParadaVOConexionRuta trechoB = new ParadaVOConexionRuta(conexionCtrl.getGrupo(), 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[4])), - conexionCtrl, conexionRutaCtrl, rutaEixoB.getDescSentido()); - i++; - - ParadaVOConexionRuta trechoC = new ParadaVOConexionRuta(conexionCtrl.getGrupo(), 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])), - conexionCtrl, conexionRutaCtrl, rutaEixoC.getDescSentido()); - i++; - - adicionarLocalidadeGerada(conexionCtrl, localidadesGeradas, trechoA, trechoB, trechoC); - - i = 1; - } - } - } - - } - } - - removerConexionCtrlInvalida(conexoesCtrl); - } - - private static void removerConexionCtrlInvalida(List conexoesCtrl) { - List temp = new ArrayList(0); - for (ConexionCtrlVO conexionCtrl : conexoesCtrl) { - if(conexionCtrl.isValida()) { - temp.add(conexionCtrl); - } - } - conexoesCtrl.clear(); - conexoesCtrl.addAll(temp); - } - - 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 = Arrays.asList(lsLocalidadesComuns.get(i)); - 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 = Arrays.asList(lsLocalidadesComuns.get(i)); - 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; - } - - public static List extrairConexionRutaCtrl(List localidadesGeradas) { - List list = new ArrayList(0); - for (ParadaVOConexionRuta paradaVOConexionRuta : localidadesGeradas) { - if(!list.contains(paradaVOConexionRuta.getConexionRutaCtrl())) { - list.add(paradaVOConexionRuta.getConexionRutaCtrl()); - } - } - return list; - } - - private static boolean isDadosNotNull(ParadaVOConexionRuta trecho) { - return trecho != null && - trecho.getRutaId() != null && - trecho.getParadaOrigem() != null && - trecho.getParadaDestino() != null; - } - -} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/combinacion/conexionruta/OrdenarLocalidadesGeradas.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/combinacion/conexionruta/OrdenarLocalidadesGeradas.java deleted file mode 100644 index c5c12784d..000000000 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/combinacion/conexionruta/OrdenarLocalidadesGeradas.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.rjconsultores.ventaboletos.web.utilerias.combinacion.conexionruta; - -import java.util.Comparator; - -import com.rjconsultores.ventaboletos.vo.parada.ParadaVOConexionRuta; - -public class OrdenarLocalidadesGeradas implements Comparator { - - @Override - public int compare(ParadaVOConexionRuta o1, ParadaVOConexionRuta o2) { - int retorno = o1.getParadaOrigemTrecho().getParadaId().compareTo(o2.getParadaOrigemTrecho().getParadaId()); - if(retorno == 0) { - retorno = o1.getParadaDestinoTrecho().getParadaId().compareTo(o2.getParadaDestinoTrecho().getParadaId()); - } - if(retorno == 0) { - retorno = o1.getGrupo().compareTo(o2.getGrupo()); - } - if(retorno == 0) { - retorno = o1.getSecuencia().compareTo(o2.getSecuencia()); - } - return retorno; - } - -}