diff --git a/src/com/rjconsultores/ventaboletos/dao/OperadorEmbarcadaServicoDAO.java b/src/com/rjconsultores/ventaboletos/dao/OperadorEmbarcadaServicoDAO.java index 9c773f454..890ac3a6d 100644 --- a/src/com/rjconsultores/ventaboletos/dao/OperadorEmbarcadaServicoDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/OperadorEmbarcadaServicoDAO.java @@ -9,6 +9,7 @@ import com.rjconsultores.ventaboletos.entidad.OperadorEmbarcadaServico; import com.rjconsultores.ventaboletos.entidad.PuntoVenta; import com.rjconsultores.ventaboletos.vo.corrida.CorridaVO; +@SuppressWarnings("rawtypes") public interface OperadorEmbarcadaServicoDAO extends GenericDAO { public List buscarPorOperador(OperadorEmbarcada operador); @@ -16,7 +17,7 @@ public interface OperadorEmbarcadaServicoDAO extends GenericDAO getListaCorridaVO(Integer operador, Empresa empresa, Date dtIni, Date dtFim, PuntoVenta puntoVenta); - public List getListaResumidaCorridaVO(Integer operador, Empresa empresa, Date dtIni, Date dtFim, PuntoVenta puntoVenta); + public List getListaResumidaCorridaVO(Integer operador, Empresa empresa, Date dtIni, Date dtFim, PuntoVenta puntoVenta, Boolean retornaTramos) throws Exception ; public List getListaCorridaProxyVO(Integer operador, Empresa empresa, Date dtIni, Date dtFim); diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/OperadorEmbarcadaServicoHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/OperadorEmbarcadaServicoHibernateDAO.java index aa4e0a549..bba2d4b6b 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/OperadorEmbarcadaServicoHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/OperadorEmbarcadaServicoHibernateDAO.java @@ -33,6 +33,7 @@ import com.rjconsultores.ventaboletos.entidad.OperadorEmbarcadaServico; import com.rjconsultores.ventaboletos.entidad.PuntoVenta; import com.rjconsultores.ventaboletos.entidad.TarifaMinima; import com.rjconsultores.ventaboletos.service.AliasServicoService; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; import com.rjconsultores.ventaboletos.vo.corrida.CorridaVO; import com.rjconsultores.ventaboletos.vo.corrida.TramoSequenciaVO; import com.rjconsultores.ventaboletos.vo.parada.ParadaVO; @@ -81,8 +82,8 @@ public class OperadorEmbarcadaServicoHibernateDAO extends GenericHibernateDAO getListaResumidaCorridaVO(Integer operador, Empresa empresa, Date dtIni, Date dtFim, PuntoVenta puntoVenta) { - return getCorridasResumido(operador, empresa, dtIni, dtFim); + public List getListaResumidaCorridaVO(Integer operador, Empresa empresa, Date dtIni, Date dtFim, PuntoVenta puntoVenta, Boolean retornaTramos ) throws Exception { + return getCorridasResumido(operador, empresa, dtIni, dtFim, retornaTramos); } @Override @@ -261,7 +262,7 @@ public class OperadorEmbarcadaServicoHibernateDAO extends GenericHibernateDAO getCorridasResumido(Integer operador, Empresa empresa, Date dtIni, Date dtFim) { + private List getCorridasResumido(Integer operador, Empresa empresa, Date dtIni, Date dtFim, Boolean retornaTramos) throws Exception { StringBuilder sb = new StringBuilder(); sb.append("select * from (SELECT"); @@ -301,9 +302,43 @@ public class OperadorEmbarcadaServicoHibernateDAO extends GenericHibernateDAO list = query.list(); + if( retornaTramos ) { + List corridas = new ArrayList(); + for (String chave : list) { + CorridaVO co = new CorridaVO(); + co.setChave(chave); + co.setListTramos( obterListaTramo(chave) ); + corridas.add(co); + } + + return corridas; + } + + return list; } + + private List obterListaTramo( String chave ) throws Exception{ + StringBuilder sb = new StringBuilder(); + + sb.append(" SELECT"); + sb.append(" CT.TRAMO_ID "); + sb.append(" FROM CORRIDA C"); + sb.append(" JOIN CORRIDA_TRAMO CT ON CT.CORRIDA_ID = C.CORRIDA_ID AND CT.FECCORRIDA = C.FECCORRIDA"); + sb.append(" WHERE C.CORRIDA_ID = :corridaId AND C.FECCORRIDA = :feccorrida and CT.activo = 1 "); + sb.append(" ORDER BY CT.NUMSECUENCIA "); + + Query query = getSession().createSQLQuery(sb.toString()).addScalar("TRAMO_ID", IntegerType.INSTANCE); + + String[] split = chave.split(";"); + + query.setParameter("corridaId", split[0] ); + query.setParameter("feccorrida", DateUtil.getDateFromString( split[1], "ddMMyyyy") ); + + return query.list(); + + } private void preencherTramosSequencias(final CorridaVO corrida, PuntoVenta puntoVenta, Empresa empresa) { StringBuilder sb = new StringBuilder(); diff --git a/src/com/rjconsultores/ventaboletos/vo/corrida/CorridaVO.java b/src/com/rjconsultores/ventaboletos/vo/corrida/CorridaVO.java index e541b2455..67f943afa 100644 --- a/src/com/rjconsultores/ventaboletos/vo/corrida/CorridaVO.java +++ b/src/com/rjconsultores/ventaboletos/vo/corrida/CorridaVO.java @@ -31,6 +31,7 @@ public class CorridaVO { private Integer tipoServicioId; private Integer rolOperativoId; private List listTramos; + private String chave; public CorridaVO() { super(); @@ -232,5 +233,13 @@ public class CorridaVO { public void setListTramos(List listTramos) { this.listTramos = listTramos; } + + public String getChave() { + return chave; + } + + public void setChave(String chave) { + this.chave = chave; + } }