use of com.tomasio.projects.trainning.model.Parecer 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.Parecer 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;
}
use of com.tomasio.projects.trainning.model.Parecer 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;
}
use of com.tomasio.projects.trainning.model.Parecer in project trainning by fernandotomasio.
the class HibernateParecerDAO method remove.
@Override
public void remove(Long id) throws DAOException {
Session session = sessionFactory.getCurrentSession();
Parecer parecer = (Parecer) session.get(Parecer.class, id);
try {
session.delete(parecer);
} catch (HibernateException e) {
Logger.getLogger(HibernateParecerDAO.class.getName()).log(Level.SEVERE, null, e);
throw new DAOException("Erro ao remover Parecer!");
}
}
Aggregations