diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAproveitamentoFinanceiro.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAproveitamentoFinanceiro.java index 67f85835c..f0941adc4 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAproveitamentoFinanceiro.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAproveitamentoFinanceiro.java @@ -72,47 +72,47 @@ public class RelatorioAproveitamentoFinanceiro extends Relatorio { sql.append(" r.DESCRUTA as linha, "); sql.append(" r.ruta_id as rutaid, "); sql.append(" count( c.caja_id) as passageiros, "); - sql.append(" sum( c.PRECIOPAGADO )as valor, "); - sql.append(" to_char( c.FECCORRIDA, 'D') as dia, "); + sql.append(" sum( coalesce(c.preciopagado, 0) )as valor, "); + sql.append(" to_char( co.FECCORRIDA, 'D') as dia, "); // Quantidade de dias da semana diferente vendidas // "WW" Esse parāmetro para o to_char tras o dia da semana da data sql.append(" coalesce(count(DISTINCT to_char( c.FECCORRIDA, 'WW')), 0) as qtde, "); sql.append(" r.indsentidoida as sentido, "); sql.append(" da.cantasientos as assentos, "); sql.append(" TO_CHAR(co.fechorsalidaoriginal ,'HH24:mi') as horario, "); - sql.append(" c.CORRIDA_ID as servico "); + sql.append(" co.CORRIDA_ID as servico "); sql.append(" FROM CAJA c "); - sql.append(" inner join corrida co "); + sql.append(" RIGHT OUTER JOIN corrida co "); sql.append(" on c.CORRIDA_ID = co.CORRIDA_ID "); sql.append(" and c.FECCORRIDA = co.FECCORRIDA "); sql.append(" and co.ACTIVO = 1 "); sql.append(" inner join ruta r "); - sql.append(" on c.RUTA_ID = r.RUTA_ID "); + sql.append(" on co.RUTA_ID = r.RUTA_ID "); sql.append(" and r.ACTIVO = 1 "); sql.append(" inner join MARCA m "); - sql.append(" on m.marca_id = c.marca_id "); + sql.append(" on m.marca_id = co.marca_id "); sql.append(" and m.activo = 1 "); sql.append(" left join rol_operativo ro "); sql.append(" on ro.roloperativo_id = co.roloperativo_id "); sql.append(" left join diagrama_autobus da "); sql.append(" on ro.diagramaautobus_id = da.diagramaautobus_id "); - sql.append(" WHERE c.activo = 1 "); + sql.append(" WHERE co.activo = 1 "); sql.append(" AND m.EMPRESA_ID = :EMPRESA_ID "); - sql.append(" and c.FECCORRIDA >= :DATA_INICIAL "); - sql.append(" and c.FECCORRIDA <= :DATA_FINAL "); + sql.append(" and co.FECCORRIDA >= :DATA_INICIAL "); + sql.append(" and co.FECCORRIDA <= :DATA_FINAL "); if (parametros.get("LINHAS") != null && !possuiFiltroTodos("LINHAS")) { - sql.append(" and c.ruta_id IN (" + parametros.get("LINHAS").toString() + ")"); + sql.append(" and co.ruta_id IN (" + parametros.get("LINHAS").toString() + ")"); } sql.append(" and c.MOTIVOCANCELACION_ID is null "); - sql.append(" and c.INDREIMPRESION = 0 "); + sql.append(" and ( c.INDREIMPRESION = 0 OR c.indreimpresion IS NULL )"); sql.append(" and c.MOTIVOREIMPRESION_ID is null "); - sql.append(" and c.INDSTATUSBOLETO = 'V' "); + sql.append(" and ( c.INDSTATUSBOLETO = 'V' OR c.indstatusboleto IS NULL ) "); sql.append(" GROUP by r.DESCRUTA, r.ruta_id, r.indsentidoida, da.cantasientos, "); - sql.append(" to_char( c.FECCORRIDA, 'D'), TO_CHAR(co.fechorsalidaoriginal ,'HH24:mi'), "); - sql.append(" c.CORRIDA_ID "); - sql.append(" ORDER by r.DESCRUTA, r.indsentidoida desc, to_char( c.FECCORRIDA, 'D') "); + sql.append(" to_char( co.FECCORRIDA, 'D'), TO_CHAR(co.fechorsalidaoriginal ,'HH24:mi'), "); + sql.append(" co.CORRIDA_ID "); + sql.append(" ORDER by r.DESCRUTA, r.indsentidoida desc, to_char( co.FECCORRIDA, 'D') "); sql.append(" ) "); sql.append("PIVOT "); sql.append("( ");