Search in sources :

Example 76 with TurmaEfetivaDTO

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

the class AtividadesEnsinoServiceSimpleImpl method calculateCustoPrevistoInstrutores.

@Override
@Transactional(readOnly = true)
public Map<String, BigDecimal> calculateCustoPrevistoInstrutores(TurmaEfetivaDTO[] turmas) {
    Map<String, BigDecimal> result = new HashMap();
    SimpleDateFormat df = new SimpleDateFormat("yyyy");
    TurmaDAO turmaDAO = factory.getTurmaDAO();
    BigDecimal transportePrevisto = new BigDecimal(0.00);
    BigDecimal diariasPrevisto = new BigDecimal(0.00);
    for (TurmaEfetivaDTO turma : turmas) {
        try {
            int exercicio = Integer.parseInt(df.format(turma.getExercicio()));
            Long cursoId = turma.getCurso().getId();
            int totalTurmas = 0;
            for (int i = exercicio - 2; i < exercicio; i++) {
                List<TurmaEfetiva> turmasAnteriores = turmaDAO.findAllTurmasEfetivas(df.parse(String.valueOf(i)), null, cursoId, null, null, null);
                Iterator<TurmaEfetiva> iterator = turmasAnteriores.iterator();
                while (iterator.hasNext()) {
                    TurmaEfetiva t = iterator.next();
                    if (t.isAtivado() == false || t.isCancelado()) {
                        iterator.remove();
                    }
                }
                totalTurmas += turmasAnteriores.size();
                TurmaEfetivaDTO[] turmasArray = new TurmaEfetivaDTO[turmasAnteriores.size()];
                for (int j = 0; j < turmasArray.length; j++) {
                    turmasArray[j] = turmasAnteriores.get(j).createDTOWithoutDependencies();
                }
                Map<String, BigDecimal> mapCustos = calculateCustoRealizadoInstrutores(turmasArray);
                if (totalTurmas > 0) {
                    diariasPrevisto = diariasPrevisto.add(mapCustos.get("diarias").divide(new BigDecimal(totalTurmas), BigDecimal.ROUND_UP));
                    transportePrevisto = transportePrevisto.add(mapCustos.get("transporte").divide(new BigDecimal(totalTurmas), BigDecimal.ROUND_UP));
                }
            }
        } catch (DAOException | ParseException ex) {
            Logger.getLogger(AtividadesEnsinoServiceSimpleImpl.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    result.put("transporte", transportePrevisto);
    result.put("diarias", diariasPrevisto);
    result.put("total", transportePrevisto.add(diariasPrevisto));
    return result;
}
Also used : StatusTurmaEfetiva(com.tomasio.projects.trainning.model.StatusTurmaEfetiva) TurmaEfetiva(com.tomasio.projects.trainning.model.TurmaEfetiva) HashMap(java.util.HashMap) BigDecimal(java.math.BigDecimal) DAOException(com.tomasio.projects.trainning.exception.DAOException) TurmaEfetivaDTO(com.tomasio.projects.trainning.dto.TurmaEfetivaDTO) ParseException(java.text.ParseException) TurmaDAO(com.tomasio.projects.trainning.dao.TurmaDAO) SimpleDateFormat(java.text.SimpleDateFormat) Transactional(org.springframework.transaction.annotation.Transactional)

Example 77 with TurmaEfetivaDTO

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

the class AtividadesEnsinoServiceSimpleImpl method calculateCustoRealizadoAlunos.

@Override
@Transactional(readOnly = true)
public Map<String, BigDecimal> calculateCustoRealizadoAlunos(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> 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() + 2;
                    }
                    if (intervalo <= 0) {
                        continue;
                    }
                    if (intervalo > 50) {
                        intervalo = 50;
                    }
                    for (Matricula aluno : alunos) {
                        if (aluno.isCancelada()) {
                            continue;
                        }
                        Pessoa pessoa = pessoaDAO.find(aluno.getPessoa().getId());
                        if (pessoa.getOrganizacao() != null) {
                            Organizacao organizacaoAluno = organizacaoDAO.find(pessoa.getOrganizacao().getId());
                            if (organizacaoAluno.createDTO() instanceof ExternoDTO) {
                                continue;
                            }
                            Organizacao organizacaoLocal = organizacaoDAO.find(fase.getLocal().getId());
                            if (!organizacaoAluno.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) FaseDTO(com.tomasio.projects.trainning.dto.FaseDTO) Pessoa(com.tomasio.projects.trainning.model.Pessoa) 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) Transactional(org.springframework.transaction.annotation.Transactional)

Example 78 with TurmaEfetivaDTO

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

the class ExecucaoBPMServiceActivitiImpl method startExecucaoProcess.

@Override
public String startExecucaoProcess(Long turmaId) {
    identityService.setAuthenticatedUserId("lincolnlsc");
    ProcessDefinition definition = repositoryService.createProcessDefinitionQuery().processDefinitionKey("execucaoCISCEA").singleResult();
    TurmaEfetivaDTO turma = atividadesEnsinoService.findTurmaEfetiva(turmaId);
    if (turma.getProcessId() != null) {
        return null;
    }
    Map<String, String> params = new HashMap();
    params.put("turmaId", String.valueOf(turmaId));
    params.put("codigoCurso", turma.getCurso().getCodigo());
    params.put("numeroTurma", String.valueOf(turma.getNumeroTurma()));
    ProcessInstance processInstance = formService.submitStartFormData(definition.getId(), params);
    turma.setProcessId(processInstance.getId());
    turma.setProcessStatus("AGUARDANDO DIVULGAÇÃO");
    atividadesEnsinoService.updateTurmaEfetiva(turma);
    return processInstance.getId();
}
Also used : TurmaEfetivaDTO(com.tomasio.projects.trainning.dto.TurmaEfetivaDTO) HashMap(java.util.HashMap) ProcessDefinition(org.activiti.engine.repository.ProcessDefinition) ProcessInstance(org.activiti.engine.runtime.ProcessInstance)

Example 79 with TurmaEfetivaDTO

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

the class TestMail method main.

public static void main(String[] args) throws FileNotFoundException, Exception {
    ApplicationContext context = new ClassPathXmlApplicationContext("service-context.xml");
    SimpleDateFormat df = new SimpleDateFormat("yyyy");
    AtividadesEnsinoService service = (AtividadesEnsinoService) context.getBean("atividadesEnsinoService");
    // service.updateWorkflowActors(821699L);
    System.out.println("recuperando todas as turmas do sistema");
    TurmaEfetivaDTO[] turmas = service.findAllTurmasEfetivas(df.parse("2015"), null, null, null, null, null);
    for (TurmaEfetivaDTO turma : turmas) {
        System.out.println("BUSCANDO INDICAÇÕES DA TURMA " + turma.getId());
        IndicacaoAlunoDTO[] indicacoes = service.findAllIndicacoesAlunos(turma.getId());
        for (IndicacaoAlunoDTO indicacao : indicacoes) {
            System.out.println("ATUALIZANDO INDICAÇÃO");
            service.updateWorkflowActors(indicacao.getId());
        }
    }
    System.out.println("Finalizado");
}
Also used : IndicacaoAlunoDTO(com.tomasio.projects.trainning.dto.IndicacaoAlunoDTO) ApplicationContext(org.springframework.context.ApplicationContext) ClassPathXmlApplicationContext(org.springframework.context.support.ClassPathXmlApplicationContext) TurmaEfetivaDTO(com.tomasio.projects.trainning.dto.TurmaEfetivaDTO) ClassPathXmlApplicationContext(org.springframework.context.support.ClassPathXmlApplicationContext) SimpleDateFormat(java.text.SimpleDateFormat) AtividadesEnsinoService(com.tomasio.projects.trainning.interfaces.AtividadesEnsinoService)

Example 80 with TurmaEfetivaDTO

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

the class AtividadesEnsinoServiceSimpleImpl method findTurmaEfetiva.

@Override
@Transactional(readOnly = true)
public TurmaEfetivaDTO findTurmaEfetiva(Long turmaId) {
    TurmaDAO dao = factory.getTurmaDAO();
    Turma turma = null;
    try {
        turma = dao.find(turmaId);
    } 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());
    }
    if (turma != null) {
        // proccessarPendencias((TurmaEfetiva) turma);
        TurmaEfetivaDTO dto = (TurmaEfetivaDTO) turma.createDTO();
        return dto;
    } else {
        return null;
    }
}
Also used : DAOException(com.tomasio.projects.trainning.exception.DAOException) TurmaEfetivaDTO(com.tomasio.projects.trainning.dto.TurmaEfetivaDTO) Turma(com.tomasio.projects.trainning.model.Turma) 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)

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