rodrigo 2013-02-08 14:21:08 +00:00
parent 5192a9aa9d
commit 61c2cf55c7
7 changed files with 987 additions and 875 deletions

View File

@ -21,43 +21,45 @@ import java.util.List;
*/
public interface EsquemaCorridaDAO extends GenericDAO<EsquemaCorrida, Integer> {
public List<EsquemaCorrida> buscarPorEsquemaOperacional(EsquemaOperacional eo);
public List<EsquemaCorrida> buscarPorEsquemaOperacional(EsquemaOperacional eo);
public List<EsquemaCorrida> buscar(Marca marca, RolOperativo rolOperativo,
Ruta ruta, ClaseServicio claseServicio);
public List<EsquemaCorrida> buscar(Marca marca, RolOperativo rolOperativo,
Ruta ruta, ClaseServicio claseServicio);
public List<EsquemaCorrida> buscar(EsquemaCorrida ec);
public List<EsquemaCorrida> buscar(EsquemaCorrida ec);
public boolean buscarNumCorrida(Integer numCorrida, Integer numCorridaPisoExtra);
public boolean buscarNumCorrida (Integer numCorrida, Integer numCorridaPisoExtra);
/**
* Indica se el esquema corrida es hijo de un esquemCorrida.
*
* @param esquemaCorrida
* @return
*/
public boolean esHijoRebote(EsquemaCorrida esquemaCorrida);
/**
* Busca los esquema corrida que tiene esquema operacional en la fecha
* indicada
*
* @param dataGeracao
* @return
*/
public List<EsquemaCorrida> buscaDentroVigencia(Date dataGeracao);
public boolean buscarEsquemaCorridaExisteTramo(Tramo tramo);
/**
* Indica se el esquema corrida es hijo de un esquemCorrida.
*
* @param esquemaCorrida
* @return
*/
public boolean esHijoRebote(EsquemaCorrida esquemaCorrida);
/**
* Busca los esquema corrida que tiene esquema operacional en la fecha indicada
* @param dataGeracao
* @return
*/
public List<EsquemaCorrida> buscaDentroVigencia(Date dataGeracao);
public boolean buscarEsquemaCorridaExisteTramo(Tramo tramo);
/**
* Indica cuál son los Id's de EsquemaCorrida que tienen la paradaId en su secuencia
*
* @param ruta
* @param paradaId
* @return - El Id de EsquemaCorrida
*/
public List<Integer> existe(Ruta ruta , Integer paradaId);
/**
* Indica cuál son los Id's de EsquemaCorrida que tienen la paradaId en su
* secuencia
*
* @param ruta
* @param paradaId
* @return - El Id de EsquemaCorrida
*/
public List<Integer> existe(Ruta ruta, Integer paradaId);
public List<EsquemaCorrida> buscaDentroVigenciaQtdeDiasNull(Date dataGeracao);
public List<EsquemaCorrida> buscaDentroVigenciaQtdeDiasNotNull(Date dataDe);
}

View File

@ -160,9 +160,6 @@ public class EsquemaCorridaHibernateDAO extends GenericHibernateDAO<EsquemaCorri
return c.list();
}
public boolean esHijoRebote(EsquemaCorrida esquemaCorrida) {
Criteria c = makeCriteria();
c.setProjection(Projections.rowCount());
@ -187,6 +184,20 @@ public class EsquemaCorridaHibernateDAO extends GenericHibernateDAO<EsquemaCorri
return c.list();
}
@Override
public List<EsquemaCorrida> buscaDentroVigenciaQtdeDiasNull(Date dataGeracao) {
Criteria c = makeCriteria();
c.add(Restrictions.eq("activo", Boolean.TRUE));
c.add(Restrictions.isNull("cantDiasGeracion"));
Criteria cEsquemaOperacional = c.createCriteria("esquemaOperacional");
cEsquemaOperacional.add(Restrictions.le("fecniciovigencia", dataGeracao));
cEsquemaOperacional.add(Restrictions.ge("fecfinvigencia", dataGeracao));
cEsquemaOperacional.add(Restrictions.eq("activo", Boolean.TRUE));
return c.list();
}
public boolean buscarEsquemaCorridaExisteTramo(Tramo tramo) {
Criteria c = makeCriteria();
c.add(Restrictions.eq("activo", Boolean.TRUE));
@ -223,22 +234,17 @@ public class EsquemaCorridaHibernateDAO extends GenericHibernateDAO<EsquemaCorri
return c.list();
}
@Override
public boolean buscarNumCorrida(Integer numCorrida, Integer numCorridaPisoExtra) {
Criteria c = getSession().createCriteria(getPersistentClass());
c.add(Restrictions.eq("activo", Boolean.TRUE));
Disjunction or = Restrictions.disjunction();
or.add(Restrictions.or(Restrictions.eq("numCorridaPisoExtra", numCorridaPisoExtra), Restrictions.eq("numCorrida", numCorrida)));
or.add(Restrictions.eq("numCorrida", numCorridaPisoExtra));
c.add(or);
if (c.list().isEmpty()) {
return false;
} else {
@ -246,6 +252,17 @@ public class EsquemaCorridaHibernateDAO extends GenericHibernateDAO<EsquemaCorri
}
}
@Override
public List<EsquemaCorrida> buscaDentroVigenciaQtdeDiasNotNull(Date dataGeracao) {
Criteria c = makeCriteria();
c.add(Restrictions.eq("activo", Boolean.TRUE));
c.add(Restrictions.isNotNull("cantDiasGeracion"));
Criteria cEsquemaOperacional = c.createCriteria("esquemaOperacional");
cEsquemaOperacional.add(Restrictions.le("fecniciovigencia", dataGeracao));
cEsquemaOperacional.add(Restrictions.ge("fecfinvigencia", dataGeracao));
cEsquemaOperacional.add(Restrictions.eq("activo", Boolean.TRUE));
return c.list();
}
}

View File

@ -118,6 +118,8 @@ public class EsquemaCorrida implements Serializable {
private Integer numCorridaPisoExtra;
@Column(name = "INDGENERAFERIADO")
private String indGeneraFeriado;
@Column(name = "CANTDIASGENERACION")
private Integer cantDiasGeracion;
public enum GerarFeriado {
// Declaração dos enum
@ -434,6 +436,14 @@ public class EsquemaCorrida implements Serializable {
this.indGeneraFeriado = indGeneraFeriado;
}
public Integer getCantDiasGeracion() {
return cantDiasGeracion;
}
public void setCantDiasGeracion(Integer cantDiasGeracion) {
this.cantDiasGeracion = cantDiasGeracion;
}
@Override
public int hashCode() {
int hash = 0;

View File

@ -19,35 +19,49 @@ import com.rjconsultores.ventaboletos.entidad.Parada;
*/
public interface CorridaService extends GenericService<Corrida, Corrida.Id> {
public void generarCorrida(Date dataGeracao, List<EsquemaCorrida> lsEsquemaCorrida);
public void generarCorrida(Date dataGeracao, List<EsquemaCorrida> lsEsquemaCorrida);
/**
* Genera las corridas de acuerdo con el parametro de cant dias.
*
*
* @return - Si fue generado exitosamente o no
*/
public boolean generarCorridaAutomatica();
/**
* Genera las corridas de acuerdo con el parametro de cant dias.
*
*
* @return - Si fue generado exitosamente o no
*/
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> 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 generación automatica de corridas.
*
*
* @return
*/
public Date calcularDataFinalGeneracionCorrida();
/**
* Regresa la fecha final para el período de generación automatica de
* corridas.
*
*
* @return
*/
public Date calcularDataFinalGeneracionCorrida();
public boolean generarCorridaAutomatica(Date dataDe, Date dataAte);
public boolean generarCorridaAutomaticaConstanteDias(Date dataDe, Date dataAte);
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 na tela de
* "Selecionar Servicos a Gerar". Menu->Esquema Operacional->Selecionar
* Servicos a Gerar
*
* @param lsEsquemaCorrida
* @param dataDe
* @param dataAte
*/
public void generarCorridasSelecionadas(List<EsquemaCorrida> lsEsquemaCorrida, Date dataDe, Date dataAte);
public boolean generarCorridaAutomaticaQtdeDias(Date dataDe);
}

View File

@ -23,27 +23,31 @@ import java.util.List;
*/
public interface EsquemaCorridaService extends GenericService<EsquemaCorrida, Integer> {
public List<EsquemaCorrida> buscarPorEsquemaOperacional(EsquemaOperacional eo);
public List<EsquemaCorrida> buscarPorEsquemaOperacional(EsquemaOperacional eo);
public List<EsquemaCorrida> buscar(Marca marca, RolOperativo rolOperativo,
Ruta ruta, ClaseServicio claseServicio);
public List<EsquemaCorrida> buscar(Marca marca, RolOperativo rolOperativo,
Ruta ruta, ClaseServicio claseServicio);
public List<EsquemaCorrida> buscar(EsquemaCorrida ec);
public List<EsquemaCorrida> buscar(EsquemaCorrida ec);
public boolean buscarNumCorrida(Integer numCorrida, Integer numCorridaPisoExtra);
public boolean buscarNumCorrida(Integer numCorrida, Integer numCorridaPisoExtra);
public void actualizaEsquemaTramo(List<ParadaEsquema> listParadaEsquema, EsquemaCorrida ec);
public void actualizaEsquemaTramo(List<ParadaEsquema> listParadaEsquema,EsquemaCorrida ec);
public List<EsquemaCorrida> buscaDentroVigencia(Date dataGeracao);
public List<EsquemaCorrida> buscaDentroVigencia(Date dataGeracao);
public boolean buscarEsquemaCorridaExisteTramo(Tramo tramo);
public boolean buscarEsquemaCorridaExisteTramo(Tramo tramo);
/**
* See {@link EsquemaCorridaDAO#existe(Ruta, Integer)}
*
* @param ruta
* @param paradaId
* @return
*/
public List<Integer> existe(Ruta ruta, Integer paradaId);
/**
* See {@link EsquemaCorridaDAO#existe(Ruta, Integer)}
* @param ruta
* @param paradaId
* @return
*/
public List<Integer> existe(Ruta ruta, Integer paradaId) ;
public List<EsquemaCorrida> buscaDentroVigenciaQtdeDiasNull(Date dataGeracao);
public List<EsquemaCorrida> buscaDentroVigenciaQtdeDiasNotNull(Date dataDe);
}

View File

@ -102,12 +102,10 @@ public class EsquemaCorridaServiceImpl implements EsquemaCorridaService {
return esquemaCorridaDAO.buscar(ec);
}
public boolean buscarNumCorrida (Integer numCorrida, Integer numCorridaPisoExtra) {
public boolean buscarNumCorrida(Integer numCorrida, Integer numCorridaPisoExtra) {
return esquemaCorridaDAO.buscarNumCorrida(numCorrida, numCorridaPisoExtra);
}
@Transactional
public void actualizaEsquemaTramo(List<ParadaEsquema> listParadaEsquema, EsquemaCorrida ec) {
@ -151,12 +149,19 @@ public class EsquemaCorridaServiceImpl implements EsquemaCorridaService {
return esquemaCorridaDAO.buscaDentroVigencia(dataGeracao);
}
public List<EsquemaCorrida> buscaDentroVigenciaQtdeDiasNull(Date dataGeracao) {
return esquemaCorridaDAO.buscaDentroVigenciaQtdeDiasNull(dataGeracao);
}
@Override
public List<EsquemaCorrida> buscaDentroVigenciaQtdeDiasNotNull(Date dataDe) {
return esquemaCorridaDAO.buscaDentroVigenciaQtdeDiasNotNull(dataDe);
}
public boolean buscarEsquemaCorridaExisteTramo(Tramo tramo) {
return esquemaCorridaDAO.buscarEsquemaCorridaExisteTramo(tramo);
}
@Override
public List<Integer> existe(Ruta ruta, Integer paradaId) {
return esquemaCorridaDAO.existe(ruta, paradaId);