Search in sources :

Example 16 with IndicacaoAluno

use of com.tomasio.projects.trainning.model.IndicacaoAluno in project trainning by fernandotomasio.

the class AtividadesEnsinoServiceSimpleImpl method findAllIndicacoesAlunosSelecionadosForOrdemMatricula.

@Override
@Transactional(readOnly = true)
public IndicacaoAlunoDTO[] findAllIndicacoesAlunosSelecionadosForOrdemMatricula(Long turmaId) {
    IndicacaoDAO dao = factory.getIndicacaoDAO();
    IndicacaoAlunoDTO[] indicacoesArray = null;
    try {
        List<IndicacaoAluno> indicacoes = dao.findAllAlunosSelecionadosForOrdemMatricula(turmaId);
        if (indicacoes != null) {
            indicacoesArray = new IndicacaoAlunoDTO[indicacoes.size()];
            for (int i = 0; i < indicacoes.size(); i++) {
                indicacoesArray[i] = indicacoes.get(i).createDTOWithoutDependencies();
            }
        }
    } catch (DAOException ex) {
        ex.printStackTrace();
        throw new CoreException(ex.getMessage());
    } catch (Exception ex) {
        ex.printStackTrace();
        throw new CoreException("Erro em tempo de execução: " + ex.getMessage());
    }
    return indicacoesArray;
}
Also used : IndicacaoDAO(com.tomasio.projects.trainning.dao.IndicacaoDAO) IndicacaoAlunoDTO(com.tomasio.projects.trainning.dto.IndicacaoAlunoDTO) DAOException(com.tomasio.projects.trainning.exception.DAOException) IndicacaoAluno(com.tomasio.projects.trainning.model.IndicacaoAluno) CoreException(com.tomasio.projects.trainning.exeption.CoreException) DAOException(com.tomasio.projects.trainning.exception.DAOException) ParseException(java.text.ParseException) CoreException(com.tomasio.projects.trainning.exeption.CoreException) Transactional(org.springframework.transaction.annotation.Transactional)

Example 17 with IndicacaoAluno

use of com.tomasio.projects.trainning.model.IndicacaoAluno in project trainning by fernandotomasio.

the class AtividadesEnsinoServiceSimpleImpl method findAllIndicacoesAlunosByOrganizacao.

@Override
@Transactional(readOnly = true)
public IndicacaoAlunoDTO[] findAllIndicacoesAlunosByOrganizacao(Long organizacaoId) {
    IndicacaoDAO dao = factory.getIndicacaoDAO();
    IndicacaoAlunoDTO[] indicacoesArray = null;
    try {
        List<IndicacaoAluno> indicacoes = dao.findAllAlunosByOrganizacao(null, organizacaoId);
        if (indicacoes != null) {
            indicacoesArray = new IndicacaoAlunoDTO[indicacoes.size()];
            for (int i = 0; i < indicacoes.size(); i++) {
                indicacoesArray[i] = indicacoes.get(i).createDTOWithoutDependencies();
            }
        }
    } catch (DAOException ex) {
        ex.printStackTrace();
        throw new CoreException(ex.getMessage());
    } catch (Exception ex) {
        ex.printStackTrace();
        throw new CoreException("Erro em tempo de execução: " + ex.getMessage());
    }
    return indicacoesArray;
}
Also used : IndicacaoDAO(com.tomasio.projects.trainning.dao.IndicacaoDAO) IndicacaoAlunoDTO(com.tomasio.projects.trainning.dto.IndicacaoAlunoDTO) DAOException(com.tomasio.projects.trainning.exception.DAOException) IndicacaoAluno(com.tomasio.projects.trainning.model.IndicacaoAluno) CoreException(com.tomasio.projects.trainning.exeption.CoreException) DAOException(com.tomasio.projects.trainning.exception.DAOException) ParseException(java.text.ParseException) CoreException(com.tomasio.projects.trainning.exeption.CoreException) Transactional(org.springframework.transaction.annotation.Transactional)

Example 18 with IndicacaoAluno

use of com.tomasio.projects.trainning.model.IndicacaoAluno in project trainning by fernandotomasio.

the class AtividadesEnsinoServiceSimpleImpl method arrangeIndicacoes.

private List<IndicacaoAluno> arrangeIndicacoes(Long turmaId, List<IndicacaoAluno> indicacoes) {
    List<IndicacaoAluno> resultList = new ArrayList<IndicacaoAluno>();
    // PREPARAR UM MAPA COM AS INDICAÇÕES SEPARADAS POR ORGANIZAÇÕES
    Map<Long, List<IndicacaoAluno>> indicacoesMap = new HashMap<Long, List<IndicacaoAluno>>();
    for (IndicacaoAluno indicacao : indicacoes) {
        List<IndicacaoAluno> listaOM = indicacoesMap.get(indicacao.getOrganizacao().getId());
        if (listaOM == null) {
            List<IndicacaoAluno> newListaOM = new ArrayList<IndicacaoAluno>();
            newListaOM.add(indicacao);
            indicacoesMap.put(indicacao.getOrganizacao().getId(), newListaOM);
        } else {
            listaOM.add(indicacao);
        }
    }
    // ORDENAR TODAS AS INDICAÇÕES POR PRIORIDADE
    Set<Long> keys = indicacoesMap.keySet();
    for (Long key : keys) {
        List<IndicacaoAluno> lista = indicacoesMap.get(key);
        Collections.sort(lista, new Comparator<IndicacaoAluno>() {

            @Override
            public int compare(IndicacaoAluno o1, IndicacaoAluno o2) {
                int result = 0;
                if (o1.getPrioridade() < o2.getPrioridade()) {
                    result = -1;
                }
                if (o1.getPrioridade() > o2.getPrioridade()) {
                    result = 1;
                }
                return result;
            }
        });
    }
    // REMOVER TODAS AS INDICAÇÕES NAO APROVADAS E GUARDA-LAS EM UMA LISTA SEPARADA
    List<IndicacaoAluno> reprovados = new ArrayList<IndicacaoAluno>();
    for (Long key : keys) {
        List<IndicacaoAluno> lista = indicacoesMap.get(key);
        List<IndicacaoAluno> aprovados = new ArrayList<IndicacaoAluno>();
        for (IndicacaoAluno indicacao : lista) {
            if (indicacao.isAprovado()) {
                aprovados.add(indicacao);
            } else {
                reprovados.add(indicacao);
            }
        }
        lista.clear();
        lista.addAll(aprovados);
    }
    DistribuicaoDTO[] distribuicoes = findAllDistribuicoes(turmaId);
    List<DistribuicaoDTO> vagasTitulares = new ArrayList<DistribuicaoDTO>();
    List<DistribuicaoDTO> vagasReservas = new ArrayList<DistribuicaoDTO>();
    if (distribuicoes == null || distribuicoes.length == 0) {
        for (Long key : keys) {
            List<IndicacaoAluno> listaIndicacao = indicacoesMap.get(key);
            for (IndicacaoAluno indicacao : listaIndicacao) {
                // STATUS 0 PARA STATUS NÃO APLICÁVEL (TURMAS SEM DISTRIBUIÇÃO DE VAGAS);
                indicacao.setDistribuicaoStatus(0);
                resultList.add(indicacao);
            }
        }
        // LOOP DAS INDICAÇÕES NAO APROVADAS
        for (IndicacaoAluno indicacao : reprovados) {
            if (indicacao.isReprovado()) {
                // STATUS 4 PARA INDICACAO REPROVADA;
                indicacao.setDistribuicaoStatus(4);
            } else {
                // STATUS 5 PARA STATUS NAO APROVADA;
                indicacao.setDistribuicaoStatus(5);
            }
            resultList.add(indicacao);
        }
    } else {
        for (DistribuicaoDTO distribuicao : distribuicoes) {
            if (distribuicao.isReserva()) {
                vagasReservas.add(distribuicao);
            } else {
                vagasTitulares.add(distribuicao);
            }
        }
        for (DistribuicaoDTO distribuicao : vagasTitulares) {
            for (int i = 0; i < distribuicao.getQuantidadeVagas(); i++) {
                List<IndicacaoAluno> listaIndicacoes = indicacoesMap.get(distribuicao.getOrganizacao().getId());
                if (listaIndicacoes != null && listaIndicacoes.size() > 0) {
                    IndicacaoAluno indicacao = listaIndicacoes.get(0);
                    // STATUS 1 PARA INDICACAO TITULAR;
                    indicacao.setDistribuicaoStatus(1);
                    resultList.add(indicacao);
                    listaIndicacoes.remove(0);
                }
            }
        }
        for (DistribuicaoDTO distribuicao : vagasReservas) {
            for (int i = 0; i < distribuicao.getQuantidadeVagas(); i++) {
                List<IndicacaoAluno> listaIndicacoes = indicacoesMap.get(distribuicao.getOrganizacao().getId());
                if (listaIndicacoes != null && listaIndicacoes.size() > 0) {
                    IndicacaoAluno indicacao = listaIndicacoes.get(0);
                    // STATUS 2 PARA INDICACAO RESERVA;
                    indicacao.setDistribuicaoStatus(2);
                    resultList.add(indicacao);
                    listaIndicacoes.remove(0);
                }
            }
        }
        for (Long key : keys) {
            List<IndicacaoAluno> listaIndicacao = indicacoesMap.get(key);
            for (IndicacaoAluno indicacao : listaIndicacao) {
                // STATUS 3 PARA INDICACAO FORA DAS VAGAS;
                indicacao.setDistribuicaoStatus(3);
                resultList.add(indicacao);
            }
        }
        // LOOP DAS INDICAÇÕES NAO APROVADAS
        for (IndicacaoAluno indicacao : reprovados) {
            if (indicacao.isReprovado()) {
                // STATUS 4 PARA INDICACAO REPROVADA;
                indicacao.setDistribuicaoStatus(4);
            } else {
                // STATUS 5 PARA STATUS NAO APROVADA;
                indicacao.setDistribuicaoStatus(5);
            }
            resultList.add(indicacao);
        }
    }
    return resultList;
}
Also used : HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) IndicacaoAluno(com.tomasio.projects.trainning.model.IndicacaoAluno) DistribuicaoDTO(com.tomasio.projects.trainning.dto.DistribuicaoDTO) ArrayList(java.util.ArrayList) List(java.util.List)

Example 19 with IndicacaoAluno

use of com.tomasio.projects.trainning.model.IndicacaoAluno in project trainning by fernandotomasio.

the class AtividadesEnsinoServiceSimpleImpl method travaDeIndicacao.

@Override
@Transactional(readOnly = true)
public void travaDeIndicacao(IndicacaoDTO indicacao, String chamada) {
    IndicacaoDAO dao = factory.getIndicacaoDAO();
    Indicacao _indicacao = null;
    if (indicacao != null) {
        // if (indicacao instanceof IndicacaoAlunoDTO) {
        _indicacao = new IndicacaoAluno((IndicacaoAlunoDTO) indicacao);
    // } else {
    // _indicacao = new IndicacaoInstrutor((IndicacaoInstrutorDTO) indicacao);
    // }
    }
    try {
        dao.travaDeIndicacao(_indicacao, chamada);
    } catch (DAOException ex) {
        throw new CoreException(ex.getMessage());
    } catch (Exception ex) {
        ex.printStackTrace();
        throw new CoreException("Erro em tempo de execução: " + ex.getMessage());
    }
}
Also used : IndicacaoDAO(com.tomasio.projects.trainning.dao.IndicacaoDAO) IndicacaoAlunoDTO(com.tomasio.projects.trainning.dto.IndicacaoAlunoDTO) DAOException(com.tomasio.projects.trainning.exception.DAOException) IndicacaoAluno(com.tomasio.projects.trainning.model.IndicacaoAluno) CoreException(com.tomasio.projects.trainning.exeption.CoreException) Indicacao(com.tomasio.projects.trainning.model.Indicacao) DAOException(com.tomasio.projects.trainning.exception.DAOException) ParseException(java.text.ParseException) CoreException(com.tomasio.projects.trainning.exeption.CoreException) Transactional(org.springframework.transaction.annotation.Transactional)

Example 20 with IndicacaoAluno

use of com.tomasio.projects.trainning.model.IndicacaoAluno in project trainning by fernandotomasio.

the class AtividadesEnsinoServiceSimpleImpl method updateIndicacao.

@Override
@Transactional
public void updateIndicacao(IndicacaoDTO indicacao) {
    IndicacaoDAO dao = factory.getIndicacaoDAO();
    Indicacao _indicacao = null;
    if (indicacao != null) {
        if (indicacao instanceof IndicacaoAlunoDTO) {
            _indicacao = new IndicacaoAluno((IndicacaoAlunoDTO) indicacao);
        } else {
            _indicacao = new IndicacaoInstrutor((IndicacaoInstrutorDTO) indicacao);
        }
    }
    try {
        dao.update(_indicacao);
    } catch (DAOException ex) {
        ex.printStackTrace();
        throw new CoreException(ex.getMessage());
    } catch (Exception ex) {
        ex.printStackTrace();
        throw new CoreException("Erro em tempo de execução: " + ex.getMessage());
    }
}
Also used : IndicacaoDAO(com.tomasio.projects.trainning.dao.IndicacaoDAO) IndicacaoAlunoDTO(com.tomasio.projects.trainning.dto.IndicacaoAlunoDTO) DAOException(com.tomasio.projects.trainning.exception.DAOException) IndicacaoAluno(com.tomasio.projects.trainning.model.IndicacaoAluno) CoreException(com.tomasio.projects.trainning.exeption.CoreException) Indicacao(com.tomasio.projects.trainning.model.Indicacao) IndicacaoInstrutor(com.tomasio.projects.trainning.model.IndicacaoInstrutor) IndicacaoInstrutorDTO(com.tomasio.projects.trainning.dto.IndicacaoInstrutorDTO) DAOException(com.tomasio.projects.trainning.exception.DAOException) ParseException(java.text.ParseException) CoreException(com.tomasio.projects.trainning.exeption.CoreException) Transactional(org.springframework.transaction.annotation.Transactional)

Aggregations

IndicacaoAluno (com.tomasio.projects.trainning.model.IndicacaoAluno)22 DAOException (com.tomasio.projects.trainning.exception.DAOException)20 IndicacaoDAO (com.tomasio.projects.trainning.dao.IndicacaoDAO)15 ParseException (java.text.ParseException)14 IndicacaoAlunoDTO (com.tomasio.projects.trainning.dto.IndicacaoAlunoDTO)12 Transactional (org.springframework.transaction.annotation.Transactional)12 CoreException (com.tomasio.projects.trainning.exeption.CoreException)11 Session (org.hibernate.Session)6 Indicacao (com.tomasio.projects.trainning.model.Indicacao)5 IndicacaoInstrutor (com.tomasio.projects.trainning.model.IndicacaoInstrutor)4 HashMap (java.util.HashMap)4 HibernateException (org.hibernate.HibernateException)4 HibernateIndicacaoDAO (com.tomasio.projects.trainning.dao.HibernateIndicacaoDAO)3 TurmaEfetiva (com.tomasio.projects.trainning.model.TurmaEfetiva)3 SimpleDateFormat (java.text.SimpleDateFormat)3 Date (java.util.Date)3 List (java.util.List)3 HibernateMatriculaDAO (com.tomasio.projects.trainning.dao.HibernateMatriculaDAO)2 HibernatePreMatriculaDAO (com.tomasio.projects.trainning.dao.HibernatePreMatriculaDAO)2 MatriculaDAO (com.tomasio.projects.trainning.dao.MatriculaDAO)2