From e03e61f4793c2c62d6da3bf139770af2b9d8f4c7 Mon Sep 17 00:00:00 2001 From: gleimar Date: Thu, 17 Nov 2022 17:12:54 +0000 Subject: [PATCH] fixes bug#AL-1771 dev:julio qua:filipe git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@115511 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../service/impl/CorridaServiceImpl.java | 29 +++++++++++++------ 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java index 3e49f434d..f551b210c 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java @@ -1443,17 +1443,28 @@ public class CorridaServiceImpl implements CorridaService { try { while (DateUtil.compareOnlyDate(dataAte, dataInicial) >= 0) { - boolean corridaGerada = this.generarCorrida(dataAte, Arrays.asList(esquemaCorrida), false); - if (corridaGerada) { - calendarData.setTime(dataAte); - calendarData.add(Calendar.DATE, -1); - dataAte = calendarData.getTime(); - - } else { - log.info("Corrida do dia: " + sdfData.format(dataAte) + " já gerada"); + boolean corridaExiste = corridaDAO.existe(new Corrida.Id(esquemaCorrida.getNumCorrida(), dataAte)); + String strDataGeracao = DateUtil.getStringDate(dataAte); + + log.info(String.format("Corrida existe = %s [%s - %s]",corridaExiste,esquemaCorrida.getNumCorrida() ,strDataGeracao)); + + //A corrida já existir é a única condição para parar de gerar. + //Se a corrida não for gerada (rotina mais abaixo), podem haver várias condições: o dia da semana, feriado, etc + if (corridaExiste){ + log.info(String.format("Corrida % do dia % já gerada",esquemaCorrida.getNumCorrida(), strDataGeracao)); + break; } - + + + boolean corridaGerada = this.generarCorrida(dataAte, Arrays.asList(esquemaCorrida), false); + + log.info(String.format("Corrida gerada = %s [%s - %s]",corridaGerada,esquemaCorrida.getNumCorrida() ,strDataGeracao)); + + + calendarData.setTime(dataAte); + calendarData.add(Calendar.DATE, -1); + dataAte = calendarData.getTime(); } log.info("commit bloco corridas");