|
|
|
@ -537,6 +537,201 @@ public class SisdapHibernateDAO implements SisdapDAO {
|
|
|
|
|
|
|
|
|
|
return returnedList;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private List<MovimentoSecoes> consultaMovimentoSecoes(Date fecInicio, Date fecFinal, Integer empresaId, List<Object> pesquisaGratuidade, List<Object> pesquisaDescontoIdoso, List<Object> pesquisaGratuidadeIdoso, List<Object> pesquisaDescontoJovem, List<Object> pesquisaGratuidadeJovem, List<Object> pesquisaGratuidadeEstudante, List<Object> pesquisaGratuidadeProfessor) {
|
|
|
|
|
|
|
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
|
|
|
|
|
|
|
|
|
|
String gratuidade = "";
|
|
|
|
|
for (Object categoria : pesquisaGratuidade) {
|
|
|
|
|
gratuidade += ((Categoria) categoria).getCategoriaId() + ",";
|
|
|
|
|
}
|
|
|
|
|
gratuidade = gratuidade.substring(0, gratuidade.length()-1);
|
|
|
|
|
|
|
|
|
|
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);
|
|
|
|
|
|
|
|
|
|
String gratuidadeProfessor = "";
|
|
|
|
|
for (Object categoria : pesquisaGratuidadeProfessor) {
|
|
|
|
|
gratuidadeProfessor += ((Categoria) categoria).getCategoriaId() + ",";
|
|
|
|
|
}
|
|
|
|
|
gratuidadeProfessor = gratuidadeProfessor.substring(0, gratuidadeProfessor.length()-1);
|
|
|
|
|
|
|
|
|
|
String gratuidadeEstudante = "";
|
|
|
|
|
for (Object categoria : pesquisaGratuidadeEstudante) {
|
|
|
|
|
gratuidadeEstudante += ((Categoria) categoria).getCategoriaId() + ",";
|
|
|
|
|
}
|
|
|
|
|
gratuidadeEstudante = gratuidadeEstudante.substring(0, gratuidade.length()-1);
|
|
|
|
|
|
|
|
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
|
sb.append("SELECT subAlias.antt, ");
|
|
|
|
|
sb.append(" subAlias.prefixo, ");
|
|
|
|
|
sb.append(" subAlias.mes, ");
|
|
|
|
|
sb.append(" subAlias.ano, ");
|
|
|
|
|
sb.append(" po.codantt localOrigem, ");
|
|
|
|
|
sb.append(" pd.codantt localDestino, ");
|
|
|
|
|
sb.append(" sum(subAlias.passageirosida) as passageirosida, ");
|
|
|
|
|
sb.append(" sum(subAlias.passageirosvolta) as passageirosvolta, ");
|
|
|
|
|
sb.append(" sum(subAlias.gratuidadepasselivreida) as gratuidadepasselivreida, ");
|
|
|
|
|
sb.append(" sum(subAlias.gratuidadepasselivrevolta) as gratuidadepasselivrevolta, ");
|
|
|
|
|
sb.append(" sum(subAlias.gratuidadeidosoida) as gratuidadeidosoida, ");
|
|
|
|
|
sb.append(" sum(subAlias.gratuidadeidosovolta) as gratuidadeidosovolta, ");
|
|
|
|
|
sb.append(" sum(subAlias.descontoidosoida) as descontoidosoida, ");
|
|
|
|
|
sb.append(" sum(subAlias.descontoidosovolta) as descontoidosovolta, ");
|
|
|
|
|
|
|
|
|
|
sb.append(" sum(subAlias.gratuidadejovenida) as gratuidadejovenida, ");
|
|
|
|
|
sb.append(" sum(subAlias.gratuidadejovenvolta) as gratuidadejovenvolta, ");
|
|
|
|
|
sb.append(" sum(subAlias.descontojovenida) as descontojovenida, ");
|
|
|
|
|
sb.append(" sum(subAlias.descontojovenvolta) as descontojovenvolta, ");
|
|
|
|
|
|
|
|
|
|
sb.append(" sum(subAlias.gratuidadeestudanteida) as gratuidadeestudanteida, ");
|
|
|
|
|
sb.append(" sum(subAlias.gratuidadeestudantevolta) as gratuidadeestudantevolta, ");
|
|
|
|
|
sb.append(" sum(subAlias.gratuidadeprofessorida) as gratuidadeprofessorida, ");
|
|
|
|
|
sb.append(" sum(subAlias.gratuidadeprofessorvolta) as gratuidadeprofessorvolta ");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sb.append("FROM (SELECT subResp.antt antt, ");
|
|
|
|
|
sb.append(" subResp.prefixo prefixo, ");
|
|
|
|
|
sb.append(" subResp.mes mes, ");
|
|
|
|
|
sb.append(" subResp.ano ano, ");
|
|
|
|
|
sb.append(" coalesce(ase.aliasorigen_id, subResp.localorigem) aliasorigen, ");
|
|
|
|
|
sb.append(" coalesce(ase.aliasdestino_id, subResp.localdestino) aliasdestino, ");
|
|
|
|
|
sb.append(" subResp.passageirosida passageirosida, ");
|
|
|
|
|
sb.append(" subResp.passageirosvolta passageirosvolta, ");
|
|
|
|
|
sb.append(" subResp.gratuidadepasselivreida gratuidadepasselivreida, ");
|
|
|
|
|
sb.append(" subResp.gratuidadepasselivrevolta gratuidadepasselivrevolta, ");
|
|
|
|
|
sb.append(" subResp.gratuidadeidosoida gratuidadeidosoida, ");
|
|
|
|
|
sb.append(" subResp.gratuidadeidosovolta gratuidadeidosovolta, ");
|
|
|
|
|
sb.append(" subResp.descontoidosoida descontoidosoida, ");
|
|
|
|
|
sb.append(" subResp.descontoidosovolta descontoidosovolta, ");
|
|
|
|
|
|
|
|
|
|
sb.append(" subResp.gratuidadejovenida gratuidadejovenida, ");
|
|
|
|
|
sb.append(" subResp.gratuidadejovenvolta gratuidadejovenvolta, ");
|
|
|
|
|
sb.append(" subResp.descontojovenida descontojovenida, ");
|
|
|
|
|
sb.append(" subResp.descontojovenvolta descontojovenvolta, ");
|
|
|
|
|
|
|
|
|
|
sb.append(" subResp.gratuidadeestudanteida gratuidadeestudanteida, ");
|
|
|
|
|
sb.append(" subResp.gratuidadeestudantevolta gratuidadeestudantevolta, ");
|
|
|
|
|
sb.append(" subResp.gratuidadeprofessorida gratuidadeprofessorida, ");
|
|
|
|
|
sb.append(" subResp.gratuidadeprofessorvolta gratuidadeprofessorvolta ");
|
|
|
|
|
|
|
|
|
|
sb.append(" FROM (SELECT distinct r.ruta_id ruta_id, ");
|
|
|
|
|
sb.append(" e.codantt antt, ");
|
|
|
|
|
sb.append(" r.prefixo prefixo, ");
|
|
|
|
|
sb.append(" To_char(c.feccorrida, 'MM') mes, ");
|
|
|
|
|
sb.append(" To_char(c.feccorrida, 'yyyy') ano, ");
|
|
|
|
|
sb.append(" po.parada_id localorigem, ");
|
|
|
|
|
sb.append(" pd.parada_id localdestino, ");
|
|
|
|
|
|
|
|
|
|
sb.append(" Nvl(CASE WHEN r.indsentidoida = 1 AND b.categoria_id IN (SELECT categoria_id FROM categoria WHERE grupocategoria_id IS NULL) THEN Count(*) END, 0) passageirosida, ");
|
|
|
|
|
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 ( " + gratuidade + " ) THEN Count(*) END, 0) gratuidadepasselivreida, ");
|
|
|
|
|
sb.append(" Nvl(CASE WHEN r.indsentidoida = 0 AND b.categoria_id IN ( " + gratuidade + " ) THEN Count(*) END, 0) gratuidadepasselivrevolta, ");
|
|
|
|
|
|
|
|
|
|
sb.append(" Nvl(CASE WHEN r.indsentidoida = 1 AND b.categoria_id IN ( " + gratuidadeIdoso + " ) THEN Count(*) END, 0) gratuidadeidosoida, ");
|
|
|
|
|
sb.append(" Nvl(CASE WHEN r.indsentidoida = 0 AND b.categoria_id IN ( " + gratuidadeIdoso + " ) THEN Count(*) END, 0) gratuidadeidosovolta, ");
|
|
|
|
|
sb.append(" Nvl(CASE WHEN r.indsentidoida = 1 AND b.categoria_id IN ( " + descontoIdoso + " ) THEN Count(*) END, 0) descontoidosoida, ");
|
|
|
|
|
sb.append(" Nvl(CASE WHEN r.indsentidoida = 0 AND b.categoria_id IN ( " + descontoIdoso + " ) THEN Count(*) END, 0) descontoidosovolta, ");
|
|
|
|
|
|
|
|
|
|
sb.append(" Nvl(CASE WHEN r.indsentidoida = 1 AND b.categoria_id IN ( " + gratuidadeJovem + " ) THEN Count(*) END, 0) gratuidadejovenida, ");
|
|
|
|
|
sb.append(" Nvl(CASE WHEN r.indsentidoida = 0 AND b.categoria_id IN ( " + gratuidadeJovem + " ) THEN Count(*) END, 0) gratuidadejovenvolta, ");
|
|
|
|
|
sb.append(" Nvl(CASE WHEN r.indsentidoida = 1 AND b.categoria_id IN ( " + descontoJovem + " ) THEN Count(*) END, 0) descontojovenida, ");
|
|
|
|
|
sb.append(" Nvl(CASE WHEN r.indsentidoida = 0 AND b.categoria_id IN ( " + descontoJovem + " ) THEN Count(*) END, 0) descontojovenvolta, ");
|
|
|
|
|
|
|
|
|
|
sb.append(" Nvl(CASE WHEN r.indsentidoida = 1 AND b.categoria_id IN ( " + gratuidadeEstudante + " ) THEN Count(*) END, 0) gratuidadeestudanteida, ");
|
|
|
|
|
sb.append(" Nvl(CASE WHEN r.indsentidoida = 0 AND b.categoria_id IN ( " + gratuidadeEstudante + " ) THEN Count(*) END, 0) gratuidadeestudantevolta, ");
|
|
|
|
|
sb.append(" Nvl(CASE WHEN r.indsentidoida = 1 AND b.categoria_id IN ( " + gratuidadeProfessor + " ) THEN Count(*) END, 0) gratuidadeprofessorida, ");
|
|
|
|
|
sb.append(" Nvl(CASE WHEN r.indsentidoida = 0 AND b.categoria_id IN ( " + gratuidadeProfessor + " ) THEN Count(*) END, 0) gratuidadeprofessorvolta ");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sb.append(" FROM ruta_empresa re ");
|
|
|
|
|
sb.append(" left join empresa e ON e.empresa_id = re.empresa_id ");
|
|
|
|
|
sb.append(" left join ruta r ON re.ruta_id = r.ruta_id ");
|
|
|
|
|
sb.append(" left join corrida c ON c.ruta_id = r.ruta_id ");
|
|
|
|
|
sb.append(" left outer join boleto b ON c.corrida_id = b.corrida_id AND c.feccorrida = b.feccorrida ");
|
|
|
|
|
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 e.empresa_id = ? ");
|
|
|
|
|
sb.append(" AND re.activo = 1 ");
|
|
|
|
|
sb.append(" AND r.activo = 1 ");
|
|
|
|
|
sb.append(" AND e.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 b.indstatusoperacion = 'F' ");
|
|
|
|
|
sb.append(" AND b.activo = 1 ");
|
|
|
|
|
sb.append(" AND e.codantt IS NOT NULL ");
|
|
|
|
|
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, ");
|
|
|
|
|
sb.append(" To_char(c.feccorrida, 'MM'), ");
|
|
|
|
|
sb.append(" To_char(c.feccorrida, 'yyyy'), ");
|
|
|
|
|
sb.append(" po.parada_id, ");
|
|
|
|
|
sb.append(" pd.parada_id, ");
|
|
|
|
|
sb.append(" r.indsentidoida, ");
|
|
|
|
|
sb.append(" b.categoria_id, ");
|
|
|
|
|
sb.append(" r.ruta_id ");
|
|
|
|
|
sb.append( " ORDER BY e.codantt, ");
|
|
|
|
|
sb.append( " r.prefixo) subResp ");
|
|
|
|
|
|
|
|
|
|
sb.append(" left join alias_servico ase ON ( subResp.localorigem = ase.origen_id AND subResp.localdestino = ase.destino_id and ase.ruta_id = subResp.ruta_id and ase.activo = 1) ");
|
|
|
|
|
|
|
|
|
|
sb.append( " ORDER BY subResp.antt,");
|
|
|
|
|
sb.append( " subResp.prefixo");
|
|
|
|
|
sb.append( " ) subAlias");
|
|
|
|
|
|
|
|
|
|
sb.append(" inner join parada po ON ( subAlias.aliasorigen = po.parada_id ) ");
|
|
|
|
|
sb.append(" inner join parada pd ON ( subAlias.aliasdestino = pd.parada_id ) ");
|
|
|
|
|
sb.append("GROUP BY mes, ");
|
|
|
|
|
sb.append(" ano, ");
|
|
|
|
|
sb.append(" antt, ");
|
|
|
|
|
sb.append(" prefixo, ");
|
|
|
|
|
sb.append(" po.codantt, ");
|
|
|
|
|
sb.append(" pd.codantt ");
|
|
|
|
|
|
|
|
|
|
sb.append("ORDER BY mes, ");
|
|
|
|
|
sb.append(" ano, ");
|
|
|
|
|
sb.append(" antt, ");
|
|
|
|
|
sb.append(" prefixo, ");
|
|
|
|
|
sb.append(" localOrigem, ");
|
|
|
|
|
sb.append(" localDestino ");
|
|
|
|
|
QueryRunner queryRunner = new QueryRunner(dataSourceRead, true);
|
|
|
|
|
ResultSetHandler<List<MovimentoSecoes>> handler = new BeanListHandler<MovimentoSecoes>(MovimentoSecoes.class);
|
|
|
|
|
List<MovimentoSecoes> returnedList = new ArrayList<MovimentoSecoes>();
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
returnedList = queryRunner.query(sb.toString(), handler, empresaId, sdf.format(fecInicio), sdf.format(fecFinal));
|
|
|
|
|
|
|
|
|
|
} catch (SQLException e) {
|
|
|
|
|
log.error("",e);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return returnedList;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private List<PrefixoAntt> buscaPrefixoEmpresaOrigenDestino(Integer empresaId) {
|
|
|
|
|
|
|
|
|
@ -613,4 +808,171 @@ public class SisdapHibernateDAO implements SisdapDAO {
|
|
|
|
|
}
|
|
|
|
|
return returnedList;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<String> getMovimentoSecoes(Date fecInicio, Date fecFinal, Integer empresaId,
|
|
|
|
|
List<Object> pesquisaGratuidade, List<Object> pesquisaDescontoIdoso, List<Object> pesquisaGratuidadeIdoso,
|
|
|
|
|
List<Object> pesquisaDescontoJovem, List<Object> pesquisaGratuidadeJovem,
|
|
|
|
|
List<Object> pesquisaGratuidadeEstudante, List<Object> pesquisaGratuidadeProfessor) {
|
|
|
|
|
|
|
|
|
|
List<MovimentoSecoes> listResultConsulta = consultaMovimentoSecoes(fecInicio, fecFinal, empresaId, pesquisaGratuidade, pesquisaDescontoIdoso, pesquisaGratuidadeIdoso, pesquisaDescontoJovem, pesquisaGratuidadeJovem,
|
|
|
|
|
pesquisaGratuidadeEstudante, pesquisaGratuidadeProfessor);
|
|
|
|
|
List<MovimentoSecoes> listResultIdaVoltaInvertida = new ArrayList<MovimentoSecoes>();
|
|
|
|
|
List<MovimentoSecoes> listVoltasSemIda = new ArrayList<MovimentoSecoes>();
|
|
|
|
|
|
|
|
|
|
for (MovimentoSecoes ms : listResultConsulta) {
|
|
|
|
|
|
|
|
|
|
Boolean achou = Boolean.FALSE;
|
|
|
|
|
if(isIda(ms)) {
|
|
|
|
|
for (MovimentoSecoes ms2 : listResultConsulta) {
|
|
|
|
|
if(ms != null && ms2 != null && ms.getLocalOrigem() != null && ms2.getLocalOrigem() != null &&
|
|
|
|
|
ms.getLocalOrigem().equals(ms2.getLocalDestino()) && ms2.getLocalOrigem().equals(ms.getLocalDestino()) && !isIda(ms2) && ms2.getPrefixo().equals(ms.getPrefixo())) {
|
|
|
|
|
ms.setDescontoIdosoVolta(ms2.getDescontoIdosoVolta());
|
|
|
|
|
ms.setGratuidadeIdosoVolta(ms2.getGratuidadeIdosoVolta());
|
|
|
|
|
ms.setGratuidadePasseLivreVolta(ms2.getGratuidadePasseLivreVolta());
|
|
|
|
|
ms.setPassageirosVolta(ms2.getPassageirosVolta());
|
|
|
|
|
ms.setGratuidadeJovenVolta(ms2.getGratuidadeJovenVolta());
|
|
|
|
|
ms.setDescontoJovenVolta(ms2.getGratuidadeJovenVolta());
|
|
|
|
|
ms.setDescontoJovenVolta(ms2.getGratuidadeJovenVolta());
|
|
|
|
|
ms.setGratuidadeEstudanteIda(ms2.getGratuidadeEstudanteIda());
|
|
|
|
|
ms.setGratuidadeEstudanteVolta(ms2.getGratuidadeEstudanteVolta());
|
|
|
|
|
ms.setGratuidadeProfessorIda(ms2.getGratuidadeProfessorIda());
|
|
|
|
|
ms.setGratuidadeProfessorVolta(ms2.getGratuidadeProfessorVolta());
|
|
|
|
|
listResultIdaVoltaInvertida.add(ms);
|
|
|
|
|
achou = Boolean.TRUE;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(!achou) {
|
|
|
|
|
listResultIdaVoltaInvertida.add(ms);
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
listVoltasSemIda.add(ms);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for (MovimentoSecoes volta : listVoltasSemIda) {
|
|
|
|
|
|
|
|
|
|
Boolean achou = Boolean.FALSE;
|
|
|
|
|
|
|
|
|
|
for (MovimentoSecoes idaVolta : listResultIdaVoltaInvertida) {
|
|
|
|
|
if(idaVolta != null && idaVolta.getLocalOrigem() != null && volta != null && volta.getLocalOrigem() != null && volta.getPrefixo() != null &&
|
|
|
|
|
idaVolta.getLocalOrigem().equals(volta.getLocalDestino()) && volta.getLocalOrigem().equals(idaVolta.getLocalDestino()) && volta.getPrefixo().equals(idaVolta.getPrefixo())) {
|
|
|
|
|
achou = Boolean.TRUE;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(!achou) {
|
|
|
|
|
String origem = volta.getLocalOrigem();
|
|
|
|
|
String destino = volta.getLocalDestino();
|
|
|
|
|
|
|
|
|
|
volta.setLocalDestino(origem);
|
|
|
|
|
volta.setLocalOrigem(destino);
|
|
|
|
|
listResultIdaVoltaInvertida.add(volta);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
List<String> periodos = new ArrayList<String>();
|
|
|
|
|
for (MovimentoSecoes ms : listResultIdaVoltaInvertida) {
|
|
|
|
|
String periodo = ms.getAno() + HYPHEN + ms.getMes();
|
|
|
|
|
if (!periodos.contains(periodo)) {
|
|
|
|
|
periodos.add(periodo);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
List<PrefixoAntt> prefixos = buscaPrefixoEmpresaOrigenDestino(empresaId);
|
|
|
|
|
|
|
|
|
|
HashMap<String, List<PrefixoAntt>> periodosPrefixos = new HashMap<String, List<PrefixoAntt>>();
|
|
|
|
|
for (String pd : periodos) {
|
|
|
|
|
periodosPrefixos.put(pd, prefixos);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for (MovimentoSecoes ms : listResultIdaVoltaInvertida) {
|
|
|
|
|
String periodo = ms.getAno() + HYPHEN + ms.getMes();
|
|
|
|
|
|
|
|
|
|
PrefixoAntt prefixoAntt = new PrefixoAntt();
|
|
|
|
|
prefixoAntt.setAntt(ms.getAntt());
|
|
|
|
|
prefixoAntt.setPrefixo(ms.getPrefixo());
|
|
|
|
|
prefixoAntt.setLocalDestino(ms.getLocalDestino());
|
|
|
|
|
prefixoAntt.setLocalOrigem(ms.getLocalOrigem());
|
|
|
|
|
|
|
|
|
|
if (periodosPrefixos.get(periodo).contains(prefixoAntt)) {
|
|
|
|
|
periodosPrefixos.get(periodo).remove(prefixoAntt);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for (String key : periodosPrefixos.keySet()) {
|
|
|
|
|
String[] periodo = key.split(HYPHEN);
|
|
|
|
|
Integer ano = Integer.parseInt(periodo[0]);
|
|
|
|
|
Integer mes = Integer.parseInt(periodo[1]);
|
|
|
|
|
|
|
|
|
|
for (PrefixoAntt prefixoAntt : periodosPrefixos.get(key)) {
|
|
|
|
|
MovimentoSecoes ms = new MovimentoSecoes();
|
|
|
|
|
ms.setAno(ano);
|
|
|
|
|
ms.setMes(mes);
|
|
|
|
|
|
|
|
|
|
ms.setAntt(prefixoAntt.getAntt());
|
|
|
|
|
ms.setPrefixo(prefixoAntt.getPrefixo());
|
|
|
|
|
ms.setLocalDestino(prefixoAntt.getLocalDestino());
|
|
|
|
|
ms.setLocalOrigem(prefixoAntt.getLocalOrigem());
|
|
|
|
|
|
|
|
|
|
ms.setDescontoIdosoIda(NumberUtils.INTEGER_ZERO);
|
|
|
|
|
ms.setDescontoIdosoVolta(NumberUtils.INTEGER_ZERO);
|
|
|
|
|
ms.setGratuidadeIdosoIda(NumberUtils.INTEGER_ZERO);
|
|
|
|
|
ms.setGratuidadeIdosoVolta(NumberUtils.INTEGER_ZERO);
|
|
|
|
|
ms.setGratuidadeJovenIda(NumberUtils.INTEGER_ZERO);
|
|
|
|
|
ms.setGratuidadeJovenVolta(NumberUtils.INTEGER_ZERO);
|
|
|
|
|
ms.setDescontoJovenIda(NumberUtils.INTEGER_ZERO);
|
|
|
|
|
ms.setDescontoJovenVolta(NumberUtils.INTEGER_ZERO);
|
|
|
|
|
ms.setGratuidadePasseLivreIda(NumberUtils.INTEGER_ZERO);
|
|
|
|
|
ms.setGratuidadePasseLivreVolta(NumberUtils.INTEGER_ZERO);
|
|
|
|
|
ms.setPassageirosIda(NumberUtils.INTEGER_ZERO);
|
|
|
|
|
ms.setPassageirosVolta(NumberUtils.INTEGER_ZERO);
|
|
|
|
|
ms.setGratuidadeEstudanteIda(NumberUtils.INTEGER_ZERO);
|
|
|
|
|
ms.setGratuidadeEstudanteVolta(NumberUtils.INTEGER_ZERO);
|
|
|
|
|
ms.setGratuidadeProfessorIda(NumberUtils.INTEGER_ZERO);
|
|
|
|
|
ms.setGratuidadeProfessorVolta(NumberUtils.INTEGER_ZERO);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
listResultIdaVoltaInvertida.add(ms);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Collections.sort(listResultIdaVoltaInvertida, new Comparator() {
|
|
|
|
|
public int compare(Object o1, Object o2) {
|
|
|
|
|
MovimentoSecoes c1 = (MovimentoSecoes) o1;
|
|
|
|
|
MovimentoSecoes c2 = (MovimentoSecoes) o2;
|
|
|
|
|
|
|
|
|
|
int result = c1.getAno().compareTo(c2.getAno());
|
|
|
|
|
if (result == 0) {
|
|
|
|
|
result = c1.getMes().compareTo(c2.getMes());
|
|
|
|
|
}
|
|
|
|
|
if (result == 0) {
|
|
|
|
|
result = c1.getAntt().compareToIgnoreCase(c2.getAntt());
|
|
|
|
|
}
|
|
|
|
|
if (result == 0) {
|
|
|
|
|
return c1.getPrefixo().compareToIgnoreCase(c2.getPrefixo());
|
|
|
|
|
}
|
|
|
|
|
if (result == 0) {
|
|
|
|
|
return c1.getLocalOrigem().compareToIgnoreCase(c2.getLocalOrigem());
|
|
|
|
|
}
|
|
|
|
|
if (result == 0) {
|
|
|
|
|
return c1.getLocalDestino().compareToIgnoreCase(c2.getLocalDestino());
|
|
|
|
|
}
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
List<String> movimentosSecoes = new ArrayList<String>();
|
|
|
|
|
movimentosSecoes.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;gratuidade_jovem_ida;gratuidade_jovem_volta;gratuidade_jovem_desconto_ida;gratuidade_jovem_desconto_volta;gratuidade_estudante_ida;gratuidade_estudante_volta;gratuidade_professoe_ida;gratuidade_professor_volta");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (MovimentoSecoes ms : listResultIdaVoltaInvertida) {
|
|
|
|
|
movimentosSecoes.add(ms.toString());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return movimentosSecoes;
|
|
|
|
|
}
|
|
|
|
|
}
|