diff --git a/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java index 5557c28db..4be28daf1 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java @@ -410,7 +410,7 @@ public class CorridaServiceImpl implements CorridaService { * @return - La corrida generada o null si no fue generada. */ private Corrida generarCorrida(EsquemaCorrida esquemaCorrida, Date dataGeracao, boolean isPisoExtra, Boolean isFeriado) { - + GregorianCalendar calendario = new GregorianCalendar(); calendario.setTime(dataGeracao); @@ -440,9 +440,9 @@ public class CorridaServiceImpl implements CorridaService { log.info("nao foi cadastrado o tempo de todos os trechos do esquema corrida=" + esquemaCorrida.getEsquemacorridaId()); return null; } - + try { - + Ruta ruta = esquemaCorrida.getRuta(); ClaseServicio claseServicio = esquemaCorrida.getClaseServicio(); Marca marca = esquemaCorrida.getMarca(); @@ -454,23 +454,23 @@ public class CorridaServiceImpl implements CorridaService { id.setCorridaId(numCorrida); id.setFeccorrida(DateUtil.normalizarToFecha(dataGeracao)); - - if(esquemaCorrida.getIndDiaSimDiaNao() != null && esquemaCorrida.getIndDiaSimDiaNao()) { + + if (esquemaCorrida.getIndDiaSimDiaNao() != null && esquemaCorrida.getIndDiaSimDiaNao()) { Calendar calendarData = Calendar.getInstance(); calendarData.setTime(dataGeracao); calendarData.add(Calendar.DATE, -1); - + Corrida.Id corridaOntem = new Corrida.Id(); corridaOntem.setCorridaId(numCorrida); corridaOntem.setFeccorrida(DateUtil.normalizarToFecha(calendarData.getTime())); - + if (corridaDAO.existe(corridaOntem)) { log.info("Esquema configurado para gerar dia sim dia não e já possui corrida gerado no dia anterior, por isso não está data: " + DateUtil.getStringDate(dataGeracao)); return null; } } - + if (corridaDAO.existe(id)) { log.info("corrida existe = " + numCorrida + ";" + ruta.getDescruta() + ";" + DateUtil.getStringDate(dataGeracao) + ";" + DateUtil.getStringDate(horario, "HH:mm") + ";" + claseServicio.getDescclase() + ";" + marca.getDescmarca() + " Piso: " + isPisoExtra); return null; @@ -523,23 +523,17 @@ public class CorridaServiceImpl implements CorridaService { corrida.setAutobus(null); corrida.setClaseServicio(esquemaCorrida.getClaseServicio()); corrida.setConductor(null); - if(esquemaCorrida.getIndCorridaExtra()){ - corrida.setTipoServicio(new Short("2")); - }else{ - corrida.setTipoServicio(new Short("1")); - } + if (esquemaCorrida.getIndCorridaExtra()) { + corrida.setTipoServicio(new Short("2")); + } else { + corrida.setTipoServicio(new Short("1")); + } corrida.setInfoCorrida(esquemaCorrida.getInfoCorrida()); Integer cantparados = esquemaCorrida.getCantparados(); if (cantparados != null) { corrida.setCantParados(cantparados.shortValue()); } - Parada destino = rutaService.getDestino(ruta); - if (destino == null) { - return null; - } - corrida.setDestino(destino); - corrida.setEsquemaAgrupacionId(esquemaCorrida.getEsquemaAgrupacionId()); corrida.setEmpresa(esquemaCorrida.getEmpresa()); @@ -560,12 +554,6 @@ public class CorridaServiceImpl implements CorridaService { corrida.setNodo(corridaCtrl.getNodo()); corrida.setDivision(esquemaCorrida.getDivision()); - Parada origem = rutaService.getOrigem(ruta); - if (origem == null) { - return null; - } - corrida.setOrigem(origem); - corrida.setRuta(esquemaCorrida.getRuta()); corrida.setRolOperativo(esquemaCorrida.getRolOperativo()); corrida.setZona(null); @@ -584,10 +572,28 @@ public class CorridaServiceImpl implements CorridaService { Date husoHorVeranoLlegadaAnterior = null; + if (lsEsquemaTramo == null) { + return null; + } + + EsquemaTramo primeiro = lsEsquemaTramo.get(0); + Parada origem = primeiro.getTramo().getOrigem(); + if (origem == null) { + return null; + } + corrida.setOrigem(origem); + + EsquemaTramo ultimo = lsEsquemaTramo.get(lsEsquemaTramo.size() - 1); + Parada destino = ultimo.getTramo().getDestino(); + if (destino == null) { + return null; + } + corrida.setDestino(destino); + for (EsquemaTramo esquemaTramo : lsEsquemaTramo) { CorridaTramo corridaTramo = new CorridaTramo(); - if(esquemaTramo.getNumsecuencia() == 22){ + if (esquemaTramo.getNumsecuencia() == 22) { System.out.println(""); } corridaTramo.setAutobus(null); @@ -748,7 +754,7 @@ public class CorridaServiceImpl implements CorridaService { tiempoOrigen += estadoOrigen.getTiempoHorVerano(); } } - //21688 + // 21688 Estado estadoDestino = esquemaTramo.getTramo().getDestino().getCiudad().getEstado(); int tiempoDestino = 0; @@ -797,9 +803,9 @@ public class CorridaServiceImpl implements CorridaService { cantCorridaGenerada = 0; cantCorridaCommit = 1; java.sql.Date data = new java.sql.Date(dataGeracao.getTime()); - + try { - + for (EsquemaCorrida esquemaCorrida : lsEsquemaCorrida) { Boolean isFeriado = this.isFeriado(data, esquemaCorrida);