fixes bug#24649

qua:
dev:Valdevir

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@112792 d1611594-4594-4d17-8e1d-87c2c4800839
master
valdevir 2022-06-15 23:40:27 +00:00
parent ffb727d00f
commit e762c7f3c5
3 changed files with 29 additions and 12 deletions

View File

@ -300,7 +300,7 @@ public class Parada implements Serializable, Auditavel<Parada> {
return false;
}
Parada other = (Parada) object;
if ((this.getParadaId() == null && other.getParadaId() != null) || (this.getParadaId() != null && !this.getParadaId().equals(other.getParadaId()))) {
if ((this.getParadaId() == null && other.getParadaId() != null) || (this.getParadaId() != null && this.getParadaId().intValue() != other.getParadaId().intValue())) {
return false;
}
return true;

View File

@ -10,10 +10,14 @@ import com.rjconsultores.ventaboletos.vo.parada.ParadaVOConexionRuta;
public interface ConexionRutaCombinacionService {
public void gerarCombinacionEntre2Eixos(List<Parada> listParada1, List<Ruta> rutasEixoA, List<Ruta> rutasEixoB, List<Parada> lsLocalidadesComuns, List<Parada> listParada4, List<Ruta> rutasEixoA2, List<Ruta> rutasEixoB2, List<ParadaVOConexionRuta> localidadesGeradas, List<ConexionCtrlVO> conexoesCtrl);
public void gerarCombinacionEntre2Eixos(List<Parada> listParada1, List<Ruta> rutasEixoA, List<Ruta> rutasEixoB, List<Parada> lsLocalidadesComuns, List<Parada> listParada4, List<Ruta> rutasEixoA2, List<Ruta> rutasEixoB2, List<ParadaVOConexionRuta> localidadesGeradas, List<ConexionCtrlVO> conexoesCtrl, Boolean isConexaoPorAgrupamento);
public void gerarCombinacionEntre3Eixos(List<Parada> listParada1, List<Ruta> rutasEixoA, List<Ruta> rutasEixoB, List<Parada> lsLocalidadesComuns, List<Parada> listParada4, List<Parada> listParadasC, List<Ruta> rutasEixoA2, List<Ruta> rutasEixoB2, List<Ruta> rutasEixoC, List<ParadaVOConexionRuta> localidadesGeradas, List<ConexionCtrlVO> conexoesCtrl);
public List<ConexionRutaCtrlVO> extrairConexionRutaCtrl(List<ParadaVOConexionRuta> localidadesGeradas);
public List<Parada> getParadasByAgrupamentoId(Parada parada);
}

View File

@ -42,7 +42,7 @@ public class ConexionRutaCombinacionServiceImpl implements ConexionRutaCombinaci
return cacheLocalidades;
}
private void gerarCombinacao(LinkedList<List<Parada>> lists, List<Ruta> rutasEixoA, List<Ruta> rutasEixoB, List<Ruta> rutasEixoC, List<ParadaVOConexionRuta> localidadesGeradas, List<ConexionCtrlVO> conexoesCtrl, Map<Integer, Parada> cacheLocalidades) {
private void gerarCombinacao(LinkedList<List<Parada>> lists, List<Ruta> rutasEixoA, List<Ruta> rutasEixoB, List<Ruta> rutasEixoC, List<ParadaVOConexionRuta> localidadesGeradas, List<ConexionCtrlVO> conexoesCtrl, Map<Integer, Parada> cacheLocalidades, Boolean isConexaoPorAgrupamento) {
Set<String> combinacoes = new TreeSet<String>();
@ -66,7 +66,7 @@ public class ConexionRutaCombinacionServiceImpl implements ConexionRutaCombinaci
Set<String> rutasVendaB = rutaCombinacionService.rutasCombinacionVenda(rutasEixoB);
if(rutasEixoC == null) {
gerarLocalidadesEixoAB(rutasEixoA, rutasEixoB, localidadesGeradas, combinacoes, conexoesCtrl, cacheLocalidades, rutasVendaA, rutasVendaB);
gerarLocalidadesEixoAB(rutasEixoA, rutasEixoB, localidadesGeradas, combinacoes, conexoesCtrl, cacheLocalidades, rutasVendaA, rutasVendaB, isConexaoPorAgrupamento);
}else {
Set<String> rutasVendaC = rutaCombinacionService.rutasCombinacionVenda(rutasEixoC);
gerarLocalidadesEixoABC(rutasEixoA, rutasEixoB,rutasEixoC, localidadesGeradas, combinacoes, conexoesCtrl, cacheLocalidades, rutasVendaA, rutasVendaB, rutasVendaC );
@ -76,7 +76,7 @@ public class ConexionRutaCombinacionServiceImpl implements ConexionRutaCombinaci
}
private void gerarLocalidadesEixoAB(List<Ruta> rutasEixoA, List<Ruta> rutasEixoB, List<ParadaVOConexionRuta> localidadesGeradas, Set<String> combinacoes, List<ConexionCtrlVO> conexoesCtrl, Map<Integer, Parada> cacheLocalidades, Set<String> rutasVendaA, Set<String> rutasVendaB) {
private void gerarLocalidadesEixoAB(List<Ruta> rutasEixoA, List<Ruta> rutasEixoB, List<ParadaVOConexionRuta> localidadesGeradas, Set<String> combinacoes, List<ConexionCtrlVO> conexoesCtrl, Map<Integer, Parada> cacheLocalidades, Set<String> rutasVendaA, Set<String> rutasVendaB, Boolean isConexaoPorAgrupamento) {
short i = 1;
String[] valoresCalculados;
@ -105,7 +105,7 @@ public class ConexionRutaCombinacionServiceImpl implements ConexionRutaCombinaci
conexionCtrl, conexionRutaCtrl, rutaEixoB.getDescSentido());
i++;
adicionarLocalidadeGerada(conexionCtrl, localidadesGeradas, trechoA, trechoB, null, rutasVendaA, rutasVendaB, new HashSet<String>());
adicionarLocalidadeGerada(conexionCtrl, localidadesGeradas, trechoA, trechoB, null, rutasVendaA, rutasVendaB, new HashSet<String>(), isConexaoPorAgrupamento);
i = 1;
}
@ -151,7 +151,7 @@ public class ConexionRutaCombinacionServiceImpl implements ConexionRutaCombinaci
}
private void adicionarLocalidadeGerada(ConexionCtrlVO conexionCtrl, List<ParadaVOConexionRuta> localidadesGeradas, ParadaVOConexionRuta trechoA, ParadaVOConexionRuta trechoB, ParadaVOConexionRuta trechoC, Set<String> rutasVendaA, Set<String> rutasVendaB, Set<String> rutasVendaC) {
private void adicionarLocalidadeGerada(ConexionCtrlVO conexionCtrl, List<ParadaVOConexionRuta> localidadesGeradas, ParadaVOConexionRuta trechoA, ParadaVOConexionRuta trechoB, ParadaVOConexionRuta trechoC, Set<String> rutasVendaA, Set<String> rutasVendaB, Set<String> rutasVendaC, Boolean isConexaoPorAgrupamento) {
boolean isTrechoAVende = false;
boolean isTrechoBVende = false;
@ -172,7 +172,7 @@ public class ConexionRutaCombinacionServiceImpl implements ConexionRutaCombinaci
}
}
if(isTrechoAVende && isTrechoBVende && isTrechoCVende) {
if((isTrechoAVende && isTrechoBVende && isTrechoCVende) || Boolean.TRUE.equals(isConexaoPorAgrupamento)) {
localidadesGeradas.add(trechoA);
localidadesGeradas.add(trechoB);
if(trechoC != null) {
@ -220,7 +220,7 @@ public class ConexionRutaCombinacionServiceImpl implements ConexionRutaCombinaci
conexionCtrl, conexionRutaCtrl, rutaEixoC.getDescSentido());
i++;
adicionarLocalidadeGerada(conexionCtrl, localidadesGeradas, trechoA, trechoB, trechoC, rutasVendaA, rutasVendaB, rutasVendaC);
adicionarLocalidadeGerada(conexionCtrl, localidadesGeradas, trechoA, trechoB, trechoC, rutasVendaA, rutasVendaB, rutasVendaC, null);
i = 1;
}
@ -244,7 +244,7 @@ public class ConexionRutaCombinacionServiceImpl implements ConexionRutaCombinaci
conexoesCtrl.addAll(temp);
}
public void gerarCombinacionEntre2Eixos(List<Parada> listParada1, List<Ruta> rutasEixoA, List<Ruta> rutasEixoB, List<Parada> lsLocalidadesComuns, List<Parada> listParada4, List<Ruta> rutasEixoA2, List<Ruta> rutasEixoB2, List<ParadaVOConexionRuta> localidadesGeradas, List<ConexionCtrlVO> conexoesCtrl) {
public void gerarCombinacionEntre2Eixos(List<Parada> listParada1, List<Ruta> rutasEixoA, List<Ruta> rutasEixoB, List<Parada> lsLocalidadesComuns, List<Parada> listParada4, List<Ruta> rutasEixoA2, List<Ruta> rutasEixoB2, List<ParadaVOConexionRuta> localidadesGeradas, List<ConexionCtrlVO> conexoesCtrl, Boolean isConexaoPorAgrupamento) {
for (int i = 0; i < lsLocalidadesComuns.size(); i++) {
@ -279,11 +279,24 @@ public class ConexionRutaCombinacionServiceImpl implements ConexionRutaCombinaci
}
Map<Integer, Parada> cacheLocalidades = criandoCacheLocalidades(localidades);
gerarCombinacao(lists, rutasEixoA, rutasEixoB, null, localidadesGeradas, conexoesCtrl, cacheLocalidades);
gerarCombinacao(lists, rutasEixoA, rutasEixoB, null, localidadesGeradas, conexoesCtrl, cacheLocalidades, isConexaoPorAgrupamento);
}
}
public List<Parada> getParadasByAgrupamentoId(Parada parada) {
List<Parada> localidades = new ArrayList<Parada>();
List<Parada> paradaAgrupamentoList = paradaService.buscarPorAgrupamentoParadaId(parada.getAgrupamentoParada());
if(paradaAgrupamentoList!=null && !paradaAgrupamentoList.isEmpty()) {
for (Parada paradaAgrupamento : paradaAgrupamentoList) {
if(!localidades.contains(paradaAgrupamento)) {
localidades.add(paradaAgrupamento);
}
}
}
return localidades;
}
public void gerarCombinacionEntre3Eixos(List<Parada> listParada1, List<Ruta> rutasEixoA, List<Ruta> rutasEixoB, List<Parada> lsLocalidadesComuns, List<Parada> listParada4, List<Parada> listParadasC, List<Ruta> rutasEixoA2, List<Ruta> rutasEixoB2, List<Ruta> rutasEixoC, List<ParadaVOConexionRuta> localidadesGeradas, List<ConexionCtrlVO> conexoesCtrl) {
@ -308,7 +321,7 @@ public class ConexionRutaCombinacionServiceImpl implements ConexionRutaCombinaci
localidades.addAll(listParadasC);
Map<Integer, Parada> cacheLocalidades = criandoCacheLocalidades(localidades);
gerarCombinacao(lists, rutasEixoA, rutasEixoB, rutasEixoC, localidadesGeradas, conexoesCtrl, cacheLocalidades);
gerarCombinacao(lists, rutasEixoA, rutasEixoB, rutasEixoC, localidadesGeradas, conexoesCtrl, cacheLocalidades, null);
}
}