Search in sources :

Example 21 with FaseDTO

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

the class MainPlanejamentoController method listTurmasPlanejadas.

@RequestMapping("/turmas_planejadas_events")
@ResponseBody
public List listTurmasPlanejadas(WebRequest request) {
    String planejamentoIdParam = request.getParameter("planejamentoId");
    String localIdParam = request.getParameter("localId");
    Long planejamentoId = Long.parseLong(planejamentoIdParam);
    Long localId = Long.parseLong(localIdParam);
    SimpleDateFormat dfDay = new SimpleDateFormat("d");
    SimpleDateFormat dfMonth = new SimpleDateFormat("M");
    SimpleDateFormat dfYear = new SimpleDateFormat("yyyy");
    List result = new ArrayList();
    TurmaPlanejadaDTO[] turmas = planningService.findAllTurmasPlanejadas(planejamentoId, null, null, null);
    for (TurmaPlanejadaDTO turma : turmas) {
        FaseDTO[] fases = turma.getFases();
        for (FaseDTO fase : fases) {
            if (fase.getLocal() != null && fase.getLocal().getId().equals(localId)) {
                Map map = new HashMap();
                map.put("title", turma.getCurso().getCodigo() + "-" + turma.getNumeroTurma() + " (" + fase.getDescricao() + ")");
                map.put("className", "label-success");
                if (fase.getDataInicio() != null) {
                    map.put("startDay", dfDay.format(fase.getDataInicio()));
                    map.put("startMonth", dfMonth.format(fase.getDataInicio()));
                    map.put("startYear", dfYear.format(fase.getDataInicio()));
                }
                if (fase.getDataTermino() != null) {
                    map.put("endDay", dfDay.format(fase.getDataTermino()));
                    map.put("endMonth", dfMonth.format(fase.getDataTermino()));
                    map.put("endYear", dfYear.format(fase.getDataTermino()));
                }
                result.add(map);
            }
        }
    }
    return result;
}
Also used : HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) List(java.util.List) ArrayList(java.util.ArrayList) SimpleDateFormat(java.text.SimpleDateFormat) Map(java.util.Map) HashMap(java.util.HashMap) TurmaPlanejadaDTO(com.tomasio.projects.trainning.dto.TurmaPlanejadaDTO) FaseDTO(com.tomasio.projects.trainning.dto.FaseDTO) RequestMapping(org.springframework.web.bind.annotation.RequestMapping) ResponseBody(org.springframework.web.bind.annotation.ResponseBody)

Example 22 with FaseDTO

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

the class MainPlanejamentoController method saveTurmaPlanejada.

@RequestMapping("/save_turma")
public String saveTurmaPlanejada(Model model, @Valid TurmaPlanejadaForm turmaPlanejada, BindingResult bindingResult, WebRequest request) {
    String planejamentoId = request.getParameter("planejamentoId");
    SimpleDateFormat dfFull = new SimpleDateFormat("dd/MM/yyyy");
    String[] descricoes = request.getParameterValues("descricao");
    String[] datasInicio = request.getParameterValues("dataInicio");
    String[] datasTermino = request.getParameterValues("dataTermino");
    String[] locaisId = request.getParameterValues("local");
    if (bindingResult.hasErrors()) {
        ItemPlanejamentoDTO[] itensPlanejamento = planningService.findAllItensPlanejamentoByPlanejamentoId(Long.parseLong(planejamentoId));
        model.addAttribute("itensPlanejamento", itensPlanejamento);
        return "planejamento/turma_form";
    }
    TurmaPlanejadaDTO dto = new TurmaPlanejadaDTO();
    dto.setItemPlanejamento(planningService.findItemPlanejamento(turmaPlanejada.getItemPlanejamentoId()));
    dto.setId(turmaPlanejada.getId());
    dto.setResponsavelId(turmaPlanejada.getResponsavelId());
    dto.setCurso(planningService.findItemPlanejamento(turmaPlanejada.getItemPlanejamentoId()).getCurso());
    dto.setNumeroTurma(turmaPlanejada.getNumeroTurma());
    dto.setQuantidadeVagas(turmaPlanejada.getQuantidadeVagas());
    FaseDTO[] fases = new FaseDTO[descricoes.length];
    for (int i = 0; i < fases.length; i++) {
        FaseDTO fase = new FaseDTO();
        if (datasInicio[i] != null && !datasInicio[i].equals("")) {
            try {
                fase.setDataInicio(dfFull.parse(datasInicio[i]));
            } catch (ParseException ex) {
                Logger.getLogger(TurmasEfetivasController.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
        if (datasTermino[i] != null && !datasTermino[i].equals("")) {
            try {
                fase.setDataTermino(dfFull.parse(datasTermino[i]));
            } catch (ParseException ex) {
                Logger.getLogger(TurmasEfetivasController.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
        fase.setDescricao(descricoes[i]);
        if (locaisId[i] != null && !locaisId[i].equals("")) {
            fase.setLocal(organizationalService.findOrganizacao(Long.parseLong(locaisId[i])));
        }
        fases[i] = fase;
    }
    dto.setFases(fases);
    if (turmaPlanejada.getId() > 0) {
        planningService.updateTurma(dto);
    } else {
        Long id = planningService.createTurma(dto);
        dto.setId(id);
    }
    dto = (TurmaPlanejadaDTO) planningService.findTurma(dto.getId());
    model.addAttribute("turma", dto);
    model.addAttribute("fases", dto.getFases());
    model.addAttribute("organizacoes", organizationalService.findAllOrganizacoes());
    return "planejamento/detail_turma";
}
Also used : StripItemPlanejamentoDTO(com.tomasio.projects.trainning.dto.StripItemPlanejamentoDTO) ItemPlanejamentoDTO(com.tomasio.projects.trainning.dto.ItemPlanejamentoDTO) ParseException(java.text.ParseException) SimpleDateFormat(java.text.SimpleDateFormat) TurmaPlanejadaDTO(com.tomasio.projects.trainning.dto.TurmaPlanejadaDTO) FaseDTO(com.tomasio.projects.trainning.dto.FaseDTO) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 23 with FaseDTO

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

the class TurmasProgramadasController method listTurmas.

public List listTurmas(TurmaPlanejadaSearchForm searchForm) {
    List resultDataList = new ArrayList();
    SimpleDateFormat dfDate = new SimpleDateFormat("yyyyMMdd");
    TurmaPlanejadaDTO[] turmasArray = planningService.searchTurmasPlanejadas(searchForm.getPlanejamentoId(), null, null, searchForm.getResponsavelId(), searchForm.getCurso());
    List<TurmaPlanejadaDTO> turmasList = new ArrayList<>();
    turmasList.addAll(Arrays.asList(turmasArray));
    for (Iterator<TurmaPlanejadaDTO> iterator = turmasList.iterator(); iterator.hasNext(); ) {
        TurmaPlanejadaDTO t = iterator.next();
        boolean mustRemove = false;
        if (searchForm.getLocalId() != null) {
            FaseDTO[] fases = t.getFases();
            boolean flagLocal = false;
            for (FaseDTO fase : fases) {
                if (fase.getLocal() != null) {
                    if (fase.getLocal().getId().equals(searchForm.getLocalId())) {
                        flagLocal = true;
                    }
                }
            }
            if (flagLocal == false) {
                mustRemove = true;
            }
        }
        if (searchForm.getTipo() != null && !searchForm.getTipo().equals("")) {
            FaseDTO[] fases = t.getFases();
            boolean flagTipo = false;
            for (FaseDTO fase : fases) {
                if (fase.getTipoFase() != null) {
                    if (fase.getTipoFase().equals(searchForm.getTipo())) {
                        flagTipo = true;
                    }
                }
            }
            if (flagTipo == false) {
                mustRemove = true;
            }
        }
        if (mustRemove) {
            iterator.remove();
        }
    }
    Collections.sort(turmasList, new Comparator<TurmaPlanejadaDTO>() {

        @Override
        public int compare(TurmaPlanejadaDTO o1, TurmaPlanejadaDTO o2) {
            return o1.getCurso().getCodigo().compareTo(o2.getCurso().getCodigo());
        }
    });
    for (TurmaPlanejadaDTO turma : turmasList) {
        Map item = new HashMap();
        item.put("id", turma.getId());
        item.put("codigo", turma.getCurso().getCodigo());
        item.put("numero", turma.getNumeroTurma());
        item.put("local", turma.getLocal());
        item.put("dataInicio", turma.getDataInicioFormatted());
        item.put("dataInicioHidden", dfDate.format(turma.getDataInicio()));
        item.put("dataTermino", turma.getDataTerminoFormatted());
        item.put("dataTerminoHidden", dfDate.format(turma.getDataTermino()));
        item.put("responsavel", organizationalService.findOrganizacao(turma.getResponsavelId()).getSigla());
        item.put("tipo", turma.getTipoTurma());
        item.put("custoDiarias", turma.getCustoEstimadoDiarias());
        item.put("custoAjudaCusto", turma.getCustoEstimadoAjudaCusto());
        item.put("custoPassagem", turma.getCustoEstimadoPassagem());
        resultDataList.add(item);
    }
    return resultDataList;
}
Also used : HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) FaseDTO(com.tomasio.projects.trainning.dto.FaseDTO) List(java.util.List) ArrayList(java.util.ArrayList) SimpleDateFormat(java.text.SimpleDateFormat) Map(java.util.Map) HashMap(java.util.HashMap) TurmaPlanejadaDTO(com.tomasio.projects.trainning.dto.TurmaPlanejadaDTO)

Example 24 with FaseDTO

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

the class TurmasProgramadasController method initializeTurmaPlanejadaForm.

public TurmaPlanejadaForm initializeTurmaPlanejadaForm(Long turmaId, ExternalContext context) {
    OrganizacaoDTO userOrganization = (OrganizacaoDTO) context.getSessionMap().get("userOrganization");
    TurmaPlanejadaForm form = new TurmaPlanejadaForm();
    if (turmaId != null) {
        TurmaPlanejadaDTO turma = (TurmaPlanejadaDTO) planningService.findTurma(turmaId);
        form.setId(turma.getId());
        form.setCursoId(turma.getCurso().getId());
        form.setItemPlanejamentoId(turma.getItemPlanejamento().getId());
        form.setNumeroTurma(turma.getNumeroTurma());
        form.setQuantidadeVagas(turma.getQuantidadeVagas());
        form.setResponsavelId(turma.getResponsavelId());
        FaseDTO[] fases = turma.getFases();
        for (FaseDTO fase : fases) {
            FaseForm faseForm = new FaseForm();
            faseForm.setDataInicio(fase.getDataInicio());
            faseForm.setDataTermino(fase.getDataTermino());
            faseForm.setDescricao(fase.getDescricao());
            faseForm.setLocalId(fase.getLocal().getId());
            faseForm.setLocalSigla(fase.getLocal().getSigla());
            faseForm.setTipo(fase.getTipoFase());
            form.getFases().add(faseForm);
        }
        form.setEstimadoAjudaCusto(turma.getCustoEstimadoAjudaCusto());
        form.setEstimadoDiarias(turma.getCustoEstimadoDiarias());
        form.setEstimadoPassagem(turma.getCustoEstimadoPassagem());
    } else {
        form.setResponsavelId(userOrganization.getId());
    }
    return form;
}
Also used : TurmaPlanejadaForm(com.tomasio.projects.trainning.form.TurmaPlanejadaForm) OrganizacaoDTO(com.tomasio.projects.trainning.dto.OrganizacaoDTO) FaseForm(com.tomasio.projects.trainning.form.FaseForm) TurmaPlanejadaDTO(com.tomasio.projects.trainning.dto.TurmaPlanejadaDTO) FaseDTO(com.tomasio.projects.trainning.dto.FaseDTO)

Example 25 with FaseDTO

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

the class AtividadesEnsinoServiceSimpleImpl method calculateCustoPrevistoAlunos.

@Override
@Transactional(readOnly = true)
public Map<String, BigDecimal> calculateCustoPrevistoAlunos(TurmaEfetivaDTO[] turmas) {
    Map<String, BigDecimal> result = new HashMap();
    DistribuicaoDAO distribuicaoDAO = factory.getDistribuicaoDAO();
    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 transportePrevisto = new BigDecimal(0.00);
    BigDecimal diariasPrevisto = new BigDecimal(0.00);
    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;
                    }
                    if (intervalo > 50) {
                        intervalo = 50;
                    }
                    for (Distribuicao vaga : vagas) {
                        if (vaga.isReserva()) {
                            continue;
                        }
                        Organizacao organizacaoAluno = organizacaoDAO.find(vaga.getOrganizacao().getId());
                        if (organizacaoAluno.createDTO() instanceof ExternoDTO) {
                            continue;
                        }
                        Organizacao organizacaoLocal = organizacaoDAO.find(fase.getLocal().getId());
                        if (!organizacaoAluno.getCidade().getId().equals(organizacaoLocal.getCidade().getId())) {
                            diariasPrevisto = diariasPrevisto.add(diaria.multiply(new BigDecimal(intervalo)).multiply(new BigDecimal(vaga.getQuantidadeVagas())));
                            transportePrevisto = transportePrevisto.add(passagem.multiply(new BigDecimal(vaga.getQuantidadeVagas())));
                        }
                    }
                }
            }
        }
    } catch (DAOException ex) {
        Logger.getLogger(AtividadesEnsinoServiceSimpleImpl.class.getName()).log(Level.SEVERE, null, ex);
    }
    result.put("transporte", transportePrevisto);
    result.put("diarias", diariasPrevisto);
    result.put("total", diariasPrevisto.add(transportePrevisto));
    return result;
}
Also used : HashMap(java.util.HashMap) 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) Organizacao(com.tomasio.projects.trainning.model.Organizacao) Distribuicao(com.tomasio.projects.trainning.model.Distribuicao) Days(org.joda.time.Days) ExternoDTO(com.tomasio.projects.trainning.dto.ExternoDTO) Transactional(org.springframework.transaction.annotation.Transactional)

Aggregations

FaseDTO (com.tomasio.projects.trainning.dto.FaseDTO)32 TurmaEfetivaDTO (com.tomasio.projects.trainning.dto.TurmaEfetivaDTO)16 OrganizacaoDTO (com.tomasio.projects.trainning.dto.OrganizacaoDTO)14 SimpleDateFormat (java.text.SimpleDateFormat)14 PessoaDTO (com.tomasio.projects.trainning.dto.PessoaDTO)11 TurmaPlanejadaDTO (com.tomasio.projects.trainning.dto.TurmaPlanejadaDTO)11 HashMap (java.util.HashMap)9 ProceedingJoinPoint (org.aspectj.lang.ProceedingJoinPoint)7 Around (org.aspectj.lang.annotation.Around)7 IndicacaoDTO (com.tomasio.projects.trainning.dto.IndicacaoDTO)6 Calendar (java.util.Calendar)6 CancelamentoMatriculaDTO (com.tomasio.projects.trainning.dto.CancelamentoMatriculaDTO)5 IndicacaoInstrutorDTO (com.tomasio.projects.trainning.dto.IndicacaoInstrutorDTO)5 DAOException (com.tomasio.projects.trainning.exception.DAOException)5 AtividadesEnsinoService (com.tomasio.projects.trainning.interfaces.AtividadesEnsinoService)5 BigDecimal (java.math.BigDecimal)5 HashSet (java.util.HashSet)5 DateTime (org.joda.time.DateTime)5 Days (org.joda.time.Days)5 Transactional (org.springframework.transaction.annotation.Transactional)5