fixes bug #6037
git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@41374 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
6bd1636156
commit
0d62229730
|
@ -4,8 +4,12 @@ import java.sql.Connection;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.Comparator;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Map.Entry;
|
||||||
|
|
||||||
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
|
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
|
||||||
|
|
||||||
|
@ -53,8 +57,10 @@ public class RelatorioEmpresaOnibus extends Relatorio {
|
||||||
|
|
||||||
rset = stmt.executeQuery();
|
rset = stmt.executeQuery();
|
||||||
|
|
||||||
|
Map<String, RelatorioEmpresaOnibusBean> mDadosRelatorio = new HashMap<String, RelatorioEmpresaOnibusBean>();
|
||||||
lsDadosRelatorio = new ArrayList<RelatorioEmpresaOnibusBean>();
|
lsDadosRelatorio = new ArrayList<RelatorioEmpresaOnibusBean>();
|
||||||
|
|
||||||
|
sdf.applyPattern("dd/MM/yyyy");
|
||||||
while (rset.next()) {
|
while (rset.next()) {
|
||||||
RelatorioEmpresaOnibusBean empresaOnibusBean = new RelatorioEmpresaOnibusBean();
|
RelatorioEmpresaOnibusBean empresaOnibusBean = new RelatorioEmpresaOnibusBean();
|
||||||
empresaOnibusBean.setCorridaId(rset.getInt("corridaId"));
|
empresaOnibusBean.setCorridaId(rset.getInt("corridaId"));
|
||||||
|
@ -65,13 +71,39 @@ public class RelatorioEmpresaOnibus extends Relatorio {
|
||||||
empresaOnibusBean.setHora(rset.getString("hora"));
|
empresaOnibusBean.setHora(rset.getString("hora"));
|
||||||
empresaOnibusBean.setKmts(rset.getInt("kmts"));
|
empresaOnibusBean.setKmts(rset.getInt("kmts"));
|
||||||
empresaOnibusBean.setOrigem(rset.getString("origem"));
|
empresaOnibusBean.setOrigem(rset.getString("origem"));
|
||||||
|
empresaOnibusBean.setNumsecuencia(rset.getInt("numsecuencia"));
|
||||||
|
|
||||||
lsDadosRelatorio.add(empresaOnibusBean);
|
String key = empresaOnibusBean.getCorridaId() + "-" + empresaOnibusBean.getCoche() + "-" + empresaOnibusBean.getHora() + "-" +
|
||||||
|
sdf.format(empresaOnibusBean.getDia()) + "-" + empresaOnibusBean.getEmpresa();
|
||||||
|
|
||||||
|
if(mDadosRelatorio.containsKey(key)) {
|
||||||
|
RelatorioEmpresaOnibusBean auxEmpresaOnibusBean = mDadosRelatorio.get(key);
|
||||||
|
empresaOnibusBean.setOrigem(auxEmpresaOnibusBean.getOrigem());
|
||||||
|
|
||||||
|
empresaOnibusBean.setKmts(empresaOnibusBean.getKmts() + auxEmpresaOnibusBean.getKmts());
|
||||||
|
if(empresaOnibusBean.getNumsecuencia() < auxEmpresaOnibusBean.getNumsecuencia()) {
|
||||||
|
empresaOnibusBean.setDestino(auxEmpresaOnibusBean.getDestino());
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
mDadosRelatorio.put(key, empresaOnibusBean);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Entry<String, RelatorioEmpresaOnibusBean> empresaOnibusBean : mDadosRelatorio.entrySet()) {
|
||||||
|
lsDadosRelatorio.add(empresaOnibusBean.getValue());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (lsDadosRelatorio.size() > 0) {
|
if (lsDadosRelatorio.size() > 0) {
|
||||||
|
Collections.sort(lsDadosRelatorio,new Comparator<RelatorioEmpresaOnibusBean>() {
|
||||||
|
@Override
|
||||||
|
public int compare(RelatorioEmpresaOnibusBean o1, RelatorioEmpresaOnibusBean o2) {
|
||||||
|
return o1.getEmpresa().compareToIgnoreCase(o2.getEmpresa());
|
||||||
|
}
|
||||||
|
});
|
||||||
setLsDadosRelatorio(lsDadosRelatorio);
|
setLsDadosRelatorio(lsDadosRelatorio);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -90,14 +122,14 @@ public class RelatorioEmpresaOnibus extends Relatorio {
|
||||||
|
|
||||||
sql.append(" select c.corrida_Id corridaId, e.nombempresa empresa, c.feccorrida dia, a.numautobus coche, ");
|
sql.append(" select c.corrida_Id corridaId, e.nombempresa empresa, c.feccorrida dia, a.numautobus coche, ");
|
||||||
sql.append(" o.cveparada origem, d.cveparada destino, ");
|
sql.append(" o.cveparada origem, d.cveparada destino, ");
|
||||||
sql.append(" to_char(c.fechorsalida, 'HH24:MI') Hora, t.cantkmreal KMTS ");
|
sql.append(" to_char(c.fechorsalida, 'HH24:MI') Hora, t.cantkmreal KMTS, ct.numsecuencia ");
|
||||||
sql.append(" from corrida c ");
|
sql.append(" from corrida c ");
|
||||||
sql.append(" left join ruta_combinacion rc on rc.ruta_id = c.ruta_id ");
|
sql.append(" inner join corrida_tramo ct on ct.corrida_id = c.corrida_id ");
|
||||||
sql.append(" left join parada o on o.parada_id = c.origen_id ");
|
sql.append(" inner join tramo t on t.tramo_id = ct.tramo_id ");
|
||||||
sql.append(" left join parada d on d.parada_id = c.destino_id ");
|
sql.append(" inner join parada o on o.parada_id = ct.origen_id ");
|
||||||
sql.append(" inner join tramo t on t.origen_id = c.origen_id and t.destino_id = c.destino_id and t.tramo_id = rc.tramo_id ");
|
sql.append(" inner join parada d on d.parada_id = ct.destino_id ");
|
||||||
sql.append(" inner join autobus a on a.autobus_id = c.autobus_id ");
|
sql.append(" inner join autobus a on a.autobus_id = ct.autobus_id ");
|
||||||
sql.append(" left join empresa e on e.empresa_id = a.empresa_id ");
|
sql.append(" inner join empresa e on e.empresa_id = a.empresa_id ");
|
||||||
sql.append(" where c.activo = 1 ");
|
sql.append(" where c.activo = 1 ");
|
||||||
if (!empresa.isEmpty()){
|
if (!empresa.isEmpty()){
|
||||||
sql.append(" and e.empresa_id = :empresa_id ");
|
sql.append(" and e.empresa_id = :empresa_id ");
|
||||||
|
@ -105,8 +137,9 @@ public class RelatorioEmpresaOnibus extends Relatorio {
|
||||||
if (!autobus.isEmpty()){
|
if (!autobus.isEmpty()){
|
||||||
sql.append(" and a.autobus_id = :autobus_id ");
|
sql.append(" and a.autobus_id = :autobus_id ");
|
||||||
}
|
}
|
||||||
sql.append(" and rc.activo = 1 and c.feccorrida between :fecInicio and :fecFinal ");
|
sql.append(" and ct.activo = 1 and c.feccorrida between :fecInicio and :fecFinal ");
|
||||||
sql.append(" order by e.nombempresa, a.numautobus, c.feccorrida ");
|
sql.append(" and ct.feccorrida between :fecInicio and :fecFinal ");
|
||||||
|
sql.append(" order by e.nombempresa, a.numautobus, c.feccorrida, ct.numsecuencia ");
|
||||||
|
|
||||||
return sql.toString();
|
return sql.toString();
|
||||||
}
|
}
|
||||||
|
|
|
@ -91,23 +91,22 @@ public class RelatorioEmpresaOnibusResumo extends Relatorio {
|
||||||
sql.append(" a.numautobus coche, ");
|
sql.append(" a.numautobus coche, ");
|
||||||
sql.append(" Sum(t.cantkmreal) KMTS ");
|
sql.append(" Sum(t.cantkmreal) KMTS ");
|
||||||
sql.append("FROM corrida c, ");
|
sql.append("FROM corrida c, ");
|
||||||
sql.append(" ruta_combinacion rc, ");
|
sql.append(" corrida_tramo ct, ");
|
||||||
sql.append(" tramo t, ");
|
sql.append(" tramo t, ");
|
||||||
sql.append(" autobus a, ");
|
sql.append(" autobus a, ");
|
||||||
sql.append(" empresa e, ");
|
sql.append(" empresa e, ");
|
||||||
sql.append(" parada o, ");
|
sql.append(" parada o, ");
|
||||||
sql.append(" parada d ");
|
sql.append(" parada d ");
|
||||||
sql.append("WHERE c.activo = 1 ");
|
sql.append("WHERE c.activo = 1 ");
|
||||||
sql.append(" AND rc.ruta_id = c.ruta_id ");
|
sql.append(" AND ct.corrida_id = c.corrida_id ");
|
||||||
sql.append(" AND t.origen_id = c.origen_id ");
|
sql.append(" AND t.tramo_id = ct.tramo_id ");
|
||||||
sql.append(" AND t.destino_id = c.destino_id ");
|
sql.append(" AND ct.activo = 1 ");
|
||||||
sql.append(" AND t.tramo_id = rc.tramo_id ");
|
|
||||||
sql.append(" AND rc.activo = 1 ");
|
|
||||||
sql.append(" AND c.feccorrida BETWEEN :fecInicio and :fecFinal ");
|
sql.append(" AND c.feccorrida BETWEEN :fecInicio and :fecFinal ");
|
||||||
sql.append(" AND a.autobus_id = c.autobus_id ");
|
sql.append(" AND ct.feccorrida BETWEEN :fecInicio and :fecFinal ");
|
||||||
|
sql.append(" AND a.autobus_id = ct.autobus_id ");
|
||||||
sql.append(" AND e.empresa_id = a.empresa_id ");
|
sql.append(" AND e.empresa_id = a.empresa_id ");
|
||||||
sql.append(" AND o.parada_id = c.origen_id ");
|
sql.append(" AND o.parada_id = ct.origen_id ");
|
||||||
sql.append(" AND d.parada_id = c.destino_id ");
|
sql.append(" AND d.parada_id = ct.destino_id ");
|
||||||
if (!empresa.isEmpty()){
|
if (!empresa.isEmpty()){
|
||||||
sql.append(" AND e.empresa_id = :empresa_id ");
|
sql.append(" AND e.empresa_id = :empresa_id ");
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,6 +11,8 @@ public class RelatorioEmpresaOnibusBean {
|
||||||
protected String destino;
|
protected String destino;
|
||||||
protected String hora;
|
protected String hora;
|
||||||
protected Integer kmts;
|
protected Integer kmts;
|
||||||
|
protected Integer numsecuencia;
|
||||||
|
|
||||||
public Date getDia() {
|
public Date getDia() {
|
||||||
return dia;
|
return dia;
|
||||||
}
|
}
|
||||||
|
@ -59,4 +61,10 @@ public class RelatorioEmpresaOnibusBean {
|
||||||
public void setCorridaId(Integer corridaId) {
|
public void setCorridaId(Integer corridaId) {
|
||||||
this.corridaId = corridaId;
|
this.corridaId = corridaId;
|
||||||
}
|
}
|
||||||
|
public Integer getNumsecuencia() {
|
||||||
|
return numsecuencia;
|
||||||
|
}
|
||||||
|
public void setNumsecuencia(Integer numsecuencia) {
|
||||||
|
this.numsecuencia = numsecuencia;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue