Merge pull request 'fixes bug #AL-3494' (!156) from AL-3494 into master

Reviewed-on: adm/ModelWeb#156
Reviewed-by: aristides <aristides@rjconsultores.com.br>
master
aristides 2024-02-27 17:14:27 +00:00
commit 38e00c557a
6 changed files with 180 additions and 146 deletions

View File

@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>br.com.rjconsultores</groupId> <groupId>br.com.rjconsultores</groupId>
<artifactId>ModelWeb</artifactId> <artifactId>ModelWeb</artifactId>
<version>1.40.3</version> <version>1.40.4</version>
<distributionManagement> <distributionManagement>
<repository> <repository>

View File

@ -35,6 +35,8 @@ public interface CorridaDAO extends GenericDAO<Corrida, Corrida.Id> {
* @return * @return
*/ */
public Boolean existe(Id id); public Boolean existe(Id id);
public Boolean existeActivo(Id id);
public List<Corrida> buscarPorAutobusCorridasFuturas(DiagramaAutobus diagramaAutobus); public List<Corrida> buscarPorAutobusCorridasFuturas(DiagramaAutobus diagramaAutobus);

View File

@ -88,6 +88,20 @@ public class CorridaHibernateDAO extends GenericHibernateDAO<Corrida, Corrida.Id
return (cant > 0); return (cant > 0);
} }
@Override
public Boolean existeActivo(final Id id) {
Criteria c = makeCriteria();
c.setProjection(Projections.rowCount());
c.add(Restrictions.eq("id", id));
c.add(Restrictions.eq("activo", ActivoUtil.ATIVO));
Long cant = HibernateFix.count(c.list());
return (cant > 0);
}
@Override @Override
public Corrida suscribir(final Corrida entity) { public Corrida suscribir(final Corrida entity) {

View File

@ -1,34 +1,34 @@
package com.rjconsultores.ventaboletos.dao.hibernate; package com.rjconsultores.ventaboletos.dao.hibernate;
import org.hibernate.SQLQuery; import org.hibernate.SQLQuery;
import org.hibernate.SessionFactory; import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import com.rjconsultores.ventaboletos.dao.IntegracaoTotvsDAO; import com.rjconsultores.ventaboletos.dao.IntegracaoTotvsDAO;
import com.rjconsultores.ventaboletos.entidad.Corrida; import com.rjconsultores.ventaboletos.entidad.Corrida;
import com.rjconsultores.ventaboletos.entidad.IntegracaoTotvs; import com.rjconsultores.ventaboletos.entidad.IntegracaoTotvs;
@Repository("integracaoTotvsDAO") @Repository("integracaoTotvsDAO")
public class IntegracaoTotvsHibernateDAO extends GenericHibernateDAO<IntegracaoTotvs, Integer> implements IntegracaoTotvsDAO { public class IntegracaoTotvsHibernateDAO extends GenericHibernateDAO<IntegracaoTotvs, Integer> implements IntegracaoTotvsDAO {
@Autowired @Autowired
public IntegracaoTotvsHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { public IntegracaoTotvsHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
setSessionFactory(factory); setSessionFactory(factory);
} }
@Override @Override
public void borrarByCorrida(Corrida corrida) { public void borrarByCorrida(Corrida corrida) {
StringBuilder sQuery = new StringBuilder("update INTEGRACAO_TOTVS_CORRIDA set activo = 0 WHERE corrida_Id = :corridaId AND TRUNC(feccorrida) = :feccorrida "); StringBuilder sQuery = new StringBuilder("update INTEGRACAO_TOTVS_CORRIDA set integradototvs = 0 WHERE corrida_Id = :corridaId AND TRUNC(feccorrida) = :feccorrida ");
SQLQuery qrUpdate = getSession().createSQLQuery(sQuery.toString()); SQLQuery qrUpdate = getSession().createSQLQuery(sQuery.toString());
qrUpdate.setParameter("feccorrida", corrida.getId().getFeccorrida()); qrUpdate.setParameter("feccorrida", corrida.getId().getFeccorrida());
qrUpdate.setParameter("corridaId", corrida.getId().getCorridaId()); qrUpdate.setParameter("corridaId", corrida.getId().getCorridaId());
qrUpdate.executeUpdate(); qrUpdate.executeUpdate();
} }
} }

View File

@ -1,91 +1,91 @@
/* /*
* To change this template, choose Tools | Templates * To change this template, choose Tools | Templates
* and open the template in the editor. * and open the template in the editor.
*/ */
package com.rjconsultores.ventaboletos.service; package com.rjconsultores.ventaboletos.service;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import com.rjconsultores.ventaboletos.entidad.ClaseServicio; import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
import com.rjconsultores.ventaboletos.entidad.Corrida; import com.rjconsultores.ventaboletos.entidad.Corrida;
import com.rjconsultores.ventaboletos.entidad.CorridaTramo; import com.rjconsultores.ventaboletos.entidad.CorridaTramo;
import com.rjconsultores.ventaboletos.entidad.DiagramaAutobus; import com.rjconsultores.ventaboletos.entidad.DiagramaAutobus;
import com.rjconsultores.ventaboletos.entidad.EsquemaCorrida; import com.rjconsultores.ventaboletos.entidad.EsquemaCorrida;
import com.rjconsultores.ventaboletos.entidad.Estado; import com.rjconsultores.ventaboletos.entidad.Estado;
import com.rjconsultores.ventaboletos.entidad.Parada; import com.rjconsultores.ventaboletos.entidad.Parada;
import com.rjconsultores.ventaboletos.entidad.Ruta; import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.entidad.Corrida.Id; import com.rjconsultores.ventaboletos.entidad.Corrida.Id;
import com.rjconsultores.ventaboletos.exception.BusinessException; import com.rjconsultores.ventaboletos.exception.BusinessException;
/** /**
* *
* @author rodrigo * @author rodrigo
*/ */
public interface CorridaService extends GenericService<Corrida, Corrida.Id> { public interface CorridaService extends GenericService<Corrida, Corrida.Id> {
/** /**
* Genera las corridas de acuerdo con el parametro de cant dias. * Genera las corridas de acuerdo con el parametro de cant dias.
* *
* *
* @return - Si fue generado exitosamente o no * @return - Si fue generado exitosamente o no
*/ */
public boolean generarCorridaAutomatica(); public boolean generarCorridaAutomatica();
public List<Corrida> buscarPorAutobusCorridasFuturas(DiagramaAutobus diagramaAutobus); public List<Corrida> buscarPorAutobusCorridasFuturas(DiagramaAutobus diagramaAutobus);
public List<Corrida> buscarPorRolOperativoCorridasFuturas(DiagramaAutobus diagramaAutobus); public List<Corrida> buscarPorRolOperativoCorridasFuturas(DiagramaAutobus diagramaAutobus);
public List<Corrida> buscarPorFecCorrida(Date value); public List<Corrida> buscarPorFecCorrida(Date value);
public List<Corrida> verificarCorridaId(Integer corridaId); public List<Corrida> verificarCorridaId(Integer corridaId);
public List<Corrida> buscarPorId(Integer idCorrida); public List<Corrida> buscarPorId(Integer idCorrida);
public List<Corrida> buscarFiltro(Parada ori, Parada des, Date hora, ClaseServicio cs); public List<Corrida> buscarFiltro(Parada ori, Parada des, Date hora, ClaseServicio cs);
/** /**
* Regresa la fecha final para el período de generacion automatica de corridas. * Regresa la fecha final para el período de generacion automatica de corridas.
* *
* *
* @return * @return
*/ */
public Date calcularDataFinalGeneracionCorrida(); public Date calcularDataFinalGeneracionCorrida();
public List<Corrida> buscarDistinct(Parada ori, Parada des, Date horaSalidaInicio, Date horaSalidaFin, ClaseServicio cs, Integer corridaId); public List<Corrida> buscarDistinct(Parada ori, Parada des, Date horaSalidaInicio, Date horaSalidaFin, ClaseServicio cs, Integer corridaId);
/** /**
* Gera corrida a partir dos servicos selecionados e no intervalo de dias informados. <br/> * Gera corrida a partir dos servicos selecionados e no intervalo de dias informados. <br/>
* *
* @param lsEsquemaCorrida * @param lsEsquemaCorrida
* @param dataDe * @param dataDe
* @param dataAte * @param dataAte
* @return A quantidade de corridas geradas * @return A quantidade de corridas geradas
* @throws BusinessException * @throws BusinessException
*/ */
public Long generarCorridasSelecionadas(List<EsquemaCorrida> lsEsquemaCorrida, Date dataDe, Date dataAte) throws BusinessException; public Long generarCorridasSelecionadas(List<EsquemaCorrida> lsEsquemaCorrida, Date dataDe, Date dataAte) throws BusinessException;
public List<Corrida> buscarGroupCorrridaId(Integer corridaId, Date dateInicio, Date dateFin); public List<Corrida> buscarGroupCorrridaId(Integer corridaId, Date dateInicio, Date dateFin);
public List<Corrida> buscarGroupCorrridaId(Integer corridaId, Integer origem, Integer destino, Integer ruta, Integer numRuta, Date dateInicio, Date dateFin); public List<Corrida> buscarGroupCorrridaId(Integer corridaId, Integer origem, Integer destino, Integer ruta, Integer numRuta, Date dateInicio, Date dateFin);
public Boolean atualizarCorridaFecHusoFecVerano(Estado estado, Date dataInicial); public Boolean atualizarCorridaFecHusoFecVerano(Estado estado, Date dataInicial);
Boolean atualizarCorridaFecHusoFecVerano(Estado estado, Date dataInicial, Integer corridaId); Boolean atualizarCorridaFecHusoFecVerano(Estado estado, Date dataInicial, Integer corridaId);
Boolean editarCorridaPorOutraCorrida(Estado estado, Date dataInicial, Integer corridaId, Date dataPadrao); Boolean editarCorridaPorOutraCorrida(Estado estado, Date dataInicial, Integer corridaId, Date dataPadrao);
public List<Corrida> buscarCorridaRelAproveitamento(Parada origem, Parada destino, Date feccorrida, Integer corridaId); public List<Corrida> buscarCorridaRelAproveitamento(Parada origem, Parada destino, Date feccorrida, Integer corridaId);
public Corrida buscaCorrridaFutura(Ruta ruta, Date fecInicio); public Corrida buscaCorrridaFutura(Ruta ruta, Date fecInicio);
public Boolean existeCorrida(Long id); public Boolean existeCorrida(Long id);
public Integer buscarOcupacaoCorrida(Corrida corrida); public Integer buscarOcupacaoCorrida(Corrida corrida);
public Boolean generarCorrida(Date dataGeracao, List<EsquemaCorrida> lsEsquemaCorrida, boolean isGeracaoAutomaticaCorrida, List<CorridaTramo> corridaTramoList); public Boolean generarCorrida(Date dataGeracao, List<EsquemaCorrida> lsEsquemaCorrida, boolean isGeracaoAutomaticaCorrida, List<CorridaTramo> corridaTramoList, boolean isValidaActivo);
public Corrida buscarPorId(Corrida.Id id); public Corrida buscarPorId(Corrida.Id id);
public Corrida buscarCorridaAtivaPorId(Id id); public Corrida buscarCorridaAtivaPorId(Id id);
} }

View File

@ -455,7 +455,7 @@ public class CorridaServiceImpl implements CorridaService {
* @return - La corrida generada o null si no fue generada. * @return - La corrida generada o null si no fue generada.
*/ */
@SuppressWarnings("deprecation") @SuppressWarnings("deprecation")
private Corrida generarCorrida(EsquemaCorrida esquemaCorrida, Date dataGeracao, boolean isPisoExtra, Boolean isFeriado, List<CorridaTramo> corridaTramoList) { private Corrida generarCorrida(EsquemaCorrida esquemaCorrida, Date dataGeracao, boolean isPisoExtra, Boolean isFeriado, List<CorridaTramo> corridaTramoList, boolean isValidaActivo) {
Corrida corrida = null; Corrida corrida = null;
@ -475,7 +475,7 @@ public class CorridaServiceImpl implements CorridaService {
id.setFeccorrida(DateUtil.normalizarToFecha(dataGeracao)); id.setFeccorrida(DateUtil.normalizarToFecha(dataGeracao));
List<EsquemaTramo> lsEsquemaTramo = esquemaTramoService.obtenerPorEsquemaCorridaOrderNumSec(esquemaCorrida); List<EsquemaTramo> lsEsquemaTramo = esquemaTramoService.obtenerPorEsquemaCorridaOrderNumSec(esquemaCorrida);
if(!realizaValidacoesGerais(esquemaCorrida, dataGeracao, diaSemana, isFeriado, ruta, id, numCorrida, horario, claseServicio, marca, isPisoExtra, lsEsquemaTramo)) { if(!realizaValidacoesGerais(esquemaCorrida, dataGeracao, diaSemana, isFeriado, ruta, id, numCorrida, horario, claseServicio, marca, isPisoExtra, lsEsquemaTramo, isValidaActivo)) {
return null; return null;
} }
@ -489,7 +489,7 @@ public class CorridaServiceImpl implements CorridaService {
CorridaCtrl corridaCtrl = criaCorridaCtrl(isPisoExtra, ruta, claseServicio, marca, horario, numCorrida); CorridaCtrl corridaCtrl = criaCorridaCtrl(isPisoExtra, ruta, claseServicio, marca, horario, numCorrida);
corrida = criaCorrida(esquemaCorrida, dataGeracao, id, lsEsquemaTramo, origemCorrida, destinoCorrida, corrida = criaCorrida(esquemaCorrida, dataGeracao, id, lsEsquemaTramo, origemCorrida, destinoCorrida,
corridaCtrl, corridaTramoList); corridaCtrl, corridaTramoList, isValidaActivo);
cantCorridaGenerada++; cantCorridaGenerada++;
@ -503,7 +503,7 @@ public class CorridaServiceImpl implements CorridaService {
} }
private Corrida criaCorrida(EsquemaCorrida esquemaCorrida, Date dataGeracao, Corrida.Id id, private Corrida criaCorrida(EsquemaCorrida esquemaCorrida, Date dataGeracao, Corrida.Id id,
List<EsquemaTramo> lsEsquemaTramo, Parada origemCorrida, Parada destinoCorrida, CorridaCtrl corridaCtrl, List<CorridaTramo> corridaTramoList) { List<EsquemaTramo> lsEsquemaTramo, Parada origemCorrida, Parada destinoCorrida, CorridaCtrl corridaCtrl, List<CorridaTramo> corridaTramoList, boolean isCorridaInativa) {
Corrida corrida; Corrida corrida;
corrida = new Corrida(); corrida = new Corrida();
corrida.setId(id); corrida.setId(id);
@ -571,7 +571,12 @@ public class CorridaServiceImpl implements CorridaService {
} }
corrida.setIndTipoVenta(null); corrida.setIndTipoVenta(null);
corrida.setCodProdutoFiscal(UtiliteriasFiscal.defineCodigoProduto(corrida.getOrigem().getParadaId(), corrida.getDestino().getParadaId(), corrida.getRuta().getRutaId())); corrida.setCodProdutoFiscal(UtiliteriasFiscal.defineCodigoProduto(corrida.getOrigem().getParadaId(), corrida.getDestino().getParadaId(), corrida.getRuta().getRutaId()));
corrida = corridaDAO.suscribir(corrida); if(!isCorridaInativa) {
corrida = corridaDAO.suscribir(corrida);
}else {
corrida = corridaDAO.actualizacion(corrida);
}
return corrida; return corrida;
} }
@ -630,7 +635,7 @@ public class CorridaServiceImpl implements CorridaService {
} }
private Boolean realizaValidacoesGerais(EsquemaCorrida esquemaCorrida, Date dataGeracao, Integer diaSemana, Boolean isFeriado, private Boolean realizaValidacoesGerais(EsquemaCorrida esquemaCorrida, Date dataGeracao, Integer diaSemana, Boolean isFeriado,
Ruta ruta, Corrida.Id id, Integer numCorrida, Date horario, ClaseServicio claseServicio, Marca marca, Boolean isPisoExtra, List<EsquemaTramo> lsEsquemaTramo){ Ruta ruta, Corrida.Id id, Integer numCorrida, Date horario, ClaseServicio claseServicio, Marca marca, Boolean isPisoExtra, List<EsquemaTramo> lsEsquemaTramo, boolean isGeraCorridaInativa){
Integer corridaId = esquemaCorrida.getNumCorrida(); Integer corridaId = esquemaCorrida.getNumCorrida();
String fecCorrida = DateUtil.getStringDate(horario); String fecCorrida = DateUtil.getStringDate(horario);
if (!vigenciaValida(esquemaCorrida, dataGeracao)) { if (!vigenciaValida(esquemaCorrida, dataGeracao)) {
@ -659,9 +664,16 @@ public class CorridaServiceImpl implements CorridaService {
return Boolean.FALSE; return Boolean.FALSE;
} }
if (corridaDAO.existe(id)) { if(!isGeraCorridaInativa) {
log.error("CorridaId:" + corridaId + " FecCorrida:" + fecCorrida + ". corrida existe = " + numCorrida + ";" + ruta.getDescruta() + ";" + DateUtil.getStringDate(dataGeracao) + ";" + DateUtil.getStringDate(horario, "HH:mm") + ";" + claseServicio.getDescclase() + ";" + marca.getDescmarca() + " Piso: " + isPisoExtra); if (corridaDAO.existe(id)) {
return Boolean.FALSE; log.error("CorridaId:" + corridaId + " FecCorrida:" + fecCorrida + ". corrida existe = " + numCorrida + ";" + ruta.getDescruta() + ";" + DateUtil.getStringDate(dataGeracao) + ";" + DateUtil.getStringDate(horario, "HH:mm") + ";" + claseServicio.getDescclase() + ";" + marca.getDescmarca() + " Piso: " + isPisoExtra);
return Boolean.FALSE;
}
}else {
if (corridaDAO.existeActivo(id)) {
log.error("CorridaId:" + corridaId + " FecCorrida:" + fecCorrida + ". corrida existe = " + numCorrida + ";" + ruta.getDescruta() + ";" + DateUtil.getStringDate(dataGeracao) + ";" + DateUtil.getStringDate(horario, "HH:mm") + ";" + claseServicio.getDescclase() + ";" + marca.getDescmarca() + " Piso: " + isPisoExtra);
return Boolean.FALSE;
}
} }
if (lsEsquemaTramo == null || lsEsquemaTramo.isEmpty()) { if (lsEsquemaTramo == null || lsEsquemaTramo.isEmpty()) {
@ -836,7 +848,7 @@ public class CorridaServiceImpl implements CorridaService {
return b - a; return b - a;
} }
public Boolean generarCorrida(Date dataGeracao, List<EsquemaCorrida> lsEsquemaCorrida, boolean isGeracaoAutomaticaCorrida, List<CorridaTramo> corridaTramoList) { public Boolean generarCorrida(Date dataGeracao, List<EsquemaCorrida> lsEsquemaCorrida, boolean isGeracaoAutomaticaCorrida, List<CorridaTramo> corridaTramoList, boolean isValidaActivo) {
DefaultTransactionDefinition def = new DefaultTransactionDefinition(DefaultTransactionDefinition.PROPAGATION_REQUIRES_NEW); DefaultTransactionDefinition def = new DefaultTransactionDefinition(DefaultTransactionDefinition.PROPAGATION_REQUIRES_NEW);
@ -931,7 +943,7 @@ public class CorridaServiceImpl implements CorridaService {
} }
Boolean isFeriado = this.isFeriado(data, esquemaCorrida); Boolean isFeriado = this.isFeriado(data, esquemaCorrida);
corrida = generarCorrida(esquemaCorrida, dataGeracao, false, isFeriado, corridaTramoList); corrida = generarCorrida(esquemaCorrida, dataGeracao, false, isFeriado, corridaTramoList, isValidaActivo);
corridaPisoExtra = null; corridaPisoExtra = null;
@ -966,7 +978,7 @@ public class CorridaServiceImpl implements CorridaService {
continue; continue;
} }
corridaPisoExtra = generarCorrida(esquemaCorridaSegundoPiso, dataGeracao, true, isFeriado, null); corridaPisoExtra = generarCorrida(esquemaCorridaSegundoPiso, dataGeracao, true, isFeriado, null, false);
Boolean atualizarPisoExtra = false; Boolean atualizarPisoExtra = false;
// caso corrida segundo piso for gerada antes, atualizar // caso corrida segundo piso for gerada antes, atualizar
@ -978,6 +990,8 @@ public class CorridaServiceImpl implements CorridaService {
if(corridaPisoExtra !=null) { if(corridaPisoExtra !=null) {
if(unUsuarioId!=null && unPuntoVenta!=null && estacionId!=null) { if(unUsuarioId!=null && unPuntoVenta!=null && estacionId!=null) {
validaCriaReservaCliente(corridaPisoExtra, unUsuarioId, unPuntoVenta, estacionId); validaCriaReservaCliente(corridaPisoExtra, unUsuarioId, unPuntoVenta, estacionId);
}else {
log.error("Usuario ou ponto de venda ou estação não definidos para reserva especial nas contantes");
} }
} }
@ -996,7 +1010,7 @@ public class CorridaServiceImpl implements CorridaService {
continue; continue;
} }
corridaPisoExtra2 = generarCorrida(esquemaCorridaTerceiroPiso, dataGeracao, true, isFeriado, null); corridaPisoExtra2 = generarCorrida(esquemaCorridaTerceiroPiso, dataGeracao, true, isFeriado, null, false);
atualizarPisoExtra = false; atualizarPisoExtra = false;
// caso corrida segundo piso for gerada antes, atualizar // caso corrida segundo piso for gerada antes, atualizar
@ -1009,6 +1023,8 @@ public class CorridaServiceImpl implements CorridaService {
if(corridaPisoExtra !=null) { if(corridaPisoExtra !=null) {
if(unUsuarioId!=null && unPuntoVenta!=null && estacionId!=null) { if(unUsuarioId!=null && unPuntoVenta!=null && estacionId!=null) {
validaCriaReservaCliente(corridaPisoExtra, unUsuarioId, unPuntoVenta, estacionId); validaCriaReservaCliente(corridaPisoExtra, unUsuarioId, unPuntoVenta, estacionId);
}else {
log.error("Usuario ou ponto de venda ou estação não definidos para reserva nas contantes");
} }
} }
} }
@ -1043,6 +1059,8 @@ public class CorridaServiceImpl implements CorridaService {
if(corrida !=null) { if(corrida !=null) {
if(unUsuarioId!=null && unPuntoVenta!=null && estacionId!=null) { if(unUsuarioId!=null && unPuntoVenta!=null && estacionId!=null) {
validaCriaReservaCliente(corrida, unUsuarioId, unPuntoVenta, estacionId); validaCriaReservaCliente(corrida, unUsuarioId, unPuntoVenta, estacionId);
}else {
log.error("Usuario ou ponto de venda ou estação não definidos para reserva especial nas contantes");
} }
} }
@ -1061,7 +1079,7 @@ public class CorridaServiceImpl implements CorridaService {
Corrida corridaPisoExtra2, EsquemaCorrida esquemaCorrida, Boolean isFeriado) { Corrida corridaPisoExtra2, EsquemaCorrida esquemaCorrida, Boolean isFeriado) {
log.info("Corrida Rebote=" + esquemaCorrida.getEsquemacorridaId()); log.info("Corrida Rebote=" + esquemaCorrida.getEsquemacorridaId());
Corrida corridaRebote = generarCorrida(esquemaCorrida.getEsquemaCorridaRebote(), dataGeracao, false, isFeriado, null); Corrida corridaRebote = generarCorrida(esquemaCorrida.getEsquemaCorridaRebote(), dataGeracao, false, isFeriado, null, false);
Corrida corridaPisoExtraRebote = null; Corrida corridaPisoExtraRebote = null;
boolean generaReboteDiaSeguinte = false; boolean generaReboteDiaSeguinte = false;
@ -1073,7 +1091,7 @@ public class CorridaServiceImpl implements CorridaService {
log.info(String.format("Esquema/Corrida primeiro piso: %s/%s ; Esquema/Corrida segundo piso: %s/%s ",ecRebote.getEsquemacorridaId(),ecRebote.getNumCorrida(), esquemaCorridaSegundoPiso.getEsquemacorridaId(),esquemaCorridaSegundoPiso.getNumCorrida() )); log.info(String.format("Esquema/Corrida primeiro piso: %s/%s ; Esquema/Corrida segundo piso: %s/%s ",ecRebote.getEsquemacorridaId(),ecRebote.getNumCorrida(), esquemaCorridaSegundoPiso.getEsquemacorridaId(),esquemaCorridaSegundoPiso.getNumCorrida() ));
corridaPisoExtraRebote = generarCorrida(esquemaCorridaSegundoPiso, dataGeracao, true, isFeriado, null); corridaPisoExtraRebote = generarCorrida(esquemaCorridaSegundoPiso, dataGeracao, true, isFeriado, null, false);
if (corridaRebote != null && corridaPisoExtraRebote != null) { if (corridaRebote != null && corridaPisoExtraRebote != null) {
// Salvando Referencia da Corrida no piso extra // Salvando Referencia da Corrida no piso extra
@ -1337,7 +1355,7 @@ public class CorridaServiceImpl implements CorridaService {
java.sql.Date data = new java.sql.Date(dataGeracao.getTime()); java.sql.Date data = new java.sql.Date(dataGeracao.getTime());
Boolean isFeriado = this.isFeriado(data, esquemaCorrida); Boolean isFeriado = this.isFeriado(data, esquemaCorrida);
return generarCorrida(esquemaCorrida.getEsquemaCorridaRebote(), tmp.getTime(), false, isFeriado, null); return generarCorrida(esquemaCorrida.getEsquemaCorridaRebote(), tmp.getTime(), false, isFeriado, null, false);
} }
private List<Integer> getDiaDeLaSemana(TramoTiempo tramoTiempo) { private List<Integer> getDiaDeLaSemana(TramoTiempo tramoTiempo) {
@ -1476,7 +1494,7 @@ public class CorridaServiceImpl implements CorridaService {
List<EsquemaCorrida> lsTmp = new ArrayList<EsquemaCorrida>(); List<EsquemaCorrida> lsTmp = new ArrayList<EsquemaCorrida>();
lsTmp.add(esquemaCorrida); lsTmp.add(esquemaCorrida);
this.generarCorrida(dataDe, lsTmp, true, null); this.generarCorrida(dataDe, lsTmp, true, null, false);
calendarData.setTime(dataDe); calendarData.setTime(dataDe);
calendarData.add(Calendar.DATE, 1); calendarData.add(Calendar.DATE, 1);
@ -1521,7 +1539,7 @@ public class CorridaServiceImpl implements CorridaService {
if (dentroVigenciaEsquemaOperacional) { if (dentroVigenciaEsquemaOperacional) {
log.debug("Geracao de servicos sem cant dias especifico. Adotando o padrao"); log.debug("Geracao de servicos sem cant dias especifico. Adotando o padrao");
this.generarCorrida(dataDe, lsEsquemaCorrida, true, null); this.generarCorrida(dataDe, lsEsquemaCorrida, true, null, false);
} else { } else {
log.info("No hay esquema vigente para la fecha " + sdfData.format(dataDe)); log.info("No hay esquema vigente para la fecha " + sdfData.format(dataDe));
@ -1604,7 +1622,7 @@ public class CorridaServiceImpl implements CorridaService {
break; break;
} }
boolean corridaGerada = this.generarCorrida(dataAte, Arrays.asList(esquemaCorrida), false, null); boolean corridaGerada = this.generarCorrida(dataAte, Arrays.asList(esquemaCorrida), false, null, false);
log.info(String.format("Corrida gerada = %s [%s - %s]",corridaGerada,esquemaCorrida.getNumCorrida() ,strDataGeracao)); log.info(String.format("Corrida gerada = %s [%s - %s]",corridaGerada,esquemaCorrida.getNumCorrida() ,strDataGeracao));
@ -1674,7 +1692,7 @@ public class CorridaServiceImpl implements CorridaService {
while (DateUtil.compareOnlyDate(dataDe, dataAte) <= 0) { while (DateUtil.compareOnlyDate(dataDe, dataAte) <= 0) {
log.info("*** Data: " + sdfData.format(dataDe)); log.info("*** Data: " + sdfData.format(dataDe));
this.generarCorrida(dataDe, lsEsquemaCorrida, false, null); this.generarCorrida(dataDe, lsEsquemaCorrida, false, null, false);
calendarData.add(Calendar.DATE, 1); calendarData.add(Calendar.DATE, 1);
dataDe = calendarData.getTime(); dataDe = calendarData.getTime();