bug#20497

dev: Valvevir
qua:

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@103903 d1611594-4594-4d17-8e1d-87c2c4800839
master
fabio 2020-10-22 17:58:25 +00:00
parent 32a8cf3c99
commit 4af7671e4e
3 changed files with 50 additions and 5 deletions

View File

@ -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<OperadorEmbarcadaServico, Long> {
public List<OperadorEmbarcadaServico> buscarPorOperador(OperadorEmbarcada operador);
@ -16,7 +17,7 @@ public interface OperadorEmbarcadaServicoDAO extends GenericDAO<OperadorEmbarcad
public List<CorridaVO> getListaCorridaVO(Integer operador, Empresa empresa, Date dtIni, Date dtFim, PuntoVenta puntoVenta);
public List<String> 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<CorridaVO> getListaCorridaProxyVO(Integer operador, Empresa empresa, Date dtIni, Date dtFim);

View File

@ -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<Op
}
@Override
public List<String> 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<Op
return query.list();
}
private List<String> 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<Op
query.setDate("dtIni", new java.sql.Date(dtIni.getTime()));
query.setDate("dtFim", new java.sql.Date(dtFim.getTime()));
return query.list();
List<String> list = query.list();
if( retornaTramos ) {
List<CorridaVO> corridas = new ArrayList<CorridaVO>();
for (String chave : list) {
CorridaVO co = new CorridaVO();
co.setChave(chave);
co.setListTramos( obterListaTramo(chave) );
corridas.add(co);
}
return corridas;
}
return list;
}
private List<Integer> 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();

View File

@ -31,6 +31,7 @@ public class CorridaVO {
private Integer tipoServicioId;
private Integer rolOperativoId;
private List<Integer> listTramos;
private String chave;
public CorridaVO() {
super();
@ -232,5 +233,13 @@ public class CorridaVO {
public void setListTramos(List<Integer> listTramos) {
this.listTramos = listTramos;
}
public String getChave() {
return chave;
}
public void setChave(String chave) {
this.chave = chave;
}
}