From 5ffbd2aba5e7d5ea0a645c3fb0d2ef02686f4efb Mon Sep 17 00:00:00 2001 From: "thiago.penido" Date: Tue, 1 Dec 2015 18:24:23 +0000 Subject: [PATCH] =?UTF-8?q?conclus=C3=A3o=20mantis=206895=20fixes=20bug=20?= =?UTF-8?q?6895?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@50816 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../dao/hibernate/SisdapHibernateDAO.java | 187 ++++++++---------- .../relatorios/MovimentoSecoes.java | 4 +- 2 files changed, 83 insertions(+), 108 deletions(-) diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/SisdapHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/SisdapHibernateDAO.java index 95a48c0ef..9095ceb81 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/SisdapHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/SisdapHibernateDAO.java @@ -1,5 +1,6 @@ package com.rjconsultores.ventaboletos.dao.hibernate; +import java.sql.SQLException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Collections; @@ -8,6 +9,11 @@ import java.util.Date; import java.util.HashMap; import java.util.List; +import javax.sql.DataSource; + +import org.apache.commons.dbutils.QueryRunner; +import org.apache.commons.dbutils.ResultSetHandler; +import org.apache.commons.dbutils.handlers.BeanListHandler; import org.apache.commons.lang.math.NumberUtils; import org.hibernate.Query; import org.hibernate.SessionFactory; @@ -25,14 +31,12 @@ import com.rjconsultores.ventaboletos.relatorios.MovimentoSecoes; import com.rjconsultores.ventaboletos.relatorios.PrefixoAntt; @Repository("sisdapDAO") -public class SisdapHibernateDAO extends HibernateDaoSupport implements SisdapDAO { +public class SisdapHibernateDAO implements SisdapDAO { private static String HYPHEN = "-"; - + @Autowired - public SisdapHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { - setSessionFactory(factory); - } + private DataSource dataSourceRead; @SuppressWarnings({ "unchecked", "rawtypes" }) @Override @@ -140,30 +144,25 @@ public class SisdapHibernateDAO extends HibernateDaoSupport implements SisdapDAO sb.append(" left join corrida c on c.ruta_id = r.ruta_id "); sb.append(" left outer join rol_operativo ro on c.roloperativo_id = ro.roloperativo_id "); sb.append(" left outer join diagrama_autobus da on da.diagramaautobus_id = ro.diagramaautobus_id "); - sb.append("where m.marca_id = :empresaId and re.activo = 1 and r.activo = 1 "); + sb.append("where m.marca_id = ? and re.activo = 1 and r.activo = 1 "); sb.append(" and r.orgaoconcedente_id = 3 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(" and c.feccorrida between to_date(?, 'DD/MM/YYYY') and "); + sb.append(" to_date(?, 'DD/MM/YYYY') "); sb.append("group by e.codantt, r.prefixo, r.indsentidoida, "); sb.append(" to_char(c.feccorrida, 'MM'), to_char(c.feccorrida, 'yyyy') "); sb.append("order by mes, ano, e.codantt, r.prefixo, viagensida, viagensvolta "); - Query query = getSession().createSQLQuery(sb.toString()) - .addScalar("antt", StringType.INSTANCE) - .addScalar("prefixo", StringType.INSTANCE) - .addScalar("mes", IntegerType.INSTANCE) - .addScalar("ano", IntegerType.INSTANCE) - .addScalar("viagensIda", IntegerType.INSTANCE) - .addScalar("viagensVolta", IntegerType.INSTANCE) - .addScalar("lugaresIda", IntegerType.INSTANCE) - .addScalar("lugaresVolta", IntegerType.INSTANCE); - query.setResultTransformer(new AliasToBeanResultTransformer(MovimentoLinha.class)); - - query.setParameter("fecInicio", sdf.format(fecInicio)); - query.setParameter("fecFinal", sdf.format(fecFinal)); - query.setParameter("empresaId", empresaId); - - return query.list(); + QueryRunner queryRunner = new QueryRunner(dataSourceRead); + ResultSetHandler> handler = new BeanListHandler(MovimentoLinha.class); + List returnedList = null; + + try { + returnedList = queryRunner.query(sb.toString(), handler, empresaId, sdf.format(fecInicio), sdf.format(fecFinal)); + } catch (SQLException e) { + e.printStackTrace(); + } + + return returnedList; } private List buscaPrefixoEmpresa(Integer empresaId) { @@ -174,19 +173,23 @@ public class SisdapHibernateDAO extends HibernateDaoSupport implements SisdapDAO sb.append(" left join marca m on m.marca_id = re.empresa_id "); sb.append(" left join empresa e on m.empresa_id = e.empresa_id "); sb.append(" left join ruta r on re.ruta_id = r.ruta_id "); - sb.append(" where re.empresa_id = :empresaId and r.orgaoconcedente_id = 3 "); + sb.append(" where re.empresa_id = ? and r.orgaoconcedente_id = 3 "); sb.append(" and re.activo = 1 and r.activo = 1 "); sb.append(" group by e.codantt, r.prefixo "); sb.append(" order by e.codantt, r.prefixo "); + + + QueryRunner queryRunner = new QueryRunner(dataSourceRead); + ResultSetHandler> handler = new BeanListHandler(PrefixoAntt.class); + List returnedList = null; + + try { + returnedList = queryRunner.query(sb.toString(), handler, empresaId); + } catch (SQLException e) { + e.printStackTrace(); + } - Query query = getSession().createSQLQuery(sb.toString()) - .addScalar("antt", StringType.INSTANCE) - .addScalar("prefixo", StringType.INSTANCE); - query.setResultTransformer(new AliasToBeanResultTransformer(PrefixoAntt.class)); - - query.setParameter("empresaId", empresaId); - - return query.list(); + return returnedList; } private boolean agrupaMovimentoLinhas(List resul, MovimentoLinha movimentoLinha) { @@ -217,8 +220,7 @@ public class SisdapHibernateDAO extends HibernateDaoSupport implements SisdapDAO @SuppressWarnings({ "rawtypes", "unchecked" }) @Override - public List getMovimentoSecoes(Date fecInicio, Date fecFinal, Integer empresaId) { - + public List getMovimentoSecoes(Date fecInicio, Date fecFinal, Integer empresaId) { List listResultConsulta = consultaMovimentoSecoes(fecInicio, fecFinal, empresaId); List listResultIdaVoltaInvertida = new ArrayList(); List listVoltasSemIda = new ArrayList(); @@ -261,8 +263,23 @@ public class SisdapHibernateDAO extends HibernateDaoSupport implements SisdapDAO String origem = volta.getLocalOrigem(); String destino = volta.getLocalDestino(); + Integer idosoGratuidade = volta.getGratuidadeIdosoIda(); + Integer idosoDesconto = volta.getDescontoIdosoIda(); + Integer passeLivre = volta.getGratuidadePasseLivreIda(); + Integer passageiros = volta.getPassageirosIda(); + + volta.setGratuidadeIdosoVolta(idosoGratuidade); + volta.setDescontoIdosoVolta(idosoDesconto); + volta.setGratuidadePasseLivreVolta(passeLivre); + volta.setPassageirosVolta(passageiros); + + volta.setGratuidadeIdosoIda(0); + volta.setDescontoIdosoIda(0); + volta.setGratuidadePasseLivreIda(0); + volta.setPassageirosIda(0); + volta.setLocalDestino(origem); - volta.setLocalOrige(destino); + volta.setLocalOrigem(destino); listResultIdaVoltaInvertida.add(volta); } } @@ -309,7 +326,7 @@ public class SisdapHibernateDAO extends HibernateDaoSupport implements SisdapDAO ms.setAntt(prefixoAntt.getAntt()); ms.setPrefixo(prefixoAntt.getPrefixo()); ms.setLocalDestino(prefixoAntt.getLocalDestino()); - ms.setLocalOrige(prefixoAntt.getLocalOrigem()); + ms.setLocalOrigem(prefixoAntt.getLocalOrigem()); ms.setDescontoIdosoIda(NumberUtils.INTEGER_ZERO); ms.setDescontoIdosoVolta(NumberUtils.INTEGER_ZERO); @@ -442,14 +459,14 @@ public class SisdapHibernateDAO extends HibernateDaoSupport implements SisdapDAO sb.append(" left outer join parada po ON po.parada_id = b.origen_id "); sb.append(" left outer join parada pd ON pd.parada_id = b.destino_id "); - sb.append(" WHERE m.marca_id = :empresaId "); + sb.append(" WHERE m.marca_id = ? "); sb.append(" AND re.activo = 1 "); sb.append(" AND r.activo = 1 "); sb.append(" AND r.orgaoconcedente_id = 3 "); sb.append(" AND b.numasiento IS NOT NULL "); sb.append(" AND b.motivocancelacion_id IS NULL "); sb.append(" AND e.codantt IS NOT NULL "); - sb.append(" AND c.feccorrida BETWEEN To_date(:fecInicio, 'DD/MM/YYYY') AND To_date (:fecFinal, 'DD/MM/YYYY') "); + sb.append(" AND c.feccorrida BETWEEN To_date(?, 'DD/MM/YYYY') AND To_date (?, 'DD/MM/YYYY') "); sb.append(" AND b.categoria_id <> (select valorconstante from constante where NOMBCONSTANTE = 'GRATUIDADE_CRIANCA')"); sb.append(" GROUP BY e.codantt, "); sb.append(" r.prefixo, "); @@ -485,30 +502,19 @@ public class SisdapHibernateDAO extends HibernateDaoSupport implements SisdapDAO sb.append(" prefixo, "); sb.append(" localOrigem, "); sb.append(" localDestino "); - - Query query = getSession().createSQLQuery(sb.toString()) - .addScalar("antt", StringType.INSTANCE) - .addScalar("prefixo", StringType.INSTANCE) - .addScalar("mes", IntegerType.INSTANCE) - .addScalar("ano", IntegerType.INSTANCE) - .addScalar("localOrigem", StringType.INSTANCE) - .addScalar("localDestino", StringType.INSTANCE) - .addScalar("passageirosIda", IntegerType.INSTANCE) - .addScalar("passageirosVolta", IntegerType.INSTANCE) - .addScalar("gratuidadePasseLivreIda", IntegerType.INSTANCE) - .addScalar("gratuidadePasseLivreVolta", IntegerType.INSTANCE) - .addScalar("gratuidadeIdosoIda", IntegerType.INSTANCE) - .addScalar("gratuidadeIdosoVolta", IntegerType.INSTANCE) - .addScalar("descontoIdosoIda", IntegerType.INSTANCE) - .addScalar("descontoIdosoVolta", IntegerType.INSTANCE); - - query.setResultTransformer(new AliasToBeanResultTransformer(MovimentoSecoes.class)); - - query.setParameter("fecInicio", sdf.format(fecInicio)); - query.setParameter("fecFinal", sdf.format(fecFinal)); - query.setParameter("empresaId", empresaId); - - return query.list(); + + QueryRunner queryRunner = new QueryRunner(dataSourceRead); + ResultSetHandler> handler = new BeanListHandler(MovimentoSecoes.class); + List returnedList = null; + + try { + returnedList = queryRunner.query(sb.toString(), handler, empresaId, sdf.format(fecInicio), sdf.format(fecFinal)); + + } catch (SQLException e) { + e.printStackTrace(); + } + + return returnedList; } private List buscaPrefixoEmpresaOrigenDestino(Integer empresaId) { @@ -544,7 +550,7 @@ public class SisdapHibernateDAO extends HibernateDaoSupport implements SisdapDAO sb.append(" ON re.ruta_id = ru.ruta_id, "); sb.append(" parada po, "); sb.append(" parada pd "); - sb.append(" WHERE re.empresa_id = :empresaId "); + sb.append(" WHERE re.empresa_id = ? "); sb.append(" AND ru.orgaoconcedente_id = 3 "); sb.append(" AND re.activo = 1 "); sb.append(" AND ru.activo = 1 "); @@ -635,47 +641,16 @@ public class SisdapHibernateDAO extends HibernateDaoSupport implements SisdapDAO sb.append(" po.codantt, "); sb.append(" pd.codantt "); - Query query = getSession().createSQLQuery(sb.toString()) - .addScalar("antt", StringType.INSTANCE) - .addScalar("prefixo", StringType.INSTANCE) - .addScalar("localOrigem", StringType.INSTANCE) - .addScalar("localDestino", StringType.INSTANCE); - query.setResultTransformer(new AliasToBeanResultTransformer(PrefixoAntt.class)); - - query.setParameter("empresaId", empresaId); - - return query.list(); + QueryRunner queryRunner = new QueryRunner(dataSourceRead); + ResultSetHandler> handler = new BeanListHandler(PrefixoAntt.class); + List returnedList = null; + + try { + returnedList = queryRunner.query(sb.toString(), handler, empresaId); + } catch (SQLException e) { + e.printStackTrace(); + } + return returnedList; } - -// private boolean agrupaMovimentoSecoes(List resul, MovimentoSecoes movimentoSecao) { -// -// if (resul.isEmpty()) { -// return true; -// } else { -// for (MovimentoSecoes ms : resul) { -// if (ms.getPrefixo().equals(movimentoSecao.getPrefixo()) && ms.getMes().equals(movimentoSecao.getMes()) -// && ms.getAno().equals(movimentoSecao.getAno()) && ms.getLocalOrigem().equals(movimentoSecao.getLocalOrigem()) -// && ms.getLocalDestino().equals(movimentoSecao.getLocalDestino())) { -// -// ms.setDescontoIdosoIda(ms.getDescontoIdosoIda() + movimentoSecao.getDescontoIdosoIda()); -// ms.setDescontoIdosoVolta(ms.getDescontoIdosoVolta() + movimentoSecao.getDescontoIdosoVolta()); -// -// ms.setGratuidadeIdosoIda(ms.getGratuidadeIdosoIda() + movimentoSecao.getGratuidadeIdosoIda()); -// ms.setGratuidadeIdosoVolta(ms.getGratuidadeIdosoVolta() + movimentoSecao.getGratuidadeIdosoVolta()); -// -// ms.setGratuidadePasseLivreIda(ms.getGratuidadePasseLivreIda() + movimentoSecao.getGratuidadePasseLivreIda()); -// ms.setGratuidadePasseLivreVolta(ms.getGratuidadePasseLivreVolta() + movimentoSecao.getGratuidadePasseLivreVolta()); -// -// ms.setPassageirosIda(ms.getPassageirosIda() + movimentoSecao.getPassageirosIda()); -// ms.setPassageirosVolta(ms.getPassageirosVolta() + movimentoSecao.getPassageirosVolta()); -// -// return false; -// } -// } -// } -// -// return true; -// } - -} +} \ No newline at end of file diff --git a/src/com/rjconsultores/ventaboletos/relatorios/MovimentoSecoes.java b/src/com/rjconsultores/ventaboletos/relatorios/MovimentoSecoes.java index 039b0570b..e174fefb6 100644 --- a/src/com/rjconsultores/ventaboletos/relatorios/MovimentoSecoes.java +++ b/src/com/rjconsultores/ventaboletos/relatorios/MovimentoSecoes.java @@ -53,8 +53,8 @@ public class MovimentoSecoes { return localOrigem; } - public void setLocalOrige(String localOrige) { - this.localOrigem = localOrige; + public void setLocalOrigem(String localOrigem) { + this.localOrigem = localOrigem; } public String getLocalDestino() {