use of com.tomasio.projects.trainning.dao.TurmaDAO 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.dao.TurmaDAO in project trainning by fernandotomasio.
the class AtividadesEnsinoServiceSimpleImpl method findAllTurmasComPendendiasDeIndicacoesInstrutores.
@Override
@Transactional(readOnly = true)
public TurmaEfetivaDTO[] findAllTurmasComPendendiasDeIndicacoesInstrutores(Date exercicio, Long organizacaoId) {
TurmaDAO turmaDAO = factory.getTurmaDAO();
List<TurmaEfetivaDTO> result = new ArrayList<TurmaEfetivaDTO>();
List<TurmaEfetiva> turmas = null;
try {
// buscar turmas efetivas desta organização, neste exercício, com INDICACAO DE INSTRUTOR PENDENTES
// Ou seja, turmas sem indicacao instrutor após término do prazo de indicacao
turmas = turmaDAO.findAllTurmasEfetivasNotCancel(exercicio, organizacaoId);
for (TurmaEfetiva turma : turmas) {
// verificar as turma com prazo de indicação FECHADO
// e se a data do término de indicação menor que hoje
SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");
try {
exercicio = df.parse(df.format(exercicio));
} catch (ParseException ex) {
Logger.getLogger(AtividadesEnsinoServiceSimpleImpl.class.getName()).log(Level.SEVERE, null, ex);
}
if ((!turma.isOpenForIndicacoes()) && (turma.getPeriodoIndicacao().getDataTermino().before(exercicio))) {
// verificar se o curso tem conclusoes
if (turmaDAO.findNotIndicacoesInstrutores(turma.getId())) {
// turma com pendencia
result.add(turma.createDTOWithoutDependencies());
} else {
// turma sem pendencia
}
} else {
// turma não fechou o prazo de indicação
}
}
} catch (DAOException ex) {
Logger.getLogger(AtividadesEnsinoServiceSimpleImpl.class.getName()).log(Level.SEVERE, null, ex);
}
TurmaEfetivaDTO[] resultArray = new TurmaEfetivaDTO[result.size()];
result.toArray(resultArray);
return resultArray;
}
use of com.tomasio.projects.trainning.dao.TurmaDAO in project trainning by fernandotomasio.
the class AtividadesEnsinoServiceSimpleImpl method findAllTurmas.
@Override
@Transactional(readOnly = true)
public TurmaDTO[] findAllTurmas(Long[] ids) {
if (ids == null || ids.length <= 0) {
return new TurmaDTO[0];
}
TurmaDAO dao = factory.getTurmaDAO();
TurmaDTO[] turmasArray = null;
try {
List<Turma> turmas = dao.findAll(Arrays.asList(ids));
// }
if (turmas != null) {
turmasArray = new TurmaDTO[turmas.size()];
for (int i = 0; i < turmas.size(); i++) {
turmasArray[i] = turmas.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 turmasArray;
}
use of com.tomasio.projects.trainning.dao.TurmaDAO 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.dao.TurmaDAO in project trainning by fernandotomasio.
the class AtividadesEnsinoServiceSimpleImpl method findAllIndicacoesPendentes.
@Override
@Transactional(readOnly = true)
public IndicacaoAlunoDTO[] findAllIndicacoesPendentes(Date exercicio, Long organizacaoIndicadoraId) {
Map<Long, TurmaEfetiva> mapTurmas = new HashMap<Long, TurmaEfetiva>();
IndicacaoDAO indicacaoDAO = factory.getIndicacaoDAO();
TurmaDAO turmaDAO = factory.getTurmaDAO();
List<IndicacaoAlunoDTO> result = new ArrayList<IndicacaoAlunoDTO>();
try {
List<IndicacaoAluno> indicacoes = indicacaoDAO.findAllAlunosByOrganizacao(exercicio, organizacaoIndicadoraId);
for (IndicacaoAluno indicacao : indicacoes) {
TurmaEfetiva turma = mapTurmas.get(indicacao.getTurma().getId());
if (turma == null) {
turma = (TurmaEfetiva) turmaDAO.find(indicacao.getTurma().getId());
mapTurmas.put(indicacao.getTurma().getId(), turma);
}
if (turma.getDataInicio().after(new Date())) {
if (turma.isAtivado()) {
if (turma.getDataInicio() == null) {
result.add(indicacao.createDTO());
} else if (turma.getDataInicio().after(new Date())) {
result.add(indicacao.createDTO());
}
} else {
result.add(indicacao.createDTO());
}
}
}
} catch (DAOException ex) {
Logger.getLogger(AtividadesEnsinoServiceSimpleImpl.class.getName()).log(Level.SEVERE, null, ex);
}
IndicacaoAlunoDTO[] resultArray = new IndicacaoAlunoDTO[result.size()];
result.toArray(resultArray);
return resultArray;
}
Aggregations