diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/SisdapHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/SisdapHibernateDAO.java index 6d753d384..8b95025a8 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/SisdapHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/SisdapHibernateDAO.java @@ -220,19 +220,51 @@ public class SisdapHibernateDAO extends HibernateDaoSupport implements SisdapDAO public List getMovimentoSecoes(Date fecInicio, Date fecFinal, Integer empresaId) { List listResultConsulta = consultaMovimentoSecoes(fecInicio, fecFinal, empresaId); - List listResultIdaVoltaInvertida = new ArrayList(); + List listResultIdaVoltaInvertida = new ArrayList(); + List listVoltasSemIda = new ArrayList(); for (MovimentoSecoes ms : listResultConsulta) { - for (MovimentoSecoes ms2 : listResultConsulta) { - if(ms.getLocalOrigem().equals(ms2.getLocalDestino()) && ms2.getLocalOrigem().equals(ms.getLocalDestino()) && isIda(ms)) { - ms.setDescontoIdosoVolta(ms2.getDescontoIdosoVolta()); - ms.setGratuidadeIdosoVolta(ms2.getGratuidadeIdosoVolta()); - ms.setGratuidadePasseLivreVolta(ms2.getGratuidadePasseLivreVolta()); - ms.setPassageirosVolta(ms2.getPassageirosVolta()); - listResultIdaVoltaInvertida.add(ms); - break; + + Boolean achou = Boolean.FALSE; + if(isIda(ms)) { + for (MovimentoSecoes ms2 : listResultConsulta) { + if(ms.getLocalOrigem().equals(ms2.getLocalDestino()) && ms2.getLocalOrigem().equals(ms.getLocalDestino())) { + ms.setDescontoIdosoVolta(ms2.getDescontoIdosoVolta()); + ms.setGratuidadeIdosoVolta(ms2.getGratuidadeIdosoVolta()); + ms.setGratuidadePasseLivreVolta(ms2.getGratuidadePasseLivreVolta()); + ms.setPassageirosVolta(ms2.getPassageirosVolta()); + listResultIdaVoltaInvertida.add(ms); + achou = Boolean.TRUE; + break; + } } - } + + if(!achou) { + listResultIdaVoltaInvertida.add(ms); + } + } else { + listVoltasSemIda.add(ms); + } + } + + for (MovimentoSecoes volta : listVoltasSemIda) { + + Boolean achou = Boolean.FALSE; + + for (MovimentoSecoes idaVolta : listResultIdaVoltaInvertida) { + if(idaVolta.getLocalOrigem().equals(volta.getLocalDestino()) && volta.getLocalOrigem().equals(idaVolta.getLocalDestino())) { + achou = Boolean.TRUE; + } + } + + if(!achou) { + String origem = volta.getLocalOrigem(); + String destino = volta.getLocalDestino(); + + volta.setLocalDestino(origem); + volta.setLocalOrige(destino); + listResultIdaVoltaInvertida.add(volta); + } } List periodos = new ArrayList();