Search in sources :

Example 1 with Reprovacao

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

the class AtividadesEnsinoServiceSimpleImpl method updateWorkflowActors.

@Override
@Transactional
public void updateWorkflowActors(Long indicacaoId) throws Exception {
    IndicacaoDAO indicacaoDAO = factory.getIndicacaoDAO();
    TurmaDAO turmaDAO = factory.getTurmaDAO();
    ParecerDAO parecerDAO = factory.getParecerDAO();
    Indicacao indicacao = indicacaoDAO.find(indicacaoId);
    List<Parecer> pareceres = parecerDAO.findAll(indicacao.getId());
    TurmaEfetiva turma = (TurmaEfetiva) turmaDAO.find(indicacao.getTurma().getId());
    Organizacao nextActor;
    Organizacao lastActor = null;
    if (pareceres.size() > 0) {
        // pareceres são retornados pelo dao em ordem decrescente
        Parecer lastParecer = pareceres.get(0);
        lastActor = lastParecer.getOrganizacao();
        nextActor = getNextActor(lastParecer.getOrganizacao(), turma);
        if (lastParecer instanceof Reprovacao) {
            indicacao.setReprovado(true);
        } else {
            indicacao.setReprovado(false);
        }
    } else {
        // não havendo pareceres
        nextActor = getNextActor(indicacao.getOrganizacao(), turma);
        /*
            verifica se é uma indicação de grande comando para outro grande comando
            então o grande comando que indicou ainda precisa aprovar.
             */
        if ((indicacao.getOrganizacao() instanceof Comando) && (turma.getOrganizacaoGestoraId().equals(indicacao.getOrganizacao().getId()) == false)) {
            nextActor = indicacao.getOrganizacao();
        }
        indicacao.setReprovado(false);
    }
    indicacao.setNextWorkflowActor(nextActor);
    indicacao.setLastWorkflowActor(lastActor);
    indicacaoDAO.update(indicacao);
}
Also used : IndicacaoDAO(com.tomasio.projects.trainning.dao.IndicacaoDAO) Comando(com.tomasio.projects.trainning.model.Comando) Parecer(com.tomasio.projects.trainning.model.Parecer) Organizacao(com.tomasio.projects.trainning.model.Organizacao) StatusTurmaEfetiva(com.tomasio.projects.trainning.model.StatusTurmaEfetiva) TurmaEfetiva(com.tomasio.projects.trainning.model.TurmaEfetiva) ParecerDAO(com.tomasio.projects.trainning.dao.ParecerDAO) Indicacao(com.tomasio.projects.trainning.model.Indicacao) Reprovacao(com.tomasio.projects.trainning.model.Reprovacao) TurmaDAO(com.tomasio.projects.trainning.dao.TurmaDAO) Transactional(org.springframework.transaction.annotation.Transactional)

Example 2 with Reprovacao

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

the class AtividadesEnsinoServiceSimpleImpl method createParecer.

@Override
@Transactional
public Long createParecer(ParecerDTO parecer) {
    ParecerDAO dao = factory.getParecerDAO();
    IndicacaoDAO indicacaoDAO = factory.getIndicacaoDAO();
    Parecer _parecer = null;
    if (parecer instanceof AprovacaoDTO) {
        _parecer = new Aprovacao((AprovacaoDTO) parecer);
    } else {
        _parecer = new Reprovacao((ReprovacaoDTO) parecer);
    }
    Long id = null;
    try {
        id = dao.create(_parecer);
        Indicacao indicacao = indicacaoDAO.find(_parecer.getIndicacao().getId());
        updateWorkflowActors(indicacao.getId());
    } 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 id;
}
Also used : IndicacaoDAO(com.tomasio.projects.trainning.dao.IndicacaoDAO) DAOException(com.tomasio.projects.trainning.exception.DAOException) Parecer(com.tomasio.projects.trainning.model.Parecer) CoreException(com.tomasio.projects.trainning.exeption.CoreException) ParecerDAO(com.tomasio.projects.trainning.dao.ParecerDAO) Indicacao(com.tomasio.projects.trainning.model.Indicacao) Aprovacao(com.tomasio.projects.trainning.model.Aprovacao) Reprovacao(com.tomasio.projects.trainning.model.Reprovacao) ReprovacaoDTO(com.tomasio.projects.trainning.dto.ReprovacaoDTO) AprovacaoDTO(com.tomasio.projects.trainning.dto.AprovacaoDTO) 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

IndicacaoDAO (com.tomasio.projects.trainning.dao.IndicacaoDAO)2 ParecerDAO (com.tomasio.projects.trainning.dao.ParecerDAO)2 Indicacao (com.tomasio.projects.trainning.model.Indicacao)2 Parecer (com.tomasio.projects.trainning.model.Parecer)2 Reprovacao (com.tomasio.projects.trainning.model.Reprovacao)2 Transactional (org.springframework.transaction.annotation.Transactional)2 TurmaDAO (com.tomasio.projects.trainning.dao.TurmaDAO)1 AprovacaoDTO (com.tomasio.projects.trainning.dto.AprovacaoDTO)1 ReprovacaoDTO (com.tomasio.projects.trainning.dto.ReprovacaoDTO)1 DAOException (com.tomasio.projects.trainning.exception.DAOException)1 CoreException (com.tomasio.projects.trainning.exeption.CoreException)1 Aprovacao (com.tomasio.projects.trainning.model.Aprovacao)1 Comando (com.tomasio.projects.trainning.model.Comando)1 Organizacao (com.tomasio.projects.trainning.model.Organizacao)1 StatusTurmaEfetiva (com.tomasio.projects.trainning.model.StatusTurmaEfetiva)1 TurmaEfetiva (com.tomasio.projects.trainning.model.TurmaEfetiva)1 ParseException (java.text.ParseException)1