fixes bug#22458

dev:wilian
qua:

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@106955 d1611594-4594-4d17-8e1d-87c2c4800839
master
wilian 2021-05-28 22:04:13 +00:00
parent f527f49c6d
commit 2ca7f0ec8e
1 changed files with 77 additions and 47 deletions

View File

@ -70,9 +70,13 @@ public class ConexionRutaCombinacionFactory {
for (Ruta rutaEixoB : rutasEixoB) { for (Ruta rutaEixoB : rutasEixoB) {
for (String comb : combinacoes) { for (String comb : combinacoes) {
valoresCalculados = comb.split(";"); valoresCalculados = comb.split(";");
if(valoresCalculados != null && valoresCalculados.length == 4) {
Integer origemConexaoCtrl = cacheLocalidades.get(Integer.parseInt(valoresCalculados[0])).getParadaId(); Integer origemConexaoCtrl = Integer.parseInt(valoresCalculados[0]);
Integer destinoConexaoCtrl = cacheLocalidades.get(Integer.parseInt(valoresCalculados[3])).getParadaId(); 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); ConexionCtrlVO conexionCtrl = adicionarConexao(conexoesCtrl, origemConexaoCtrl, destinoConexaoCtrl);
ConexionRutaCtrlVO conexionRutaCtrl = new ConexionRutaCtrlVO(rutaEixoA.getRutaId(), rutaEixoB.getRutaId(), null); ConexionRutaCtrlVO conexionRutaCtrl = new ConexionRutaCtrlVO(rutaEixoA.getRutaId(), rutaEixoB.getRutaId(), null);
@ -90,6 +94,7 @@ public class ConexionRutaCombinacionFactory {
adicionarLocalidadeGerada(conexionCtrl, localidadesGeradas, trechoA, trechoB, null); adicionarLocalidadeGerada(conexionCtrl, localidadesGeradas, trechoA, trechoB, null);
i = 1; i = 1;
}
} }
} }
@ -133,12 +138,24 @@ public class ConexionRutaCombinacionFactory {
} }
private static void adicionarLocalidadeGerada(ConexionCtrlVO conexionCtrl, List<ParadaVOConexionRuta> localidadesGeradas, ParadaVOConexionRuta trechoA, ParadaVOConexionRuta trechoB, ParadaVOConexionRuta trechoC) { private static void adicionarLocalidadeGerada(ConexionCtrlVO conexionCtrl, List<ParadaVOConexionRuta> localidadesGeradas, ParadaVOConexionRuta trechoA, ParadaVOConexionRuta trechoB, ParadaVOConexionRuta trechoC) {
boolean isTrechoAVende = rutaCombinacionService.isRutaCombinacionVenda(trechoA.getRutaId(), trechoA.getParadaOrigem().getParadaId(), trechoA.getParadaDestino().getParadaId()); boolean isTrechoAVende = false;
boolean isTrechoBVende = rutaCombinacionService.isRutaCombinacionVenda(trechoB.getRutaId(), trechoB.getParadaOrigem().getParadaId(), trechoB.getParadaDestino().getParadaId()); 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; boolean isTrechoCVende = true;
if(trechoC != null) { if(trechoC != null) {
if(isDadosNotNull(trechoC)) {
isTrechoCVende = rutaCombinacionService.isRutaCombinacionVenda(trechoC.getRutaId(), trechoC.getParadaOrigem().getParadaId(), trechoC.getParadaDestino().getParadaId()); isTrechoCVende = rutaCombinacionService.isRutaCombinacionVenda(trechoC.getRutaId(), trechoC.getParadaOrigem().getParadaId(), trechoC.getParadaDestino().getParadaId());
} else {
isTrechoCVende = false;
}
} }
if(isTrechoAVende && isTrechoBVende && isTrechoCVende) { if(isTrechoAVende && isTrechoBVende && isTrechoCVende) {
@ -163,9 +180,14 @@ public class ConexionRutaCombinacionFactory {
for (Ruta rutaEixoC : rutasEixoC) { for (Ruta rutaEixoC : rutasEixoC) {
for (String comb : combinations) { for (String comb : combinations) {
valoresCalculados = comb.split(";"); 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;
}
Integer origemConexaoCtrl = cacheLocalidades.get(Integer.parseInt(valoresCalculados[0])).getParadaId();
Integer destinoConexaoCtrl = cacheLocalidades.get(Integer.parseInt(valoresCalculados[4])).getParadaId();
ConexionCtrlVO conexionCtrl = adicionarConexao(conexoesCtrl, origemConexaoCtrl, destinoConexaoCtrl); ConexionCtrlVO conexionCtrl = adicionarConexao(conexoesCtrl, origemConexaoCtrl, destinoConexaoCtrl);
ConexionRutaCtrlVO conexionRutaCtrl = new ConexionRutaCtrlVO(rutaEixoA.getRutaId(), rutaEixoB.getRutaId(), rutaEixoC.getRutaId()); ConexionRutaCtrlVO conexionRutaCtrl = new ConexionRutaCtrlVO(rutaEixoA.getRutaId(), rutaEixoB.getRutaId(), rutaEixoC.getRutaId());
@ -189,6 +211,7 @@ public class ConexionRutaCombinacionFactory {
i = 1; i = 1;
} }
} }
}
} }
} }
@ -276,4 +299,11 @@ public class ConexionRutaCombinacionFactory {
return list; return list;
} }
private static boolean isDadosNotNull(ParadaVOConexionRuta trecho) {
return trecho != null &&
trecho.getRutaId() != null &&
trecho.getParadaOrigem() != null &&
trecho.getParadaDestino() != null;
}
} }