diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioQuadroDemonstrativoMovimentoPassageiros.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioQuadroDemonstrativoMovimentoPassageiros.java index fcfcf9b30..bdc3ed8f5 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioQuadroDemonstrativoMovimentoPassageiros.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioQuadroDemonstrativoMovimentoPassageiros.java @@ -4,6 +4,7 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.HashMap; +import java.util.Iterator; import java.util.Map; import com.rjconsultores.ventaboletos.relatorios.utilitarios.ArrayDataSource; @@ -35,6 +36,7 @@ public class RelatorioQuadroDemonstrativoMovimentoPassageiros extends Relatorio ResultSet rset = ps.executeQuery(); while (rset.next()) { + boolean agrupar = false; Map dataResult = new HashMap(); dataResult.put("origem", rset.getString("origem")); @@ -42,8 +44,32 @@ public class RelatorioQuadroDemonstrativoMovimentoPassageiros extends Relatorio dataResult.put("km", rset.getFloat("km")); dataResult.put("totalida", rset.getLong("totalida")); dataResult.put("totalvolta", rset.getLong("totalvolta")); - - this.dados.add(dataResult); + + for (Iterator iterator = dados.iterator(); iterator.hasNext();) { + + Map map = (Map) iterator.next(); + String origem = map.get("origem").toString(); + String destino = map.get("destino").toString(); + Long ida = (Long) map.get("totalida"); + Long volta = (Long) map.get("totalvolta"); + + if (origem.equals(rset.getString("destino")) && destino.equals(rset.getString("origem"))) { + agrupar = true; + if (ida == 0) { + map.put("totalida", rset.getLong("totalida")); + } + if (volta == 0) { + map.put("totalvolta", rset.getLong("totalvolta")); + } + + } + + } + + if (!agrupar) { + this.dados.add(dataResult); + } + } this.resultSet = rset;