0013237: Horarios Unesul 11/01 à 13/01

fixes bug#0013237
dev:leo
qua:Renato

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@88898 d1611594-4594-4d17-8e1d-87c2c4800839
master
daniel.zauli 2019-01-15 19:54:23 +00:00
parent 1f3eb3d692
commit 6e712f963a
2 changed files with 937 additions and 890 deletions

View File

@ -13,6 +13,7 @@ import java.util.GregorianCalendar;
import java.util.List;
import org.apache.commons.lang.math.NumberUtils;
import org.apache.log4j.Logger;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.SQLQuery;
@ -57,6 +58,9 @@ public class CorridaHibernateDAO extends GenericHibernateDAO<Corrida, Corrida.Id
@Autowired
private CorridaTramoDAO corridaTramoDao;
private static final long serialVersionUID = 1L;
private static Logger log = Logger.getLogger(CorridaHibernateDAO.class);
@Autowired
public CorridaHibernateDAO(@Qualifier("sessionFactory") final SessionFactory factory) {
setSessionFactory(factory);
@ -720,7 +724,9 @@ public class CorridaHibernateDAO extends GenericHibernateDAO<Corrida, Corrida.Id
for (Corrida corrida : corridas) {
List<CorridaTramo> tramos = corridaTramoDao.buscarCorridaTramoPorCorrida(corrida);
try{
for (CorridaTramo tramo : tramos) {
for (CorridaTramo tramoPadrao : tramosPadrao) {
if (tramoPadrao.getNumsecuencia().equals(tramo.getNumsecuencia())) {
tramo.setFechorsalida(mudarData(tramoPadrao.getFechorsalida(), tramo.getFechorsalida()));
@ -731,15 +737,18 @@ public class CorridaHibernateDAO extends GenericHibernateDAO<Corrida, Corrida.Id
corridaTramoDao.actualizacion(tramo);
break;
}
}
}
}catch(Exception e){
log.error(e.getMessage());
}
}
}
return true;
}
private Date mudarData(Date dataPadrao, Date dataMudanca) {
try{
Calendar calPadrao = Calendar.getInstance();
calPadrao.setTime(dataPadrao);
Calendar calMudanca = Calendar.getInstance();
@ -748,13 +757,26 @@ public class CorridaHibernateDAO extends GenericHibernateDAO<Corrida, Corrida.Id
calMudanca.set(calMudanca.get(Calendar.YEAR), calMudanca.get(Calendar.MONTH), calMudanca.get(Calendar.DAY_OF_MONTH),
calPadrao.get(Calendar.HOUR_OF_DAY), calPadrao.get(Calendar.MINUTE), calPadrao.get(Calendar.SECOND));
return calMudanca.getTime();
}catch(Exception e){
return null;
}
}
@Override
public Corrida buscarPorId(Id id) {
Criteria c = makeCriteria();
c.add(Restrictions.eq("id", id));
return (Corrida) c.uniqueResult();
StringBuilder hql = new StringBuilder();
hql.append(" from Corrida corrida ");
hql.append(" where corrida.id.feccorrida = :feccorrida ");
hql.append(" and corrida.id.corridaId = :corridaId )");
Query query = getSession().createQuery(hql.toString());
query.setDate("feccorrida", id.getFeccorrida());
query.setInteger("corridaId", id.getCorridaId());
query.setMaxResults(1);
return (Corrida)query.uniqueResult();
}
@Override

View File

@ -3,10 +3,15 @@ package com.rjconsultores.ventaboletos.dao.hibernate;
import java.math.BigDecimal;
import java.util.List;
import org.apache.log4j.Logger;
import org.hibernate.Criteria;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.SessionFactory;
import org.hibernate.criterion.Restrictions;
import org.hibernate.transform.AliasToBeanResultTransformer;
import org.hibernate.type.ShortType;
import org.hibernate.type.TimestampType;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Repository;
@ -24,6 +29,9 @@ public class CorridaTramoHibernateDAO extends GenericHibernateDAO<CorridaTramo,
setSessionFactory(factory);
}
private static final long serialVersionUID = 1L;
private static Logger log = Logger.getLogger(CorridaTramoHibernateDAO.class);
@Override
public List<CorridaTramo> obtenerTramoTarjetaEmitida() {
Criteria c = getSession().createCriteria(getPersistentClass());
@ -45,11 +53,28 @@ public class CorridaTramoHibernateDAO extends GenericHibernateDAO<CorridaTramo,
}
public List<CorridaTramo> buscarCorridaTramoPorCorrida(Corrida corrida) {
Criteria c = getSession().createCriteria(getPersistentClass());
c.add(Restrictions.eq("activo", ActivoUtil.ATIVO));
c.add(Restrictions.eq("corrida", corrida));
try{
String queryStr = "select ct.Numsecuencia as Numsecuencia, ct.Fechorsalida as Fechorsalida, ct.FechorsalidaH as FechorsalidaH, ct.FechorSalidaOriginal as FechorSalidaOriginal, ct.Fechorllegada as Fechorllegada, ct.FechorllegadaH as FechorllegadaH from Corrida_Tramo ct where ct.activo = :activo and ct.corrida_id = :corridaId and ct.feccorrida = :feccorrida ";
Query query = getSession().createSQLQuery(queryStr).addScalar("numsecuencia", ShortType.INSTANCE)
.addScalar("fechorsalida", TimestampType.INSTANCE)
.addScalar("fechorsalidaH", TimestampType.INSTANCE)
.addScalar("fechorSalidaOriginal", TimestampType.INSTANCE)
.addScalar("fechorllegada", TimestampType.INSTANCE)
.addScalar("fechorllegadaH", TimestampType.INSTANCE);
return c.list();
query.setInteger("activo", ActivoUtil.ATIVO);
query.setInteger("corridaId", corrida.getId().getCorridaId());
query.setDate("feccorrida", corrida.getId().getFeccorrida());
query.setResultTransformer(new AliasToBeanResultTransformer(CorridaTramo.class));
return (List<CorridaTramo>)query.list();
}catch(HibernateException e){
log.error(e.getMessage());
}
return null;
}
public BigDecimal buscarSumTarjetaMesmaCorrida(CorridaTramo ct) {