alexandre.lima 2017-10-24 16:55:58 +00:00
parent 8e157ad4ed
commit 03c5f9e41c
4 changed files with 47 additions and 16 deletions

View File

@ -5,5 +5,5 @@ import java.util.List;
public interface SisdapDAO {
public List<String> getMovimentoLinhas(Date fecInicio, Date fecFinal, Integer empresaId);
public List<String> getMovimentoSecoes(Date fecInicio, Date fecFinal, Integer empresaId);
public List<String> getMovimentoSecoes(Date fecInicio, Date fecFinal, Integer empresaId, List<Object> pesquisaDescontoIdoso, List<Object> pesquisaGratuidadeIdoso, List<Object> pesquisaDescontoJovem, List<Object> pesquisaGratuidadeJovem);
}

View File

@ -8,6 +8,7 @@ import java.util.Comparator;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Set;
import javax.sql.DataSource;
@ -19,6 +20,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import com.rjconsultores.ventaboletos.dao.SisdapDAO;
import com.rjconsultores.ventaboletos.entidad.Categoria;
import com.rjconsultores.ventaboletos.relatorios.MovimentoLinha;
import com.rjconsultores.ventaboletos.relatorios.MovimentoSecoes;
import com.rjconsultores.ventaboletos.relatorios.PrefixoAntt;
@ -213,8 +215,8 @@ public class SisdapHibernateDAO implements SisdapDAO {
@SuppressWarnings({ "rawtypes", "unchecked" })
@Override
public List<String> getMovimentoSecoes(Date fecInicio, Date fecFinal, Integer empresaId) {
List<MovimentoSecoes> listResultConsulta = consultaMovimentoSecoes(fecInicio, fecFinal, empresaId);
public List<String> getMovimentoSecoes(Date fecInicio, Date fecFinal, Integer empresaId, List<Object> pesquisaDescontoIdoso, List<Object> pesquisaGratuidadeIdoso, List<Object> pesquisaDescontoJovem, List<Object> pesquisaGratuidadeJovem) {
List<MovimentoSecoes> listResultConsulta = consultaMovimentoSecoes(fecInicio, fecFinal, empresaId, pesquisaDescontoIdoso, pesquisaGratuidadeIdoso, pesquisaDescontoJovem, pesquisaGratuidadeJovem);
List<MovimentoSecoes> listResultIdaVoltaInvertida = new ArrayList<MovimentoSecoes>();
List<MovimentoSecoes> listVoltasSemIda = new ArrayList<MovimentoSecoes>();
@ -373,10 +375,34 @@ public class SisdapHibernateDAO implements SisdapDAO {
return (somaVolta.intValue() == 0) && (somaIda.intValue() > 0);
}
private List<MovimentoSecoes> consultaMovimentoSecoes(Date fecInicio, Date fecFinal, Integer empresaId) {
private List<MovimentoSecoes> consultaMovimentoSecoes(Date fecInicio, Date fecFinal, Integer empresaId, List<Object> pesquisaDescontoIdoso, List<Object> pesquisaGratuidadeIdoso, List<Object> pesquisaDescontoJovem, List<Object> pesquisaGratuidadeJovem) {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
String gratuidadeIdoso = "";
for (Object categoria : pesquisaGratuidadeIdoso) {
gratuidadeIdoso += ((Categoria) categoria).getCategoriaId() + ",";
}
gratuidadeIdoso = gratuidadeIdoso.substring(0, gratuidadeIdoso.length()-1);
String descontoIdoso = "";
for (Object categoria : pesquisaDescontoIdoso) {
descontoIdoso += ((Categoria) categoria).getCategoriaId() + ",";
}
descontoIdoso = descontoIdoso.substring(0, descontoIdoso.length()-1);
String gratuidadeJovem = "";
for (Object categoria : pesquisaGratuidadeJovem) {
gratuidadeJovem += ((Categoria) categoria).getCategoriaId() + ",";
}
gratuidadeJovem = gratuidadeJovem.substring(0, gratuidadeJovem.length()-1);
String descontoJovem = "";
for (Object categoria : pesquisaDescontoJovem) {
descontoJovem += ((Categoria) categoria).getCategoriaId() + ",";
}
descontoJovem = descontoJovem.substring(0, descontoJovem.length()-1);
StringBuilder sb = new StringBuilder();
sb.append("SELECT subAlias.antt, ");
sb.append(" subAlias.prefixo, ");
@ -430,15 +456,16 @@ public class SisdapHibernateDAO implements SisdapDAO {
sb.append(" Nvl(CASE WHEN r.indsentidoida = 0 AND b.categoria_id IN (SELECT categoria_id FROM categoria WHERE grupocategoria_id IS NULL) THEN Count(*) END, 0) passageirosvolta, ");
sb.append(" Nvl(CASE WHEN r.indsentidoida = 1 AND b.categoria_id IN (SELECT categoria_id FROM categoria WHERE grupocategoria_id IN ( 2 )) THEN Count(*) END, 0) gratuidadepasselivreida, ");
sb.append(" Nvl(CASE WHEN r.indsentidoida = 0 AND b.categoria_id IN (SELECT categoria_id FROM categoria WHERE grupocategoria_id IN ( 2 )) THEN Count(*) END, 0) gratuidadepasselivrevolta, ");
sb.append(" Nvl(CASE WHEN r.indsentidoida = 1 AND b.categoria_id IN (SELECT categoria_id FROM categoria WHERE grupocategoria_id IN ( 1 )) THEN Count(*) END, 0) gratuidadeidosoida, ");
sb.append(" Nvl(CASE WHEN r.indsentidoida = 0 AND b.categoria_id IN (SELECT categoria_id FROM categoria WHERE grupocategoria_id IN ( 1 )) THEN Count(*) END, 0) gratuidadeidosovolta, ");
sb.append(" Nvl(CASE WHEN r.indsentidoida = 1 AND b.categoria_id IN (SELECT categoria_id FROM categoria WHERE grupocategoria_id IN ( 3 )) THEN Count(*) END, 0) descontoidosoida, ");
sb.append(" Nvl(CASE WHEN r.indsentidoida = 0 AND b.categoria_id IN (SELECT categoria_id FROM categoria WHERE grupocategoria_id IN ( 3 )) THEN Count(*) END, 0) descontoidosovolta, ");
sb.append(" Nvl(CASE WHEN r.indsentidoida = 1 AND b.categoria_id IN (SELECT categoria_id FROM categoria WHERE grupocategoria_id IN ( 10 )) THEN Count(*) END, 0) gratuidadejovenida, ");
sb.append(" Nvl(CASE WHEN r.indsentidoida = 0 AND b.categoria_id IN (SELECT categoria_id FROM categoria WHERE grupocategoria_id IN ( 10 )) THEN Count(*) END, 0) gratuidadejovenvolta, ");
sb.append(" Nvl(CASE WHEN r.indsentidoida = 1 AND b.categoria_id IN (SELECT categoria_id FROM categoria WHERE grupocategoria_id IN ( 11 )) THEN Count(*) END, 0) descontojovenida, ");
sb.append(" Nvl(CASE WHEN r.indsentidoida = 0 AND b.categoria_id IN (SELECT categoria_id FROM categoria WHERE grupocategoria_id IN ( 11 )) THEN Count(*) END, 0) descontojovenvolta ");
sb.append(" Nvl(CASE WHEN r.indsentidoida = 1 AND b.categoria_id IN (SELECT categoria_id FROM categoria WHERE grupocategoria_id IN ( " + gratuidadeIdoso + " )) THEN Count(*) END, 0) gratuidadeidosoida, ");
sb.append(" Nvl(CASE WHEN r.indsentidoida = 0 AND b.categoria_id IN (SELECT categoria_id FROM categoria WHERE grupocategoria_id IN ( " + gratuidadeIdoso + " )) THEN Count(*) END, 0) gratuidadeidosovolta, ");
sb.append(" Nvl(CASE WHEN r.indsentidoida = 1 AND b.categoria_id IN (SELECT categoria_id FROM categoria WHERE grupocategoria_id IN ( " + descontoIdoso + " )) THEN Count(*) END, 0) descontoidosoida, ");
sb.append(" Nvl(CASE WHEN r.indsentidoida = 0 AND b.categoria_id IN (SELECT categoria_id FROM categoria WHERE grupocategoria_id IN ( " + descontoIdoso + " )) THEN Count(*) END, 0) descontoidosovolta, ");
sb.append(" Nvl(CASE WHEN r.indsentidoida = 1 AND b.categoria_id IN (SELECT categoria_id FROM categoria WHERE grupocategoria_id IN ( " + gratuidadeJovem + " )) THEN Count(*) END, 0) gratuidadejovenida, ");
sb.append(" Nvl(CASE WHEN r.indsentidoida = 0 AND b.categoria_id IN (SELECT categoria_id FROM categoria WHERE grupocategoria_id IN ( " + gratuidadeJovem + " )) THEN Count(*) END, 0) gratuidadejovenvolta, ");
sb.append(" Nvl(CASE WHEN r.indsentidoida = 1 AND b.categoria_id IN (SELECT categoria_id FROM categoria WHERE grupocategoria_id IN ( " + descontoJovem + " )) THEN Count(*) END, 0) descontojovenida, ");
sb.append(" Nvl(CASE WHEN r.indsentidoida = 0 AND b.categoria_id IN (SELECT categoria_id FROM categoria WHERE grupocategoria_id IN ( " + descontoJovem + " )) THEN Count(*) END, 0) descontojovenvolta ");
sb.append(" FROM ruta_empresa re ");
sb.append(" left join marca m ON m.empresa_id = re.empresa_id ");

View File

@ -3,9 +3,11 @@ package com.rjconsultores.ventaboletos.service;
import java.util.Date;
import java.util.List;
import com.rjconsultores.ventaboletos.entidad.Categoria;
public interface SisdapService {
public List<String> getMovimentoLinhas(Date fecInicio, Date fecFinal, Integer empresaId);
public List<String> getMovimentoSecoes(Date fecInicio, Date fecFinal, Integer empresaId);
public List<String> getMovimentoSecoes(Date fecInicio, Date fecFinal, Integer empresaId, List<Object> pesquisaDescontoIdoso, List<Object> pesquisaGratuidadeIdoso, List<Object> pesquisaDescontoJovem, List<Object> pesquisaGratuidadeJovem);
}

View File

@ -2,11 +2,13 @@ package com.rjconsultores.ventaboletos.service.impl;
import java.util.Date;
import java.util.List;
import java.util.Set;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.rjconsultores.ventaboletos.dao.SisdapDAO;
import com.rjconsultores.ventaboletos.entidad.Categoria;
import com.rjconsultores.ventaboletos.service.SisdapService;
@Service("sisdapService")
@ -21,8 +23,8 @@ public class SisdapServiceImpl implements SisdapService{
}
@Override
public List<String> getMovimentoSecoes(Date fecInicio, Date fecFinal, Integer empresaId) {
return sisdapDAO.getMovimentoSecoes(fecInicio, fecFinal, empresaId);
public List<String> getMovimentoSecoes(Date fecInicio, Date fecFinal, Integer empresaId, List<Object> pesquisaDescontoIdoso, List<Object> pesquisaGratuidadeIdoso, List<Object> pesquisaDescontoJovem, List<Object> pesquisaGratuidadeJovem) {
return sisdapDAO.getMovimentoSecoes(fecInicio, fecFinal, empresaId, pesquisaDescontoIdoso, pesquisaGratuidadeIdoso, pesquisaDescontoJovem, pesquisaGratuidadeJovem);
}
}