0022643: AguiaBranca - GLPI - 39235 - [QAS] - ADM - PROCESSAMENTO DA COMBINAÇÃO DE TRECHO
bug#22643 dev:wilian qua: git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@107496 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
ec865398a9
commit
e1adfc1bb4
|
@ -22,6 +22,7 @@ import com.rjconsultores.ventaboletos.vo.tarifa.TarifaOficialEscalaGroupVO;
|
|||
import com.rjconsultores.ventaboletos.vo.tarifa.TarifaOficialEscalaVO;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -84,4 +85,6 @@ public interface RutaCombinacionDAO extends GenericDAO<RutaCombinacion, Integer>
|
|||
public boolean existeTramo(Tramo tramo, ClaseServicio claseServicio);
|
||||
|
||||
boolean isRutaCombinacionVenda(Integer rutaId, Integer origenId, Integer destinoId);
|
||||
|
||||
public Set<String> rutasCombinacionVenda(List<Ruta> rutas);
|
||||
}
|
||||
|
|
|
@ -6,7 +6,9 @@ package com.rjconsultores.ventaboletos.dao.hibernate;
|
|||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import org.hibernate.Criteria;
|
||||
import org.hibernate.Query;
|
||||
|
@ -868,4 +870,34 @@ public class RutaCombinacionHibernateDAO extends GenericHibernateDAO<RutaCombina
|
|||
return !qr.list().isEmpty();
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public Set<String> rutasCombinacionVenda(List<Ruta> rutas) {
|
||||
if(rutas == null || rutas.isEmpty()) {
|
||||
return new HashSet<String>();
|
||||
}
|
||||
|
||||
List<Integer> rutasIN = new ArrayList<Integer>();
|
||||
for(Ruta r : rutas) {
|
||||
rutasIN.add(r.getRutaId());
|
||||
}
|
||||
|
||||
StringBuilder sQuery = new StringBuilder();
|
||||
sQuery.append("select rc.ruta_id || '-' || t.origen_id || '-' || t.destino_id ")
|
||||
.append("from ruta_combinacion rc ")
|
||||
.append("join tramo t on t.tramo_id = rc.tramo_id ")
|
||||
.append("where rc.activo = 1 ")
|
||||
.append("and rc.indventa = 1 ")
|
||||
.append("and t.activo = 1 ")
|
||||
.append("and rc.ruta_id in (:rutas) ");
|
||||
|
||||
Query qr = getSession().createSQLQuery(sQuery.toString());
|
||||
|
||||
qr.setParameterList("rutas", rutasIN);
|
||||
|
||||
List<String> lista = qr.list();
|
||||
|
||||
return new HashSet<String>(lista);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -19,6 +19,7 @@ import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa;
|
|||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
||||
|
||||
|
@ -72,4 +73,6 @@ public interface RutaCombinacionService extends GenericService<RutaCombinacion,
|
|||
public boolean existeTramo(Tramo tramo);
|
||||
|
||||
public boolean isRutaCombinacionVenda(Integer rutaId, Integer origenId, Integer destinoId);
|
||||
|
||||
Set<String> rutasCombinacionVenda(List<Ruta> rutas);
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ import java.util.ArrayList;
|
|||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
@ -55,18 +56,22 @@ public class ConexionRutaCombinacionServiceImpl implements ConexionRutaCombinaci
|
|||
combinacoes = novasCombinacoes;
|
||||
}
|
||||
//System.out.println(combinacoes);
|
||||
|
||||
Set<String> rutasVendaA = rutaCombinacionService.rutasCombinacionVenda(rutasEixoA);
|
||||
Set<String> rutasVendaB = rutaCombinacionService.rutasCombinacionVenda(rutasEixoB);
|
||||
|
||||
if(rutasEixoC == null) {
|
||||
gerarLocalidadesEixoAB(rutasEixoA, rutasEixoB, localidadesGeradas, combinacoes, conexoesCtrl, cacheLocalidades);
|
||||
gerarLocalidadesEixoAB(rutasEixoA, rutasEixoB, localidadesGeradas, combinacoes, conexoesCtrl, cacheLocalidades, rutasVendaA, rutasVendaB);
|
||||
}else {
|
||||
gerarLocalidadesEixoABC(rutasEixoA, rutasEixoB,rutasEixoC, localidadesGeradas, combinacoes, conexoesCtrl, cacheLocalidades);
|
||||
Set<String> rutasVendaC = rutaCombinacionService.rutasCombinacionVenda(rutasEixoC);
|
||||
gerarLocalidadesEixoABC(rutasEixoA, rutasEixoB,rutasEixoC, localidadesGeradas, combinacoes, conexoesCtrl, cacheLocalidades, rutasVendaA, rutasVendaB, rutasVendaC );
|
||||
}
|
||||
|
||||
Collections.sort(localidadesGeradas, new OrdenarLocalidadesGeradas());
|
||||
}
|
||||
|
||||
|
||||
private void gerarLocalidadesEixoAB(List<Ruta> rutasEixoA, List<Ruta> rutasEixoB, List<ParadaVOConexionRuta> localidadesGeradas, Set<String> combinacoes, List<ConexionCtrlVO> conexoesCtrl, Map<Integer, Parada> cacheLocalidades) {
|
||||
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) {
|
||||
short i = 1;
|
||||
String[] valoresCalculados;
|
||||
|
||||
|
@ -95,7 +100,7 @@ public class ConexionRutaCombinacionServiceImpl implements ConexionRutaCombinaci
|
|||
conexionCtrl, conexionRutaCtrl, rutaEixoB.getDescSentido());
|
||||
i++;
|
||||
|
||||
adicionarLocalidadeGerada(conexionCtrl, localidadesGeradas, trechoA, trechoB, null);
|
||||
adicionarLocalidadeGerada(conexionCtrl, localidadesGeradas, trechoA, trechoB, null, rutasVendaA, rutasVendaB, new HashSet<String>());
|
||||
|
||||
i = 1;
|
||||
}
|
||||
|
@ -141,22 +146,22 @@ public class ConexionRutaCombinacionServiceImpl implements ConexionRutaCombinaci
|
|||
|
||||
}
|
||||
|
||||
private void adicionarLocalidadeGerada(ConexionCtrlVO conexionCtrl, List<ParadaVOConexionRuta> localidadesGeradas, ParadaVOConexionRuta trechoA, ParadaVOConexionRuta trechoB, ParadaVOConexionRuta trechoC) {
|
||||
private void adicionarLocalidadeGerada(ConexionCtrlVO conexionCtrl, List<ParadaVOConexionRuta> localidadesGeradas, ParadaVOConexionRuta trechoA, ParadaVOConexionRuta trechoB, ParadaVOConexionRuta trechoC, Set<String> rutasVendaA, Set<String> rutasVendaB, Set<String> rutasVendaC) {
|
||||
boolean isTrechoAVende = false;
|
||||
boolean isTrechoBVende = false;
|
||||
|
||||
if(isDadosNotNull(trechoA)) {
|
||||
isTrechoAVende = rutaCombinacionService.isRutaCombinacionVenda(trechoA.getRutaId(), trechoA.getParadaOrigem().getParadaId(), trechoA.getParadaDestino().getParadaId());
|
||||
isTrechoAVende = rutasVendaA == null ? false : rutasVendaA.contains(trechoA.getRutaId() + "-" + trechoA.getParadaOrigem().getParadaId() + "-" + trechoA.getParadaDestino().getParadaId());
|
||||
}
|
||||
|
||||
if(isDadosNotNull(trechoB)) {
|
||||
isTrechoBVende = rutaCombinacionService.isRutaCombinacionVenda(trechoB.getRutaId(), trechoB.getParadaOrigem().getParadaId(), trechoB.getParadaDestino().getParadaId());
|
||||
isTrechoBVende = rutasVendaB == null ? false : rutasVendaB.contains(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());
|
||||
isTrechoCVende = rutasVendaC == null ? false : rutasVendaC.contains(trechoC.getRutaId() + "-" + trechoC.getParadaOrigem().getParadaId() + "-" + trechoC.getParadaDestino().getParadaId());
|
||||
} else {
|
||||
isTrechoCVende = false;
|
||||
}
|
||||
|
@ -174,7 +179,7 @@ public class ConexionRutaCombinacionServiceImpl implements ConexionRutaCombinaci
|
|||
}
|
||||
}
|
||||
|
||||
private void gerarLocalidadesEixoABC(List<Ruta> rutasEixoA, List<Ruta> rutasEixoB, List<Ruta> rutasEixoC, List<ParadaVOConexionRuta> localidadesGeradas, Set<String> combinations, List<ConexionCtrlVO> conexoesCtrl, Map<Integer, Parada> cacheLocalidades) {
|
||||
private void gerarLocalidadesEixoABC(List<Ruta> rutasEixoA, List<Ruta> rutasEixoB, List<Ruta> rutasEixoC, List<ParadaVOConexionRuta> localidadesGeradas, Set<String> combinations, List<ConexionCtrlVO> conexoesCtrl, Map<Integer, Parada> cacheLocalidades, Set<String> rutasVendaA, Set<String> rutasVendaB, Set<String> rutasVendaC) {
|
||||
|
||||
short i = 1;
|
||||
String[] valoresCalculados = null;
|
||||
|
@ -210,7 +215,7 @@ public class ConexionRutaCombinacionServiceImpl implements ConexionRutaCombinaci
|
|||
conexionCtrl, conexionRutaCtrl, rutaEixoC.getDescSentido());
|
||||
i++;
|
||||
|
||||
adicionarLocalidadeGerada(conexionCtrl, localidadesGeradas, trechoA, trechoB, trechoC);
|
||||
adicionarLocalidadeGerada(conexionCtrl, localidadesGeradas, trechoA, trechoB, trechoC, rutasVendaA, rutasVendaB, rutasVendaC);
|
||||
|
||||
i = 1;
|
||||
}
|
||||
|
|
|
@ -29,6 +29,7 @@ import java.text.SimpleDateFormat;
|
|||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
|
||||
|
@ -445,4 +446,9 @@ public class RutaCombinacionServiceImpl implements RutaCombinacionService {
|
|||
public boolean isRutaCombinacionVenda(Integer rutaId, Integer origenId, Integer destinoId) {
|
||||
return rutaCombinacionDAO.isRutaCombinacionVenda(rutaId, origenId, destinoId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<String> rutasCombinacionVenda(List<Ruta> rutas) {
|
||||
return rutaCombinacionDAO.rutasCombinacionVenda(rutas);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue