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

View File

@ -16,48 +16,50 @@ import java.util.Date;
import java.util.List; import java.util.List;
/** /**
* *
* @author Rafius * @author Rafius
*/ */
public interface EsquemaCorridaDAO extends GenericDAO<EsquemaCorrida, Integer> { 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, public List<EsquemaCorrida> buscar(Marca marca, RolOperativo rolOperativo,
Ruta ruta, ClaseServicio claseServicio); 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.
/** *
* Indica cuál son los Id's de EsquemaCorrida que tienen la paradaId en su secuencia * @param esquemaCorrida
* * @return
* @param ruta */
* @param paradaId public boolean esHijoRebote(EsquemaCorrida esquemaCorrida);
* @return - El Id de EsquemaCorrida
*/
public List<Integer> existe(Ruta ruta , Integer paradaId);
/**
* 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);
public List<EsquemaCorrida> buscaDentroVigenciaQtdeDiasNull(Date dataGeracao);
public List<EsquemaCorrida> buscaDentroVigenciaQtdeDiasNotNull(Date dataDe);
} }

View File

@ -159,9 +159,6 @@ public class EsquemaCorridaHibernateDAO extends GenericHibernateDAO<EsquemaCorri
return c.list(); return c.list();
} }
public boolean esHijoRebote(EsquemaCorrida esquemaCorrida) { public boolean esHijoRebote(EsquemaCorrida esquemaCorrida) {
Criteria c = makeCriteria(); Criteria c = makeCriteria();
@ -187,6 +184,20 @@ public class EsquemaCorridaHibernateDAO extends GenericHibernateDAO<EsquemaCorri
return c.list(); 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) { public boolean buscarEsquemaCorridaExisteTramo(Tramo tramo) {
Criteria c = makeCriteria(); Criteria c = makeCriteria();
c.add(Restrictions.eq("activo", Boolean.TRUE)); c.add(Restrictions.eq("activo", Boolean.TRUE));
@ -223,21 +234,16 @@ public class EsquemaCorridaHibernateDAO extends GenericHibernateDAO<EsquemaCorri
return c.list(); return c.list();
} }
@Override @Override
public boolean buscarNumCorrida(Integer numCorrida, Integer numCorridaPisoExtra) { public boolean buscarNumCorrida(Integer numCorrida, Integer numCorridaPisoExtra) {
Criteria c = getSession().createCriteria(getPersistentClass()); Criteria c = getSession().createCriteria(getPersistentClass());
c.add(Restrictions.eq("activo", Boolean.TRUE)); c.add(Restrictions.eq("activo", Boolean.TRUE));
Disjunction or = Restrictions.disjunction(); Disjunction or = Restrictions.disjunction();
or.add(Restrictions.or(Restrictions.eq("numCorridaPisoExtra", numCorridaPisoExtra), Restrictions.eq("numCorrida", numCorrida))); or.add(Restrictions.or(Restrictions.eq("numCorridaPisoExtra", numCorridaPisoExtra), Restrictions.eq("numCorrida", numCorrida)));
or.add(Restrictions.eq("numCorrida", numCorridaPisoExtra)); or.add(Restrictions.eq("numCorrida", numCorridaPisoExtra));
c.add(or); c.add(or);
if (c.list().isEmpty()) { if (c.list().isEmpty()) {
return false; return false;
@ -245,7 +251,18 @@ public class EsquemaCorridaHibernateDAO extends GenericHibernateDAO<EsquemaCorri
return true; return true;
} }
} }
@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; private Integer numCorridaPisoExtra;
@Column(name = "INDGENERAFERIADO") @Column(name = "INDGENERAFERIADO")
private String indGeneraFeriado; private String indGeneraFeriado;
@Column(name = "CANTDIASGENERACION")
private Integer cantDiasGeracion;
public enum GerarFeriado { public enum GerarFeriado {
// Declaração dos enum // Declaração dos enum
@ -434,6 +436,14 @@ public class EsquemaCorrida implements Serializable {
this.indGeneraFeriado = indGeneraFeriado; this.indGeneraFeriado = indGeneraFeriado;
} }
public Integer getCantDiasGeracion() {
return cantDiasGeracion;
}
public void setCantDiasGeracion(Integer cantDiasGeracion) {
this.cantDiasGeracion = cantDiasGeracion;
}
@Override @Override
public int hashCode() { public int hashCode() {
int hash = 0; int hash = 0;

View File

@ -14,40 +14,54 @@ import com.rjconsultores.ventaboletos.entidad.EsquemaCorrida;
import com.rjconsultores.ventaboletos.entidad.Parada; import com.rjconsultores.ventaboletos.entidad.Parada;
/** /**
* *
* @author rodrigo * @author rodrigo
*/ */
public interface CorridaService extends GenericService<Corrida, Corrida.Id> { 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. * 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> 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. * Regresa la fecha final para el período de generación automatica de
* * corridas.
* *
* @return *
*/ * @return
public Date calcularDataFinalGeneracionCorrida(); */
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

@ -18,32 +18,36 @@ import java.util.Date;
import java.util.List; import java.util.List;
/** /**
* *
* @author Rafius * @author Rafius
*/ */
public interface EsquemaCorridaService extends GenericService<EsquemaCorrida, Integer> { 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, public List<EsquemaCorrida> buscar(Marca marca, RolOperativo rolOperativo,
Ruta ruta, ClaseServicio claseServicio); 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 List<EsquemaCorrida> buscaDentroVigencia(Date dataGeracao);
public boolean buscarEsquemaCorridaExisteTramo(Tramo tramo); public void actualizaEsquemaTramo(List<ParadaEsquema> listParadaEsquema, EsquemaCorrida ec);
/** public List<EsquemaCorrida> buscaDentroVigencia(Date dataGeracao);
* See {@link EsquemaCorridaDAO#existe(Ruta, Integer)}
* @param ruta public boolean buscarEsquemaCorridaExisteTramo(Tramo tramo);
* @param paradaId
* @return /**
*/ * See {@link EsquemaCorridaDAO#existe(Ruta, Integer)}
public List<Integer> existe(Ruta ruta, Integer paradaId) ; *
* @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

@ -101,12 +101,10 @@ public class EsquemaCorridaServiceImpl implements EsquemaCorridaService {
public List<EsquemaCorrida> buscar(EsquemaCorrida ec) { public List<EsquemaCorrida> buscar(EsquemaCorrida ec) {
return esquemaCorridaDAO.buscar(ec); return esquemaCorridaDAO.buscar(ec);
} }
public boolean buscarNumCorrida (Integer numCorrida, Integer numCorridaPisoExtra) { public boolean buscarNumCorrida(Integer numCorrida, Integer numCorridaPisoExtra) {
return esquemaCorridaDAO.buscarNumCorrida(numCorrida, numCorridaPisoExtra); return esquemaCorridaDAO.buscarNumCorrida(numCorrida, numCorridaPisoExtra);
} }
@Transactional @Transactional
public void actualizaEsquemaTramo(List<ParadaEsquema> listParadaEsquema, EsquemaCorrida ec) { public void actualizaEsquemaTramo(List<ParadaEsquema> listParadaEsquema, EsquemaCorrida ec) {
@ -151,11 +149,18 @@ public class EsquemaCorridaServiceImpl implements EsquemaCorridaService {
return esquemaCorridaDAO.buscaDentroVigencia(dataGeracao); 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) { public boolean buscarEsquemaCorridaExisteTramo(Tramo tramo) {
return esquemaCorridaDAO.buscarEsquemaCorridaExisteTramo(tramo); return esquemaCorridaDAO.buscarEsquemaCorridaExisteTramo(tramo);
} }
@Override @Override
public List<Integer> existe(Ruta ruta, Integer paradaId) { public List<Integer> existe(Ruta ruta, Integer paradaId) {