Merge da implementação após validação do xuru. fixes bug#7679
git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@59785 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
1e91dff79a
commit
a05746e000
|
@ -33,6 +33,7 @@ import com.rjconsultores.ventaboletos.dao.CorridaDAO;
|
||||||
import com.rjconsultores.ventaboletos.dao.EsquemaCorridaDAO;
|
import com.rjconsultores.ventaboletos.dao.EsquemaCorridaDAO;
|
||||||
import com.rjconsultores.ventaboletos.dao.TramoTiempoDAO;
|
import com.rjconsultores.ventaboletos.dao.TramoTiempoDAO;
|
||||||
import com.rjconsultores.ventaboletos.entidad.AsientoExclusivo;
|
import com.rjconsultores.ventaboletos.entidad.AsientoExclusivo;
|
||||||
|
import com.rjconsultores.ventaboletos.entidad.Ciudad;
|
||||||
import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
|
import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
|
||||||
import com.rjconsultores.ventaboletos.entidad.Constante;
|
import com.rjconsultores.ventaboletos.entidad.Constante;
|
||||||
import com.rjconsultores.ventaboletos.entidad.Corrida;
|
import com.rjconsultores.ventaboletos.entidad.Corrida;
|
||||||
|
@ -593,9 +594,7 @@ public class CorridaServiceImpl implements CorridaService {
|
||||||
for (EsquemaTramo esquemaTramo : lsEsquemaTramo) {
|
for (EsquemaTramo esquemaTramo : lsEsquemaTramo) {
|
||||||
|
|
||||||
CorridaTramo corridaTramo = new CorridaTramo();
|
CorridaTramo corridaTramo = new CorridaTramo();
|
||||||
if (esquemaTramo.getNumsecuencia() == 22) {
|
|
||||||
System.out.println("");
|
|
||||||
}
|
|
||||||
corridaTramo.setAutobus(null);
|
corridaTramo.setAutobus(null);
|
||||||
corridaTramo.setConductor(null);
|
corridaTramo.setConductor(null);
|
||||||
corridaTramo.setConductor1(null);
|
corridaTramo.setConductor1(null);
|
||||||
|
@ -743,11 +742,15 @@ public class CorridaServiceImpl implements CorridaService {
|
||||||
|
|
||||||
private Date calcularHusoHorVeranoLlegada(EsquemaTramo esquemaTramo, CorridaTramo corridaTramo) {
|
private Date calcularHusoHorVeranoLlegada(EsquemaTramo esquemaTramo, CorridaTramo corridaTramo) {
|
||||||
|
|
||||||
Estado estadoOrigen = esquemaTramo.getTramo().getOrigem().getCiudad().getEstado();
|
Ciudad ciudadOrigen = esquemaTramo.getTramo().getOrigem().getCiudad();
|
||||||
|
Estado estadoOrigen = ciudadOrigen.getEstado();
|
||||||
|
|
||||||
int tiempoOrigen = estadoOrigen.getTiempoHorHuso() == null ? 0 : estadoOrigen.getTiempoHorHuso();
|
int tiempoOrigen = estadoOrigen.getTiempoHorHuso() == null ? 0 : estadoOrigen.getTiempoHorHuso();
|
||||||
|
|
||||||
Date fecInicioHorVerano = estadoOrigen.getFecInicioHorVerano();
|
Date fecInicioHorVerano = estadoOrigen.getFecInicioHorVerano();
|
||||||
Date fecFinHorVerano = estadoOrigen.getFecFinoHorVerano();
|
Date fecFinHorVerano = estadoOrigen.getFecFinoHorVerano();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if ((fecInicioHorVerano != null) && (fecFinHorVerano != null)) {
|
if ((fecInicioHorVerano != null) && (fecFinHorVerano != null)) {
|
||||||
if ((DateUtil.compareOnlyDate(fecInicioHorVerano, corridaTramo.getFechorsalida()) <= 0) && (DateUtil.compareOnlyDate(fecFinHorVerano, corridaTramo.getFechorsalida()) >= 0)) {
|
if ((DateUtil.compareOnlyDate(fecInicioHorVerano, corridaTramo.getFechorsalida()) <= 0) && (DateUtil.compareOnlyDate(fecFinHorVerano, corridaTramo.getFechorsalida()) >= 0)) {
|
||||||
|
@ -755,11 +758,14 @@ public class CorridaServiceImpl implements CorridaService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 21688
|
// 21688
|
||||||
Estado estadoDestino = esquemaTramo.getTramo().getDestino().getCiudad().getEstado();
|
Ciudad ciudadDestino = esquemaTramo.getTramo().getDestino().getCiudad();
|
||||||
|
Estado estadoDestino = ciudadDestino.getEstado();
|
||||||
int tiempoDestino = 0;
|
int tiempoDestino = 0;
|
||||||
|
|
||||||
if (!estadoDestino.equals(estadoOrigen)) {
|
if (!estadoDestino.equals(estadoOrigen)) {
|
||||||
tiempoDestino = estadoDestino.getTiempoHorHuso() == null ? 0 : estadoDestino.getTiempoHorHuso();
|
tiempoDestino = estadoDestino.getTiempoHorHuso() == null ? 0 : estadoDestino.getTiempoHorHuso();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Date fecInicioHorVeranoDestino = estadoDestino.getFecInicioHorVerano();
|
Date fecInicioHorVeranoDestino = estadoDestino.getFecInicioHorVerano();
|
||||||
Date fecFinHorVeranDestino = estadoDestino.getFecFinoHorVerano();
|
Date fecFinHorVeranDestino = estadoDestino.getFecFinoHorVerano();
|
||||||
|
@ -770,11 +776,28 @@ public class CorridaServiceImpl implements CorridaService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
tiempoDestino = tiempoOrigen;
|
tiempoDestino =0;
|
||||||
|
tiempoOrigen=0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Consideração do fuso por cidade.
|
||||||
|
//Nesse caso, é mandatório em relação ao estado.Ou seja, equanto que no fuso do estado,
|
||||||
|
//tem que haver mudança de estado, para a cidade não, pois pode-se considerar cada cidade
|
||||||
|
//como um único estado. Sendo assim, devendo ser considerado sempre quando preenchido
|
||||||
|
if ( (ciudadOrigen.getZonaHoraria() != null) && (ciudadOrigen.getZonaHoraria() != 0 )){
|
||||||
|
log.info("Fuso da cidade origem " + ciudadOrigen.getNombciudad() + " : " + ciudadOrigen.getZonaHoraria());
|
||||||
|
|
||||||
|
tiempoOrigen += ciudadOrigen.getZonaHoraria();
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( (ciudadDestino.getZonaHoraria() != null) && (ciudadDestino.getZonaHoraria() != 0 )){
|
||||||
|
log.info("Fuso da cidade destino " + ciudadDestino.getNombciudad() + " : " + ciudadDestino.getZonaHoraria());
|
||||||
|
|
||||||
|
tiempoDestino += ciudadDestino.getZonaHoraria();
|
||||||
|
}
|
||||||
|
//Fim consideração fuso por cidade
|
||||||
|
|
||||||
Calendar horLlegada = null;
|
Calendar horLlegada = null;
|
||||||
// Si los tiempos son distintos, hube cambio de huso horario/horario de verano
|
|
||||||
|
|
||||||
long elapsedMinutes = DateUtil.getElapsedMinutos(corridaTramo.getFechorsalida(), corridaTramo.getFechorllegada());
|
long elapsedMinutes = DateUtil.getElapsedMinutos(corridaTramo.getFechorsalida(), corridaTramo.getFechorllegada());
|
||||||
|
|
||||||
|
@ -782,6 +805,8 @@ public class CorridaServiceImpl implements CorridaService {
|
||||||
horLlegada.setTime(corridaTramo.getFechorsalidaH());
|
horLlegada.setTime(corridaTramo.getFechorsalidaH());
|
||||||
|
|
||||||
horLlegada.add(Calendar.MINUTE, (int) elapsedMinutes);
|
horLlegada.add(Calendar.MINUTE, (int) elapsedMinutes);
|
||||||
|
|
||||||
|
// Si los tiempos son distintos, hube cambio de huso horario/horario de verano
|
||||||
if (tiempoOrigen != tiempoDestino) {
|
if (tiempoOrigen != tiempoDestino) {
|
||||||
horLlegada.add(Calendar.HOUR, difHuso(tiempoOrigen, tiempoDestino));
|
horLlegada.add(Calendar.HOUR, difHuso(tiempoOrigen, tiempoDestino));
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue