fixes bug #8467
git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@64567 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
99eac708fc
commit
a329a01314
|
@ -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);
|
||||
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue