SISDAP Relatório ANTT (fixed bug #5247)
git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@35248 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
400c964c7c
commit
0bc35b3779
|
@ -3,8 +3,6 @@ package com.rjconsultores.ventaboletos.dao;
|
|||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import com.rjconsultores.ventaboletos.entidad.Empresa;
|
||||
|
||||
public interface SisdapDAO {
|
||||
public List<String> getMovimentoLinhas(Date fecInicio, Date fecFinal, Integer empresaId);
|
||||
public List<String> getMovimentoSecoes(Date fecInicio, Date fecFinal, Integer empresaId);
|
||||
|
|
|
@ -14,110 +14,101 @@ import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
|
|||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import com.rjconsultores.ventaboletos.dao.SisdapDAO;
|
||||
import com.rjconsultores.ventaboletos.entidad.Empresa;
|
||||
|
||||
@Repository("sisdapDAO")
|
||||
public class SisdapHibernateDAO extends HibernateDaoSupport implements SisdapDAO {
|
||||
|
||||
@Autowired
|
||||
public SisdapHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
|
||||
setSessionFactory(factory);
|
||||
}
|
||||
|
||||
public SisdapHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
|
||||
setSessionFactory(factory);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getMovimentoLinhas(Date fecInicio, Date fecFinal, Integer empresaId) {
|
||||
|
||||
List<String> movimentoLinhas = new ArrayList<String>();
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
|
||||
StringBuilder qry = new StringBuilder();
|
||||
qry.append("SELECT DISTINCT e.codantt, ");
|
||||
qry.append(" r.prefixo, ");
|
||||
qry.append(" (SELECT Count(DISTINCT bi.origen_id) ");
|
||||
qry.append(" FROM boleto bi ");
|
||||
qry.append(" join ruta ri ");
|
||||
qry.append(" ON ri.ruta_id = bi.ruta_id ");
|
||||
qry.append(" WHERE bi.empresacorrida_id = b.empresacorrida_id ");
|
||||
qry.append(" AND bi.motivocancelacion_id IS NULL ");
|
||||
qry.append(" AND NOT bi.numasiento IS NULL ");
|
||||
qry.append(" AND ri.indsentidoida = 1 ");
|
||||
qry.append(" AND bi.feccorrida between To_date(:fecInicio, 'DD/MM/YYYY') AND To_date(:fecFinal, 'DD/MM/YYYY')) AS ");
|
||||
qry.append(" viagens_ida, ");
|
||||
qry.append(" (SELECT Count(DISTINCT bv.origen_id) ");
|
||||
qry.append(" FROM boleto bv ");
|
||||
qry.append(" join ruta rv ");
|
||||
qry.append(" ON rv.ruta_id = bv.ruta_id ");
|
||||
qry.append(" WHERE bv.empresacorrida_id = b.empresacorrida_id ");
|
||||
qry.append(" AND bv.motivocancelacion_id IS NULL ");
|
||||
qry.append(" AND NOT bv.numasiento IS NULL ");
|
||||
qry.append(" AND rv.indsentidoida = 0 ");
|
||||
qry.append(" AND bv.feccorrida between To_date(:fecInicio, 'DD/MM/YYYY') AND To_date(:fecFinal, 'DD/MM/YYYY')) AS ");
|
||||
qry.append(" viagens_volta, ");
|
||||
qry.append(" (SELECT Nvl(SUM(d.cantasientos), SUM(d2.cantasientos)) ");
|
||||
qry.append(" FROM boleto bi ");
|
||||
qry.append(" join ruta rv ");
|
||||
qry.append(" ON rv.ruta_id = bi.ruta_id ");
|
||||
qry.append(" join corrida c ");
|
||||
qry.append(" ON bi.corrida_id = c.corrida_id ");
|
||||
qry.append(" left join diagrama_autobus d ");
|
||||
qry.append(" ON d.diagramaautobus_id = c.diagramaautobus_id ");
|
||||
qry.append(" left join rol_operativo ro ");
|
||||
qry.append(" ON c.roloperativo_id = ro.roloperativo_id ");
|
||||
qry.append(" left join diagrama_autobus d2 ");
|
||||
qry.append(" ON d2.diagramaautobus_id = ro.diagramaautobus_id ");
|
||||
qry.append(" WHERE bi.empresacorrida_id = b.empresacorrida_id ");
|
||||
qry.append(" AND bi.motivocancelacion_id IS NULL ");
|
||||
qry.append(" AND rv.indsentidoida = 1 ");
|
||||
qry.append(" AND NOT bi.numasiento IS NULL ");
|
||||
qry.append(" AND bi.feccorrida between To_date(:fecInicio, 'DD/MM/YYYY') AND To_date(:fecFinal, 'DD/MM/YYYY')) AS ");
|
||||
qry.append(" lugares_ida, ");
|
||||
qry.append(" (SELECT Nvl(SUM(d.cantasientos), SUM(d2.cantasientos)) ");
|
||||
qry.append(" FROM boleto bv ");
|
||||
qry.append(" join ruta rv ");
|
||||
qry.append(" ON rv.ruta_id = bv.ruta_id ");
|
||||
qry.append(" join corrida c ");
|
||||
qry.append(" ON bv.corrida_id = c.corrida_id ");
|
||||
qry.append(" left join diagrama_autobus d ");
|
||||
qry.append(" ON d.diagramaautobus_id = c.diagramaautobus_id ");
|
||||
qry.append(" left join rol_operativo ro ");
|
||||
qry.append(" ON c.roloperativo_id = ro.roloperativo_id ");
|
||||
qry.append(" left join diagrama_autobus d2 ");
|
||||
qry.append(" ON d2.diagramaautobus_id = ro.diagramaautobus_id ");
|
||||
qry.append(" WHERE bv.empresacorrida_id = b.empresacorrida_id ");
|
||||
qry.append(" AND bv.motivocancelacion_id IS NULL ");
|
||||
qry.append(" AND NOT bv.numasiento IS NULL ");
|
||||
qry.append(" AND rv.indsentidoida = 0 ");
|
||||
qry.append(" AND bv.feccorrida between To_date(:fecInicio, 'DD/MM/YYYY') AND To_date(:fecFinal, 'DD/MM/YYYY')) AS ");
|
||||
qry.append(" lugares_volta ");
|
||||
qry.append("FROM boleto b ");
|
||||
qry.append(" join ruta r ");
|
||||
qry.append(" ON r.ruta_id = b.ruta_id ");
|
||||
qry.append(" join empresa e on e.empresa_id = b.empresacorrida_id ");
|
||||
qry.append("WHERE b.motivocancelacion_id IS NULL ");
|
||||
qry.append(" AND b.numasiento IS NOT NULL ");
|
||||
qry.append(" AND e.codantt IS NOT NULL ");
|
||||
qry.append(" AND e.empresa_id = :empresa_id ");
|
||||
qry.append(" AND b.feccorrida between To_date(:fecInicio, 'DD/MM/YYYY') AND To_date(:fecFinal, 'DD/MM/YYYY') ");
|
||||
|
||||
Query query = getSession().createSQLQuery(qry.toString())
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("select e.codantt, ");
|
||||
sb.append(" r.prefixo, ");
|
||||
sb.append(" nvl(case subviagens.sentido ");
|
||||
sb.append(" when 1 then count(subviagens.ruta) ");
|
||||
sb.append(" end, 0) viagens_ida, ");
|
||||
sb.append(" nvl(case subviagens.sentido ");
|
||||
sb.append(" when 0 then count(subviagens.ruta) ");
|
||||
sb.append(" end, 0) viagens_volta, ");
|
||||
sb.append(" nvl(case subviagens.sentido ");
|
||||
sb.append(" when 1 then ( da.cantasientos * count(subviagens.ruta) ) ");
|
||||
sb.append(" end, 0) lugares_ida, ");
|
||||
sb.append(" nvl(case subviagens.sentido ");
|
||||
sb.append(" when 0 then ( da.cantasientos * count(subviagens.ruta) ) ");
|
||||
sb.append(" end, 0) lugares_volta, ");
|
||||
sb.append(" r.ruta_id, ");
|
||||
sb.append(" e.empresa_id ");
|
||||
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(" (select ru.ruta_id as ruta, ");
|
||||
sb.append(" bo.corrida_id as corrida, ");
|
||||
sb.append(" bo.feccorrida as feccorrida, ");
|
||||
sb.append(" bo.empresacorrida_id as empresacorrida, ");
|
||||
sb.append(" ru.indsentidoida as 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.ruta_id, ");
|
||||
sb.append(" bo.corrida_id, ");
|
||||
sb.append(" bo.feccorrida, ");
|
||||
sb.append(" bo.empresacorrida_id, ");
|
||||
sb.append(" ru.indsentidoida) subviagens ");
|
||||
sb.append("where e.empresa_id = :empresa_id ");
|
||||
sb.append(" and subviagens.ruta = r.ruta_id ");
|
||||
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(" 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(" r.ruta_id, ");
|
||||
sb.append(" e.empresa_id, ");
|
||||
sb.append(" subviagens.sentido ");
|
||||
sb.append("order by r.ruta_id ");
|
||||
|
||||
Query query = getSession().createSQLQuery(sb.toString())
|
||||
.setParameter("fecInicio", sdf.format(fecInicio))
|
||||
.setParameter("fecFinal", sdf.format(fecFinal))
|
||||
.setParameter("empresa_id", empresaId);
|
||||
List<Object[]> result = query.list();
|
||||
|
||||
|
||||
movimentoLinhas.add("empresa;prefixo;mes;ano;viagem_ida;viagem_volta;lugar_ida;lugar_volta");
|
||||
|
||||
|
||||
Calendar cal = Calendar.getInstance();
|
||||
cal.setTime(fecInicio);
|
||||
int month = cal.get(Calendar.MONTH) + 1; // o mês na classe Calendar é zero based
|
||||
int year = cal.get(Calendar.YEAR);
|
||||
|
||||
for (Object[] row : result){
|
||||
|
||||
for (Object[] row : result) {
|
||||
movimentoLinhas.add(row[0].toString() + ";"
|
||||
+ row[1].toString() + ";" +
|
||||
+ month + ";"
|
||||
+ year + ";"
|
||||
+ row[2].toString() + ";"
|
||||
+ row[3].toString() + ";"
|
||||
+ row[4].toString() + ";"
|
||||
+month + ";"
|
||||
+ year + ";"
|
||||
+ row[2].toString() + ";"
|
||||
+ row[3].toString() + ";"
|
||||
+ row[4].toString() + ";"
|
||||
+ row[5].toString());
|
||||
}
|
||||
return movimentoLinhas;
|
||||
|
@ -127,134 +118,108 @@ public class SisdapHibernateDAO extends HibernateDaoSupport implements SisdapDAO
|
|||
public List<String> getMovimentoSecoes(Date fecInicio, Date fecFinal, Integer empresaId) {
|
||||
List<String> movimentoSecoes = new ArrayList<String>();
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
|
||||
StringBuilder qry = new StringBuilder();
|
||||
qry.append("select distinct e.codantt, ");
|
||||
qry.append(" r.prefixo, ");
|
||||
qry.append(" po.codantt as Local_Origem, ");
|
||||
qry.append(" pd.codantt as Local_Destino, ");
|
||||
qry.append(" (select count(bi.boleto_id) ");
|
||||
qry.append(" from boleto bi ");
|
||||
qry.append(" join ruta ri ");
|
||||
qry.append(" on ri.ruta_id = bi.ruta_id ");
|
||||
qry.append(" where bi.empresacorrida_id = b.empresacorrida_id ");
|
||||
qry.append(" and bi.motivocancelacion_id is null ");
|
||||
qry.append(" and not bi.numasiento is null ");
|
||||
qry.append(" and ri.indsentidoida = 1 ");
|
||||
qry.append(" and bi.feccorrida between To_date(:fecInicio, 'DD/MM/YYYY') AND To_date(:fecFinal, 'DD/MM/YYYY')) as passageiros_ida, ");
|
||||
qry.append(" (select count(bi.boleto_id) ");
|
||||
qry.append(" from boleto bi ");
|
||||
qry.append(" join ruta ri ");
|
||||
qry.append(" on ri.ruta_id = bi.ruta_id ");
|
||||
qry.append(" where bi.empresacorrida_id = b.empresacorrida_id ");
|
||||
qry.append(" and bi.motivocancelacion_id is null ");
|
||||
qry.append(" and not bi.numasiento is null ");
|
||||
qry.append(" and ri.indsentidoida = 0 ");
|
||||
qry.append(" and bi.feccorrida between To_date(:fecInicio, 'DD/MM/YYYY') AND To_date(:fecFinal, 'DD/MM/YYYY')) as passageiros_volta, ");
|
||||
qry.append(" (select nvl(sum(bi.categoria_id), 0) ");
|
||||
qry.append(" from boleto bi ");
|
||||
qry.append(" join ruta ri ");
|
||||
qry.append(" on ri.ruta_id = bi.ruta_id ");
|
||||
qry.append(" where bi.empresacorrida_id = b.empresacorrida_id ");
|
||||
qry.append(" and bi.motivocancelacion_id is null ");
|
||||
qry.append(" and not bi.numasiento is null ");
|
||||
qry.append(" and ri.indsentidoida = 1 ");
|
||||
qry.append(" and bi.feccorrida between To_date(:fecInicio, 'DD/MM/YYYY') AND To_date(:fecFinal, 'DD/MM/YYYY') ");
|
||||
qry.append(" and bi.categoria_id = 2) as gratuidade_passe_livre_ida, ");
|
||||
qry.append(" (select nvl(sum(bi.categoria_id), 0) ");
|
||||
qry.append(" from boleto bi ");
|
||||
qry.append(" join ruta ri ");
|
||||
qry.append(" on ri.ruta_id = bi.ruta_id ");
|
||||
qry.append(" where bi.empresacorrida_id = b.empresacorrida_id ");
|
||||
qry.append(" and bi.motivocancelacion_id is null ");
|
||||
qry.append(" and not bi.numasiento is null ");
|
||||
qry.append(" and ri.indsentidoida = 0 ");
|
||||
qry.append(" and bi.feccorrida between To_date(:fecInicio, 'DD/MM/YYYY') AND To_date(:fecFinal, 'DD/MM/YYYY') ");
|
||||
qry.append(" and bi.categoria_id = 2) as gratuidade_passe_livre_volta, ");
|
||||
qry.append(" (select nvl(sum(bi.categoria_id), 0) ");
|
||||
qry.append(" from boleto bi ");
|
||||
qry.append(" join ruta ri ");
|
||||
qry.append(" on ri.ruta_id = bi.ruta_id ");
|
||||
qry.append(" where bi.empresacorrida_id = b.empresacorrida_id ");
|
||||
qry.append(" and bi.motivocancelacion_id is null ");
|
||||
qry.append(" and not bi.numasiento is null ");
|
||||
qry.append(" and ri.indsentidoida = 1 ");
|
||||
qry.append(" and bi.feccorrida between To_date(:fecInicio, 'DD/MM/YYYY') AND To_date(:fecFinal, 'DD/MM/YYYY') ");
|
||||
qry.append(" and bi.categoria_id = 1) as gratuidade_idoso_ida, ");
|
||||
qry.append(" (select nvl(sum(bi.categoria_id), 0) ");
|
||||
qry.append(" from boleto bi ");
|
||||
qry.append(" join ruta ri ");
|
||||
qry.append(" on ri.ruta_id = bi.ruta_id ");
|
||||
qry.append(" where bi.empresacorrida_id = b.empresacorrida_id ");
|
||||
qry.append(" and bi.motivocancelacion_id is null ");
|
||||
qry.append(" and not bi.numasiento is null ");
|
||||
qry.append(" and ri.indsentidoida = 0 ");
|
||||
qry.append(" and bi.feccorrida between To_date(:fecInicio, 'DD/MM/YYYY') AND To_date(:fecFinal, 'DD/MM/YYYY') ");
|
||||
qry.append(" and bi.categoria_id = 1) as gratuidade_idoso_volta, ");
|
||||
qry.append(" (select nvl(sum(bi.categoria_id), 0) ");
|
||||
qry.append(" from boleto bi ");
|
||||
qry.append(" join ruta ri ");
|
||||
qry.append(" on ri.ruta_id = bi.ruta_id ");
|
||||
qry.append(" where bi.empresacorrida_id = b.empresacorrida_id ");
|
||||
qry.append(" and bi.motivocancelacion_id is null ");
|
||||
qry.append(" and not bi.numasiento is null ");
|
||||
qry.append(" and ri.indsentidoida = 1 ");
|
||||
qry.append(" and bi.feccorrida between To_date(:fecInicio, 'DD/MM/YYYY') AND To_date(:fecFinal, 'DD/MM/YYYY') ");
|
||||
qry.append(" and bi.categoria_id = 3) as desconto_idoso_ida, ");
|
||||
qry.append(" (select nvl(sum(bi.categoria_id), 0) ");
|
||||
qry.append(" from boleto bi ");
|
||||
qry.append(" join ruta ri ");
|
||||
qry.append(" on ri.ruta_id = bi.ruta_id ");
|
||||
qry.append(" where bi.empresacorrida_id = b.empresacorrida_id ");
|
||||
qry.append(" and bi.motivocancelacion_id is null ");
|
||||
qry.append(" and not bi.numasiento is null ");
|
||||
qry.append(" and ri.indsentidoida = 0 ");
|
||||
qry.append(" and bi.feccorrida between To_date(:fecInicio, 'DD/MM/YYYY') AND To_date(:fecFinal, 'DD/MM/YYYY') ");
|
||||
qry.append(" and bi.categoria_id = 3) as desconto_idoso_volta ");
|
||||
qry.append("from boleto b ");
|
||||
qry.append(" join ruta r ");
|
||||
qry.append(" on r.ruta_id = b.ruta_id ");
|
||||
qry.append(" join parada po ");
|
||||
qry.append(" on po.parada_id = b.origen_id ");
|
||||
qry.append(" join parada pd ");
|
||||
qry.append(" on pd.parada_id = b.destino_id ");
|
||||
qry.append(" join empresa e on e.empresa_id = b.empresacorrida_id ");
|
||||
qry.append("where b.motivocancelacion_id is null ");
|
||||
qry.append(" and b.numasiento IS NOT NULL ");
|
||||
qry.append(" AND e.codantt IS NOT NULL ");
|
||||
qry.append(" AND e.empresa_id = :empresa_id ");
|
||||
qry.append(" and b.feccorrida between To_date(:fecInicio, 'DD/MM/YYYY') AND To_date(:fecFinal, 'DD/MM/YYYY') ");
|
||||
|
||||
Query query = getSession().createSQLQuery(qry.toString())
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("select distinct e.codantt, ");
|
||||
sb.append(" r.ruta_id, ");
|
||||
sb.append(" r.prefixo, ");
|
||||
sb.append(" po.codantt as local_origem, ");
|
||||
sb.append(" pd.codantt as local_destino, ");
|
||||
sb.append(" nvl(case r.indsentidoida ");
|
||||
sb.append(" when 1 then count(*) ");
|
||||
sb.append(" end, 0) passageiros_ida, ");
|
||||
sb.append(" nvl(case r.indsentidoida ");
|
||||
sb.append(" when 0 then count(*) ");
|
||||
sb.append(" end, 0) passageiros_volta, ");
|
||||
sb.append(" nvl(case ");
|
||||
sb.append(" when r.indsentidoida = 1 ");
|
||||
sb.append(" and b.categoria_id in (select categoria_id ");
|
||||
sb.append(" from categoria ");
|
||||
sb.append(" where grupocategoria_id in ( 1, 2 )) then count(*) ");
|
||||
sb.append(" end, 0) gratuidade_passe_livre_ida, ");
|
||||
sb.append(" nvl(case ");
|
||||
sb.append(" when r.indsentidoida = 0 ");
|
||||
sb.append(" and b.categoria_id in (select categoria_id ");
|
||||
sb.append(" from categoria ");
|
||||
sb.append(" where grupocategoria_id in ( 1, 2 )) then count(*) ");
|
||||
sb.append(" end, 0) gratuidade_passe_livre_volta, ");
|
||||
sb.append(" nvl(case ");
|
||||
sb.append(" when r.indsentidoida = 1 ");
|
||||
sb.append(" and b.categoria_id in (select categoria_id ");
|
||||
sb.append(" from categoria ");
|
||||
sb.append(" where grupocategoria_id = 1) then count(*) ");
|
||||
sb.append(" end, 0) gratuidade_idoso_ida, ");
|
||||
sb.append(" nvl(case ");
|
||||
sb.append(" when r.indsentidoida = 0 ");
|
||||
sb.append(" and b.categoria_id in (select categoria_id ");
|
||||
sb.append(" from categoria ");
|
||||
sb.append(" where grupocategoria_id = 1) then count(*) ");
|
||||
sb.append(" end, 0) gratuidade_idoso_volta, ");
|
||||
sb.append(" nvl(case ");
|
||||
sb.append(" when r.indsentidoida = 1 ");
|
||||
sb.append(" and b.categoria_id in (select categoria_id ");
|
||||
sb.append(" from categoria ");
|
||||
sb.append(" where grupocategoria_id = 3) then count(*) ");
|
||||
sb.append(" end, 0) desconto_idoso_ida, ");
|
||||
sb.append(" nvl(case ");
|
||||
sb.append(" when r.indsentidoida = 0 ");
|
||||
sb.append(" and b.categoria_id in (select categoria_id ");
|
||||
sb.append(" from categoria ");
|
||||
sb.append(" where grupocategoria_id = 3) then count(*) ");
|
||||
sb.append(" end, 0) desconto_idoso_volta ");
|
||||
sb.append("from boleto b ");
|
||||
sb.append(" join ruta r ");
|
||||
sb.append(" on r.ruta_id = b.ruta_id ");
|
||||
sb.append(" join parada po ");
|
||||
sb.append(" on po.parada_id = b.origen_id ");
|
||||
sb.append(" join parada pd ");
|
||||
sb.append(" on pd.parada_id = b.destino_id ");
|
||||
sb.append(" join empresa e ");
|
||||
sb.append(" on e.empresa_id = b.empresacorrida_id ");
|
||||
sb.append("where b.numasiento is not null ");
|
||||
sb.append(" and b.motivocancelacion_id is null ");
|
||||
sb.append(" and e.codantt is not null ");
|
||||
sb.append(" and e.empresa_id = :empresa_id ");
|
||||
sb.append(" and b.feccorrida between to_date(:fecInicio, 'DD/MM/YYYY') and to_date(:fecFinal, 'DD/MM/YYYY') ");
|
||||
sb.append("group by e.codantt, ");
|
||||
sb.append(" r.ruta_id, ");
|
||||
sb.append(" r.prefixo, ");
|
||||
sb.append(" po.codantt, ");
|
||||
sb.append(" pd.codantt, ");
|
||||
sb.append(" r.indsentidoida, ");
|
||||
sb.append(" b.categoria_id ");
|
||||
|
||||
Query query = getSession().createSQLQuery(sb.toString())
|
||||
.setParameter("fecInicio", sdf.format(fecInicio))
|
||||
.setParameter("fecFinal", sdf.format(fecFinal))
|
||||
.setParameter("empresa_id", empresaId);
|
||||
List<Object[]> result = query.list();
|
||||
|
||||
movimentoSecoes.add("empresa;prefixo;local_origem;local_destino;mes;ano;passageiro_ida;passageiro_volta;gratuidade_ida"+
|
||||
List<Object[]> result = query.list();
|
||||
|
||||
movimentoSecoes.add("empresa;prefixo;local_origem;local_destino;mes;ano;passageiro_ida;passageiro_volta;gratuidade_ida" +
|
||||
";gratuidade_volta;idoso_ida;idoso_volta;desconto_ida;desconto_volta ");
|
||||
|
||||
|
||||
Calendar cal = Calendar.getInstance();
|
||||
cal.setTime(fecInicio);
|
||||
int month = cal.get(Calendar.MONTH) + 1; // o mês na classe Calendar é zero based
|
||||
int year = cal.get(Calendar.YEAR);
|
||||
|
||||
for (Object[] row : result){
|
||||
|
||||
for (Object[] row : result) {
|
||||
movimentoSecoes.add(row[0].toString() + ";"
|
||||
+ row[1].toString() + ";"
|
||||
+ row[2].toString() + ";"
|
||||
+ row[3].toString() + ";"
|
||||
+ month + ";"
|
||||
+ year + ";"
|
||||
+ row[4].toString() + ";"
|
||||
+ row[1].toString() + ";"
|
||||
+ row[2].toString() + ";"
|
||||
+ row[3].toString() + ";"
|
||||
+ month + ";"
|
||||
+ year + ";"
|
||||
+ row[4].toString() + ";"
|
||||
+ row[5].toString() + ";"
|
||||
+ row[6].toString() + ";"
|
||||
+ row[6].toString() + ";"
|
||||
+ row[7].toString() + ";"
|
||||
+ row[8].toString() + ";"
|
||||
+ row[8].toString() + ";"
|
||||
+ row[9].toString() + ";"
|
||||
+ row[10].toString() + ";"
|
||||
+ row[10].toString() + ";"
|
||||
+ row[11].toString());
|
||||
}
|
||||
|
||||
|
||||
return movimentoSecoes;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue