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-87c2c4800839
master
thiago.penido 2015-12-15 12:47:33 +00:00
parent 9ee537bee1
commit d2b5898dc1
1 changed files with 61 additions and 122 deletions

View File

@ -224,7 +224,7 @@ public class SisdapHibernateDAO implements SisdapDAO {
List<MovimentoSecoes> listResultConsulta = consultaMovimentoSecoes(fecInicio, fecFinal, empresaId); List<MovimentoSecoes> listResultConsulta = consultaMovimentoSecoes(fecInicio, fecFinal, empresaId);
List<MovimentoSecoes> listResultIdaVoltaInvertida = new ArrayList<MovimentoSecoes>(); List<MovimentoSecoes> listResultIdaVoltaInvertida = new ArrayList<MovimentoSecoes>();
List<MovimentoSecoes> listVoltasSemIda = new ArrayList<MovimentoSecoes>(); List<MovimentoSecoes> listVoltasSemIda = new ArrayList<MovimentoSecoes>();
for (MovimentoSecoes ms : listResultConsulta) { for (MovimentoSecoes ms : listResultConsulta) {
Boolean achou = Boolean.FALSE; Boolean achou = Boolean.FALSE;
@ -297,7 +297,7 @@ public class SisdapHibernateDAO implements SisdapDAO {
periodosPrefixos.get(periodo).remove(prefixoAntt); periodosPrefixos.get(periodo).remove(prefixoAntt);
} }
} }
for (String key : periodosPrefixos.keySet()) { for (String key : periodosPrefixos.keySet()) {
String[] periodo = key.split(HYPHEN); String[] periodo = key.split(HYPHEN);
Integer ano = Integer.parseInt(periodo[0]); Integer ano = Integer.parseInt(periodo[0]);
@ -505,126 +505,65 @@ public class SisdapHibernateDAO implements SisdapDAO {
private List<PrefixoAntt> buscaPrefixoEmpresaOrigenDestino(Integer empresaId) { private List<PrefixoAntt> buscaPrefixoEmpresaOrigenDestino(Integer empresaId) {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append("SELECT subResp.antt, ");
sb.append(" subResp.prefixo, "); sb.append(" SELECT DISTINCT ");
sb.append(" po.codantt localOrigem, "); sb.append(" subAlias.antt, ");
sb.append(" pd.codantt localDestino "); sb.append(" subAlias.prefixo, ");
sb.append("FROM (SELECT subAlias.antt antt, "); sb.append(" CASE WHEN subAlias.indIda = 1 THEN po.codantt ELSE pd.codantt END localOrigem, ");
sb.append(" ru.prefixo prefixo, "); sb.append(" CASE WHEN subAlias.indIda = 1 THEN pd.codantt ELSE po.codantt END localDestino ");
sb.append(" subAlias.localorigem localOrigem, "); sb.append(" FROM (SELECT distinct subResp.antt antt, ");
sb.append(" subAlias.localdestino localDestino "); sb.append(" subResp.prefixo prefixo, ");
sb.append(" FROM ruta ru, "); sb.append(" ase.aliasorigen_id aliasorigen, ");
sb.append(" (SELECT subSelect.antt antt, "); sb.append(" ase.aliasdestino_id aliasdestino, ");
sb.append(" subSelect.ruta_id rutaId, "); sb.append(" subResp.indIda indIda ");
sb.append(" subSelect.prefixo prefixo, ");
sb.append(" Nvl(asr.aliasorigen_id, subSelect.localorigem) AS "); sb.append(" FROM (SELECT distinct r.ruta_id ruta_id, ");
sb.append(" localOrigem, "); sb.append(" e.codantt antt, ");
sb.append(" Nvl(asr.aliasdestino_id, subSelect.localdestino) AS "); sb.append(" r.prefixo prefixo, ");
sb.append(" localDestino "); sb.append(" po.parada_id localorigem, ");
sb.append(" FROM (SELECT e.codantt antt, "); sb.append(" pd.parada_id localdestino, ");
sb.append(" ru.ruta_id, "); sb.append(" r.INDSENTIDOIDA indIda ");
sb.append(" po.parada_id localOrigem, "); sb.append(" FROM ruta_empresa re ");
sb.append(" pd.parada_id localDestino, "); sb.append(" join empresa e ON re.empresa_id = e.empresa_id ");
sb.append(" ru.prefixo prefixo "); sb.append(" join ruta r ON re.ruta_id = r.ruta_id ");
sb.append(" FROM ruta_empresa re "); sb.append(" join RUTA_COMBINACION rc on rc.RUTA_ID = r.ruta_id ");
sb.append(" left join marca m "); sb.append(" join tramo tr on tr.TRAMO_ID = rc.TRAMO_ID ");
sb.append(" ON m.marca_id = re.empresa_id "); sb.append(" join parada po ON po.parada_id = tr.origen_id ");
sb.append(" left join empresa e "); sb.append(" join parada pd ON pd.parada_id = tr.destino_id ");
sb.append(" ON m.empresa_id = e.empresa_id ");
sb.append(" left join ruta ru "); sb.append(" WHERE e.empresa_id = ? ");
sb.append(" ON re.ruta_id = ru.ruta_id, "); sb.append(" AND re.activo = 1 ");
sb.append(" parada po, "); sb.append(" AND r.activo = 1 ");
sb.append(" parada pd "); sb.append(" AND r.orgaoconcedente_id = 3 ");
sb.append(" WHERE re.empresa_id = ? "); sb.append(" AND e.codantt IS NOT NULL ");
sb.append(" AND ru.orgaoconcedente_id = 3 "); sb.append(" GROUP BY e.codantt, ");
sb.append(" AND re.activo = 1 "); sb.append(" r.prefixo, ");
sb.append(" AND ru.activo = 1 "); sb.append(" po.parada_id, ");
sb.append(" AND po.parada_id = (SELECT t.origen_id "); sb.append(" pd.parada_id, ");
sb.append(" FROM tramo t "); sb.append(" r.ruta_id, ");
sb.append(" WHERE t.tramo_id = "); sb.append(" r.INDSENTIDOIDA ");
sb.append(" (SELECT rs.tramo_id "); sb.append(" ORDER BY e.codantt, ");
sb.append(" FROM ruta r "); sb.append(" r.prefixo) subResp ");
sb.append(" left join ruta_secuencia ");
sb.append(" rs "); 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(" ON rs.ruta_id = ");
sb.append(" r.ruta_id "); sb.append(" ORDER BY subResp.antt, ");
sb.append(" WHERE "); sb.append(" subResp.prefixo ) subAlias ");
sb.append(" r.ruta_id IN ( ru.ruta_id ) ");
sb.append(" AND r.indsentidoida = 1 "); sb.append(" join parada po ON ( subAlias.aliasorigen = po.parada_id ) ");
sb.append(" AND r.activo = 1 "); sb.append(" join parada pd ON ( subAlias.aliasdestino = pd.parada_id ) ");
sb.append(" AND rs.activo = 1 ");
sb.append(" AND ROWNUM <= 1 "); sb.append(" WHERE po.codantt <> pd.codantt ");
sb.append(" AND rs.numsecuencia IN ");
sb.append(" (SELECT "); sb.append(" GROUP BY antt, ");
sb.append(" Min(rs.numsecuencia) + 1 "); sb.append(" prefixo, ");
sb.append(" FROM "); sb.append(" po.codantt, ");
sb.append(" ruta r "); sb.append(" pd.codantt , ");
sb.append(" left join ruta_secuencia "); sb.append(" indIda ");
sb.append(" rs "); sb.append(" ORDER BY antt, ");
sb.append(" ON rs.ruta_id = "); sb.append(" prefixo, ");
sb.append(" r.ruta_id "); sb.append(" localOrigem, ");
sb.append(" WHERE "); sb.append(" localDestino ");
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("ORDER BY subResp.antt, ");
sb.append(" subResp.prefixo, ");
sb.append(" po.codantt, ");
sb.append(" pd.codantt ");
QueryRunner queryRunner = new QueryRunner(dataSourceRead); QueryRunner queryRunner = new QueryRunner(dataSourceRead);
ResultSetHandler<List<PrefixoAntt>> handler = new BeanListHandler<PrefixoAntt>(PrefixoAntt.class); ResultSetHandler<List<PrefixoAntt>> handler = new BeanListHandler<PrefixoAntt>(PrefixoAntt.class);