fixes bug #AL-3494
parent
636ef27496
commit
20d0cd7457
2
pom.xml
2
pom.xml
|
@ -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>
|
||||||
|
|
|
@ -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);
|
||||||
|
|
||||||
|
|
|
@ -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) {
|
||||||
|
|
|
@ -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();
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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();
|
||||||
|
|
Loading…
Reference in New Issue