diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEmpresaOnibus.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEmpresaOnibus.java index fa6cd2e22..d85bc93c0 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEmpresaOnibus.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEmpresaOnibus.java @@ -2,11 +2,13 @@ package com.rjconsultores.ventaboletos.relatorios.impl; import java.sql.Connection; import java.sql.ResultSet; +import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; -import java.util.HashMap; +import java.util.Date; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; @@ -57,7 +59,9 @@ public class RelatorioEmpresaOnibus extends Relatorio { rset = stmt.executeQuery(); - Map mDadosRelatorio = new HashMap(); + // Soma os kms dos tramos. + // HashMap utilizado para identificar os tramos de uma corrida + Map mDadosRelatorio = new LinkedHashMap(); lsDadosRelatorio = new ArrayList(); sdf.applyPattern("dd/MM/yyyy"); @@ -87,18 +91,44 @@ public class RelatorioEmpresaOnibus extends Relatorio { } mDadosRelatorio.put(key, empresaOnibusBean); - } + } - for (Entry empresaOnibusBean : mDadosRelatorio.entrySet()) { + for (Entry empresaOnibusBean : mDadosRelatorio.entrySet()) { lsDadosRelatorio.add(empresaOnibusBean.getValue()); - } - + } if (lsDadosRelatorio.size() > 0) { Collections.sort(lsDadosRelatorio,new Comparator() { @Override public int compare(RelatorioEmpresaOnibusBean o1, RelatorioEmpresaOnibusBean o2) { - return o1.getEmpresa().compareToIgnoreCase(o2.getEmpresa()); + int result = o1.getEmpresa().compareToIgnoreCase(o2.getEmpresa()); + if (result != 0){ + return result; + } + + result = o1.getCoche().compareTo(o2.getCoche()); + if (result != 0){ + return result; + } + + result = o1.getDia().compareTo(o2.getDia()); + if (result != 0){ + return result; + } + + SimpleDateFormat formatter = new SimpleDateFormat("HH:mm"); + Date h1; + Date h2; + try { + h1 = formatter.parse(o1.getHora()); + h2 = formatter.parse(o2.getHora()); + } catch (ParseException e) { + return result; + } + + + result = h1.compareTo(h2); + return result; } }); setLsDadosRelatorio(lsDadosRelatorio); @@ -115,6 +145,7 @@ public class RelatorioEmpresaOnibus extends Relatorio { @Override protected void processaParametros() throws Exception { + } private String getSql(String empresa, String autobus) { diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioEmpresaOnibus.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioEmpresaOnibus.jasper index 305389cfc..edfdeb847 100644 Binary files a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioEmpresaOnibus.jasper and b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioEmpresaOnibus.jasper differ diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioEmpresaOnibus.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioEmpresaOnibus.jrxml index 020cfccb9..11a85453d 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioEmpresaOnibus.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioEmpresaOnibus.jrxml @@ -2,7 +2,7 @@ - + @@ -26,6 +26,12 @@ + + + + + + @@ -114,6 +120,29 @@ + + + + + + + + + + + + + + + + + + + + + + +