conclusão mantis 6895
fixes bug 6895 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@50816 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
e9f5b3d878
commit
5ffbd2aba5
|
@ -1,5 +1,6 @@
|
||||||
package com.rjconsultores.ventaboletos.dao.hibernate;
|
package com.rjconsultores.ventaboletos.dao.hibernate;
|
||||||
|
|
||||||
|
import java.sql.SQLException;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
@ -8,6 +9,11 @@ import java.util.Date;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
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.apache.commons.lang.math.NumberUtils;
|
||||||
import org.hibernate.Query;
|
import org.hibernate.Query;
|
||||||
import org.hibernate.SessionFactory;
|
import org.hibernate.SessionFactory;
|
||||||
|
@ -25,14 +31,12 @@ import com.rjconsultores.ventaboletos.relatorios.MovimentoSecoes;
|
||||||
import com.rjconsultores.ventaboletos.relatorios.PrefixoAntt;
|
import com.rjconsultores.ventaboletos.relatorios.PrefixoAntt;
|
||||||
|
|
||||||
@Repository("sisdapDAO")
|
@Repository("sisdapDAO")
|
||||||
public class SisdapHibernateDAO extends HibernateDaoSupport implements SisdapDAO {
|
public class SisdapHibernateDAO implements SisdapDAO {
|
||||||
|
|
||||||
private static String HYPHEN = "-";
|
private static String HYPHEN = "-";
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
public SisdapHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
|
private DataSource dataSourceRead;
|
||||||
setSessionFactory(factory);
|
|
||||||
}
|
|
||||||
|
|
||||||
@SuppressWarnings({ "unchecked", "rawtypes" })
|
@SuppressWarnings({ "unchecked", "rawtypes" })
|
||||||
@Override
|
@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 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 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(" 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 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(" and c.feccorrida between to_date(?, 'DD/MM/YYYY') and ");
|
||||||
sb.append(" to_date(:fecFinal, 'DD/MM/YYYY') ");
|
sb.append(" to_date(?, 'DD/MM/YYYY') ");
|
||||||
sb.append("group by e.codantt, r.prefixo, r.indsentidoida, ");
|
sb.append("group by e.codantt, r.prefixo, r.indsentidoida, ");
|
||||||
sb.append(" to_char(c.feccorrida, 'MM'), to_char(c.feccorrida, 'yyyy') ");
|
sb.append(" to_char(c.feccorrida, 'MM'), to_char(c.feccorrida, 'yyyy') ");
|
||||||
sb.append("order by mes, ano, e.codantt, r.prefixo, viagensida, viagensvolta ");
|
sb.append("order by mes, ano, e.codantt, r.prefixo, viagensida, viagensvolta ");
|
||||||
|
|
||||||
Query query = getSession().createSQLQuery(sb.toString())
|
QueryRunner queryRunner = new QueryRunner(dataSourceRead);
|
||||||
.addScalar("antt", StringType.INSTANCE)
|
ResultSetHandler<List<MovimentoLinha>> handler = new BeanListHandler<MovimentoLinha>(MovimentoLinha.class);
|
||||||
.addScalar("prefixo", StringType.INSTANCE)
|
List<MovimentoLinha> returnedList = null;
|
||||||
.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));
|
try {
|
||||||
query.setParameter("fecFinal", sdf.format(fecFinal));
|
returnedList = queryRunner.query(sb.toString(), handler, empresaId, sdf.format(fecInicio), sdf.format(fecFinal));
|
||||||
query.setParameter("empresaId", empresaId);
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
return query.list();
|
return returnedList;
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<PrefixoAntt> buscaPrefixoEmpresa(Integer empresaId) {
|
private List<PrefixoAntt> 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 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 empresa e on m.empresa_id = e.empresa_id ");
|
||||||
sb.append(" left join ruta r on re.ruta_id = r.ruta_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(" and re.activo = 1 and r.activo = 1 ");
|
||||||
sb.append(" group by e.codantt, r.prefixo ");
|
sb.append(" group by e.codantt, r.prefixo ");
|
||||||
sb.append(" order by e.codantt, r.prefixo ");
|
sb.append(" order by e.codantt, r.prefixo ");
|
||||||
|
|
||||||
Query query = getSession().createSQLQuery(sb.toString())
|
|
||||||
.addScalar("antt", StringType.INSTANCE)
|
|
||||||
.addScalar("prefixo", StringType.INSTANCE);
|
|
||||||
query.setResultTransformer(new AliasToBeanResultTransformer(PrefixoAntt.class));
|
|
||||||
|
|
||||||
query.setParameter("empresaId", empresaId);
|
QueryRunner queryRunner = new QueryRunner(dataSourceRead);
|
||||||
|
ResultSetHandler<List<PrefixoAntt>> handler = new BeanListHandler<PrefixoAntt>(PrefixoAntt.class);
|
||||||
|
List<PrefixoAntt> returnedList = null;
|
||||||
|
|
||||||
return query.list();
|
try {
|
||||||
|
returnedList = queryRunner.query(sb.toString(), handler, empresaId);
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
return returnedList;
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean agrupaMovimentoLinhas(List<MovimentoLinha> resul, MovimentoLinha movimentoLinha) {
|
private boolean agrupaMovimentoLinhas(List<MovimentoLinha> resul, MovimentoLinha movimentoLinha) {
|
||||||
|
@ -218,7 +221,6 @@ public class SisdapHibernateDAO extends HibernateDaoSupport implements SisdapDAO
|
||||||
@SuppressWarnings({ "rawtypes", "unchecked" })
|
@SuppressWarnings({ "rawtypes", "unchecked" })
|
||||||
@Override
|
@Override
|
||||||
public List<String> getMovimentoSecoes(Date fecInicio, Date fecFinal, Integer empresaId) {
|
public List<String> getMovimentoSecoes(Date fecInicio, Date fecFinal, Integer empresaId) {
|
||||||
|
|
||||||
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>();
|
||||||
|
@ -261,8 +263,23 @@ public class SisdapHibernateDAO extends HibernateDaoSupport implements SisdapDAO
|
||||||
String origem = volta.getLocalOrigem();
|
String origem = volta.getLocalOrigem();
|
||||||
String destino = volta.getLocalDestino();
|
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.setLocalDestino(origem);
|
||||||
volta.setLocalOrige(destino);
|
volta.setLocalOrigem(destino);
|
||||||
listResultIdaVoltaInvertida.add(volta);
|
listResultIdaVoltaInvertida.add(volta);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -309,7 +326,7 @@ public class SisdapHibernateDAO extends HibernateDaoSupport implements SisdapDAO
|
||||||
ms.setAntt(prefixoAntt.getAntt());
|
ms.setAntt(prefixoAntt.getAntt());
|
||||||
ms.setPrefixo(prefixoAntt.getPrefixo());
|
ms.setPrefixo(prefixoAntt.getPrefixo());
|
||||||
ms.setLocalDestino(prefixoAntt.getLocalDestino());
|
ms.setLocalDestino(prefixoAntt.getLocalDestino());
|
||||||
ms.setLocalOrige(prefixoAntt.getLocalOrigem());
|
ms.setLocalOrigem(prefixoAntt.getLocalOrigem());
|
||||||
|
|
||||||
ms.setDescontoIdosoIda(NumberUtils.INTEGER_ZERO);
|
ms.setDescontoIdosoIda(NumberUtils.INTEGER_ZERO);
|
||||||
ms.setDescontoIdosoVolta(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 po ON po.parada_id = b.origen_id ");
|
||||||
sb.append(" left outer join parada pd ON pd.parada_id = b.destino_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 re.activo = 1 ");
|
||||||
sb.append(" AND r.activo = 1 ");
|
sb.append(" AND r.activo = 1 ");
|
||||||
sb.append(" AND r.orgaoconcedente_id = 3 ");
|
sb.append(" AND r.orgaoconcedente_id = 3 ");
|
||||||
sb.append(" AND b.numasiento IS NOT NULL ");
|
sb.append(" AND b.numasiento IS NOT NULL ");
|
||||||
sb.append(" AND b.motivocancelacion_id IS NULL ");
|
sb.append(" AND b.motivocancelacion_id IS NULL ");
|
||||||
sb.append(" AND e.codantt IS NOT 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(" AND b.categoria_id <> (select valorconstante from constante where NOMBCONSTANTE = 'GRATUIDADE_CRIANCA')");
|
||||||
sb.append(" GROUP BY e.codantt, ");
|
sb.append(" GROUP BY e.codantt, ");
|
||||||
sb.append(" r.prefixo, ");
|
sb.append(" r.prefixo, ");
|
||||||
|
@ -486,29 +503,18 @@ public class SisdapHibernateDAO extends HibernateDaoSupport implements SisdapDAO
|
||||||
sb.append(" localOrigem, ");
|
sb.append(" localOrigem, ");
|
||||||
sb.append(" localDestino ");
|
sb.append(" localDestino ");
|
||||||
|
|
||||||
Query query = getSession().createSQLQuery(sb.toString())
|
QueryRunner queryRunner = new QueryRunner(dataSourceRead);
|
||||||
.addScalar("antt", StringType.INSTANCE)
|
ResultSetHandler<List<MovimentoSecoes>> handler = new BeanListHandler<MovimentoSecoes>(MovimentoSecoes.class);
|
||||||
.addScalar("prefixo", StringType.INSTANCE)
|
List<MovimentoSecoes> returnedList = null;
|
||||||
.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));
|
try {
|
||||||
|
returnedList = queryRunner.query(sb.toString(), handler, empresaId, sdf.format(fecInicio), sdf.format(fecFinal));
|
||||||
|
|
||||||
query.setParameter("fecInicio", sdf.format(fecInicio));
|
} catch (SQLException e) {
|
||||||
query.setParameter("fecFinal", sdf.format(fecFinal));
|
e.printStackTrace();
|
||||||
query.setParameter("empresaId", empresaId);
|
}
|
||||||
|
|
||||||
return query.list();
|
return returnedList;
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<PrefixoAntt> buscaPrefixoEmpresaOrigenDestino(Integer empresaId) {
|
private List<PrefixoAntt> 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(" ON re.ruta_id = ru.ruta_id, ");
|
||||||
sb.append(" parada po, ");
|
sb.append(" parada po, ");
|
||||||
sb.append(" parada pd ");
|
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 ru.orgaoconcedente_id = 3 ");
|
||||||
sb.append(" AND re.activo = 1 ");
|
sb.append(" AND re.activo = 1 ");
|
||||||
sb.append(" AND ru.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(" po.codantt, ");
|
||||||
sb.append(" pd.codantt ");
|
sb.append(" pd.codantt ");
|
||||||
|
|
||||||
Query query = getSession().createSQLQuery(sb.toString())
|
QueryRunner queryRunner = new QueryRunner(dataSourceRead);
|
||||||
.addScalar("antt", StringType.INSTANCE)
|
ResultSetHandler<List<PrefixoAntt>> handler = new BeanListHandler<PrefixoAntt>(PrefixoAntt.class);
|
||||||
.addScalar("prefixo", StringType.INSTANCE)
|
|
||||||
.addScalar("localOrigem", StringType.INSTANCE)
|
|
||||||
.addScalar("localDestino", StringType.INSTANCE);
|
|
||||||
query.setResultTransformer(new AliasToBeanResultTransformer(PrefixoAntt.class));
|
|
||||||
|
|
||||||
query.setParameter("empresaId", empresaId);
|
List<PrefixoAntt> returnedList = null;
|
||||||
|
|
||||||
return query.list();
|
|
||||||
|
|
||||||
|
try {
|
||||||
|
returnedList = queryRunner.query(sb.toString(), handler, empresaId);
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return returnedList;
|
||||||
}
|
}
|
||||||
|
|
||||||
// private boolean agrupaMovimentoSecoes(List<MovimentoSecoes> 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;
|
|
||||||
// }
|
|
||||||
|
|
||||||
}
|
}
|
|
@ -53,8 +53,8 @@ public class MovimentoSecoes {
|
||||||
return localOrigem;
|
return localOrigem;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setLocalOrige(String localOrige) {
|
public void setLocalOrigem(String localOrigem) {
|
||||||
this.localOrigem = localOrige;
|
this.localOrigem = localOrigem;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getLocalDestino() {
|
public String getLocalDestino() {
|
||||||
|
|
Loading…
Reference in New Issue