Search in sources :

Example 6 with ComandoDTO

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

the class PlamensController method showIndex.

@RequestMapping("/solicitacoes_plamens")
public String showIndex(Model model, @ModelAttribute("userOrganization") OrganizacaoDTO userOrganization, WebRequest request) {
    List<Map<Object, Object>> solicitacoes = new ArrayList<Map<Object, Object>>();
    List<Map<Object, Object>> rascunhos = new ArrayList<Map<Object, Object>>();
    SolicitacaoPlamensDTO[] listaCompleta;
    if (userOrganization instanceof ComandoDTO) {
        listaCompleta = planningService.findAllSolicitacoesPlamens(2019, userOrganization.getId(), null);
    } else {
        listaCompleta = planningService.findAllSolicitacoesPlamens(2019, null, userOrganization.getId());
    }
    for (SolicitacaoPlamensDTO solicitacao : listaCompleta) {
        Map<Object, Object> item = new HashMap<Object, Object>();
        item.put("organizacao", solicitacao.getOrganizacaoSolicitante().getSigla());
        item.put("tipo", solicitacao.getTipo());
        item.put("curso", solicitacao.getCurso());
        item.put("prioridade", solicitacao.getPrioridade());
        item.put("duracao", solicitacao.getDuracao());
        item.put("dataInicio", solicitacao.getDataInicioFormatted());
        item.put("dataTermino", solicitacao.getDataTerminoFormatted());
        item.put("quantidadeVagas", solicitacao.getQuantidadeVagas());
        item.put("id", solicitacao.getId());
        item.put("cursoTotal", solicitacao.getCustoTotalFormatted());
        if (solicitacao.isRascunho()) {
            rascunhos.add(item);
        } else {
            solicitacoes.add(item);
        }
    }
    model.addAttribute("solicitacoes", solicitacoes);
    model.addAttribute("rascunhos", rascunhos);
    model.addAttribute("totalSolicitacoes", solicitacoes.size());
    model.addAttribute("totalRascunhos", rascunhos.size());
    return "solicitacoes_plamens";
}
Also used : SolicitacaoPlamensDTO(com.tomasio.projects.trainning.dto.SolicitacaoPlamensDTO) HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) HashMap(java.util.HashMap) Map(java.util.Map) ComandoDTO(com.tomasio.projects.trainning.dto.ComandoDTO) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 7 with ComandoDTO

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

the class BusinessPermissionsManager method hasPermissionForIndicacao.

public boolean hasPermissionForIndicacao(IndicacaoPermissionModel permission, IndicacaoDTO indicacao, OrganizacaoDTO userOrganization) {
    TurmaEfetivaDTO turma = indicacao.getTurma();
    OrganizacaoDTO organizacaoIndicadora = indicacao.getOrganizacao();
    if (permission.equals(IndicacaoPermissionModel.EDIT)) {
        // VERIFICA SE A ORGANIZACAO DO USUÁRIO É A ORGANIZACAO QUE CRIOU INDICOU
        if (!organizacaoIndicadora.getId().equals(userOrganization.getId())) {
            return false;
        }
        // NAO PERMITE A INCLUSÃO DE INDICAÇÕES EM CURSOS JÁ PRE-ATIVADOS OU ATIVADOS
        if (turma.isPreAtivado() || turma.isAtivado()) {
            return false;
        }
        // NAO PERMITE A EDIÇÃO DE INDICAÇÕES FORA DO PERIODO DE INDICAÇÕES
        if (!turma.isOpenForIndicacoes()) {
            return false;
        }
        // NAO PERMITE A EDIÇÃO DE INDICAÇÕES JÁ APROVADAS
        if (indicacao.isAprovado() && indicacao.getLastWorkflowActor() != null) {
            return false;
        }
        // NAO PERMITE A EDIÇÃO DE INDICAÇÕES JÁ REPROVADAS
        if (indicacao.isReprovado()) {
            return false;
        }
    }
    if (permission.equals(IndicacaoPermissionModel.REMOVE)) {
        // VERIFICA SE A ORGANIZACAO DO USUÁRIO É A ORGANIZACAO QUE CRIOU INDICOU
        if (!organizacaoIndicadora.getId().equals(userOrganization.getId())) {
            return false;
        }
        // NAO PERMITE A INCLUSÃO DE INDICAÇÕES EM CURSOS JÁ PRE-ATIVADOS OU ATIVADOS
        if (turma.isPreAtivado() || turma.isAtivado()) {
            return false;
        }
        // NAO PERMITE A REMOÇÃO DE INDICAÇÕES FORA DO PERIODO DE INDICAÇÕES
        if (!turma.isOpenForIndicacoes()) {
            return false;
        }
        // NAO PERMITE A REMOCAO DE INDICAÇÕES JÁ APROVADAS
        if (indicacao.isAprovado() && indicacao.getLastWorkflowActor() != null) {
            return false;
        }
        // NAO PERMITE A REMOÇÃO DE INDICAÇÕES JÁ REPROVADAS
        if (indicacao.isReprovado()) {
            return false;
        }
    }
    if (permission.equals(IndicacaoPermissionModel.APROVE)) {
        OrganizacaoDTO nextAprovador = indicacao.getNextWorkflowActor();
        if (nextAprovador == null) {
            return false;
        }
        // VERIFICA QUE A ORGANIZAÇÃO DO USUÁRIO NÃO É A PROXIMA NO WORKFLOW DE APROVAÇÃO
        if (!userOrganization.getId().equals(nextAprovador.getId())) {
            return false;
        }
        // NAO PERMITE A APROVAÇÃO DE INDICAÇÕES EM CURSOS JÁ PRE-ATIVADOS OU ATIVADOS
        if (turma.isPreAtivado() || turma.isAtivado()) {
            return false;
        }
        // VERIFICA SE O PERIODO DE APROVAÇÕES ESTÁ FECHADO
        if (userOrganization instanceof ComandoDTO) {
            if ((!turma.isOpenForAprovacoes()) && (!turma.isOpenForIndicacoes())) {
                return false;
            }
        } else {
            if (userOrganization instanceof UnidadeDTO) {
                UnidadeDTO userUnidade = (UnidadeDTO) userOrganization;
                if (userUnidade.getParent().getId().equals(turma.getOrganizacaoGestoraId())) {
                    if (!turma.isOpenForAprovacoes() && (!turma.isOpenForIndicacoes())) {
                        return false;
                    }
                } else {
                    if (!turma.isOpenForIndicacoes()) {
                        return false;
                    }
                }
            } else {
                if (!turma.isOpenForIndicacoes()) {
                    return false;
                }
            }
        }
    }
    if (permission.equals(IndicacaoPermissionModel.REJECT)) {
        OrganizacaoDTO nextAprovador = indicacao.getNextWorkflowActor();
        if (nextAprovador == null) {
            return false;
        }
        // VERIFICA QUE A ORGANIZAÇÃO DO USUÁRIO NÃO É A PROXIMA NO WORKFLOW DE APROVAÇÃO
        if (!userOrganization.getId().equals(nextAprovador.getId())) {
            return false;
        }
        // NAO PERMITE A APROVAÇÃO DE INDICAÇÕES EM CURSOS JÁ PRE-ATIVADOS OU ATIVADOS
        if (turma.isPreAtivado() || turma.isAtivado()) {
            return false;
        }
        // VERIFICA SE O PERIODO DE APROVAÇÕES ESTÁ FECHADO
        if (userOrganization instanceof ComandoDTO) {
            if (!turma.isOpenForAprovacoes() && (!turma.isOpenForIndicacoes())) {
                return false;
            }
        } else {
            if (userOrganization instanceof UnidadeDTO) {
                UnidadeDTO userUnidade = (UnidadeDTO) userOrganization;
                if (userUnidade.getParent().getId().equals(turma.getOrganizacaoGestoraId())) {
                    if (!turma.isOpenForAprovacoes() && (!turma.isOpenForIndicacoes())) {
                        return false;
                    }
                } else {
                    if (!turma.isOpenForIndicacoes()) {
                        return false;
                    }
                }
            } else {
                if (!turma.isOpenForIndicacoes()) {
                    return false;
                }
            }
        }
    }
    if (permission.equals(IndicacaoPermissionModel.CANCEL_REJECT)) {
        OrganizacaoDTO lastParticipant = indicacao.getLastWorkflowActor();
        if (lastParticipant == null) {
            return false;
        }
        // VERIFICA QUE A ORGANIZAÇÃO DO USUÁRIO NÃO É A PROXIMA NO WORKFLOW DE APROVAÇÃO
        if (!userOrganization.getId().equals(lastParticipant.getId())) {
            return false;
        }
        // NAO PERMITE A APROVAÇÃO DE INDICAÇÕES EM CURSOS JÁ PRE-ATIVADOS OU ATIVADOS
        if (turma.isPreAtivado() || turma.isAtivado()) {
            return false;
        }
        // VERIFICA SE O PERIODO DE APROVAÇÕES ESTÁ FECHADO
        if (userOrganization instanceof ComandoDTO) {
            if ((!turma.isOpenForAprovacoes()) && (!turma.isOpenForIndicacoes())) {
                return false;
            }
        } else {
            if (userOrganization instanceof UnidadeDTO) {
                UnidadeDTO userUnidade = (UnidadeDTO) userOrganization;
                if (userUnidade.getParent().getId().equals(turma.getOrganizacaoGestoraId())) {
                    if (!turma.isOpenForAprovacoes() && (!turma.isOpenForIndicacoes())) {
                        return false;
                    }
                } else {
                    if (!turma.isOpenForIndicacoes()) {
                        return false;
                    }
                }
            } else {
                if (!turma.isOpenForIndicacoes()) {
                    return false;
                }
            }
        }
        if (!(indicacao.isReprovado() && lastParticipant.equals(userOrganization))) {
            return false;
        }
    }
    if (permission.equals(IndicacaoPermissionModel.CANCEL_APROVE)) {
        OrganizacaoDTO lastParticipant = indicacao.getLastWorkflowActor();
        if (lastParticipant == null) {
            return false;
        }
        // VERIFICA QUE A ORGANIZAÇÃO DO USUÁRIO NÃO É A PROXIMA NO WORKFLOW DE APROVAÇÃO
        if (!userOrganization.getId().equals(lastParticipant.getId())) {
            return false;
        }
        // NAO PERMITE A APROVAÇÃO DE INDICAÇÕES EM CURSOS JÁ PRE-ATIVADOS OU ATIVADOS
        if (turma.isPreAtivado() || turma.isAtivado()) {
            return false;
        }
        // VERIFICA SE O PERIODO DE APROVAÇÕES ESTÁ FECHADO
        if (userOrganization instanceof ComandoDTO) {
            if ((!turma.isOpenForAprovacoes()) && (!turma.isOpenForIndicacoes())) {
                return false;
            }
        } else {
            if (userOrganization instanceof UnidadeDTO) {
                UnidadeDTO userUnidade = (UnidadeDTO) userOrganization;
                if (userUnidade.getParent().getId().equals(turma.getOrganizacaoGestoraId())) {
                    if (!turma.isOpenForAprovacoes() && (!turma.isOpenForIndicacoes())) {
                        return false;
                    }
                } else {
                    if (!turma.isOpenForIndicacoes()) {
                        return false;
                    }
                }
            } else {
                if (!turma.isOpenForIndicacoes()) {
                    return false;
                }
            }
        }
        if (indicacao.isReprovado()) {
            return false;
        }
        if (!lastParticipant.equals(userOrganization)) {
            return false;
        }
    }
    return true;
}
Also used : TurmaEfetivaDTO(com.tomasio.projects.trainning.dto.TurmaEfetivaDTO) UnidadeDTO(com.tomasio.projects.trainning.dto.UnidadeDTO) OrganizacaoDTO(com.tomasio.projects.trainning.dto.OrganizacaoDTO) ComandoDTO(com.tomasio.projects.trainning.dto.ComandoDTO)

Example 8 with ComandoDTO

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

the class OrganizationalServiceSimpleImpl method intantiateOrganizacao.

private Organizacao intantiateOrganizacao(OrganizacaoDTO dto) {
    Organizacao organizacao;
    if (dto instanceof ExternoDTO) {
        ExternoDTO aux = (ExternoDTO) dto;
        organizacao = new Externo(aux);
    } else if (dto instanceof ComandoDTO) {
        ComandoDTO aux = (ComandoDTO) dto;
        organizacao = new Comando(aux);
    } else {
        UnidadeDTO aux = (UnidadeDTO) dto;
        organizacao = new Unidade(aux);
    }
    return organizacao;
}
Also used : Comando(com.tomasio.projects.trainning.model.Comando) Organizacao(com.tomasio.projects.trainning.model.Organizacao) Unidade(com.tomasio.projects.trainning.model.Unidade) ExternoDTO(com.tomasio.projects.trainning.dto.ExternoDTO) Externo(com.tomasio.projects.trainning.model.Externo) UnidadeDTO(com.tomasio.projects.trainning.dto.UnidadeDTO) ComandoDTO(com.tomasio.projects.trainning.dto.ComandoDTO)

Aggregations

ComandoDTO (com.tomasio.projects.trainning.dto.ComandoDTO)8 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)6 OrganizacaoDTO (com.tomasio.projects.trainning.dto.OrganizacaoDTO)5 UnidadeDTO (com.tomasio.projects.trainning.dto.UnidadeDTO)5 EnderecoDTO (com.tomasio.projects.trainning.dto.EnderecoDTO)3 HashMap (java.util.HashMap)3 Map (java.util.Map)3 CidadeDTO (com.tomasio.projects.trainning.dto.CidadeDTO)2 ExternoDTO (com.tomasio.projects.trainning.dto.ExternoDTO)2 TurmaEfetivaDTO (com.tomasio.projects.trainning.dto.TurmaEfetivaDTO)2 ArrayList (java.util.ArrayList)2 OrganizacaoFABDTO (com.tomasio.projects.trainning.dto.OrganizacaoFABDTO)1 SolicitacaoPacespDTO (com.tomasio.projects.trainning.dto.SolicitacaoPacespDTO)1 SolicitacaoPlamensDTO (com.tomasio.projects.trainning.dto.SolicitacaoPlamensDTO)1 CoreException (com.tomasio.projects.trainning.exeption.CoreException)1 OrganizacaoForm (com.tomasio.projects.trainning.form.OrganizacaoForm)1 Comando (com.tomasio.projects.trainning.model.Comando)1 Externo (com.tomasio.projects.trainning.model.Externo)1 Organizacao (com.tomasio.projects.trainning.model.Organizacao)1 Unidade (com.tomasio.projects.trainning.model.Unidade)1