fixes bug#24160

qua:
dev:Valdevir


git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@111888 d1611594-4594-4d17-8e1d-87c2c4800839
master
valdevir 2022-04-13 21:54:18 +00:00
parent 630d37ad70
commit 7a01f745ff
8 changed files with 80 additions and 9 deletions

View File

@ -4,6 +4,7 @@
*/
package com.rjconsultores.ventaboletos.dao;
import com.rjconsultores.ventaboletos.entidad.AgrupamentoParada;
import com.rjconsultores.ventaboletos.entidad.Ciudad;
import com.rjconsultores.ventaboletos.entidad.Nodo;
import com.rjconsultores.ventaboletos.entidad.Parada;
@ -56,4 +57,7 @@ public interface ParadaDAO {
public List<Parada> buscarListaPorIds(List<Integer> paradaIds);
public Parada buscarPorId(Integer paradaId);
public List<Parada> buscarPorAgrupamentoParadaId(AgrupamentoParada agrupamentoParada);
}

View File

@ -17,6 +17,7 @@ import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Repository;
import com.rjconsultores.ventaboletos.dao.ParadaDAO;
import com.rjconsultores.ventaboletos.entidad.AgrupamentoParada;
import com.rjconsultores.ventaboletos.entidad.Ciudad;
import com.rjconsultores.ventaboletos.entidad.Nodo;
import com.rjconsultores.ventaboletos.entidad.Parada;
@ -163,4 +164,16 @@ public class ParadaHibernateDAO extends GenericHibernateDAO<Parada, Integer> imp
return (Parada) c.uniqueResult();
}
@Override
public List<Parada> buscarPorAgrupamentoParadaId(AgrupamentoParada agrupamentoParada) {
if(agrupamentoParada !=null) {
Criteria c = this.makeCriteria();
c.add(Restrictions.eq("agrupamentoParada", agrupamentoParada));
c.add(Restrictions.eq("activo", Boolean.TRUE));
return c.list();
}
return null;
}
}

View File

@ -399,6 +399,11 @@ public class Empresa implements Serializable, Auditavel<Empresa> {
@Column(name = "INDCHECKINBLOQUEADOREMARCACAO")
private Boolean indCheckinBloqueadoRemarcacao;
@Column(name = "INDAGRUPLOCCONEXAO")
private Boolean indAgrupLocConexao;
@Column(name = "INDLIMITACATEGORIAPORCORRIDA")
private Boolean IndLimitaCategoriaPorCorrida;
@ -1484,6 +1489,15 @@ public class Empresa implements Serializable, Auditavel<Empresa> {
this.indCheckinBloqueadoRemarcacao = indCheckinBloqueadoRemarcacao;
}
public Boolean getIndAgrupLocConexao() {
return indAgrupLocConexao!=null ? indAgrupLocConexao : Boolean.FALSE;
}
public void setIndAgrupLocConexao(Boolean indAgrupLocConexao) {
this.indAgrupLocConexao = indAgrupLocConexao;
}
public Boolean getIndLimitaCategoriaPorCorrida() {
return IndLimitaCategoriaPorCorrida;
}

View File

@ -295,7 +295,7 @@ public class Parada implements Serializable, Auditavel<Parada> {
@Override
public String toString() {
return getDescparada();
return "ParadaId:" + getParadaId() +" - Cve:" +getCveparada() + " - DescParada:" + getDescparada();
}
public String toStringCve() {
@ -382,9 +382,6 @@ public class Parada implements Serializable, Auditavel<Parada> {
@Override
public Parada getCloneObject() throws CloneNotSupportedException {
// if(paradaClone == null) {
// this.clonar();
// }
return paradaClone;
}
@ -393,4 +390,9 @@ public class Parada implements Serializable, Auditavel<Parada> {
return String.format("EsquemaAsientoID [%s]", getParadaId());
}
@Override
public Object clone() throws CloneNotSupportedException {
return super.clone();
}
}

View File

@ -6,6 +6,7 @@ package com.rjconsultores.ventaboletos.service;
import java.util.List;
import com.rjconsultores.ventaboletos.entidad.AgrupamentoParada;
import com.rjconsultores.ventaboletos.entidad.Ciudad;
import com.rjconsultores.ventaboletos.entidad.Nodo;
import com.rjconsultores.ventaboletos.entidad.Parada;
@ -43,4 +44,6 @@ public interface ParadaService {
public List<Parada> obterPossiveisDestinos(Parada origem);
public List<Parada> buscaParadaRegionMetropolitana(RegionMetropolitana regionMetropolitana);
public List<Parada> buscarPorAgrupamentoParadaId(AgrupamentoParada agrupamentoParada);
}

View File

@ -14,9 +14,11 @@ import java.util.TreeSet;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.rjconsultores.ventaboletos.dao.ParadaDAO;
import com.rjconsultores.ventaboletos.entidad.Parada;
import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.service.ConexionRutaCombinacionService;
import com.rjconsultores.ventaboletos.service.ParadaService;
import com.rjconsultores.ventaboletos.service.RutaCombinacionService;
import com.rjconsultores.ventaboletos.vo.conexion.OrdenarLocalidadesGeradas;
import com.rjconsultores.ventaboletos.vo.parada.ConexionCtrlVO;
@ -29,6 +31,9 @@ public class ConexionRutaCombinacionServiceImpl implements ConexionRutaCombinaci
@Autowired
private RutaCombinacionService rutaCombinacionService;
@Autowired
private ParadaService paradaService;
private Map<Integer, Parada> criandoCacheLocalidades(List<Parada> list) {
Map<Integer, Parada> cacheLocalidades = new HashMap<Integer, Parada>();
for (Parada parada : list) {
@ -258,6 +263,20 @@ public class ConexionRutaCombinacionServiceImpl implements ConexionRutaCombinaci
localidades.addAll(listParada2);
localidades.addAll(listParada3);
localidades.addAll(listParada4);
List<Parada> localidadesAux = new ArrayList<Parada>();
localidadesAux.addAll(localidades);
for (Parada parada : localidadesAux) {
if(parada.getAgrupamentoParada() !=null) {
List<Parada> paradaAgrupamentoList = paradaService.buscarPorAgrupamentoParadaId(parada.getAgrupamentoParada());
if(paradaAgrupamentoList!=null && !paradaAgrupamentoList.isEmpty()) {
for (Parada paradaAgrupamento : paradaAgrupamentoList) {
if(!localidades.contains(paradaAgrupamento)) {
localidades.add(paradaAgrupamento);
}
}
}
}
}
Map<Integer, Parada> cacheLocalidades = criandoCacheLocalidades(localidades);
gerarCombinacao(lists, rutasEixoA, rutasEixoB, null, localidadesGeradas, conexoesCtrl, cacheLocalidades);

View File

@ -93,7 +93,18 @@ public class ConexionRutaTramoCtrlServiceImpl implements ConexionRutaTramoCtrlSe
*/
@Override
public List<Parada> buscarLocalidadesEixoA(Integer conexionRutaConfId) {
return conexionRutaTramoCtrlDAO.buscarLocalidadesPorConexionRutaConfAndEixo(conexionRutaConfId, EIXO_A);
return validaAgrupamentoLocalidade(conexionRutaTramoCtrlDAO.buscarLocalidadesPorConexionRutaConfAndEixo(conexionRutaConfId, EIXO_A));
}
public List<Parada> validaAgrupamentoLocalidade(List<Parada> localidadesList){
for (Parada parada : localidadesList) {
if(parada.getAgrupamentoParada()!=null) {
parada.setDescparada(parada.getAgrupamentoParada().getDescAgrupamentoParada());
parada.setCveparada(parada.getAgrupamentoParada().getCveAgrupamentoParada());
}
}
return localidadesList;
}
@ -102,7 +113,7 @@ public class ConexionRutaTramoCtrlServiceImpl implements ConexionRutaTramoCtrlSe
*/
@Override
public List<Parada> buscarLocalidadeEixoB(Integer conexionRutaConfId) {
return conexionRutaTramoCtrlDAO.buscarLocalidadesPorConexionRutaConfAndEixo(conexionRutaConfId, EIXO_B);
return validaAgrupamentoLocalidade(conexionRutaTramoCtrlDAO.buscarLocalidadesPorConexionRutaConfAndEixo(conexionRutaConfId, EIXO_B));
}
/**
@ -110,7 +121,7 @@ public class ConexionRutaTramoCtrlServiceImpl implements ConexionRutaTramoCtrlSe
*/
@Override
public List<Parada> buscarLocalidadesEixoC(Integer conexionRutaConfId) {
return conexionRutaTramoCtrlDAO.buscarLocalidadesPorConexionRutaConfAndEixo(conexionRutaConfId, EIXO_C);
return validaAgrupamentoLocalidade(conexionRutaTramoCtrlDAO.buscarLocalidadesPorConexionRutaConfAndEixo(conexionRutaConfId, EIXO_C));
}
@Override

View File

@ -15,6 +15,7 @@ import org.springframework.transaction.annotation.Transactional;
import com.rjconsultores.ventaboletos.dao.ParadaDAO;
import com.rjconsultores.ventaboletos.dao.TramoDAO;
import com.rjconsultores.ventaboletos.entidad.AgrupamentoParada;
import com.rjconsultores.ventaboletos.entidad.Ciudad;
import com.rjconsultores.ventaboletos.entidad.Nodo;
import com.rjconsultores.ventaboletos.entidad.Parada;
@ -174,4 +175,8 @@ public class ParadaServiceImpl implements ParadaService {
public List<Parada> buscaParadaRegionMetropolitana(RegionMetropolitana regionMetropolitana){
return paradaDAO.buscaParadaRegionMetropolitana(regionMetropolitana);
}
public List<Parada> buscarPorAgrupamentoParadaId(AgrupamentoParada agrupamentoParada){
return paradaDAO.buscarPorAgrupamentoParadaId(agrupamentoParada);
}
}