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);
}
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;
}
Aggregations