use of com.tomasio.projects.trainning.model.IndicacaoAluno in project trainning by fernandotomasio.
the class AtividadesEnsinoServiceSimpleImpl method createIndicacao.
@Override
@Transactional
public Long createIndicacao(IndicacaoDTO indicacao) {
IndicacaoDAO dao = factory.getIndicacaoDAO();
OrganizacaoDAO organizacaoDAO = factory.getOrganizacaoDAO();
TurmaDAO turmaDAO = factory.getTurmaDAO();
Indicacao _indicacao = null;
if (indicacao != null) {
if (indicacao instanceof IndicacaoAlunoDTO) {
_indicacao = new IndicacaoAluno((IndicacaoAlunoDTO) indicacao);
} else {
_indicacao = new IndicacaoInstrutor((IndicacaoInstrutorDTO) indicacao);
}
}
Long id = null;
try {
id = dao.create(_indicacao);
updateWorkflowActors(_indicacao.getId());
} catch (DAOException ex) {
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.IndicacaoAluno in project trainning by fernandotomasio.
the class AtividadesEnsinoServiceSimpleImpl method alertaDeIndicacao.
@Override
@Transactional(readOnly = true)
public void alertaDeIndicacao(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.alertaDeIndicacao(_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());
}
}
use of com.tomasio.projects.trainning.model.IndicacaoAluno in project trainning by fernandotomasio.
the class AtividadesEnsinoServiceSimpleImpl method findAllIndicacoesAlunos.
@Override
@Transactional(readOnly = true)
public IndicacaoAlunoDTO[] findAllIndicacoesAlunos() {
IndicacaoDAO dao = factory.getIndicacaoDAO();
IndicacaoAlunoDTO[] indicacoesArray = null;
try {
List<IndicacaoAluno> indicacoes = dao.findAllAlunos();
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;
}
use of com.tomasio.projects.trainning.model.IndicacaoAluno in project trainning by fernandotomasio.
the class HibernateIndicacaoDAO method update.
@Override
public void update(Indicacao indicacao) throws DAOException {
Session session = sessionFactory.getCurrentSession();
if (indicacao instanceof IndicacaoAluno) {
// teste: se já tem indicao com a mesma prioridade
// não permitir e avisar ao usuário
// COMENTADO PARA CORREÇÃO
Long countIndicacao = 0L;
// Long countIndicacao = (Long) session.createQuery(""
// + "select count(*) from IndicacaoAluno i "
// + "where i.turma.id = :turmaId "
// + "and i.prioridade = :prioridade "
// + "and i.organizacao.id=:organizacaoId "
// + "and i.id != :indicacaoId")
// .setLong("indicacaoId", indicacao.getId())
// .setLong("turmaId", indicacao.getTurma().getId())
// .setLong("prioridade", indicacao.getPrioridade())
// .setLong("organizacaoId", indicacao.getOrganizacao().getId())
// .uniqueResult();
// if (countIndicacao > 0) {
// throw new DAOException("Prioridade já utilizada em outra indicação desta Organização");
// }
// teste: se já indicado para esta turma do curso
// não permitir e avisar ao usuário
countIndicacao = (Long) session.createQuery("" + "select count(*) from IndicacaoAluno i " + "where i.pessoa.id = :pessoaId " + "and i.turma.id = :turmaId " + "and i.id <> :indicacaoId").setLong("indicacaoId", indicacao.getId()).setLong("pessoaId", indicacao.getPessoa().getId()).setLong("turmaId", indicacao.getTurma().getId()).uniqueResult();
if (countIndicacao > 0) {
throw new DAOException("Indicação já existente");
}
}
try {
session.update(indicacao);
} catch (HibernateException e) {
Logger.getLogger(HibernateIndicacaoDAO.class.getName()).log(Level.SEVERE, null, e);
throw new DAOException(MessageHelper.getMessage("indicacoes.update.error"));
}
}
use of com.tomasio.projects.trainning.model.IndicacaoAluno in project trainning by fernandotomasio.
the class HibernateIndicacaoDAO method findAllAlunos.
@SuppressWarnings("unchecked")
@Override
public List<IndicacaoAluno> findAllAlunos(Long turmaId, Long organizacaoId, Long pessoaId, Date exercicio) throws DAOException {
Session session = sessionFactory.getCurrentSession();
try {
Criteria criteria = session.createCriteria(IndicacaoAluno.class);
criteria.createAlias("turma", "t");
if (turmaId != null) {
criteria = criteria.add(Restrictions.eq("turma.id", turmaId));
}
if (organizacaoId != null) {
criteria = criteria.add(Restrictions.eq("organizacao.id", organizacaoId));
}
if (pessoaId != null) {
criteria = criteria.add(Restrictions.eq("pessoa.id", pessoaId));
}
if (exercicio != null) {
SimpleDateFormat df = new SimpleDateFormat("yyyy");
try {
exercicio = df.parse(df.format(exercicio));
} catch (ParseException ex) {
Logger.getLogger(HibernateIndicacaoDAO.class.getName()).log(Level.SEVERE, null, ex);
}
criteria = criteria.add(Restrictions.eq("t.exercicio", exercicio));
}
List<IndicacaoAluno> indicacoes = criteria.list();
for (Indicacao indicacao : indicacoes) {
indicacao = proccessIndicacao(indicacao, session);
}
return indicacoes;
} catch (HibernateException e) {
Logger.getLogger(this.getClass().getName()).log(Level.SEVERE, null, e);
throw new DAOException(MessageHelper.getMessage("indicacoes.find.list.error"));
}
}
Aggregations