Search in sources :

Example 1 with ParecerDAO

use of com.tomasio.projects.trainning.dao.ParecerDAO 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 ParecerDAO

use of com.tomasio.projects.trainning.dao.ParecerDAO in project trainning by fernandotomasio.

the class AtividadesEnsinoServiceSimpleImpl method findAllPareceres.

@Override
@Transactional(readOnly = true)
public ParecerDTO[] findAllPareceres(Long indicacaoId) {
    ParecerDAO dao = factory.getParecerDAO();
    ParecerDTO[] pareceresArray = null;
    try {
        List<Parecer> pareceres = dao.findAll(indicacaoId);
        if (pareceres != null) {
            pareceresArray = new ParecerDTO[pareceres.size()];
            for (int i = 0; i < pareceres.size(); i++) {
                pareceresArray[i] = pareceres.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 pareceresArray;
}
Also used : DAOException(com.tomasio.projects.trainning.exception.DAOException) Parecer(com.tomasio.projects.trainning.model.Parecer) ParecerDTO(com.tomasio.projects.trainning.dto.ParecerDTO) CoreException(com.tomasio.projects.trainning.exeption.CoreException) ParecerDAO(com.tomasio.projects.trainning.dao.ParecerDAO) 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 3 with ParecerDAO

use of com.tomasio.projects.trainning.dao.ParecerDAO in project trainning by fernandotomasio.

the class AtividadesEnsinoServiceSimpleImpl method removeParecer.

@Override
@Transactional
public void removeParecer(Long parecerId) {
    ParecerDAO dao = factory.getParecerDAO();
    try {
        Long indicacaoId = dao.find(parecerId).getIndicacao().getId();
        dao.remove(parecerId);
        updateWorkflowActors(indicacaoId);
    } 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 : DAOException(com.tomasio.projects.trainning.exception.DAOException) CoreException(com.tomasio.projects.trainning.exeption.CoreException) ParecerDAO(com.tomasio.projects.trainning.dao.ParecerDAO) 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 4 with ParecerDAO

use of com.tomasio.projects.trainning.dao.ParecerDAO 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

ParecerDAO (com.tomasio.projects.trainning.dao.ParecerDAO)4 Transactional (org.springframework.transaction.annotation.Transactional)4 DAOException (com.tomasio.projects.trainning.exception.DAOException)3 CoreException (com.tomasio.projects.trainning.exeption.CoreException)3 Parecer (com.tomasio.projects.trainning.model.Parecer)3 ParseException (java.text.ParseException)3 IndicacaoDAO (com.tomasio.projects.trainning.dao.IndicacaoDAO)2 Indicacao (com.tomasio.projects.trainning.model.Indicacao)2 Reprovacao (com.tomasio.projects.trainning.model.Reprovacao)2 TurmaDAO (com.tomasio.projects.trainning.dao.TurmaDAO)1 AprovacaoDTO (com.tomasio.projects.trainning.dto.AprovacaoDTO)1 ParecerDTO (com.tomasio.projects.trainning.dto.ParecerDTO)1 ReprovacaoDTO (com.tomasio.projects.trainning.dto.ReprovacaoDTO)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