use of com.tomasio.projects.trainning.model.Indicacao in project trainning by fernandotomasio.
the class IndicacoesLoggerAdvice method logRemoveIndicacao.
@Around("remove()")
public void logRemoveIndicacao(ProceedingJoinPoint joinPoint) throws Throwable {
Long id = (Long) joinPoint.getArgs()[0];
IndicacaoDAO indicacaoDAO = factory.getIndicacaoDAO();
Indicacao indicacao = indicacaoDAO.find(id);
joinPoint.proceed();
LogDTO log = new LogDTO();
log.setDataCriacao(new Date());
log.setUser(getUser());
log.setTexto("EXCLUSÃO DE INDICACAO " + getDetails(indicacao.createDTO()));
logger.create(log);
}
use of com.tomasio.projects.trainning.model.Indicacao 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.Indicacao in project trainning by fernandotomasio.
the class AtividadesEnsinoServiceSimpleImpl method findAllIndicacoesInstrutorByPessoaId.
@Override
@Transactional(readOnly = true)
public IndicacaoDTO[] findAllIndicacoesInstrutorByPessoaId(Date exercicio, Long pessoaId) {
IndicacaoDAO dao = factory.getIndicacaoDAO();
IndicacaoDTO[] indicacoesArray = null;
try {
List<Indicacao> indicacoes = dao.findAllIndicacoesInstrutorByPessoaId(pessoaId, exercicio);
if (indicacoes != null) {
indicacoesArray = new IndicacaoInstrutorDTO[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.Indicacao in project trainning by fernandotomasio.
the class AtividadesEnsinoServiceSimpleImpl method removeCancelamentoMatricula.
@Override
@Transactional
public void removeCancelamentoMatricula(Long matriculaId) {
CancelamentoMatriculaDAO cancelamentoMatriculaDAO = factory.getCancelamentoMatriculaDAO();
MatriculaDAO matriculaDAO = factory.getMatriculaDAO();
IndicacaoDAO indicacaoDAO = factory.getIndicacaoDAO();
TurmaDAO turmaDAO = factory.getTurmaDAO();
try {
// remover um registro na tabela CancelamentoMatricula
CancelamentoMatricula c = (CancelamentoMatricula) cancelamentoMatriculaDAO.findCancelamentoMatriculaByMatricula(matriculaId);
Matricula matricula = matriculaDAO.find(c.getMatricula().getId());
Indicacao indicacao = matricula.getIndicacao();
TurmaEfetiva turma = matricula.getTurma();
if (c != null) {
cancelamentoMatriculaDAO.remove(c.getId());
indicacao.setMatriculado(true);
turma.setAtivado(true);
indicacaoDAO.update(indicacao);
turmaDAO.update(turma);
}
} catch (DAOException ex) {
ex.printStackTrace();
throw new CoreException(ex.getMessage());
} catch (Exception ex) {
ex.printStackTrace();
throw new CoreException(ex.getMessage());
}
}
use of com.tomasio.projects.trainning.model.Indicacao in project trainning by fernandotomasio.
the class AtividadesEnsinoServiceSimpleImpl method removeMatricula.
@Override
@Transactional
public void removeMatricula(Long matriculaId) {
MatriculaDAO matriculaDAO = factory.getMatriculaDAO();
IndicacaoDAO indicacaoDAO = factory.getIndicacaoDAO();
TurmaDAO turmaDAO = factory.getTurmaDAO();
try {
Matricula matricula = matriculaDAO.find(matriculaId);
Indicacao indicacao = indicacaoDAO.find(matricula.getIndicacao().getId());
indicacao.setMatriculado(false);
matriculaDAO.remove(matriculaId);
indicacaoDAO.update(indicacao);
TurmaEfetiva turma = (TurmaEfetiva) turmaDAO.find(matricula.getTurma().getId());
// VERIFICAR SE AINDA HÁ ALGUMA MATRICULA
if (hasMatriculas(turma.getId())) {
turma.setAtivado(true);
} else {
turma.setAtivado(false);
}
turmaDAO.update(turma);
} 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());
}
}
Aggregations