Search in sources :

Example 31 with TurmaEfetivaDTO

use of com.tomasio.projects.trainning.dto.TurmaEfetivaDTO in project trainning by fernandotomasio.

the class AtividadesEnsinoServiceSimpleImpl method searchTurmasEfetivas.

@Override
@Transactional(readOnly = true)
public TurmaEfetivaDTO[] searchTurmasEfetivas(Date exercicio, Long planoId, Long cursoId, Long responsavelId, Long organizacaoGestoraId, String term) {
    TurmaDAO dao = factory.getTurmaDAO();
    TurmaEfetivaDTO[] turmasArray = null;
    try {
        List<TurmaEfetiva> turmas = dao.searchTurmasEfetivas(exercicio, planoId, cursoId, responsavelId, organizacaoGestoraId, term);
        if (turmas != null) {
            turmasArray = new TurmaEfetivaDTO[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;
}
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) CoreException(com.tomasio.projects.trainning.exeption.CoreException) TurmaDAO(com.tomasio.projects.trainning.dao.TurmaDAO) DAOException(com.tomasio.projects.trainning.exception.DAOException) ParseException(java.text.ParseException) CoreException(com.tomasio.projects.trainning.exeption.CoreException) Transactional(org.springframework.transaction.annotation.Transactional)

Example 32 with TurmaEfetivaDTO

use of com.tomasio.projects.trainning.dto.TurmaEfetivaDTO in project trainning by fernandotomasio.

the class AtividadesEnsinoServiceSimpleImpl method calculateCustoPrevistoAdministrativo.

@Override
@Transactional(readOnly = true)
public BigDecimal calculateCustoPrevistoAdministrativo(TurmaEfetivaDTO[] turmas) {
    BigDecimal result = new BigDecimal(0);
    DistribuicaoDAO distribuicaoDAO = factory.getDistribuicaoDAO();
    String parameterIcea = ConfigHelper.getValue("custos.icea");
    BigDecimal custoIndividualIcea = new BigDecimal(parameterIcea);
    OrganizacaoDAO organizacaoDAO = factory.getOrganizacaoDAO();
    try {
        for (TurmaEfetivaDTO turma : turmas) {
            List<Distribuicao> vagas = distribuicaoDAO.findAll(turma.getId());
            FaseDTO[] fases = turma.getFases();
            for (FaseDTO fase : fases) {
                if ("PRESENCIAL".equals(fase.getTipoFase())) {
                    int intervalo = 0;
                    if (fase.getDataInicio() != null && fase.getDataTermino() != null) {
                        DateTime dataInicio = new DateTime(fase.getDataInicio().getTime());
                        DateTime dataTermino = new DateTime(fase.getDataTermino().getTime());
                        Days d = Days.daysBetween(dataInicio, dataTermino);
                        intervalo = d.getDays() + 2;
                    }
                    if (intervalo <= 0) {
                        continue;
                    }
                    int countVagas = 0;
                    for (Distribuicao vaga : vagas) {
                        if (vaga.isReserva()) {
                            continue;
                        }
                        countVagas++;
                    }
                    BigDecimal custoTurma = custoIndividualIcea.multiply(new BigDecimal(intervalo)).multiply(new BigDecimal(countVagas));
                    result = result.add(custoTurma);
                }
            }
        }
    } catch (DAOException ex) {
        Logger.getLogger(AtividadesEnsinoServiceSimpleImpl.class.getName()).log(Level.SEVERE, null, ex);
    }
    return result;
}
Also used : DistribuicaoDAO(com.tomasio.projects.trainning.dao.DistribuicaoDAO) BigDecimal(java.math.BigDecimal) DateTime(org.joda.time.DateTime) 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) Distribuicao(com.tomasio.projects.trainning.model.Distribuicao) Days(org.joda.time.Days) Transactional(org.springframework.transaction.annotation.Transactional)

Example 33 with TurmaEfetivaDTO

use of com.tomasio.projects.trainning.dto.TurmaEfetivaDTO in project trainning by fernandotomasio.

the class AtividadesEnsinoServiceSimpleImpl method calculateCustoRealizadoAdministrativo.

@Override
@Transactional(readOnly = true)
public BigDecimal calculateCustoRealizadoAdministrativo(TurmaEfetivaDTO[] turmas) {
    BigDecimal result = new BigDecimal(0);
    MatriculaDAO matriculaDAO = factory.getMatriculaDAO();
    String parameterIcea = ConfigHelper.getValue("custos.icea");
    BigDecimal custoIndividualIcea = new BigDecimal(parameterIcea);
    try {
        for (TurmaEfetivaDTO turma : turmas) {
            if (turma.isCancelado()) {
                continue;
            }
            List<Matricula> alunos = matriculaDAO.findAllAlunos(turma.getId());
            FaseDTO[] fases = turma.getFases();
            for (FaseDTO fase : fases) {
                if ("PRESENCIAL".equals(fase.getTipoFase())) {
                    int intervalo = 0;
                    if (fase.getDataInicio() != null && fase.getDataTermino() != null) {
                        DateTime dataInicio = new DateTime(fase.getDataInicio().getTime());
                        DateTime dataTermino = new DateTime(fase.getDataTermino().getTime());
                        Days d = Days.daysBetween(dataInicio, dataTermino);
                        intervalo = d.getDays() + 1;
                    }
                    if (intervalo <= 0) {
                        continue;
                    }
                    BigDecimal custoTurma = custoIndividualIcea.multiply(new BigDecimal(intervalo)).multiply(new BigDecimal(alunos.size()));
                    result = result.add(custoTurma);
                }
            }
        }
    } catch (DAOException ex) {
        Logger.getLogger(AtividadesEnsinoServiceSimpleImpl.class.getName()).log(Level.SEVERE, null, ex);
    }
    return result;
}
Also used : 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) FaseDTO(com.tomasio.projects.trainning.dto.FaseDTO) DAOException(com.tomasio.projects.trainning.exception.DAOException) TurmaEfetivaDTO(com.tomasio.projects.trainning.dto.TurmaEfetivaDTO) 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) Transactional(org.springframework.transaction.annotation.Transactional)

Example 34 with TurmaEfetivaDTO

use of com.tomasio.projects.trainning.dto.TurmaEfetivaDTO in project trainning by fernandotomasio.

the class AtividadesEnsinoServiceSimpleImpl method findAllApresentacoesComPendendias.

@Override
@Transactional(readOnly = true)
public TurmaEfetivaDTO[] findAllApresentacoesComPendendias(Date exercicio, Long organizacaoId) {
    TurmaDAO turmaDAO = factory.getTurmaDAO();
    List<TurmaEfetivaDTO> result = new ArrayList<TurmaEfetivaDTO>();
    List<TurmaEfetiva> turmas = null;
    try {
        // buscar turmas efetivas que esta organização é reponsavel ou responsavel por conclusao, neste exercício, com APRESENTACOES PENDENTES
        // Ou seja, turmas sem apresentação após inicio do curso
        // turmas = turmaDAO.findAllTurmasEfetivasNotCancel(exercicio, organizacaoId);
        turmas = turmaDAO.findAllTurmasEfetivasNotCancelOfResponsavelOrResponsavelApresentacao(exercicio, organizacaoId);
        for (TurmaEfetiva turma : turmas) {
            // verificar as turma com dtInicial 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.getDataInicio() != null && turma.getDataInicio().before(exercicio)) {
                // verificar se o curso tem apresentacoes
                if (turmaDAO.findNotApresentacoes(turma.getId())) {
                    // turma com pendencia
                    result.add(turma.createDTOWithoutDependencies());
                } else {
                // turma sem pendencia
                }
            } else {
            // turma não começou
            }
        }
    } 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 35 with TurmaEfetivaDTO

use of com.tomasio.projects.trainning.dto.TurmaEfetivaDTO in project trainning by fernandotomasio.

the class AtividadesEnsinoServiceSimpleImpl method findAllConclusoesComPendendias.

@Override
@Transactional(readOnly = true)
public TurmaEfetivaDTO[] findAllConclusoesComPendendias(Date exercicio, Long organizacaoId) {
    TurmaDAO turmaDAO = factory.getTurmaDAO();
    List<TurmaEfetivaDTO> result = new ArrayList<TurmaEfetivaDTO>();
    List<TurmaEfetiva> turmas = null;
    try {
        // buscar turmas efetivas que esta organização é reponsavel ou responsavel por conclusao, neste exercício, com CONCLUSOES PENDENTES
        // Ou seja, turmas sem conclusão após término do curso
        // turmas = turmaDAO.findAllTurmasEfetivasNotCancel(exercicio, organizacaoId);
        turmas = turmaDAO.findAllTurmasEfetivasNotCancelOfResponsavelOrResponsavelConclusao(exercicio, organizacaoId);
        for (TurmaEfetiva turma : turmas) {
            // verificar as turma com dtTermino 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.getDataTermino() != null && turma.getDataTermino().before(exercicio)) {
                // verificar se o curso tem conclusoes
                if (turmaDAO.findNotConclusoes(turma.getId())) {
                    // turma com pendencia
                    result.add(turma.createDTOWithoutDependencies());
                } else {
                // turma sem pendencia
                }
            } else {
            // turma não começou
            }
        }
    } 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)

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