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; package com.rjconsultores.ventaboletos.dao;
import com.rjconsultores.ventaboletos.entidad.AgrupamentoParada;
import com.rjconsultores.ventaboletos.entidad.Ciudad; import com.rjconsultores.ventaboletos.entidad.Ciudad;
import com.rjconsultores.ventaboletos.entidad.Nodo; import com.rjconsultores.ventaboletos.entidad.Nodo;
import com.rjconsultores.ventaboletos.entidad.Parada; import com.rjconsultores.ventaboletos.entidad.Parada;
@ -56,4 +57,7 @@ public interface ParadaDAO {
public List<Parada> buscarListaPorIds(List<Integer> paradaIds); public List<Parada> buscarListaPorIds(List<Integer> paradaIds);
public Parada buscarPorId(Integer paradaId); 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 org.springframework.stereotype.Repository;
import com.rjconsultores.ventaboletos.dao.ParadaDAO; import com.rjconsultores.ventaboletos.dao.ParadaDAO;
import com.rjconsultores.ventaboletos.entidad.AgrupamentoParada;
import com.rjconsultores.ventaboletos.entidad.Ciudad; import com.rjconsultores.ventaboletos.entidad.Ciudad;
import com.rjconsultores.ventaboletos.entidad.Nodo; import com.rjconsultores.ventaboletos.entidad.Nodo;
import com.rjconsultores.ventaboletos.entidad.Parada; import com.rjconsultores.ventaboletos.entidad.Parada;
@ -163,4 +164,16 @@ public class ParadaHibernateDAO extends GenericHibernateDAO<Parada, Integer> imp
return (Parada) c.uniqueResult(); 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,9 +399,14 @@ public class Empresa implements Serializable, Auditavel<Empresa> {
@Column(name = "INDCHECKINBLOQUEADOREMARCACAO") @Column(name = "INDCHECKINBLOQUEADOREMARCACAO")
private Boolean indCheckinBloqueadoRemarcacao; private Boolean indCheckinBloqueadoRemarcacao;
@Column(name = "INDAGRUPLOCCONEXAO")
private Boolean indAgrupLocConexao;
@Column(name = "INDLIMITACATEGORIAPORCORRIDA") @Column(name = "INDLIMITACATEGORIAPORCORRIDA")
private Boolean IndLimitaCategoriaPorCorrida; private Boolean IndLimitaCategoriaPorCorrida;
@Transient @Transient
@NaoAuditar @NaoAuditar
private Empresa empresaClone; private Empresa empresaClone;
@ -1482,13 +1487,22 @@ public class Empresa implements Serializable, Auditavel<Empresa> {
public void setIndCheckinBloqueadoRemarcacao(Boolean indCheckinBloqueadoRemarcacao) { public void setIndCheckinBloqueadoRemarcacao(Boolean indCheckinBloqueadoRemarcacao) {
this.indCheckinBloqueadoRemarcacao = indCheckinBloqueadoRemarcacao; this.indCheckinBloqueadoRemarcacao = indCheckinBloqueadoRemarcacao;
}
public Boolean getIndAgrupLocConexao() {
return indAgrupLocConexao!=null ? indAgrupLocConexao : Boolean.FALSE;
} }
public void setIndAgrupLocConexao(Boolean indAgrupLocConexao) {
this.indAgrupLocConexao = indAgrupLocConexao;
}
public Boolean getIndLimitaCategoriaPorCorrida() { public Boolean getIndLimitaCategoriaPorCorrida() {
return IndLimitaCategoriaPorCorrida; return IndLimitaCategoriaPorCorrida;
} }
public void setIndLimitaCategoriaPorCorrida(Boolean indLimitaCategoriaPorCorrida) { public void setIndLimitaCategoriaPorCorrida(Boolean indLimitaCategoriaPorCorrida) {
IndLimitaCategoriaPorCorrida = indLimitaCategoriaPorCorrida; IndLimitaCategoriaPorCorrida = indLimitaCategoriaPorCorrida;
} }
} }

View File

@ -295,7 +295,7 @@ public class Parada implements Serializable, Auditavel<Parada> {
@Override @Override
public String toString() { public String toString() {
return getDescparada(); return "ParadaId:" + getParadaId() +" - Cve:" +getCveparada() + " - DescParada:" + getDescparada();
} }
public String toStringCve() { public String toStringCve() {
@ -382,9 +382,6 @@ public class Parada implements Serializable, Auditavel<Parada> {
@Override @Override
public Parada getCloneObject() throws CloneNotSupportedException { public Parada getCloneObject() throws CloneNotSupportedException {
// if(paradaClone == null) {
// this.clonar();
// }
return paradaClone; return paradaClone;
} }
@ -393,4 +390,9 @@ public class Parada implements Serializable, Auditavel<Parada> {
return String.format("EsquemaAsientoID [%s]", getParadaId()); 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 java.util.List;
import com.rjconsultores.ventaboletos.entidad.AgrupamentoParada;
import com.rjconsultores.ventaboletos.entidad.Ciudad; import com.rjconsultores.ventaboletos.entidad.Ciudad;
import com.rjconsultores.ventaboletos.entidad.Nodo; import com.rjconsultores.ventaboletos.entidad.Nodo;
import com.rjconsultores.ventaboletos.entidad.Parada; import com.rjconsultores.ventaboletos.entidad.Parada;
@ -43,4 +44,6 @@ public interface ParadaService {
public List<Parada> obterPossiveisDestinos(Parada origem); public List<Parada> obterPossiveisDestinos(Parada origem);
public List<Parada> buscaParadaRegionMetropolitana(RegionMetropolitana regionMetropolitana); 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.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.rjconsultores.ventaboletos.dao.ParadaDAO;
import com.rjconsultores.ventaboletos.entidad.Parada; import com.rjconsultores.ventaboletos.entidad.Parada;
import com.rjconsultores.ventaboletos.entidad.Ruta; import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.service.ConexionRutaCombinacionService; import com.rjconsultores.ventaboletos.service.ConexionRutaCombinacionService;
import com.rjconsultores.ventaboletos.service.ParadaService;
import com.rjconsultores.ventaboletos.service.RutaCombinacionService; import com.rjconsultores.ventaboletos.service.RutaCombinacionService;
import com.rjconsultores.ventaboletos.vo.conexion.OrdenarLocalidadesGeradas; import com.rjconsultores.ventaboletos.vo.conexion.OrdenarLocalidadesGeradas;
import com.rjconsultores.ventaboletos.vo.parada.ConexionCtrlVO; import com.rjconsultores.ventaboletos.vo.parada.ConexionCtrlVO;
@ -28,6 +30,9 @@ public class ConexionRutaCombinacionServiceImpl implements ConexionRutaCombinaci
@Autowired @Autowired
private RutaCombinacionService rutaCombinacionService; private RutaCombinacionService rutaCombinacionService;
@Autowired
private ParadaService paradaService;
private Map<Integer, Parada> criandoCacheLocalidades(List<Parada> list) { private Map<Integer, Parada> criandoCacheLocalidades(List<Parada> list) {
Map<Integer, Parada> cacheLocalidades = new HashMap<Integer, Parada>(); Map<Integer, Parada> cacheLocalidades = new HashMap<Integer, Parada>();
@ -258,6 +263,20 @@ public class ConexionRutaCombinacionServiceImpl implements ConexionRutaCombinaci
localidades.addAll(listParada2); localidades.addAll(listParada2);
localidades.addAll(listParada3); localidades.addAll(listParada3);
localidades.addAll(listParada4); 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); Map<Integer, Parada> cacheLocalidades = criandoCacheLocalidades(localidades);
gerarCombinacao(lists, rutasEixoA, rutasEixoB, null, localidadesGeradas, conexoesCtrl, cacheLocalidades); gerarCombinacao(lists, rutasEixoA, rutasEixoB, null, localidadesGeradas, conexoesCtrl, cacheLocalidades);

View File

@ -93,7 +93,18 @@ public class ConexionRutaTramoCtrlServiceImpl implements ConexionRutaTramoCtrlSe
*/ */
@Override @Override
public List<Parada> buscarLocalidadesEixoA(Integer conexionRutaConfId) { 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 @Override
public List<Parada> buscarLocalidadeEixoB(Integer conexionRutaConfId) { 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 @Override
public List<Parada> buscarLocalidadesEixoC(Integer conexionRutaConfId) { public List<Parada> buscarLocalidadesEixoC(Integer conexionRutaConfId) {
return conexionRutaTramoCtrlDAO.buscarLocalidadesPorConexionRutaConfAndEixo(conexionRutaConfId, EIXO_C); return validaAgrupamentoLocalidade(conexionRutaTramoCtrlDAO.buscarLocalidadesPorConexionRutaConfAndEixo(conexionRutaConfId, EIXO_C));
} }
@Override @Override

View File

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