Divergência Relatório Empresa ônibus x Empresa Corrida (bug #6270)
Tempo: 04 horas git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@44251 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
d13fc8f6c0
commit
a3dd50cbc5
|
@ -20,7 +20,6 @@ import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement;
|
|||
|
||||
public class RelatorioEmpresaCorrida extends Relatorio {
|
||||
private Logger log = LoggerFactory.getLogger(RelatorioEmpresaCorrida.class);
|
||||
private List<RelatorioEmpresaCorridaBean> lsDadosRelatorio;
|
||||
|
||||
public RelatorioEmpresaCorrida(Map<String, Object> parametros, Connection conexao) throws Exception {
|
||||
super(parametros, conexao);
|
||||
|
@ -54,7 +53,7 @@ public class RelatorioEmpresaCorrida extends Relatorio {
|
|||
rset = stmt.executeQuery();
|
||||
log.info("Depois de enviar consulta para o banco:" + System.currentTimeMillis());
|
||||
|
||||
lsDadosRelatorio = new ArrayList<RelatorioEmpresaCorridaBean>();
|
||||
List<RelatorioEmpresaCorridaBean> lsDadosRelatorio = new ArrayList<RelatorioEmpresaCorridaBean>();
|
||||
|
||||
log.info("Preenchendo bean:" + System.currentTimeMillis());
|
||||
while (rset.next()) {
|
||||
|
@ -70,6 +69,7 @@ public class RelatorioEmpresaCorrida extends Relatorio {
|
|||
}
|
||||
log.info("Fim bean:" + System.currentTimeMillis());
|
||||
|
||||
log.info("empresa:" + empresa + ";fecinicio:" + fecInicio + ";fecFinal:" + fecFinal);
|
||||
String sqlKm = getSqlKm(empresa);
|
||||
log.info(sqlKm);
|
||||
|
||||
|
@ -82,24 +82,27 @@ public class RelatorioEmpresaCorrida extends Relatorio {
|
|||
stmt.setInt("empresa_id", Integer.parseInt(empresa));
|
||||
}
|
||||
|
||||
List<RelatorioEmpresaCorridaBean> lsAux = new ArrayList<RelatorioEmpresaCorridaBean>();
|
||||
|
||||
log.info("Antes de enviar consulta para o banco:" + System.currentTimeMillis());
|
||||
rset = stmt.executeQuery();
|
||||
log.info("Depois de enviar consulta para o banco:" + System.currentTimeMillis());
|
||||
while (rset.next()) {
|
||||
|
||||
Integer rutaId = rset.getInt("ruta_id");
|
||||
|
||||
Integer index = buscarRelatorioEmpresaCorrida(lsDadosRelatorio, rutaId);
|
||||
if (index > -1) {
|
||||
RelatorioEmpresaCorridaBean rec = lsDadosRelatorio.get(index);
|
||||
RelatorioEmpresaCorridaBean rec = buscarRelatorioEmpresaCorrida(lsDadosRelatorio, rutaId);
|
||||
if (rec != null) {
|
||||
rec.setKmOnibusArrendados(rset.getInt("kmOnibusArrendados"));
|
||||
rec.setKmOnibusProprio(rset.getInt("kmOnibusProprio"));
|
||||
rec.setKmTotal(rset.getInt("kmTotal"));
|
||||
|
||||
lsDadosRelatorio.set(index, rec);
|
||||
lsAux.add(rec);
|
||||
}
|
||||
}
|
||||
|
||||
if (lsDadosRelatorio.size() > 0) {
|
||||
setLsDadosRelatorio(lsDadosRelatorio);
|
||||
if (lsAux.size() > 0) {
|
||||
setLsDadosRelatorio(lsAux);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@ -107,20 +110,19 @@ public class RelatorioEmpresaCorrida extends Relatorio {
|
|||
|
||||
public void setLsDadosRelatorio(List<RelatorioEmpresaCorridaBean> lsDadosRelatorio) {
|
||||
this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDadosRelatorio));
|
||||
this.lsDadosRelatorio = lsDadosRelatorio;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void processaParametros() throws Exception {
|
||||
}
|
||||
|
||||
private Integer buscarRelatorioEmpresaCorrida(List<RelatorioEmpresaCorridaBean> lsDadosRelatorio, Integer rutaId) {
|
||||
private RelatorioEmpresaCorridaBean buscarRelatorioEmpresaCorrida(List<RelatorioEmpresaCorridaBean> lsDadosRelatorio, Integer rutaId) {
|
||||
for (RelatorioEmpresaCorridaBean rec : lsDadosRelatorio) {
|
||||
if (rec.getRutaId().equals(rutaId)) {
|
||||
return lsDadosRelatorio.indexOf(rec);
|
||||
return rec;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
return null;
|
||||
}
|
||||
|
||||
private String getSql(String empresa) {
|
||||
|
@ -131,19 +133,17 @@ public class RelatorioEmpresaCorrida extends Relatorio {
|
|||
sql.append(" e.nombempresa, ");
|
||||
sql.append(" r.ruta_id, ");
|
||||
sql.append(" r.descruta AS linea, ");
|
||||
sql.append(" COALESCE(SUM(CASE WHEN ((b.motivocancelacion_id IS NULL) AND (cat.grupocategoria_id IS NULL OR cat.grupocategoria_id <> 4)) THEN b.preciopagado ELSE 0 END), 0) boletos, ");
|
||||
sql.append(" COALESCE(SUM(CASE WHEN b.motivocancelacion_id IS NULL AND cat.grupocategoria_id = 4 THEN b.preciopagado ELSE 0 END), 0) abonos, ");
|
||||
sql.append(" COALESCE(SUM(CASE WHEN b.motivocancelacion_id IS NULL THEN 1 ELSE 0 END), 0) passageirosTransp ");
|
||||
sql.append(" COALESCE(SUM(CASE WHEN (cat.grupocategoria_id IS NULL OR cat.grupocategoria_id <> 4) THEN b.preciopagado ELSE 0 END), 0) boletos, ");
|
||||
sql.append(" COALESCE(SUM(CASE WHEN cat.grupocategoria_id = 4 THEN b.preciopagado ELSE 0 END), 0) abonos, ");
|
||||
sql.append(" COUNT(b.boleto_id) passageirosTransp ");
|
||||
sql.append("FROM ruta r ");
|
||||
sql.append("INNER JOIN ruta_empresa re ON re.ruta_id = r.ruta_id ");
|
||||
sql.append("INNER JOIN empresa e ON re.empresa_id = e.empresa_id ");
|
||||
sql.append("LEFT JOIN corrida c ON c.ruta_id = re.ruta_id ");
|
||||
sql.append("LEFT JOIN boleto b ON b.corrida_id = c.corrida_id AND b.feccorrida = c.feccorrida ");
|
||||
sql.append("LEFT OUTER JOIN categoria cat ON cat.categoria_id = b.categoria_id ");
|
||||
sql.append("LEFT JOIN corrida c ON c.ruta_id = r.ruta_id ");
|
||||
sql.append("INNER JOIN empresa e ON c.marca_id = e.empresa_id ");
|
||||
sql.append("LEFT JOIN boleto b ON b.corrida_id = c.corrida_id AND b.feccorrida = c.feccorrida AND b.motivocancelacion_id IS NULL ");
|
||||
sql.append("LEFT JOIN categoria cat ON cat.categoria_id = b.categoria_id ");
|
||||
sql.append("WHERE c.activo <> 0 ");
|
||||
sql.append("AND r.activo = 1 ");
|
||||
sql.append("AND re.activo = 1 ");
|
||||
sql.append(StringUtils.isBlank(empresa) ? "" : "AND re.empresa_id = :empresa_id ");
|
||||
sql.append(StringUtils.isBlank(empresa) ? "" : "AND c.marca_id = :empresa_id ");
|
||||
sql.append("AND c.FECCORRIDA BETWEEN :fecInicio AND :fecFinal ");
|
||||
sql.append("GROUP BY ");
|
||||
sql.append(" e.empresa_id, ");
|
||||
|
@ -166,13 +166,10 @@ public class RelatorioEmpresaCorrida extends Relatorio {
|
|||
sql.append("FROM corrida c ");
|
||||
sql.append("INNER JOIN corrida_tramo ct ON ct.corrida_id = c.corrida_id AND c.feccorrida = ct.feccorrida ");
|
||||
sql.append("INNER JOIN tramo t ON t.tramo_id = ct.tramo_id ");
|
||||
sql.append("INNER JOIN parada o ON o.parada_id = ct.origen_id ");
|
||||
sql.append("INNER JOIN parada d ON d.parada_id = ct.destino_id ");
|
||||
sql.append("INNER JOIN autobus a ON a.autobus_id = ct.autobus_id ");
|
||||
sql.append("INNER JOIN empresa e ON e.empresa_id = a.empresa_id ");
|
||||
sql.append("WHERE c.activo <> 0 ");
|
||||
sql.append("AND ct.activo = 1 ");
|
||||
sql.append(StringUtils.isBlank(empresa) ? "" : "AND c.empresacorrida_id = :empresa_id ");
|
||||
sql.append(StringUtils.isBlank(empresa) ? "" : "AND c.marca_id = :empresa_id ");
|
||||
sql.append("AND c.FECCORRIDA BETWEEN :fecInicio AND :fecFinal ");
|
||||
sql.append("GROUP BY c.ruta_id ");
|
||||
sql.append("ORDER BY c.ruta_id ");
|
||||
|
|
Loading…
Reference in New Issue