use of com.tomasio.projects.trainning.dto.TurmaEfetivaDTO in project trainning by fernandotomasio.
the class ConfirmMatriculaAction method execute.
@Override
public void execute(DelegateExecution arg0) throws Exception {
String turmaId = (String) arg0.getVariable("turmaId");
TurmaEfetivaDTO turma = atividadesEnsinoService.findTurmaEfetiva(Long.parseLong(turmaId));
turma.setProcessStatus(null);
atividadesEnsinoService.updateTurmaEfetiva(turma);
}
use of com.tomasio.projects.trainning.dto.TurmaEfetivaDTO in project trainning by fernandotomasio.
the class AtividadesEnsinoCacheAdvice method removeIndicacaoMethodInterceptor.
@Around("removeIndicacao()")
public Object removeIndicacaoMethodInterceptor(ProceedingJoinPoint joinPoint) throws Throwable {
Object[] args = joinPoint.getArgs();
Long indicacaoId = (Long) args[0];
IndicacaoDTO indicacao = atividadesEnsinoService.findIndicacao(indicacaoId);
TurmaEfetivaDTO turma = atividadesEnsinoService.findTurmaEfetiva(indicacao.getTurma().getId());
SimpleDateFormat df = new SimpleDateFormat("yyyy");
String exercicio = df.format(turma.getExercicio());
String organizacao = turma.getOrganizacaoGestoraId().toString();
String key = exercicio + "-" + organizacao;
clearChacheTurmas(key);
clearChachePendencias(key);
return joinPoint.proceed();
}
use of com.tomasio.projects.trainning.dto.TurmaEfetivaDTO in project trainning by fernandotomasio.
the class IndicacoesLoggerAdvice method getDetails.
private String getDetails(IndicacaoDTO indicacao) throws DAOException {
CursoDAO cursoDAO = factory.getCursoDAO();
TurmaEfetivaDTO turma = atividadesEnsinoService.findTurmaEfetiva(indicacao.getTurma().getId());
String codCurso = turma.getCurso().getCodigo();
String numeroTurma = String.valueOf(turma.getNumeroTurma());
String texto = codCurso + "-" + numeroTurma + " (";
PessoaDTO pessoa = organizationalService.findPessoa(indicacao.getPessoa().getId());
texto += pessoa.getTargetaCompletaOM();
texto += ")";
return texto;
}
use of com.tomasio.projects.trainning.dto.TurmaEfetivaDTO 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.dto.TurmaEfetivaDTO in project trainning by fernandotomasio.
the class AtividadesEnsinoServiceSimpleImpl method calculateCustoRealizadoInstrutores.
@Override
@Transactional(readOnly = true)
public Map<String, BigDecimal> calculateCustoRealizadoInstrutores(TurmaEfetivaDTO[] turmas) {
Map<String, BigDecimal> result = new HashMap();
MatriculaDAO matriculaDAO = factory.getMatriculaDAO();
PessoaDAO pessoaDAO = factory.getPessoaDAO();
String parameterDiaria = ConfigHelper.getValue("custos.diaria");
String parameterPassagem = ConfigHelper.getValue("custos.passagem");
BigDecimal diaria = new BigDecimal(parameterDiaria);
BigDecimal passagem = new BigDecimal(parameterPassagem);
OrganizacaoDAO organizacaoDAO = factory.getOrganizacaoDAO();
BigDecimal transporteRealizado = new BigDecimal(0.00);
BigDecimal diariasRealizado = new BigDecimal(0.00);
try {
for (TurmaEfetivaDTO turma : turmas) {
if (turma.isCancelado()) {
continue;
}
List<Matricula> instrucoes = matriculaDAO.findAllInstrutores(turma.getId());
for (Matricula matricula : instrucoes) {
if (matricula.isCancelada()) {
continue;
}
matricula.getIndicacao().getId();
IndicacaoInstrutorDTO indicacao = (IndicacaoInstrutorDTO) matricula.getIndicacao().createDTO();
int intervalo = 0;
Interval instrucaoInterval = null;
if (indicacao.getPeriodo() != null && indicacao.getPeriodo().getDataInicio() != null && indicacao.getPeriodo().getDataTermino() != null) {
DateTime dataInicioInstrucao = new DateTime(indicacao.getPeriodo().getDataInicio().getTime());
DateTime dataTerminoInstrucao = new DateTime(indicacao.getPeriodo().getDataTermino().getTime());
if (dataInicioInstrucao.isAfter(dataTerminoInstrucao)) {
continue;
}
instrucaoInterval = new Interval(dataInicioInstrucao, dataTerminoInstrucao);
Days d = Days.daysBetween(dataInicioInstrucao, dataTerminoInstrucao);
intervalo = d.getDays() + 2;
}
if (intervalo <= 0) {
continue;
}
if (intervalo > 50) {
intervalo = 50;
}
Pessoa pessoa = pessoaDAO.find(indicacao.getPessoa().getId());
if (pessoa.getOrganizacao() != null) {
Organizacao organizacaoInstrutor = organizacaoDAO.find(pessoa.getOrganizacao().getId());
if (organizacaoInstrutor.createDTO() instanceof ExternoDTO) {
continue;
}
FaseDTO[] fases = turma.getFases();
for (FaseDTO fase : fases) {
if (fase.getDataInicio() != null && fase.getDataTermino() != null) {
DateTime dataInicioFase = new DateTime(fase.getDataInicio().getTime());
DateTime dataTerminoFase = new DateTime(fase.getDataTermino().getTime());
if (dataTerminoFase.isBefore(dataInicioFase)) {
continue;
}
Interval faseInterval = new Interval(dataInicioFase, dataTerminoFase);
if (faseInterval.contains(instrucaoInterval) || instrucaoInterval.contains(faseInterval)) {
Organizacao organizacaoLocal = organizacaoDAO.find(fase.getLocal().getId());
if (!organizacaoInstrutor.getCidade().getId().equals(organizacaoLocal.getCidade().getId())) {
diariasRealizado = diariasRealizado.add(diaria.multiply(new BigDecimal(intervalo)));
transporteRealizado = transporteRealizado.add(passagem);
}
}
}
}
}
}
}
} catch (DAOException ex) {
Logger.getLogger(AtividadesEnsinoServiceSimpleImpl.class.getName()).log(Level.SEVERE, null, ex);
}
result.put("transporte", transporteRealizado);
result.put("diarias", diariasRealizado);
result.put("total", transporteRealizado.add(diariasRealizado));
return result;
}
Aggregations