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);
|
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;
|
package com.rjconsultores.ventaboletos.dao.hibernate;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.sql.Timestamp;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
@ -12,7 +13,6 @@ import java.util.GregorianCalendar;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.apache.commons.lang.math.NumberUtils;
|
import org.apache.commons.lang.math.NumberUtils;
|
||||||
import org.apache.xmlbeans.impl.xb.xsdschema.RestrictionDocument.Restriction;
|
|
||||||
import org.hibernate.Criteria;
|
import org.hibernate.Criteria;
|
||||||
import org.hibernate.Query;
|
import org.hibernate.Query;
|
||||||
import org.hibernate.SessionFactory;
|
import org.hibernate.SessionFactory;
|
||||||
|
@ -506,6 +506,7 @@ public class CorridaHibernateDAO extends GenericHibernateDAO<Corrida, Corrida.Id
|
||||||
queryCorridaTramo.executeUpdate();
|
queryCorridaTramo.executeUpdate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("deprecation")
|
||||||
@Override
|
@Override
|
||||||
public void actualizaFecHusoFecVerano(final List<Corrida> corridas) {
|
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));
|
c.add(Restrictions.eq("id", id));
|
||||||
return (Corrida) c.uniqueResult();
|
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;
|
package com.rjconsultores.ventaboletos.service;
|
||||||
|
|
||||||
import java.sql.Connection;
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
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);
|
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);
|
public Corrida buscaCorrridaFutura(Ruta ruta, Date fecInicio);
|
||||||
|
|
||||||
|
|
|
@ -4,10 +4,6 @@
|
||||||
*/
|
*/
|
||||||
package com.rjconsultores.ventaboletos.service.impl;
|
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.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Calendar;
|
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.ClaseServicio;
|
||||||
import com.rjconsultores.ventaboletos.entidad.Constante;
|
import com.rjconsultores.ventaboletos.entidad.Constante;
|
||||||
import com.rjconsultores.ventaboletos.entidad.Corrida;
|
import com.rjconsultores.ventaboletos.entidad.Corrida;
|
||||||
import com.rjconsultores.ventaboletos.entidad.Corrida.Id;
|
|
||||||
import com.rjconsultores.ventaboletos.entidad.CorridaCtrl;
|
import com.rjconsultores.ventaboletos.entidad.CorridaCtrl;
|
||||||
import com.rjconsultores.ventaboletos.entidad.CorridaTramo;
|
import com.rjconsultores.ventaboletos.entidad.CorridaTramo;
|
||||||
import com.rjconsultores.ventaboletos.entidad.DetDiagramaAutobus;
|
import com.rjconsultores.ventaboletos.entidad.DetDiagramaAutobus;
|
||||||
|
@ -1288,100 +1283,11 @@ public class CorridaServiceImpl implements CorridaService {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Corrida> buscarCorridaRelatorio(Connection conexao, Parada origem, Parada destino,
|
public List<Corrida> buscarCorridaRelAproveitamento(Parada origem, Parada destino,
|
||||||
Date feccorrida, Integer corridaId) {
|
Date feccorrida, Integer corridaId) {
|
||||||
|
|
||||||
List<Corrida> ls = new ArrayList<Corrida>();
|
List<Corrida> ls = new ArrayList<Corrida>();
|
||||||
try {
|
ls =corridaDAO.buscarCorridaRelAproveitamento(origem, destino, feccorrida, 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 = ? ");
|
|
||||||
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);
|
|
||||||
}
|
|
||||||
|
|
||||||
return ls;
|
return ls;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue