Search in sources :

Example 26 with TurmaEfetivaDTO

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);
}
Also used : TurmaEfetivaDTO(com.tomasio.projects.trainning.dto.TurmaEfetivaDTO)

Example 27 with TurmaEfetivaDTO

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();
}
Also used : TurmaEfetivaDTO(com.tomasio.projects.trainning.dto.TurmaEfetivaDTO) SimpleDateFormat(java.text.SimpleDateFormat) IndicacaoDTO(com.tomasio.projects.trainning.dto.IndicacaoDTO) Around(org.aspectj.lang.annotation.Around)

Example 28 with TurmaEfetivaDTO

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;
}
Also used : TurmaEfetivaDTO(com.tomasio.projects.trainning.dto.TurmaEfetivaDTO) PessoaDTO(com.tomasio.projects.trainning.dto.PessoaDTO) CursoDAO(com.tomasio.projects.trainning.dao.CursoDAO)

Example 29 with TurmaEfetivaDTO

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;
}
Also used : DAOException(com.tomasio.projects.trainning.exception.DAOException) TurmaEfetivaDTO(com.tomasio.projects.trainning.dto.TurmaEfetivaDTO) StatusTurmaEfetiva(com.tomasio.projects.trainning.model.StatusTurmaEfetiva) TurmaEfetiva(com.tomasio.projects.trainning.model.TurmaEfetiva) ArrayList(java.util.ArrayList) ParseException(java.text.ParseException) TurmaDAO(com.tomasio.projects.trainning.dao.TurmaDAO) SimpleDateFormat(java.text.SimpleDateFormat) Transactional(org.springframework.transaction.annotation.Transactional)

Example 30 with TurmaEfetivaDTO

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;
}
Also used : HashMap(java.util.HashMap) PessoaDAO(com.tomasio.projects.trainning.dao.PessoaDAO) CancelamentoMatricula(com.tomasio.projects.trainning.model.CancelamentoMatricula) Matricula(com.tomasio.projects.trainning.model.Matricula) NotificacaoMatricula(com.tomasio.projects.trainning.model.NotificacaoMatricula) PreMatricula(com.tomasio.projects.trainning.model.PreMatricula) BigDecimal(java.math.BigDecimal) DateTime(org.joda.time.DateTime) Pessoa(com.tomasio.projects.trainning.model.Pessoa) FaseDTO(com.tomasio.projects.trainning.dto.FaseDTO) DAOException(com.tomasio.projects.trainning.exception.DAOException) OrganizacaoDAO(com.tomasio.projects.trainning.dao.OrganizacaoDAO) TurmaEfetivaDTO(com.tomasio.projects.trainning.dto.TurmaEfetivaDTO) Organizacao(com.tomasio.projects.trainning.model.Organizacao) CancelamentoMatriculaDAO(com.tomasio.projects.trainning.dao.CancelamentoMatriculaDAO) MatriculaDAO(com.tomasio.projects.trainning.dao.MatriculaDAO) NotificacaoMatriculaDAO(com.tomasio.projects.trainning.dao.NotificacaoMatriculaDAO) PreMatriculaDAO(com.tomasio.projects.trainning.dao.PreMatriculaDAO) Days(org.joda.time.Days) ExternoDTO(com.tomasio.projects.trainning.dto.ExternoDTO) IndicacaoInstrutorDTO(com.tomasio.projects.trainning.dto.IndicacaoInstrutorDTO) Interval(org.joda.time.Interval) Transactional(org.springframework.transaction.annotation.Transactional)

Aggregations

TurmaEfetivaDTO (com.tomasio.projects.trainning.dto.TurmaEfetivaDTO)92 OrganizacaoDTO (com.tomasio.projects.trainning.dto.OrganizacaoDTO)37 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)36 Date (java.util.Date)31 SimpleDateFormat (java.text.SimpleDateFormat)28 PessoaDTO (com.tomasio.projects.trainning.dto.PessoaDTO)27 HashMap (java.util.HashMap)27 ArrayList (java.util.ArrayList)24 Map (java.util.Map)20 IndicacaoAlunoDTO (com.tomasio.projects.trainning.dto.IndicacaoAlunoDTO)18 CoreException (com.tomasio.projects.trainning.exeption.CoreException)18 FaseDTO (com.tomasio.projects.trainning.dto.FaseDTO)16 ParseException (java.text.ParseException)16 DAOException (com.tomasio.projects.trainning.exception.DAOException)14 Transactional (org.springframework.transaction.annotation.Transactional)14 AtividadesEnsinoService (com.tomasio.projects.trainning.interfaces.AtividadesEnsinoService)12 CustoDTO (com.tomasio.projects.trainning.dto.CustoDTO)11 IndicacaoDTO (com.tomasio.projects.trainning.dto.IndicacaoDTO)11 TurmaDAO (com.tomasio.projects.trainning.dao.TurmaDAO)9 BigDecimal (java.math.BigDecimal)9