B6 - SISDAP Relatório ANTT (bug #5247)

correção somente do relatorio: movimento linhas

Tempo: 2 horas

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@35802 d1611594-4594-4d17-8e1d-87c2c4800839
master
julio 2014-06-04 19:16:30 +00:00
parent f59f0e07a3
commit ca4bc531d4
1 changed files with 39 additions and 57 deletions

View File

@ -34,64 +34,46 @@ public class SisdapHibernateDAO extends HibernateDaoSupport implements SisdapDAO
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
StringBuilder sb = new StringBuilder();
sb.append("SELECT DISTINCT e.codantt antt, ");
sb.append("select distinct e.codantt antt, ");
sb.append(" r.prefixo prefixo, ");
sb.append(" TO_CHAR(c.feccorrida, 'MM') mes, ");
sb.append(" TO_CHAR(c.feccorrida, 'yyyy') ano, ");
sb.append(" NVL(CASE subviagens.sentido ");
sb.append(" WHEN 1 THEN Count(subviagens.ruta) ");
sb.append(" END, 0) viagensIda, ");
sb.append(" NVL(CASE subviagens.sentido ");
sb.append(" WHEN 0 THEN Count(subviagens.ruta) ");
sb.append(" END, 0) viagensVolta, ");
sb.append(" NVL(CASE subviagens.sentido ");
sb.append(" WHEN 1 THEN ( da.cantasientos * Count(subviagens.ruta) ) ");
sb.append(" END, 0) lugaresIda, ");
sb.append(" NVL(CASE subviagens.sentido ");
sb.append(" WHEN 0 THEN ( da.cantasientos * Count(subviagens.ruta) ) ");
sb.append(" END, 0) lugaresVolta ");
sb.append("FROM corrida c ");
sb.append(" inner join ruta r ");
sb.append(" ON r.ruta_id = c.ruta_id ");
sb.append(" inner join empresa e ");
sb.append(" ON e.empresa_id = c.empresacorrida_id ");
sb.append(" left join rol_operativo ro ");
sb.append(" ON c.roloperativo_id = ro.roloperativo_id ");
sb.append(" left join diagrama_autobus da ");
sb.append(" ON da.diagramaautobus_id = ro.diagramaautobus_id ");
sb.append(" left join (SELECT DISTINCT ru.prefixo ruta, ");
sb.append(" bo.corrida_id corrida, ");
sb.append(" bo.feccorrida feccorrida, ");
sb.append(" bo.empresacorrida_id empresacorrida, ");
sb.append(" ru.indsentidoida sentido ");
sb.append(" FROM boleto bo ");
sb.append(" left join ruta ru ");
sb.append(" ON ru.ruta_id = bo.ruta_id ");
sb.append(" WHERE bo.numasiento IS NOT NULL ");
sb.append(" AND bo.motivocancelacion_id IS NULL ");
sb.append(" AND bo.feccorrida BETWEEN To_date(:fecInicio, 'DD/MM/YYYY') AND ");
sb.append(" To_date(:fecFinal, 'DD/MM/YYYY') ");
sb.append(" GROUP BY ru.prefixo, ");
sb.append(" bo.corrida_id, ");
sb.append(" bo.feccorrida, ");
sb.append(" bo.empresacorrida_id, ");
sb.append(" ru.indsentidoida) subviagens ");
sb.append(" ON ( subviagens.ruta = r.prefixo ");
sb.append(" AND subviagens.corrida = c.corrida_id ");
sb.append(" AND subviagens.feccorrida = c.feccorrida ");
sb.append(" AND subviagens.empresacorrida = e.empresa_id ) ");
sb.append("WHERE e.empresa_id = :empresaId ");
sb.append(" AND r.orgaoconcedente_id = 3 ");
sb.append(" AND e.codantt IS NOT NULL ");
sb.append(" AND c.feccorrida BETWEEN To_date(:fecInicio, 'DD/MM/YYYY') AND ");
sb.append(" To_date(:fecFinal, 'DD/MM/YYYY') ");
sb.append("GROUP BY e.codantt, ");
sb.append(" to_char(c.feccorrida, 'MM') mes, ");
sb.append(" to_char(c.feccorrida, 'yyyy') ano, ");
sb.append(" nvl(case r.indsentidoida ");
sb.append(" when 1 then count(r.prefixo) ");
sb.append(" end, 0) viagensida, ");
sb.append(" nvl(case r.indsentidoida ");
sb.append(" when 0 then count(r.prefixo) ");
sb.append(" end, 0) viagensvolta, ");
sb.append(" nvl(case r.indsentidoida ");
sb.append(" when 1 then sum(da.cantasientos) ");
sb.append(" end, 0) lugaresida, ");
sb.append(" nvl(case r.indsentidoida ");
sb.append(" when 0 then sum(da.cantasientos) ");
sb.append(" end, 0) lugaresvolta ");
sb.append("from ruta_empresa re ");
sb.append(" left join marca m ");
sb.append(" on m.marca_id = re.empresa_id ");
sb.append(" left join empresa e ");
sb.append(" on m.empresa_id = e.empresa_id ");
sb.append(" left join ruta r ");
sb.append(" on re.ruta_id = r.ruta_id ");
sb.append(" left join corrida c ");
sb.append(" on c.ruta_id = r.ruta_id ");
sb.append(" left outer join rol_operativo ro ");
sb.append(" on c.roloperativo_id = ro.roloperativo_id ");
sb.append(" left outer join diagrama_autobus da ");
sb.append(" on da.diagramaautobus_id = ro.diagramaautobus_id ");
sb.append("where m.marca_id = :empresaId ");
sb.append(" and r.orgaoconcedente_id = 3 ");
sb.append(" and e.codantt is not null ");
sb.append(" and c.feccorrida between to_date(:fecInicio, 'DD/MM/YYYY') and ");
sb.append(" to_date(:fecFinal, 'DD/MM/YYYY') ");
sb.append("group by e.codantt, ");
sb.append(" r.prefixo, ");
sb.append(" da.cantasientos, ");
sb.append(" subviagens.sentido, ");
sb.append(" To_char(c.feccorrida, 'MM'), ");
sb.append(" To_char(c.feccorrida, 'yyyy') ");
sb.append("ORDER BY mes, ");
sb.append(" r.indsentidoida, ");
sb.append(" to_char(c.feccorrida, 'MM'), ");
sb.append(" to_char(c.feccorrida, 'yyyy') ");
sb.append("order by mes, ");
sb.append(" ano, ");
sb.append(" e.codantt, ");
sb.append(" r.prefixo, ");
@ -288,7 +270,7 @@ public class SisdapHibernateDAO extends HibernateDaoSupport implements SisdapDAO
if (insert)
result.add(ms);
}
for (MovimentoSecoes ms : result) {
movimentosSecoes.add(ms.toString());
}