Search in sources :

Example 26 with IndicacaoAlunoDTO

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

the class TurmasEfetivasController method saveIndicacao.

@RequestMapping("/save_indicacao_ciscea")
public String saveIndicacao(Model model, @Valid IndicacaoCISCEA indicacao, BindingResult bindingResult, WebRequest request, final RedirectAttributes redirectAttributes) {
    OrganizacaoDTO userOrganization = (OrganizacaoDTO) model.asMap().get("userOrganization");
    TurmaEfetivaDTO turma = (TurmaEfetivaDTO) model.asMap().get("turma");
    if (bindingResult.hasErrors()) {
        model.addAttribute("pessoa", organizationalService.findPessoa(indicacao.getPessoaId()));
        model.addAttribute("selectableOrganizacoes", initializeSelectableBeneficiadas(turma, userOrganization));
        return "turmas_efetivas/form_indicacao_ciscea";
    }
    IndicacaoAlunoDTO dto;
    if (indicacao.getId() != null) {
        dto = (IndicacaoAlunoDTO) atividadesEnsinoService.findIndicacao(indicacao.getId());
    } else {
        dto = new IndicacaoAlunoDTO();
    }
    dto.setId(indicacao.getId());
    dto.setDataCriacao(new Date());
    dto.setEmail(indicacao.getEmail());
    dto.setAtendeRequisitos(indicacao.isAtendeRequisitos());
    dto.setJustificativa(indicacao.getJustificativa());
    dto.setObservacao(indicacao.getObservacao());
    dto.setForaDoPrazo(indicacao.isForaDoPrazo());
    dto.setOrganizacao(organizationalService.findOrganizacao(indicacao.getOrganizacaoId()));
    dto.setPessoa(organizationalService.findPessoa(indicacao.getPessoaId()));
    dto.setPrioridade(indicacao.getPrioridade());
    dto.setTelefone(indicacao.getTelefone());
    CustoDTO custo = new CustoDTO();
    custo.setAjudaCustoPlanejado(indicacao.getAjudaCustoPlanejado());
    custo.setDiariasPlanejado(indicacao.getDiariasPlanejado());
    custo.setPassagensPlanejado(indicacao.getPassagensPlanejado());
    dto.setCusto(custo);
    dto.setTurma(atividadesEnsinoService.findTurmaEfetiva(indicacao.getTurmaId()));
    dto.setOrganizacaoBeneficiada(organizationalService.findOrganizacao(indicacao.getOrganizacaoBeneficiadaId()));
    if (dto.getId() != null && dto.getId() > 0) {
        try {
            atividadesEnsinoService.updateIndicacao(dto);
            redirectAttributes.addFlashAttribute("successMessage", "Indicação atualizada com sucesso.");
        } catch (CoreException e) {
            model.addAttribute("errorMessage", e.getMessage());
            PessoaDTO pessoa = organizationalService.findPessoa(indicacao.getPessoaId());
            model.addAttribute("pessoa", pessoa);
            model.addAttribute("selectableOrganizacoes", initializeSelectableBeneficiadas(turma, userOrganization));
            return "turmas_efetivas/form_indicacao_ciscea";
        }
    } else {
        try {
            atividadesEnsinoService.createIndicacao(dto);
            redirectAttributes.addFlashAttribute("successMessage", "Indicação criada com sucesso.");
        } catch (CoreException e) {
            model.addAttribute("errorMessage", e.getMessage());
            PessoaDTO pessoa = organizationalService.findPessoa(indicacao.getPessoaId());
            model.addAttribute("pessoa", pessoa);
            model.addAttribute("selectableOrganizacoes", initializeSelectableBeneficiadas(turma, userOrganization));
            return "turmas_efetivas/form_indicacao_ciscea";
        }
    }
    return "redirect:detail/indicacoes";
}
Also used : IndicacaoAlunoDTO(com.tomasio.projects.trainning.dto.IndicacaoAlunoDTO) TurmaEfetivaDTO(com.tomasio.projects.trainning.dto.TurmaEfetivaDTO) CoreException(com.tomasio.projects.trainning.exeption.CoreException) PessoaDTO(com.tomasio.projects.trainning.dto.PessoaDTO) CustoDTO(com.tomasio.projects.trainning.dto.CustoDTO) OrganizacaoDTO(com.tomasio.projects.trainning.dto.OrganizacaoDTO) Date(java.util.Date) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 27 with IndicacaoAlunoDTO

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

the class TurmasEfetivasController method saveIndicacao.

@RequestMapping("/save_indicacao_ciaer")
public String saveIndicacao(Model model, @Valid IndicacaoCIAER indicacaoCIAER, BindingResult bindingResult, WebRequest request, final RedirectAttributes redirectAttributes) {
    OrganizacaoDTO userOrganization = (OrganizacaoDTO) model.asMap().get("userOrganization");
    TurmaEfetivaDTO turma = (TurmaEfetivaDTO) model.asMap().get("turma");
    if (bindingResult.hasErrors()) {
        model.addAttribute("selectableOrganizacoes", initializeSelectableBeneficiadas(turma, userOrganization));
        model.addAttribute("pessoa", organizationalService.findPessoa(indicacaoCIAER.getPessoaId()));
        return "turmas_efetivas/form_indicacao_ciaer";
    }
    IndicacaoAlunoDTO dto;
    if (indicacaoCIAER.getId() != null) {
        dto = (IndicacaoAlunoDTO) atividadesEnsinoService.findIndicacao(indicacaoCIAER.getId());
    } else {
        dto = new IndicacaoAlunoDTO();
    }
    dto.setId(indicacaoCIAER.getId());
    dto.setCredencialSeguranca(indicacaoCIAER.getCredencialSeguranca());
    dto.setCursos(indicacaoCIAER.getCursos());
    dto.setExpectativaPermanencia(indicacaoCIAER.getExpectativaPermanencia());
    dto.setFuncaoAtual(indicacaoCIAER.getFuncaoAtual());
    dto.setTempoAtividade(indicacaoCIAER.getTempoAtividade());
    dto.setNomeMae(indicacaoCIAER.getNomeMae());
    dto.setNomePai(indicacaoCIAER.getNomePai());
    dto.setPlanoTransmisssao(indicacaoCIAER.getPlanoTransmissao());
    dto.setForaDoPrazo(indicacaoCIAER.isForaDoPrazo());
    dto.setAtendeRequisitos(indicacaoCIAER.isAtendeRequisitos());
    dto.setFuncao(indicacaoCIAER.getFuncao());
    dto.setId(indicacaoCIAER.getId());
    dto.setDataCriacao(new Date());
    dto.setEmail(indicacaoCIAER.getEmail());
    dto.setJustificativa(indicacaoCIAER.getJustificativa());
    CustoDTO custo = new CustoDTO();
    custo.setAjudaCustoPlanejado(indicacaoCIAER.getAjudaCustoPlanejado());
    custo.setDiariasPlanejado(indicacaoCIAER.getDiariasPlanejado());
    custo.setPassagensPlanejado(indicacaoCIAER.getPassagensPlanejado());
    dto.setCusto(custo);
    dto.setObservacao(indicacaoCIAER.getObservacao());
    dto.setOrganizacao(organizationalService.findOrganizacao(indicacaoCIAER.getOrganizacaoId()));
    dto.setPessoa(organizationalService.findPessoa(indicacaoCIAER.getPessoaId()));
    dto.setPrioridade(indicacaoCIAER.getPrioridade());
    dto.setTelefone(indicacaoCIAER.getTelefone());
    dto.setTurma(atividadesEnsinoService.findTurmaEfetiva(indicacaoCIAER.getTurmaId()));
    dto.setTelefoneOM(indicacaoCIAER.getTelefoneOM());
    dto.setQuantidadeCursoOM(indicacaoCIAER.getQuantidadeCursoOM());
    dto.setQuantidadeCursoELO(indicacaoCIAER.getQuantidadeCursoElo());
    dto.setQuantidadeIdealELO(indicacaoCIAER.getQuantidadeIdealElo());
    dto.setQuantidadeMinimoELO(indicacaoCIAER.getQuantidadeMinimoElo());
    dto.setOrganizacaoBeneficiada(organizationalService.findOrganizacao(indicacaoCIAER.getOrganizacaoBeneficiadaId()));
    if (dto.getId() != null && dto.getId() > 0) {
        try {
            atividadesEnsinoService.updateIndicacao(dto);
            redirectAttributes.addFlashAttribute("successMessage", "Indicação atualizada com sucesso.");
        } catch (CoreException e) {
            model.addAttribute("errorMessage", e.getMessage());
            PessoaDTO pessoa = organizationalService.findPessoa(indicacaoCIAER.getPessoaId());
            model.addAttribute("pessoa", pessoa);
            model.addAttribute("selectableOrganizacoes", initializeSelectableBeneficiadas(turma, userOrganization));
            return "turmas_efetivas/form_indicacao_ciaer";
        }
    } else {
        try {
            atividadesEnsinoService.createIndicacao(dto);
            redirectAttributes.addFlashAttribute("successMessage", "Indicação criada com sucesso.");
        } catch (CoreException e) {
            model.addAttribute("errorMessage", e.getMessage());
            PessoaDTO pessoa = organizationalService.findPessoa(indicacaoCIAER.getPessoaId());
            model.addAttribute("pessoa", pessoa);
            model.addAttribute("selectableOrganizacoes", initializeSelectableBeneficiadas(turma, userOrganization));
            return "turmas_efetivas/form_indicacao_ciaer";
        }
    }
    return "redirect:detail/indicacoes";
}
Also used : IndicacaoAlunoDTO(com.tomasio.projects.trainning.dto.IndicacaoAlunoDTO) TurmaEfetivaDTO(com.tomasio.projects.trainning.dto.TurmaEfetivaDTO) CoreException(com.tomasio.projects.trainning.exeption.CoreException) PessoaDTO(com.tomasio.projects.trainning.dto.PessoaDTO) CustoDTO(com.tomasio.projects.trainning.dto.CustoDTO) OrganizacaoDTO(com.tomasio.projects.trainning.dto.OrganizacaoDTO) Date(java.util.Date) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 28 with IndicacaoAlunoDTO

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

the class TurmasEfetivasController method newIndicacao.

@RequestMapping("/nova_indicacao")
public String newIndicacao(Model model, WebRequest request, @ModelAttribute("turma") @Valid TurmaEfetivaDTO turma, @ModelAttribute("userOrganization") @Valid OrganizacaoDTO userOrganization) {
    String pessoaIdParam = request.getParameter("pessoaId");
    if (pessoaIdParam == null || pessoaIdParam.equals("")) {
        return "turmas_efetivas/select_pessoa";
    }
    Long pessoaId = Long.parseLong(pessoaIdParam);
    PessoaDTO pessoa = organizationalService.findPessoa(pessoaId);
    OrganizacaoDTO comgap = organizationalService.findOrganizacaoBySigla("COMGAP");
    OrganizacaoDTO depens = organizationalService.findOrganizacaoBySigla("DEPENS");
    OrganizacaoDTO sefa = organizationalService.findOrganizacaoBySigla("SEFA");
    OrganizacaoDTO decea = organizationalService.findOrganizacaoBySigla("DECEA");
    OrganizacaoDTO cenciar = organizationalService.findOrganizacaoBySigla("CENCIAR");
    OrganizacaoDTO ciscea = organizationalService.findOrganizacaoBySigla("CISCEA");
    OrganizacaoDTO ciaer = organizationalService.findOrganizacaoBySigla("CIAER");
    OrganizacaoDTO comgar = organizationalService.findOrganizacaoBySigla("COMGAR");
    OrganizacaoDTO comgep = organizationalService.findOrganizacaoBySigla("COMGEP");
    OrganizacaoDTO cecomsaer = organizationalService.findOrganizacaoBySigla("CECOMSAER");
    Indicacao indicacao = null;
    String formId = null;
    if (turma.getOrganizacaoGestoraId().equals(comgap.getId())) {
        formId = "turmas_efetivas/form_indicacao_comgap";
        indicacao = new IndicacaoCOMGAP();
    } else if (turma.getOrganizacaoGestoraId().equals(depens.getId())) {
        formId = "turmas_efetivas/form_indicacao_depens";
        indicacao = new IndicacaoDEPENS();
    } else if (turma.getOrganizacaoGestoraId().equals(decea.getId())) {
        formId = "turmas_efetivas/form_indicacao_decea";
        indicacao = new IndicacaoDECEA();
    } else if (turma.getOrganizacaoGestoraId().equals(cenciar.getId())) {
        formId = "turmas_efetivas/form_indicacao_cenciar";
        indicacao = new IndicacaoCENCIAR();
    } else if (turma.getOrganizacaoGestoraId().equals(ciscea.getId())) {
        formId = "turmas_efetivas/form_indicacao_ciscea";
        indicacao = new IndicacaoCISCEA();
    } else if (turma.getOrganizacaoGestoraId().equals(ciaer.getId())) {
        formId = "turmas_efetivas/form_indicacao_ciaer";
        indicacao = new IndicacaoCIAER();
    } else if (turma.getOrganizacaoGestoraId().equals(comgar.getId())) {
        formId = "turmas_efetivas/form_indicacao_comgar";
        indicacao = new IndicacaoCOMGAR();
    } else if (turma.getOrganizacaoGestoraId().equals(comgep.getId())) {
        formId = "turmas_efetivas/form_indicacao_comgep";
        indicacao = new IndicacaoCOMGEP();
    } else if (turma.getOrganizacaoGestoraId().equals(sefa.getId())) {
        formId = "turmas_efetivas/form_indicacao_sefa";
        indicacao = new IndicacaoSEFA();
    } else if (turma.getOrganizacaoGestoraId().equals(cecomsaer.getId())) {
        formId = "turmas_efetivas/form_indicacao_cecomsaer";
        indicacao = new IndicacaoCECOMSAER();
    } else {
        formId = "turmas_efetivas/form_indicacao";
        indicacao = new IndicacaoDefault();
    }
    /* Preparar Lista de organizações para seleção de OM Beneficiada */
    Map organizacoes = initializeSelectableBeneficiadas(turma, userOrganization);
    OrganizacaoDTO[] organizacoesHelp = organizationalService.findAllOrganizacoes();
    indicacao.setOrganizacaoId(userOrganization.getId());
    indicacao.setPessoaId(pessoa.getId());
    indicacao.setTurmaId(turma.getId());
    if (pessoa.getEmails().length == 1) {
        indicacao.setEmail(pessoa.getEmails()[0].getAddress());
    }
    if (pessoa.getTelefones().length == 1) {
        indicacao.setTelefone(pessoa.getTelefones()[0].getNumero());
    }
    model.addAttribute("pessoa", pessoa);
    model.addAttribute("selectableOrganizacoes", organizacoes);
    model.addAttribute("organizacoes", organizacoesHelp);
    model.addAttribute(indicacao);
    // realizar testes antes de abrir o formulario para preenchimento da indicação
    IndicacaoAlunoDTO indicacaoDTO = new IndicacaoAlunoDTO();
    indicacaoDTO.setOrganizacao(userOrganization);
    indicacaoDTO.setPessoa(pessoa);
    indicacaoDTO.setTurma(atividadesEnsinoService.findTurmaEfetiva(indicacao.getTurmaId()));
    String errorMessage = "";
    try {
    // atividadesEnsinoService.alertaDeIndicacao(indicacaoDTO, "CREATE");
    } catch (CoreException e) {
        errorMessage += e.getMessage();
    }
    try {
    // atividadesEnsinoService.travaDeIndicacao(indicacaoDTO, "CREATE");
    } catch (CoreException erro) {
        errorMessage += erro.getMessage();
        if (!turma.getOrganizacaoGestoraId().equals(userOrganization.getId())) {
            formId = "turmas_efetivas/select_pessoa";
        }
    }
    if (!errorMessage.equals("")) {
        model.addAttribute("errorMessage", errorMessage);
    }
    return formId;
}
Also used : IndicacaoCIAER(com.tomasio.projects.trainning.form.IndicacaoCIAER) IndicacaoCOMGAP(com.tomasio.projects.trainning.form.IndicacaoCOMGAP) IndicacaoDEPENS(com.tomasio.projects.trainning.form.IndicacaoDEPENS) IndicacaoCENCIAR(com.tomasio.projects.trainning.form.IndicacaoCENCIAR) IndicacaoCOMGEP(com.tomasio.projects.trainning.form.IndicacaoCOMGEP) IndicacaoDefault(com.tomasio.projects.trainning.form.IndicacaoDefault) Indicacao(com.tomasio.projects.trainning.form.Indicacao) IndicacaoCECOMSAER(com.tomasio.projects.trainning.form.IndicacaoCECOMSAER) IndicacaoCISCEA(com.tomasio.projects.trainning.form.IndicacaoCISCEA) IndicacaoAlunoDTO(com.tomasio.projects.trainning.dto.IndicacaoAlunoDTO) PessoaDTO(com.tomasio.projects.trainning.dto.PessoaDTO) IndicacaoSEFA(com.tomasio.projects.trainning.form.IndicacaoSEFA) CoreException(com.tomasio.projects.trainning.exeption.CoreException) OrganizacaoDTO(com.tomasio.projects.trainning.dto.OrganizacaoDTO) IndicacaoCOMGAR(com.tomasio.projects.trainning.form.IndicacaoCOMGAR) Map(java.util.Map) HashMap(java.util.HashMap) IndicacaoDECEA(com.tomasio.projects.trainning.form.IndicacaoDECEA) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 29 with IndicacaoAlunoDTO

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

the class ChartsController method retrieveIndicacoes.

public List<Map<Object, Object>> retrieveIndicacoes(Map<Object, Object> cursoData, ExternalContext context) {
    List<Map<Object, Object>> result = new ArrayList<Map<Object, Object>>();
    OrganizacaoDTO userOrganization = (OrganizacaoDTO) context.getSessionMap().get("userOrganization");
    OrganizacaoDTO organizacao = organizationalService.findOrganizacao(userOrganization.getId());
    Long[] cursosIds = new Long[1];
    cursosIds[0] = (Long) cursoData.get("id");
    Long[] organizacoesIds = new Long[1];
    organizacoesIds[0] = organizacao.getId();
    int countMatriculadosSede = 0;
    int countIndicadosSede = 0;
    int countMatriculadosGDSede = 0;
    int countIndicadosGDSede = 0;
    int countMatriculadosOfSede = 0;
    int countIndicadosOfSede = 0;
    List<Map<Object, Object>> indicadosSede = new ArrayList<Map<Object, Object>>();
    IndicacaoAlunoDTO[] indicacoes = atividadesEnsinoService.findAllIndicacoesAlunosByOrganizacoesBeneficiadas(ano, organizacoesIds, cursosIds, null);
    for (IndicacaoAlunoDTO indicacao : indicacoes) {
        PessoaDTO pessoa = organizationalService.findPessoa(indicacao.getPessoa().getId());
        TurmaEfetivaDTO turma = indicacao.getTurma();
        countIndicadosSede++;
        if (pessoa.isOficial()) {
            countIndicadosOfSede++;
        } else {
            countIndicadosGDSede++;
        }
        if (indicacao.isMatriculado()) {
            countMatriculadosSede++;
            if (pessoa.isOficial()) {
                countMatriculadosOfSede++;
            } else {
                countMatriculadosGDSede++;
            }
        }
        Map<Object, Object> itemIndicacao = new HashMap<Object, Object>();
        itemIndicacao.put("nome", pessoa.getTargetaCompletaOM());
        itemIndicacao.put("status", indicacao.isMatriculado());
        itemIndicacao.put("turma", turma.getNumeroTurma());
        indicadosSede.add(itemIndicacao);
    }
    Map<Object, Object> itemSede = new HashMap<Object, Object>();
    itemSede.put("sigla", organizacao.getSigla() + " (SEDE)");
    itemSede.put("indicados", countIndicadosSede);
    itemSede.put("indicadosOf", countIndicadosOfSede);
    itemSede.put("indicadosGD", countIndicadosGDSede);
    itemSede.put("matriculados", countMatriculadosSede);
    itemSede.put("matriculadosOf", countMatriculadosOfSede);
    itemSede.put("matriculadosGD", countMatriculadosGDSede);
    itemSede.put("indicacoes", indicadosSede);
    itemSede.put("id", organizacao.getId());
    result.add(itemSede);
    OrganizacaoDTO[] organizacoesDiretamenteSubordinadas = organizationalService.findAllOrganizacoesDiretamenteSubordinadas(organizacao.getId());
    for (OrganizacaoDTO organizacaoDiretamenteSubordinada : organizacoesDiretamenteSubordinadas) {
        int countMatriculados = 0;
        int countIndicados = 0;
        int countMatriculadosOf = 0;
        int countIndicadosOf = 0;
        int countMatriculadosGD = 0;
        int countIndicadosGD = 0;
        List<Map<Object, Object>> indicadosSubordinada = new ArrayList<Map<Object, Object>>();
        OrganizacaoDTO[] outrasOrganizacoesSubordinadas = organizationalService.findAllOrganizacoesSubordinadas(organizacaoDiretamenteSubordinada.getId());
        Long[] organizacoesSubordinadasIds = new Long[outrasOrganizacoesSubordinadas.length + 1];
        for (int i = 0; i < outrasOrganizacoesSubordinadas.length; i++) {
            organizacoesSubordinadasIds[i] = outrasOrganizacoesSubordinadas[i].getId();
        }
        organizacoesSubordinadasIds[outrasOrganizacoesSubordinadas.length] = organizacaoDiretamenteSubordinada.getId();
        IndicacaoAlunoDTO[] indicacoesFromSubordinadas = atividadesEnsinoService.findAllIndicacoesAlunosByOrganizacoesBeneficiadas(ano, organizacoesSubordinadasIds, cursosIds, null);
        for (IndicacaoAlunoDTO indicacao : indicacoesFromSubordinadas) {
            PessoaDTO pessoa = organizationalService.findPessoa(indicacao.getPessoa().getId());
            TurmaEfetivaDTO turma = indicacao.getTurma();
            countIndicados++;
            if (pessoa.isOficial()) {
                countIndicadosOf++;
            } else {
                countIndicadosGD++;
            }
            if (indicacao.isMatriculado()) {
                countMatriculados++;
                if (pessoa.isOficial()) {
                    countMatriculadosOf++;
                } else {
                    countMatriculadosGD++;
                }
            }
            Map<Object, Object> itemIndicacao = new HashMap<Object, Object>();
            itemIndicacao.put("nome", pessoa.getTargetaCompletaOM());
            itemIndicacao.put("status", indicacao.isMatriculado());
            itemIndicacao.put("turma", turma.getNumeroTurma());
            indicadosSubordinada.add(itemIndicacao);
        }
        Map<Object, Object> itemSubordinada = new HashMap<Object, Object>();
        itemSubordinada.put("sigla", organizacaoDiretamenteSubordinada.getSigla());
        itemSubordinada.put("indicados", countIndicados);
        itemSubordinada.put("indicadosOf", countIndicadosOf);
        itemSubordinada.put("indicadosGD", countIndicadosGD);
        itemSubordinada.put("matriculados", countMatriculados);
        itemSubordinada.put("matriculadosOf", countMatriculadosOf);
        itemSubordinada.put("matriculadosGD", countMatriculadosGD);
        itemSubordinada.put("indicacoes", indicadosSubordinada);
        itemSubordinada.put("id", organizacaoDiretamenteSubordinada.getId());
        result.add(itemSubordinada);
    }
    return result;
}
Also used : HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) IndicacaoAlunoDTO(com.tomasio.projects.trainning.dto.IndicacaoAlunoDTO) TurmaEfetivaDTO(com.tomasio.projects.trainning.dto.TurmaEfetivaDTO) PessoaDTO(com.tomasio.projects.trainning.dto.PessoaDTO) OrganizacaoDTO(com.tomasio.projects.trainning.dto.OrganizacaoDTO) HashMap(java.util.HashMap) Map(java.util.Map)

Example 30 with IndicacaoAlunoDTO

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

the class TurmasEfetivasController method saveIndicacao.

@RequestMapping("/save_indicacao_sefa")
public String saveIndicacao(Model model, @Valid IndicacaoSEFA indicacao, BindingResult bindingResult, WebRequest request, final RedirectAttributes redirectAttributes) {
    OrganizacaoDTO userOrganization = (OrganizacaoDTO) model.asMap().get("userOrganization");
    TurmaEfetivaDTO turma = (TurmaEfetivaDTO) model.asMap().get("turma");
    if (bindingResult.hasErrors()) {
        PessoaDTO pessoa = organizationalService.findPessoa(indicacao.getPessoaId());
        model.addAttribute("pessoa", pessoa);
        model.addAttribute("selectableOrganizacoes", initializeSelectableBeneficiadas(turma, userOrganization));
        return "turmas_efetivas/form_indicacao_sefa";
    }
    IndicacaoAlunoDTO dto;
    if (indicacao.getId() != null) {
        dto = (IndicacaoAlunoDTO) atividadesEnsinoService.findIndicacao(indicacao.getId());
    } else {
        dto = new IndicacaoAlunoDTO();
    }
    dto.setAtendeRequisitos(indicacao.isAtendeRequisitos());
    dto.setFuncaoAtual(indicacao.getFuncaoAtual());
    dto.setDataUltimaPromocao(indicacao.getDataUltimaPromocao());
    dto.setId(indicacao.getId());
    dto.setDataCriacao(new Date());
    dto.setEmail(indicacao.getEmail());
    CustoDTO custo = new CustoDTO();
    custo.setAjudaCustoPlanejado(indicacao.getAjudaCustoPlanejado());
    custo.setDiariasPlanejado(indicacao.getDiariasPlanejado());
    custo.setPassagensPlanejado(indicacao.getPassagensPlanejado());
    dto.setCusto(custo);
    dto.setForaDoPrazo(indicacao.isForaDoPrazo());
    dto.setJustificativa(indicacao.getJustificativa());
    dto.setObservacao(indicacao.getObservacao());
    dto.setOrganizacaoBeneficiada(organizationalService.findOrganizacao(indicacao.getOrganizacaoBeneficiadaId()));
    dto.setOrganizacao(organizationalService.findOrganizacao(indicacao.getOrganizacaoId()));
    dto.setPessoa(organizationalService.findPessoa(indicacao.getPessoaId()));
    dto.setPrioridade(indicacao.getPrioridade());
    dto.setTelefone(indicacao.getTelefone());
    dto.setTurma(atividadesEnsinoService.findTurmaEfetiva(indicacao.getTurmaId()));
    if (dto.getId() != null && dto.getId() > 0) {
        try {
            atividadesEnsinoService.updateIndicacao(dto);
            redirectAttributes.addFlashAttribute("successMessage", "Indicação atualizada com sucesso.");
        } catch (CoreException e) {
            model.addAttribute("errorMessage", e.getMessage());
            PessoaDTO pessoa = organizationalService.findPessoa(indicacao.getPessoaId());
            model.addAttribute("pessoa", pessoa);
            model.addAttribute("selectableOrganizacoes", initializeSelectableBeneficiadas(turma, userOrganization));
            return "turmas_efetivas/form_indicacao_sefa";
        }
    } else {
        try {
            atividadesEnsinoService.createIndicacao(dto);
            redirectAttributes.addFlashAttribute("successMessage", "Indicação criada com sucesso.");
        } catch (CoreException e) {
            model.addAttribute("errorMessage", e.getMessage());
            PessoaDTO pessoa = organizationalService.findPessoa(indicacao.getPessoaId());
            model.addAttribute("pessoa", pessoa);
            model.addAttribute("selectableOrganizacoes", initializeSelectableBeneficiadas(turma, userOrganization));
            return "turmas_efetivas/form_indicacao_sefa";
        }
    }
    return "redirect:detail/indicacoes";
}
Also used : IndicacaoAlunoDTO(com.tomasio.projects.trainning.dto.IndicacaoAlunoDTO) TurmaEfetivaDTO(com.tomasio.projects.trainning.dto.TurmaEfetivaDTO) PessoaDTO(com.tomasio.projects.trainning.dto.PessoaDTO) CoreException(com.tomasio.projects.trainning.exeption.CoreException) CustoDTO(com.tomasio.projects.trainning.dto.CustoDTO) OrganizacaoDTO(com.tomasio.projects.trainning.dto.OrganizacaoDTO) Date(java.util.Date) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Aggregations

IndicacaoAlunoDTO (com.tomasio.projects.trainning.dto.IndicacaoAlunoDTO)36 CoreException (com.tomasio.projects.trainning.exeption.CoreException)25 PessoaDTO (com.tomasio.projects.trainning.dto.PessoaDTO)19 TurmaEfetivaDTO (com.tomasio.projects.trainning.dto.TurmaEfetivaDTO)18 OrganizacaoDTO (com.tomasio.projects.trainning.dto.OrganizacaoDTO)17 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)17 Date (java.util.Date)13 IndicacaoDAO (com.tomasio.projects.trainning.dao.IndicacaoDAO)12 DAOException (com.tomasio.projects.trainning.exception.DAOException)12 IndicacaoAluno (com.tomasio.projects.trainning.model.IndicacaoAluno)12 Transactional (org.springframework.transaction.annotation.Transactional)12 CustoDTO (com.tomasio.projects.trainning.dto.CustoDTO)11 ParseException (java.text.ParseException)11 ArrayList (java.util.ArrayList)9 HashMap (java.util.HashMap)8 IndicacaoDTO (com.tomasio.projects.trainning.dto.IndicacaoDTO)6 Map (java.util.Map)6 Indicacao (com.tomasio.projects.trainning.model.Indicacao)4 SimpleDateFormat (java.text.SimpleDateFormat)4 MatriculaDTO (com.tomasio.projects.trainning.dto.MatriculaDTO)3