Search in sources :

Example 1 with NetworkUserDTO

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

the class TurmasEfetivasController method listConclusoes.

@RequestMapping("/detail/conclusoes")
public String listConclusoes(Model model, WebRequest request, @ModelAttribute("turma") TurmaEfetivaDTO turma) {
    // busca todos os apresentados com comparecimento
    // ApresentacaoDTO[] alunosApresentadosNaoConcluido = atividadesEnsinoService.findAllApresentacoesNaoConcluidasByTurmaId(turma.getId());
    ApresentacaoDTO[] alunosApresentados = atividadesEnsinoService.findAllApresentacoesByTurmaId(turma.getId());
    // busca e ordena por nome os apresentados concluintes
    ConclusaoDTO[] conclusoesComAproveitamento = atividadesEnsinoService.findAllConcluidosByTurma(turma.getId(), true);
    ConclusaoDTO[] conclusoesSemAproveitamento = atividadesEnsinoService.findAllConcluidosByTurma(turma.getId(), false);
    Arrays.sort(conclusoesComAproveitamento, new Comparator<ConclusaoDTO>() {

        @Override
        public int compare(ConclusaoDTO o1, ConclusaoDTO o2) {
            return o1.getPessoa().getNome().compareTo(o2.getPessoa().getNome());
        }
    });
    Arrays.sort(conclusoesSemAproveitamento, new Comparator<ConclusaoDTO>() {

        @Override
        public int compare(ConclusaoDTO o1, ConclusaoDTO o2) {
            return o1.getPessoa().getNome().compareTo(o2.getPessoa().getNome());
        }
    });
    // List conclusoesComAproveitamento
    List<Map<Object, Object>> dataList = new ArrayList<Map<Object, Object>>();
    // correr a lista de concluídos com aproveitamento para filtrar os não certificados
    for (ConclusaoDTO conclusao : conclusoesComAproveitamento) {
        Map<Object, Object> item = new HashMap<Object, Object>();
        item.put("targetaCompletaOM", conclusao.getPessoa().getTargetaCompletaOM());
        MatriculaDTO maticula = atividadesEnsinoService.findMatricula(conclusao.getMatricula().getId());
        item.put("indicacao", maticula.getIndicacao().getId());
        item.put("id", conclusao.getId());
        item.put("observacao", conclusao.getObservacao());
        item.put("dataOperacao", conclusao.getDataOperacao());
        String operador = "Não Informado";
        if (conclusao.getOperador() != null && !"".equals(conclusao.getOperador())) {
            NetworkUserDTO usuario = userService.findUser(conclusao.getOperador());
            // operador = usuario.getTarjeta() + " (" + usuario.getOrganizacao() + ")";
            if (usuario != null) {
                operador = usuario.getTarjeta();
            } else {
                operador = conclusao.getOperador();
            }
        }
        item.put("operador", operador);
        // ajuste para COMGAP 14/12/2015 - Ten Aguiar
        if (conclusao.getPessoa().getOrganizacao() != null && conclusao.getPessoa().getOrganizacao().getId() != null) {
            OrganizacaoDTO omDoAluno = organizationalService.findOrganizacao(conclusao.getPessoa().getOrganizacao().getId());
            item.put("omDoAluno", omDoAluno.getSigla());
        } else {
            item.put("omDoAluno", "");
        }
        dataList.add(item);
    }
    // List conclusoesSemAproveitamento
    List<Map<Object, Object>> dataListSem = new ArrayList<Map<Object, Object>>();
    // correr a lista de concluídos com aproveitamento para filtrar os não certificados
    for (ConclusaoDTO conclusao : conclusoesSemAproveitamento) {
        Map<Object, Object> item = new HashMap<Object, Object>();
        item.put("targetaCompletaOM", conclusao.getPessoa().getTargetaCompletaOM());
        MatriculaDTO maticula = atividadesEnsinoService.findMatricula(conclusao.getMatricula().getId());
        item.put("indicacao", maticula.getIndicacao().getId());
        item.put("id", conclusao.getId());
        item.put("observacao", conclusao.getObservacao());
        item.put("dataOperacao", conclusao.getDataOperacao());
        String operador = "Não Informado";
        if (conclusao.getOperador() != null && !"".equals(conclusao.getOperador())) {
            NetworkUserDTO usuario = userService.findUser(conclusao.getOperador());
            // operador = usuario.getTarjeta() + " (" + usuario.getOrganizacao() + ")";
            if (usuario != null) {
                operador = usuario.getTarjeta();
            } else {
                operador = conclusao.getOperador();
            }
        }
        item.put("operador", operador);
        // ajuste para COMGAP 14/12/2015 - Ten Aguiar
        if (conclusao.getPessoa().getOrganizacao() != null && conclusao.getPessoa().getOrganizacao().getId() != null) {
            OrganizacaoDTO omDoAluno = organizationalService.findOrganizacao(conclusao.getPessoa().getOrganizacao().getId());
            item.put("omDoAluno", omDoAluno.getSigla());
        } else {
            item.put("omDoAluno", "");
        }
        dataListSem.add(item);
    }
    // busca os apresentados não concluintes
    MatriculaDTO[] matriculasAlunosNaoConcluido = atividadesEnsinoService.findAllMatriculasAlunosApresentadosNaoConcluidos(turma.getId());
    // passa os concluidos e total
    model.addAttribute("conclusoesComAproveitamento", dataList);
    model.addAttribute("totalComAproveitamento", conclusoesComAproveitamento.length);
    model.addAttribute("conclusoesSemAproveitamento", dataListSem);
    model.addAttribute("totalSemAproveitamento", conclusoesSemAproveitamento.length);
    // passa o total de  não concluidos
    model.addAttribute("totalAlunosNaoConcluido", matriculasAlunosNaoConcluido.length);
    // passa o total de apresentados
    model.addAttribute("totalAlunosApresentados", alunosApresentados.length);
    model.addAttribute("tab", "concluidos");
    return "turmas_efetivas/detail/conclusoes";
}
Also used : PreMatriculaDTO(com.tomasio.projects.trainning.dto.PreMatriculaDTO) NotificacaoMatriculaDTO(com.tomasio.projects.trainning.dto.NotificacaoMatriculaDTO) MatriculaDTO(com.tomasio.projects.trainning.dto.MatriculaDTO) CancelamentoMatriculaDTO(com.tomasio.projects.trainning.dto.CancelamentoMatriculaDTO) CertificadoConclusaoDTO(com.tomasio.projects.trainning.dto.CertificadoConclusaoDTO) ConclusaoDTO(com.tomasio.projects.trainning.dto.ConclusaoDTO) HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) NetworkUserDTO(com.tomasio.projects.trainning.dto.NetworkUserDTO) ApresentacaoDTO(com.tomasio.projects.trainning.dto.ApresentacaoDTO) OrganizacaoDTO(com.tomasio.projects.trainning.dto.OrganizacaoDTO) Map(java.util.Map) HashMap(java.util.HashMap) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 2 with NetworkUserDTO

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

the class UsuariosController method showIndex.

@RequestMapping({ "/", "/index", "" })
public String showIndex(Model model, @ModelAttribute("userOrganization") OrganizacaoDTO userOrganization, WebRequest request, UsuarioSearchForm searchForm) {
    // busca todos usuários
    NetworkUserDTO[] usuarios = userService.findAllUsers();
    // jogo no ArrayList para trabalhar
    List<NetworkUserDTO> usuariosFiltrado = new ArrayList();
    usuariosFiltrado.addAll(Arrays.asList(usuarios));
    if (request.isUserInRole("ROLE_ADMINISTRADOR")) {
        model.addAttribute("organizacoes", organizationalService.findAllOrganizacoes());
    } else {
        List<OrganizacaoDTO> organizacoesSubordinadas = new ArrayList();
        organizacoesSubordinadas.addAll(Arrays.asList(organizationalService.findAllOrganizacoesSubordinadas(userOrganization.getId())));
        organizacoesSubordinadas.add(userOrganization);
        List<String> siglasOrganizacoesSubordinadas = new ArrayList<>();
        for (OrganizacaoDTO organizacoesSubordinada : organizacoesSubordinadas) {
            siglasOrganizacoesSubordinadas.add(organizacoesSubordinada.getSigla());
        }
        for (Iterator<NetworkUserDTO> iterator = usuariosFiltrado.iterator(); iterator.hasNext(); ) {
            NetworkUserDTO user = iterator.next();
            if (siglasOrganizacoesSubordinadas.contains(user.getOrganizacao()) == false) {
                iterator.remove();
            }
        }
        model.addAttribute("organizacoes", organizacoesSubordinadas);
    }
    // verificar usuário filtrou por searchForm.getOrganizacaoId (OM)
    if (!(searchForm.getOrganizacao() == null || searchForm.getOrganizacao().equals(""))) {
        // corre os usuários verifcando se a OM igual a FILTRADA
        for (Iterator<NetworkUserDTO> iterator = usuariosFiltrado.iterator(); iterator.hasNext(); ) {
            NetworkUserDTO next = iterator.next();
            String usuarioOM = next.getOrganizacao();
            if (!(searchForm.getOrganizacao().equals(usuarioOM))) {
                // comparar se a OM é igual filtro passado
                iterator.remove();
            }
        }
    }
    // ordenar a lista de usuários
    Collections.sort(usuariosFiltrado, new Comparator<NetworkUserDTO>() {

        @Override
        public int compare(NetworkUserDTO o1, NetworkUserDTO o2) {
            return o1.getNome().compareTo(o2.getNome());
        }
    });
    Collections.sort(usuariosFiltrado, new Comparator<NetworkUserDTO>() {

        @Override
        public int compare(NetworkUserDTO o1, NetworkUserDTO o2) {
            return o1.getOrganizacao().compareTo(o2.getOrganizacao());
        }
    });
    // loop nos usuários para adicionar o perfil
    List usuariosFiltradoComPerfil = new ArrayList();
    for (NetworkUserDTO usuario : usuariosFiltrado) {
        // buscar as roles do usuário
        NetworkGroupDTO[] groups = userService.findAllRoleGroups();
        List<String> rolesAssigned = new ArrayList<>();
        for (NetworkGroupDTO group : groups) {
            if (group.getMembers().contains(usuario.getId())) {
                rolesAssigned.add(group.getDescricao());
            }
        }
        // ordenaçao das permissoes
        Collections.sort(rolesAssigned, new Comparator<String>() {

            @Override
            public int compare(String o1, String o2) {
                return o1.compareTo(o2);
            }
        });
        Map item = new HashMap();
        item.put("nome", usuario.getNome());
        item.put("posto", usuario.getPosto());
        item.put("nomeGuerra", usuario.getNomeGuerra());
        item.put("email", usuario.getEmail());
        item.put("login", usuario.getLogin());
        item.put("organizacao", usuario.getOrganizacao());
        item.put("perfil", rolesAssigned);
        usuariosFiltradoComPerfil.add(item);
    }
    // envia para
    model.addAttribute("total", usuariosFiltradoComPerfil.size());
    model.addAttribute("usuarios", usuariosFiltradoComPerfil);
    model.addAttribute("searchForm", searchForm);
    // enviar para view a lista de OM subordinadas da OM do usuário
    OrganizacaoDTO[] organizacoesSubordinadas = organizationalService.findAllOrganizacoesSubordinadas(userOrganization.getId());
    List listaOrganizacoesSubordinadas = new ArrayList();
    for (OrganizacaoDTO organizacao : organizacoesSubordinadas) {
        String siglaOM = organizacao.getSigla();
        listaOrganizacoesSubordinadas.add(siglaOM);
    }
    model.addAttribute("organizacoesSubordinadas", listaOrganizacoesSubordinadas);
    return "usuarios";
}
Also used : NetworkGroupDTO(com.tomasio.projects.trainning.dto.NetworkGroupDTO) HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) NetworkUserDTO(com.tomasio.projects.trainning.dto.NetworkUserDTO) ArrayList(java.util.ArrayList) List(java.util.List) OrganizacaoDTO(com.tomasio.projects.trainning.dto.OrganizacaoDTO) HashMap(java.util.HashMap) Map(java.util.Map) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 3 with NetworkUserDTO

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

the class LoginController method enviarSenha.

@RequestMapping("/senha")
public String enviarSenha(Model model, WebRequest request, final RedirectAttributes redirectAttributes) {
    String login = request.getParameter("login");
    if (login != null) {
        NetworkUserDTO usuario = userService.findUser(login);
        if (usuario != null) {
            String usuariologin = usuario.getLogin();
            String usuarioemail = usuario.getEmail();
            try {
                userService.updateUserPassword(generatePassword(), usuariologin);
                redirectAttributes.addFlashAttribute("successMessage", "Uma nova Senha foi enviada para o email " + usuarioemail);
            } catch (CoreException e) {
                // e.getMessage());
                redirectAttributes.addFlashAttribute("errorMessage", "Não foi possível enviar a senha para  " + usuariologin);
            }
        } else {
            // e.getMessage());
            redirectAttributes.addFlashAttribute("errorMessage", "Não foi possível enviar a senha para  " + login);
        }
    } else {
        redirectAttributes.addFlashAttribute("errorMessage", "Não foi possível enviar a senha, insira o seu Login ! ");
    }
    return "redirect:login";
}
Also used : NetworkUserDTO(com.tomasio.projects.trainning.dto.NetworkUserDTO) CoreException(com.tomasio.projects.trainning.exeption.CoreException) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 4 with NetworkUserDTO

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

the class SettingsController method savePassword.

@RequestMapping("/save_password")
public String savePassword(Model model, @Valid PasswordForm passwordForm, BindingResult bindingResult, WebRequest request) {
    if (bindingResult.hasErrors()) {
        return "settings/form_password";
    }
    final InetOrgPerson user = (InetOrgPerson) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
    String userLogin = user.getUid();
    NetworkUserDTO usuario = userService.findUser(userLogin);
    usuario.setPassword(passwordForm.getPassword());
    userService.updateUser(usuario);
    // buscar as roles do usuário
    NetworkGroupDTO[] groups = userService.findAllRoleGroups();
    List<String> rolesAssigned = new ArrayList<>();
    for (NetworkGroupDTO group : groups) {
        if (group.getMembers().contains(usuario.getId())) {
            rolesAssigned.add(group.getNome());
        }
    }
    // jogo no ArrayList para trabalhar
    List<NetworkGroupDTO> roles = new ArrayList();
    roles.addAll(Arrays.asList(groups));
    // ordenar a lista de roles
    Collections.sort(roles, new Comparator<NetworkGroupDTO>() {

        @Override
        public int compare(NetworkGroupDTO o1, NetworkGroupDTO o2) {
            return o1.getDescricao().compareTo(o2.getDescricao());
        }
    });
    model.addAttribute("roles", roles);
    model.addAttribute("rolesAssigned", rolesAssigned);
    model.addAttribute("usuario", usuario);
    return "settings";
}
Also used : NetworkGroupDTO(com.tomasio.projects.trainning.dto.NetworkGroupDTO) NetworkUserDTO(com.tomasio.projects.trainning.dto.NetworkUserDTO) InetOrgPerson(org.springframework.security.ldap.userdetails.InetOrgPerson) ArrayList(java.util.ArrayList) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 5 with NetworkUserDTO

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

the class UsersMailAdvice method createUserMethodInterceptor.

@Around("createUser()")
public Object createUserMethodInterceptor(ProceedingJoinPoint joinPoint) throws Throwable {
    Object[] args = joinPoint.getArgs();
    NetworkUserDTO user = (NetworkUserDTO) args[0];
    String to = user.getEmail();
    String subject = "Bem vindo ao SGC, " + user.getNome();
    String text = "Bom dia, Sr. usuário,\n" + "Informo a Vsa. os dados para acesso ao Sistema de Gerenciamento da Capacitação:\n\n" + "Login: " + user.getLogin() + "\n" + "Senha: " + user.getPassword() + "\n" + "Atenção, é altamente recomendável atualizar o seu navegador.\n" + "Por favor, altere sua senha após o primeiro acesso.\n\n" + "Em caso de dúvidas entre em contato com o setor de capacitação de sua OM. " + "----------------------------------------------------\n" + "Esse e-mail foi enviado de forma automática para " + to + ", NÃO RESPONDA ESTE E-MAIL.\n" + "Este é um serviço prestado pelo SGC - Sistema de Gerenciamento do Capacitação.\n";
    systemService.sendMail(to, subject, text);
    return joinPoint.proceed();
}
Also used : NetworkUserDTO(com.tomasio.projects.trainning.dto.NetworkUserDTO) Around(org.aspectj.lang.annotation.Around)

Aggregations

NetworkUserDTO (com.tomasio.projects.trainning.dto.NetworkUserDTO)29 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)11 DAOException (com.tomasio.projects.trainning.exception.DAOException)10 ArrayList (java.util.ArrayList)10 NetworkUserDAO (com.tomasio.projects.trainning.dao.NetworkUserDAO)9 NetworkGroupDTO (com.tomasio.projects.trainning.dto.NetworkGroupDTO)9 CoreException (com.tomasio.projects.trainning.exeption.CoreException)9 OrganizacaoDTO (com.tomasio.projects.trainning.dto.OrganizacaoDTO)4 NetworkGroupDAO (com.tomasio.projects.trainning.dao.NetworkGroupDAO)3 OrganizacaoDAO (com.tomasio.projects.trainning.dao.OrganizacaoDAO)3 CancelamentoMatriculaDTO (com.tomasio.projects.trainning.dto.CancelamentoMatriculaDTO)3 MatriculaDTO (com.tomasio.projects.trainning.dto.MatriculaDTO)3 NotificacaoMatriculaDTO (com.tomasio.projects.trainning.dto.NotificacaoMatriculaDTO)3 PreMatriculaDTO (com.tomasio.projects.trainning.dto.PreMatriculaDTO)3 Organizacao (com.tomasio.projects.trainning.model.Organizacao)3 ApresentacaoDTO (com.tomasio.projects.trainning.dto.ApresentacaoDTO)2 CertificadoConclusaoDTO (com.tomasio.projects.trainning.dto.CertificadoConclusaoDTO)2 ConclusaoDTO (com.tomasio.projects.trainning.dto.ConclusaoDTO)2 IOException (java.io.IOException)2 HashMap (java.util.HashMap)2