valdevir 2017-01-05 16:07:55 +00:00
parent 99eac708fc
commit a329a01314
4 changed files with 89 additions and 99 deletions

View File

@ -93,4 +93,6 @@ public interface CorridaDAO extends GenericDAO<Corrida, Corrida.Id> {
public Corrida buscaCorrridaFutura(Ruta ruta, Date fecInicio);
List<Corrida> buscarCorridaRelAproveitamento(Parada origem, Parada destino, Date feccorrida, Integer corridaId);
}

View File

@ -5,6 +5,7 @@
package com.rjconsultores.ventaboletos.dao.hibernate;
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
@ -12,7 +13,6 @@ import java.util.GregorianCalendar;
import java.util.List;
import org.apache.commons.lang.math.NumberUtils;
import org.apache.xmlbeans.impl.xb.xsdschema.RestrictionDocument.Restriction;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.SessionFactory;
@ -506,6 +506,7 @@ public class CorridaHibernateDAO extends GenericHibernateDAO<Corrida, Corrida.Id
queryCorridaTramo.executeUpdate();
}
@SuppressWarnings("deprecation")
@Override
public void actualizaFecHusoFecVerano(final List<Corrida> corridas) {
@ -751,4 +752,86 @@ public class CorridaHibernateDAO extends GenericHibernateDAO<Corrida, Corrida.Id
c.add(Restrictions.eq("id", id));
return (Corrida) c.uniqueResult();
}
@Override
public List<Corrida> buscarCorridaRelAproveitamento( Parada origem, Parada destino,
Date feccorrida, Integer corridaId) {
StringBuilder sql = new StringBuilder();
sql.append(" select ");
sql.append(" c.corrida_id as corrida_id, ");
sql.append(" c.feccorrida as feccorrida, ");
sql.append(" c.fechorsalida as fechorsalida, ");
sql.append(" origen.parada_id as origen_id, ");
sql.append(" origen.descparada as origen, ");
sql.append(" destino.parada_id as destino_id, ");
sql.append(" destino.descparada as destino, ");
sql.append(" r.ruta_id as ruta_id, ");
sql.append(" r.descruta as descruta, ");
sql.append(" cs.claseservicio_id as claseservicio_id, ");
sql.append(" cs.descclase as descclase ");
sql.append(" from corrida c ");
sql.append(" inner join parada origen on c.origen_id = origen.parada_id ");
sql.append(" inner join parada destino on c.destino_id = destino.parada_id ");
sql.append(" inner join ruta r on c.ruta_id = r.ruta_id ");
sql.append(" inner join clase_servicio cs on c.claseservicio_id = cs.claseservicio_id ");
sql.append(" where c.activo <> 0 ");
sql.append(corridaId == null ? "" : " and c.corrida_id = :corridaId ");
sql.append(feccorrida == null ? "" : " and c.feccorrida = :feccorrida ");
sql.append(origem == null ? "" : " and c.origen_id = :origen_id ");
sql.append(destino == null ? "" : " and c.destino_id = :destino_id ");
Query query = getSession().createSQLQuery(sql.toString());
if (corridaId != null) {
query.setParameter("corridaId", corridaId);
} else {
query.setParameter("corridaId", '%');
}
query.setParameter("feccorrida", feccorrida);
query.setParameter("origen_id", origem.getParadaId());
query.setParameter("destino_id", destino.getParadaId());
List<Object> lsObject = query.list();
List<Corrida> lsCorridas = new ArrayList<Corrida>();
if (lsObject != null && !lsObject.isEmpty()) {
for (Object object : lsObject) {
if(object!=null){
Object objectArray[] = (Object[]) object;
Id id = new Id();
id.setCorridaId(((BigDecimal)objectArray[0]).intValue());
id.setFeccorrida((Timestamp)objectArray[1]);
Parada o = new Parada();
o.setParadaId(((BigDecimal)objectArray[3]).intValue());
o.setDescparada((String)objectArray[4]);
Parada d = new Parada();
d.setParadaId(((BigDecimal)objectArray[5]).intValue());
d.setDescparada((String)objectArray[6]);
Ruta ruta = new Ruta();
ruta.setRutaId(((BigDecimal)objectArray[7]).intValue());
ruta.setDescruta((String)objectArray[8]);
ClaseServicio claseServicio = new ClaseServicio();
claseServicio.setClaseservicioId(((BigDecimal)objectArray[9]).intValue());
claseServicio.setDescclase((String)objectArray[10]);
Corrida corrida = new Corrida();
corrida.setId(id);
corrida.setFechorsalida((Timestamp)objectArray[2]);
corrida.setOrigem(o);
corrida.setDestino(d);
corrida.setRuta(ruta);
corrida.setClaseServicio(claseServicio);
lsCorridas.add(corrida);
}
}
}
return lsCorridas;
}
}

View File

@ -4,7 +4,6 @@
*/
package com.rjconsultores.ventaboletos.service;
import java.sql.Connection;
import java.util.Date;
import java.util.List;
@ -74,7 +73,7 @@ public interface CorridaService extends GenericService<Corrida, Corrida.Id> {
Boolean editarCorridaPorOutraCorrida(Estado estado, Date dataInicial, Integer corridaId, Date dataPadrao);
public List<Corrida> buscarCorridaRelatorio(Connection conexao, 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);

View File

@ -4,10 +4,6 @@
*/
package com.rjconsultores.ventaboletos.service.impl;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
@ -37,7 +33,6 @@ import com.rjconsultores.ventaboletos.entidad.Ciudad;
import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
import com.rjconsultores.ventaboletos.entidad.Constante;
import com.rjconsultores.ventaboletos.entidad.Corrida;
import com.rjconsultores.ventaboletos.entidad.Corrida.Id;
import com.rjconsultores.ventaboletos.entidad.CorridaCtrl;
import com.rjconsultores.ventaboletos.entidad.CorridaTramo;
import com.rjconsultores.ventaboletos.entidad.DetDiagramaAutobus;
@ -1288,100 +1283,11 @@ public class CorridaServiceImpl implements CorridaService {
}
@Override
public List<Corrida> buscarCorridaRelatorio(Connection conexao, Parada origem, Parada destino,
public List<Corrida> buscarCorridaRelAproveitamento(Parada origem, Parada destino,
Date feccorrida, Integer corridaId) {
List<Corrida> ls = new ArrayList<Corrida>();
try {
StringBuilder sql = new StringBuilder();
sql.append(" select ");
sql.append(" c.corrida_id as corrida_id, ");
sql.append(" c.feccorrida as feccorrida, ");
sql.append(" c.fechorsalida as fechorsalida, ");
sql.append(" origen.parada_id as origen_id, ");
sql.append(" origen.descparada as origen, ");
sql.append(" destino.parada_id as destino_id, ");
sql.append(" destino.descparada as destino, ");
sql.append(" r.ruta_id as ruta_id, ");
sql.append(" r.descruta as descruta, ");
sql.append(" cs.claseservicio_id as claseservicio_id, ");
sql.append(" cs.descclase as descclase ");
sql.append(" from corrida c ");
sql.append(" inner join parada origen on c.origen_id = origen.parada_id ");
sql.append(" inner join parada destino on c.destino_id = destino.parada_id ");
sql.append(" inner join ruta r on c.ruta_id = r.ruta_id ");
sql.append(" inner join clase_servicio cs on c.claseservicio_id = cs.claseservicio_id ");
sql.append(" where c.activo <> 0 ");
sql.append(corridaId == null ? "" : " and c.corrida_id = ? ");
sql.append(feccorrida == null ? "" : " and c.feccorrida = ? ");
sql.append(origem == null ? "" : " and c.origen_id = ? ");
sql.append(destino == null ? "" : " and c.destino_id = ? ");
int atbNum = 1;
PreparedStatement stmt = conexao.prepareStatement(sql.toString());
if (corridaId != null) {
stmt.setInt(atbNum, corridaId);
atbNum++;
}
if (feccorrida != null) {
stmt.setDate(atbNum, new java.sql.Date(feccorrida.getTime()));
atbNum++;
}
if (origem != null) {
stmt.setInt(atbNum, origem.getParadaId());
atbNum++;
}
if (destino != null) {
stmt.setInt(atbNum, destino.getParadaId());
atbNum++;
}
ResultSet rset = stmt.executeQuery();
while (rset.next()) {
Id id = new Id();
id.setCorridaId(rset.getInt("corrida_id"));
id.setFeccorrida(rset.getDate("feccorrida"));
Parada o = new Parada();
o.setParadaId(rset.getInt("origen_id"));
o.setDescparada(rset.getString("origen"));
Parada d = new Parada();
d.setParadaId(rset.getInt("destino_id"));
d.setDescparada(rset.getString("destino"));
Ruta ruta = new Ruta();
ruta.setRutaId(rset.getInt("ruta_id"));
ruta.setDescruta(rset.getString("descruta"));
ClaseServicio claseServicio = new ClaseServicio();
claseServicio.setClaseservicioId(rset.getInt("claseservicio_id"));
claseServicio.setDescclase(rset.getString("descclase"));
Corrida corrida = new Corrida();
corrida.setId(id);
corrida.setFechorsalida(new Date(rset.getTimestamp("fechorsalida").getTime()));
corrida.setOrigem(o);
corrida.setDestino(d);
corrida.setRuta(ruta);
corrida.setClaseServicio(claseServicio);
ls.add(corrida);
}
if (!conexao.isClosed())
conexao.close();
} catch (SQLException e) {
log.error("", e);
}
ls =corridaDAO.buscarCorridaRelAproveitamento(origem, destino, feccorrida, corridaId);
return ls;
}