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 com.rjconsultores.ventaboletos.vo.tarifa.TarifaOficialEscalaVO;
|
||||||
|
|
||||||
import java.util.List;
|
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);
|
public boolean existeTramo(Tramo tramo, ClaseServicio claseServicio);
|
||||||
|
|
||||||
boolean isRutaCombinacionVenda(Integer rutaId, Integer origenId, Integer destinoId);
|
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.math.BigDecimal;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
import org.hibernate.Criteria;
|
import org.hibernate.Criteria;
|
||||||
import org.hibernate.Query;
|
import org.hibernate.Query;
|
||||||
|
@ -868,4 +870,34 @@ public class RutaCombinacionHibernateDAO extends GenericHibernateDAO<RutaCombina
|
||||||
return !qr.list().isEmpty();
|
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.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
||||||
|
|
||||||
|
@ -72,4 +73,6 @@ public interface RutaCombinacionService extends GenericService<RutaCombinacion,
|
||||||
public boolean existeTramo(Tramo tramo);
|
public boolean existeTramo(Tramo tramo);
|
||||||
|
|
||||||
public boolean isRutaCombinacionVenda(Integer rutaId, Integer origenId, Integer destinoId);
|
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.Arrays;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.HashSet;
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -55,18 +56,22 @@ public class ConexionRutaCombinacionServiceImpl implements ConexionRutaCombinaci
|
||||||
combinacoes = novasCombinacoes;
|
combinacoes = novasCombinacoes;
|
||||||
}
|
}
|
||||||
//System.out.println(combinacoes);
|
//System.out.println(combinacoes);
|
||||||
|
|
||||||
|
Set<String> rutasVendaA = rutaCombinacionService.rutasCombinacionVenda(rutasEixoA);
|
||||||
|
Set<String> rutasVendaB = rutaCombinacionService.rutasCombinacionVenda(rutasEixoB);
|
||||||
|
|
||||||
if(rutasEixoC == null) {
|
if(rutasEixoC == null) {
|
||||||
gerarLocalidadesEixoAB(rutasEixoA, rutasEixoB, localidadesGeradas, combinacoes, conexoesCtrl, cacheLocalidades);
|
gerarLocalidadesEixoAB(rutasEixoA, rutasEixoB, localidadesGeradas, combinacoes, conexoesCtrl, cacheLocalidades, rutasVendaA, rutasVendaB);
|
||||||
}else {
|
}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());
|
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;
|
short i = 1;
|
||||||
String[] valoresCalculados;
|
String[] valoresCalculados;
|
||||||
|
|
||||||
|
@ -95,7 +100,7 @@ public class ConexionRutaCombinacionServiceImpl implements ConexionRutaCombinaci
|
||||||
conexionCtrl, conexionRutaCtrl, rutaEixoB.getDescSentido());
|
conexionCtrl, conexionRutaCtrl, rutaEixoB.getDescSentido());
|
||||||
i++;
|
i++;
|
||||||
|
|
||||||
adicionarLocalidadeGerada(conexionCtrl, localidadesGeradas, trechoA, trechoB, null);
|
adicionarLocalidadeGerada(conexionCtrl, localidadesGeradas, trechoA, trechoB, null, rutasVendaA, rutasVendaB, new HashSet<String>());
|
||||||
|
|
||||||
i = 1;
|
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 isTrechoAVende = false;
|
||||||
boolean isTrechoBVende = false;
|
boolean isTrechoBVende = false;
|
||||||
|
|
||||||
if(isDadosNotNull(trechoA)) {
|
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)) {
|
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;
|
boolean isTrechoCVende = true;
|
||||||
if(trechoC != null) {
|
if(trechoC != null) {
|
||||||
if(isDadosNotNull(trechoC)) {
|
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 {
|
} else {
|
||||||
isTrechoCVende = false;
|
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;
|
short i = 1;
|
||||||
String[] valoresCalculados = null;
|
String[] valoresCalculados = null;
|
||||||
|
@ -210,7 +215,7 @@ public class ConexionRutaCombinacionServiceImpl implements ConexionRutaCombinaci
|
||||||
conexionCtrl, conexionRutaCtrl, rutaEixoC.getDescSentido());
|
conexionCtrl, conexionRutaCtrl, rutaEixoC.getDescSentido());
|
||||||
i++;
|
i++;
|
||||||
|
|
||||||
adicionarLocalidadeGerada(conexionCtrl, localidadesGeradas, trechoA, trechoB, trechoC);
|
adicionarLocalidadeGerada(conexionCtrl, localidadesGeradas, trechoA, trechoB, trechoC, rutasVendaA, rutasVendaB, rutasVendaC);
|
||||||
|
|
||||||
i = 1;
|
i = 1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,6 +29,7 @@ import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
|
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) {
|
public boolean isRutaCombinacionVenda(Integer rutaId, Integer origenId, Integer destinoId) {
|
||||||
return rutaCombinacionDAO.isRutaCombinacionVenda(rutaId, origenId, destinoId);
|
return rutaCombinacionDAO.isRutaCombinacionVenda(rutaId, origenId, destinoId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Set<String> rutasCombinacionVenda(List<Ruta> rutas) {
|
||||||
|
return rutaCombinacionDAO.rutasCombinacionVenda(rutas);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue