0004755: Conexão - Conf. Exceção por Serviço

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@32619 d1611594-4594-4d17-8e1d-87c2c4800839
master
julio 2013-12-13 14:22:16 +00:00
parent a6575b507b
commit c3e5b110bd
5 changed files with 65 additions and 8 deletions

View File

@ -40,6 +40,8 @@ public interface CorridaDAO extends GenericDAO<Corrida, Corrida.Id> {
public List<Corrida> buscarPorFecCorrida(Date value); public List<Corrida> buscarPorFecCorrida(Date value);
public Long count(Ruta ruta); public Long count(Ruta ruta);
public List<Corrida> verificarCorridaId(Integer corridaId);
public List<Corrida> buscarPorId(Integer idCorrida); public List<Corrida> buscarPorId(Integer idCorrida);

View File

@ -46,14 +46,13 @@ public class CorridaHibernateDAO extends GenericHibernateDAO<Corrida, Corrida.Id
private static final Integer ULTIMA_HORA_DIA = Integer.valueOf(23); private static final Integer ULTIMA_HORA_DIA = Integer.valueOf(23);
private static final Integer ULTIMO_MINUTO_SEGUNDO = Integer.valueOf(59); private static final Integer ULTIMO_MINUTO_SEGUNDO = Integer.valueOf(59);
private static final Integer ULTIMO_MILLISEGUNDO = Integer.valueOf(99); private static final Integer ULTIMO_MILLISEGUNDO = Integer.valueOf(99);
private static final Integer MAX_ARRAY = Integer.valueOf(1000);
private static final Integer HORAS_NO_DIA = Integer.valueOf(24);
@Autowired @Autowired
public CorridaHibernateDAO(@Qualifier("sessionFactory") final SessionFactory factory) { public CorridaHibernateDAO(@Qualifier("sessionFactory") final SessionFactory factory) {
setSessionFactory(factory); setSessionFactory(factory);
} }
@Override
public Boolean existe(final Id id) { public Boolean existe(final Id id) {
Criteria c = makeCriteria(); Criteria c = makeCriteria();
@ -79,6 +78,7 @@ public class CorridaHibernateDAO extends GenericHibernateDAO<Corrida, Corrida.Id
return corrida; return corrida;
} }
@Override
public List<Corrida> buscarPorAutobusCorridasFuturas(final DiagramaAutobus diagramaAutobus) { public List<Corrida> buscarPorAutobusCorridasFuturas(final DiagramaAutobus diagramaAutobus) {
String hql = " select co from Corrida co, Autobus ab " String hql = " select co from Corrida co, Autobus ab "
+ " where ab.autobusId = co.autobus.autobusId " + " where ab.autobusId = co.autobus.autobusId "
@ -92,6 +92,7 @@ public class CorridaHibernateDAO extends GenericHibernateDAO<Corrida, Corrida.Id
return lsCorridas; return lsCorridas;
} }
@Override
public List<Corrida> buscarPorRolOperativoCorridasFuturas(final DiagramaAutobus diagramaAutobus) { public List<Corrida> buscarPorRolOperativoCorridasFuturas(final DiagramaAutobus diagramaAutobus) {
String hql = " select co from Corrida co, RolOperativo rol " String hql = " select co from Corrida co, RolOperativo rol "
+ " where rol.roloperativoId = co.rolOperativo.roloperativoId " + " where rol.roloperativoId = co.rolOperativo.roloperativoId "
@ -104,6 +105,7 @@ public class CorridaHibernateDAO extends GenericHibernateDAO<Corrida, Corrida.Id
return lsCorridas; return lsCorridas;
} }
@Override
public List<Corrida> buscarPorFecCorrida(final Date value) { public List<Corrida> buscarPorFecCorrida(final Date value) {
Criteria c = getSession().createCriteria(getPersistentClass()); Criteria c = getSession().createCriteria(getPersistentClass());
c.add(Restrictions.eq("activo", Boolean.TRUE)); c.add(Restrictions.eq("activo", Boolean.TRUE));
@ -113,6 +115,7 @@ public class CorridaHibernateDAO extends GenericHibernateDAO<Corrida, Corrida.Id
return c.list(); return c.list();
} }
@Override
public Long count(final Ruta ruta) { public Long count(final Ruta ruta) {
Criteria c = this.makeCriteria(); Criteria c = this.makeCriteria();
c.add(Restrictions.eq("ruta", ruta)); c.add(Restrictions.eq("ruta", ruta));
@ -123,6 +126,38 @@ public class CorridaHibernateDAO extends GenericHibernateDAO<Corrida, Corrida.Id
} }
@Override
public List<Corrida> verificarCorridaId(Integer corridaId) {
StringBuilder hql = new StringBuilder();
hql.append("select distinct ");
hql.append(" new com.rjconsultores.ventaboletos.entidad.Corrida(");
hql.append(" c.id.corridaId, ");
hql.append(" c.origem, ");
hql.append(" c.destino) ");
hql.append("from ");
hql.append(" Corrida c ");
hql.append("where ");
hql.append(" 1 = 1 ");
hql.append(" and c.activo = 1 ");
hql.append(" and cast(c.id.corridaId as string) like :corridaId ");
hql.append(" group by ");
hql.append(" c.id.corridaId, ");
hql.append(" c.origem, ");
hql.append(" c.destino) ");
Query sq = getSession().createQuery(hql.toString());
if (corridaId != null) {
sq.setParameter("corridaId", corridaId.toString() + '%');
} else {
sq.setParameter("corridaId", '%');
}
return sq.list();
}
@Override
public List<Corrida> buscarPorId(final Integer idCorrida) { public List<Corrida> buscarPorId(final Integer idCorrida) {
Criteria c = getSession().createCriteria(getPersistentClass()); Criteria c = getSession().createCriteria(getPersistentClass());
c.add(Restrictions.eq("activo", Boolean.TRUE)); c.add(Restrictions.eq("activo", Boolean.TRUE));
@ -131,7 +166,7 @@ public class CorridaHibernateDAO extends GenericHibernateDAO<Corrida, Corrida.Id
return c.list(); return c.list();
} }
// Metodo Ok. @Override
public List<Corrida> buscarFiltro(final Parada ori, final Parada des, final Date hora, final ClaseServicio cs) { public List<Corrida> buscarFiltro(final Parada ori, final Parada des, final Date hora, final ClaseServicio cs) {
Criteria c = getSession().createCriteria(getPersistentClass()); Criteria c = getSession().createCriteria(getPersistentClass());
c.add(Restrictions.eq("activo", Boolean.TRUE)); c.add(Restrictions.eq("activo", Boolean.TRUE));
@ -466,10 +501,9 @@ public class CorridaHibernateDAO extends GenericHibernateDAO<Corrida, Corrida.Id
@Override @Override
public void actualizaFecHusoFecVerano(final List<Corrida> corridas) { public void actualizaFecHusoFecVerano(final List<Corrida> corridas) {
for (Corrida corrida : corridas) { for (Corrida corrida : corridas) {
Date husoHorVeranoLlegadaAnterior = null; Date husoHorVeranoLlegadaAnterior = null;
Date fechorSalidaOriginalUpdate = null; Date fechorSalidaOriginalUpdate = null;
Date fechorsalidaUpdate = null; Date fechorsalidaUpdate = null;
@ -482,7 +516,7 @@ public class CorridaHibernateDAO extends GenericHibernateDAO<Corrida, Corrida.Id
Integer tiempoHorVeranoOrigem = Integer.valueOf(0); Integer tiempoHorVeranoOrigem = Integer.valueOf(0);
Integer tiempoHorHusoDestino = Integer.valueOf(0); Integer tiempoHorHusoDestino = Integer.valueOf(0);
Integer tiempoHorVeranoDestino = Integer.valueOf(0); Integer tiempoHorVeranoDestino = Integer.valueOf(0);
List<Object[]> tramos = buscarTramosCorrida(corrida); List<Object[]> tramos = buscarTramosCorrida(corrida);
for (Object[] objeto : tramos) { for (Object[] objeto : tramos) {
@ -536,7 +570,7 @@ public class CorridaHibernateDAO extends GenericHibernateDAO<Corrida, Corrida.Id
horLlegada = Calendar.getInstance(); horLlegada = Calendar.getInstance();
horLlegada.setTime(fechorsalidaH); horLlegada.setTime(fechorsalidaH);
horLlegada.add(Calendar.MINUTE, (int) elapsedMinutes); horLlegada.add(Calendar.MINUTE, (int) elapsedMinutes);
if (tiempoOrigen != tiempoDestino) { if (tiempoOrigen != tiempoDestino) {
horLlegada.add(Calendar.HOUR, difHuso(tiempoOrigen, tiempoDestino)); horLlegada.add(Calendar.HOUR, difHuso(tiempoOrigen, tiempoDestino));
@ -630,7 +664,7 @@ public class CorridaHibernateDAO extends GenericHibernateDAO<Corrida, Corrida.Id
hql.append(" inner join ct.destino destino "); hql.append(" inner join ct.destino destino ");
hql.append(" inner join destino.ciudad ciudadD "); hql.append(" inner join destino.ciudad ciudadD ");
hql.append(" inner join ciudadD.estado estadoD "); hql.append(" inner join ciudadD.estado estadoD ");
hql.append(" where ct.corrida.activo = :isActivo "); hql.append(" where ct.corrida.activo = :isActivo ");
hql.append(" and ct.activo = :isActivo "); hql.append(" and ct.activo = :isActivo ");
hql.append(" and ct.corrida.id.corridaId = :corridaId "); hql.append(" and ct.corrida.id.corridaId = :corridaId ");

View File

@ -248,6 +248,13 @@ public class Corrida implements Serializable {
this.marca = marca; this.marca = marca;
} }
public Corrida(Integer corridaId, Parada origen, Parada destino) {
this.id = new Id();
this.id.setCorridaId(corridaId);
this.origem = origen;
this.destino = destino;
}
public Id getId() { public Id getId() {
return id; return id;
} }

View File

@ -34,6 +34,8 @@ public interface CorridaService extends GenericService<Corrida, Corrida.Id> {
public List<Corrida> buscarPorFecCorrida(Date value); public List<Corrida> buscarPorFecCorrida(Date value);
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);

View File

@ -107,22 +107,31 @@ public class CorridaServiceImpl implements CorridaService {
this.transactionManager = transactionManager; this.transactionManager = transactionManager;
} }
@Override
public List<Corrida> obtenerTodos() { public List<Corrida> obtenerTodos() {
return corridaDAO.obtenerTodos(); return corridaDAO.obtenerTodos();
} }
@Override
public Corrida obtenerID(Corrida.Id id) { public Corrida obtenerID(Corrida.Id id) {
return corridaDAO.obtenerID(id); return corridaDAO.obtenerID(id);
} }
@Override
public List<Corrida> buscarPorFecCorrida(Date value) { public List<Corrida> buscarPorFecCorrida(Date value) {
return corridaDAO.buscarPorFecCorrida(value); return corridaDAO.buscarPorFecCorrida(value);
} }
@Override
public List<Corrida> buscarPorId(Integer idCorrida) { public List<Corrida> buscarPorId(Integer idCorrida) {
return corridaDAO.buscarPorId(idCorrida); return corridaDAO.buscarPorId(idCorrida);
} }
@Override
public List<Corrida> verificarCorridaId(Integer corridaId) {
return corridaDAO.verificarCorridaId(corridaId);
}
@Override @Override
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) {
return corridaDAO.buscarDistinct(ori, des, (horaSalidaInicio == null) ? null : DateUtil.getFecInicio(horaSalidaInicio).getTime(), (horaSalidaFin == null) ? null : DateUtil.getFecInicio(horaSalidaFin).getTime(), cs, corridaId); return corridaDAO.buscarDistinct(ori, des, (horaSalidaInicio == null) ? null : DateUtil.getFecInicio(horaSalidaInicio).getTime(), (horaSalidaFin == null) ? null : DateUtil.getFecInicio(horaSalidaFin).getTime(), cs, corridaId);
@ -155,14 +164,17 @@ public class CorridaServiceImpl implements CorridaService {
corridaDAO.actualizacion(entidad); corridaDAO.actualizacion(entidad);
} }
@Override
public List<Corrida> buscarPorAutobusCorridasFuturas(DiagramaAutobus diagramaAutobus) { public List<Corrida> buscarPorAutobusCorridasFuturas(DiagramaAutobus diagramaAutobus) {
return corridaDAO.buscarPorAutobusCorridasFuturas(diagramaAutobus); return corridaDAO.buscarPorAutobusCorridasFuturas(diagramaAutobus);
} }
@Override
public List<Corrida> buscarPorRolOperativoCorridasFuturas(DiagramaAutobus diagramaAutobus) { public List<Corrida> buscarPorRolOperativoCorridasFuturas(DiagramaAutobus diagramaAutobus) {
return corridaDAO.buscarPorRolOperativoCorridasFuturas(diagramaAutobus); return corridaDAO.buscarPorRolOperativoCorridasFuturas(diagramaAutobus);
} }
@Override
public List<Corrida> buscarFiltro(Parada ori, Parada des, Date hora, ClaseServicio cs) { public List<Corrida> buscarFiltro(Parada ori, Parada des, Date hora, ClaseServicio cs) {
return corridaDAO.buscarFiltro(ori, des, hora, cs); return corridaDAO.buscarFiltro(ori, des, hora, cs);
} }