Conclusão mantis 5479
fixes bug 5479 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@51196 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
9ee537bee1
commit
d2b5898dc1
|
@ -505,126 +505,65 @@ public class SisdapHibernateDAO implements SisdapDAO {
|
|||
private List<PrefixoAntt> buscaPrefixoEmpresaOrigenDestino(Integer empresaId) {
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("SELECT subResp.antt, ");
|
||||
sb.append(" subResp.prefixo, ");
|
||||
sb.append(" po.codantt localOrigem, ");
|
||||
sb.append(" pd.codantt localDestino ");
|
||||
sb.append("FROM (SELECT subAlias.antt antt, ");
|
||||
sb.append(" ru.prefixo prefixo, ");
|
||||
sb.append(" subAlias.localorigem localOrigem, ");
|
||||
sb.append(" subAlias.localdestino localDestino ");
|
||||
sb.append(" FROM ruta ru, ");
|
||||
sb.append(" (SELECT subSelect.antt antt, ");
|
||||
sb.append(" subSelect.ruta_id rutaId, ");
|
||||
sb.append(" subSelect.prefixo prefixo, ");
|
||||
sb.append(" Nvl(asr.aliasorigen_id, subSelect.localorigem) AS ");
|
||||
sb.append(" localOrigem, ");
|
||||
sb.append(" Nvl(asr.aliasdestino_id, subSelect.localdestino) AS ");
|
||||
sb.append(" localDestino ");
|
||||
sb.append(" FROM (SELECT e.codantt antt, ");
|
||||
sb.append(" ru.ruta_id, ");
|
||||
sb.append(" po.parada_id localOrigem, ");
|
||||
sb.append(" pd.parada_id localDestino, ");
|
||||
sb.append(" ru.prefixo prefixo ");
|
||||
|
||||
sb.append(" SELECT DISTINCT ");
|
||||
sb.append(" subAlias.antt, ");
|
||||
sb.append(" subAlias.prefixo, ");
|
||||
sb.append(" CASE WHEN subAlias.indIda = 1 THEN po.codantt ELSE pd.codantt END localOrigem, ");
|
||||
sb.append(" CASE WHEN subAlias.indIda = 1 THEN pd.codantt ELSE po.codantt END localDestino ");
|
||||
sb.append(" FROM (SELECT distinct subResp.antt antt, ");
|
||||
sb.append(" subResp.prefixo prefixo, ");
|
||||
sb.append(" ase.aliasorigen_id aliasorigen, ");
|
||||
sb.append(" ase.aliasdestino_id aliasdestino, ");
|
||||
sb.append(" subResp.indIda indIda ");
|
||||
|
||||
sb.append(" FROM (SELECT distinct r.ruta_id ruta_id, ");
|
||||
sb.append(" e.codantt antt, ");
|
||||
sb.append(" r.prefixo prefixo, ");
|
||||
sb.append(" po.parada_id localorigem, ");
|
||||
sb.append(" pd.parada_id localdestino, ");
|
||||
sb.append(" r.INDSENTIDOIDA indIda ");
|
||||
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 ru ");
|
||||
sb.append(" ON re.ruta_id = ru.ruta_id, ");
|
||||
sb.append(" parada po, ");
|
||||
sb.append(" parada pd ");
|
||||
sb.append(" WHERE re.empresa_id = ? ");
|
||||
sb.append(" AND ru.orgaoconcedente_id = 3 ");
|
||||
sb.append(" join empresa e ON re.empresa_id = e.empresa_id ");
|
||||
sb.append(" join ruta r ON re.ruta_id = r.ruta_id ");
|
||||
sb.append(" join RUTA_COMBINACION rc on rc.RUTA_ID = r.ruta_id ");
|
||||
sb.append(" join tramo tr on tr.TRAMO_ID = rc.TRAMO_ID ");
|
||||
sb.append(" join parada po ON po.parada_id = tr.origen_id ");
|
||||
sb.append(" join parada pd ON pd.parada_id = tr.destino_id ");
|
||||
|
||||
sb.append(" WHERE e.empresa_id = ? ");
|
||||
sb.append(" AND re.activo = 1 ");
|
||||
sb.append(" AND ru.activo = 1 ");
|
||||
sb.append(" AND po.parada_id = (SELECT t.origen_id ");
|
||||
sb.append(" FROM tramo t ");
|
||||
sb.append(" WHERE t.tramo_id = ");
|
||||
sb.append(" (SELECT rs.tramo_id ");
|
||||
sb.append(" FROM ruta r ");
|
||||
sb.append(" left join ruta_secuencia ");
|
||||
sb.append(" rs ");
|
||||
sb.append(" ON rs.ruta_id = ");
|
||||
sb.append(" r.ruta_id ");
|
||||
sb.append(" WHERE ");
|
||||
sb.append(" r.ruta_id IN ( ru.ruta_id ) ");
|
||||
sb.append(" AND r.indsentidoida = 1 ");
|
||||
sb.append(" AND r.activo = 1 ");
|
||||
sb.append(" AND rs.activo = 1 ");
|
||||
sb.append(" AND ROWNUM <= 1 ");
|
||||
sb.append(" AND rs.numsecuencia IN ");
|
||||
sb.append(" (SELECT ");
|
||||
sb.append(" Min(rs.numsecuencia) + 1 ");
|
||||
sb.append(" FROM ");
|
||||
sb.append(" ruta r ");
|
||||
sb.append(" left join ruta_secuencia ");
|
||||
sb.append(" rs ");
|
||||
sb.append(" ON rs.ruta_id = ");
|
||||
sb.append(" r.ruta_id ");
|
||||
sb.append(" WHERE ");
|
||||
sb.append(" r.prefixo IN ( ru.prefixo ");
|
||||
sb.append(" ) ");
|
||||
sb.append(" AND r.indsentidoida = 1 ");
|
||||
sb.append(" AND r.activo = 1 ");
|
||||
sb.append(" AND rs.activo = 1) ");
|
||||
sb.append(" GROUP BY ");
|
||||
sb.append(" rs.tramo_id) ");
|
||||
sb.append(" AND ROWNUM <= 1) ");
|
||||
sb.append(" AND pd.parada_id = (SELECT t.destino_id ");
|
||||
sb.append(" FROM tramo t ");
|
||||
sb.append(" WHERE t.tramo_id = ");
|
||||
sb.append(" (SELECT rs.tramo_id ");
|
||||
sb.append(" FROM ruta r ");
|
||||
sb.append(" left join ruta_secuencia ");
|
||||
sb.append(" rs ");
|
||||
sb.append(" ON rs.ruta_id = ");
|
||||
sb.append(" r.ruta_id ");
|
||||
sb.append(" WHERE ");
|
||||
sb.append(" r.ruta_id IN ( ru.ruta_id ) ");
|
||||
sb.append(" AND r.indsentidoida = 1 ");
|
||||
sb.append(" AND r.activo = 1 ");
|
||||
sb.append(" AND rs.activo = 1 ");
|
||||
sb.append(" AND ROWNUM <= 1 ");
|
||||
sb.append(" AND rs.numsecuencia IN ");
|
||||
sb.append(" (SELECT Max(rs.numsecuencia) ");
|
||||
sb.append(" FROM ruta r ");
|
||||
sb.append(" left join ruta_secuencia rs ");
|
||||
sb.append(" ON rs.ruta_id = ");
|
||||
sb.append(" r.ruta_id ");
|
||||
sb.append(" WHERE ");
|
||||
sb.append(" r.prefixo IN ( ru.prefixo ) ");
|
||||
sb.append(" AND r.indsentidoida = 1 ");
|
||||
sb.append(" AND r.activo = 1 ");
|
||||
sb.append(" AND rs.activo = 1) ");
|
||||
sb.append(" GROUP BY ");
|
||||
sb.append(" rs.tramo_id)) ");
|
||||
sb.append(" ) ");
|
||||
sb.append(" subSelect ");
|
||||
sb.append(" left join alias_servico asr ");
|
||||
sb.append(" ON ( asr.origen_id = subSelect.localorigem ");
|
||||
sb.append(" AND asr.destino_id = subSelect.localdestino ");
|
||||
sb.append(" AND asr.ruta_id = subSelect.ruta_id ) ");
|
||||
sb.append(" GROUP BY subSelect.antt, ");
|
||||
sb.append(" subSelect.ruta_id, ");
|
||||
sb.append(" subSelect.prefixo, ");
|
||||
sb.append(" Nvl(asr.aliasorigen_id, subSelect.localorigem), ");
|
||||
sb.append(" Nvl(asr.aliasdestino_id, subSelect.localdestino)) ");
|
||||
sb.append(" subAlias ");
|
||||
sb.append(" WHERE ru.ruta_id IN ( subAlias.rutaid ) ");
|
||||
sb.append(" GROUP BY subAlias.antt, ");
|
||||
sb.append(" subAlias.localorigem, ");
|
||||
sb.append(" subAlias.localdestino, ");
|
||||
sb.append(" ru.prefixo) subResp ");
|
||||
sb.append(" inner join parada po ");
|
||||
sb.append(" ON ( subResp.localorigem = po.parada_id ) ");
|
||||
sb.append(" inner join parada pd ");
|
||||
sb.append(" ON ( subResp.localdestino = pd.parada_id ) ");
|
||||
sb.append(" AND r.orgaoconcedente_id = 3 ");
|
||||
sb.append(" AND e.codantt IS NOT NULL ");
|
||||
sb.append(" GROUP BY e.codantt, ");
|
||||
sb.append(" r.prefixo, ");
|
||||
sb.append(" po.parada_id, ");
|
||||
sb.append(" pd.parada_id, ");
|
||||
sb.append(" r.ruta_id, ");
|
||||
sb.append(" r.INDSENTIDOIDA ");
|
||||
sb.append(" ORDER BY e.codantt, ");
|
||||
sb.append(" r.prefixo) subResp ");
|
||||
|
||||
sb.append(" join alias_servico ase ON ( subResp.localorigem = ase.origen_id AND subResp.localdestino = ase.destino_id and ase.ruta_id = subResp.ruta_id) ");
|
||||
|
||||
sb.append(" ORDER BY subResp.antt, ");
|
||||
sb.append(" subResp.prefixo, ");
|
||||
sb.append(" subResp.prefixo ) subAlias ");
|
||||
|
||||
sb.append(" join parada po ON ( subAlias.aliasorigen = po.parada_id ) ");
|
||||
sb.append(" join parada pd ON ( subAlias.aliasdestino = pd.parada_id ) ");
|
||||
|
||||
sb.append(" WHERE po.codantt <> pd.codantt ");
|
||||
|
||||
sb.append(" GROUP BY antt, ");
|
||||
sb.append(" prefixo, ");
|
||||
sb.append(" po.codantt, ");
|
||||
sb.append(" pd.codantt ");
|
||||
sb.append(" pd.codantt , ");
|
||||
sb.append(" indIda ");
|
||||
sb.append(" ORDER BY antt, ");
|
||||
sb.append(" prefixo, ");
|
||||
sb.append(" localOrigem, ");
|
||||
sb.append(" localDestino ");
|
||||
|
||||
QueryRunner queryRunner = new QueryRunner(dataSourceRead);
|
||||
ResultSetHandler<List<PrefixoAntt>> handler = new BeanListHandler<PrefixoAntt>(PrefixoAntt.class);
|
||||
|
|
Loading…
Reference in New Issue