Package br.gov.serpro.ouvidoria.model

Examples of br.gov.serpro.ouvidoria.model.Funcionario


    // obter o funcionário atualmente logado
    Long funcionarioId = (Long) request.getSession().getAttribute(
        Constants.PA_FUNCIONARIO);
    FuncionarioCtrl funcionarioCtrl = new FuncionarioCtrl(getDaoFactory());
    Funcionario funcionario = (Funcionario) funcionarioCtrl
        .get(funcionarioId);

    final String id = request.getParameter("id");

    Funcionario object = null;
    if (id == null || id.trim().length() == 0) {
      object = new Funcionario();
      object.setListaFuncionalidade(new TreeSet());
      object.setListaAssunto(new TreeSet());
      object.setListaTipoMensagem(new TreeSet());
      object.setSituacao(Funcionario.ATIVO);
      object.setPerfil(Perfil.ATENDENTE);
      object.setInstituicao(getOrgao(request));
      object.setListaInstituicao(new TreeSet());
    } else {
      FuncionarioCtrl defaultCtrl = new FuncionarioCtrl(getDaoFactory());
      object = defaultCtrl.get(new Long(id));
    }

    /*
     * Os perfis de Ouvidor Geral e Ouvidor Assistente não podem assumir o
     * papel de Consultor
     */
    if (object != null && object.getPerfil() != null
        && object.getPerfil().getId() != null
        && object.getPerfil().isOuvidor()) {
      object.setConsultor(null);
    }

    Comparator ordem = new Comparator() {
      public int compare(Object obj1, Object obj2) {
        PersistentObject pobj1 = (PersistentObject) obj1;
        PersistentObject pobj2 = (PersistentObject) obj2;
        if (pobj1 != null && pobj1.getDescricao() != null) {
          return pobj1.getDescricao().compareTo(pobj2.getDescricao());
        }
        return 0;
      }
    };

    /* Lista de Sub-órgãos */
    SubOrgaoCtrl subOrgaoCtrl = new SubOrgaoCtrl(getDaoFactory());
    Collection subOrgaoList = new TreeSet(ordem);

    /* Se funcionário é administrador ou tem nivel de acesso ao órgão */
    if (funcionario.getPerfil().equals(Perfil.ADMINISTRADOR)
        || funcionario.getNivelAtuacao() == Funcionario.NA_ORGAO)
      subOrgaoList.addAll(subOrgaoCtrl.list(getOrgao(request)));
    else {
      subOrgaoList.addAll(funcionario.getListaSubOrgaosAtivos());
    }

    /* Lista de Perfis */
    PerfilCtrl perfilCtrl = new PerfilCtrl(getDaoFactory());
    Collection perfilList = new TreeSet(ordem);
    perfilList.addAll(perfilCtrl.list());
    if (!funcionario.getPerfil().equals(Perfil.ADMINISTRADOR)) {
      perfilList.remove(Perfil.ADMINISTRADOR);
    }

    /* Lista de Funcionalidades */
    FuncionalidadeCtrl funcionalideCtrl = new FuncionalidadeCtrl(
        getDaoFactory());
    Collection funcionalideList = new TreeSet(ordem);
    funcionalideList.addAll(funcionalideCtrl.list());

    /* Lista de Tipo de Assunto */
    TipoAssuntoCtrl tipoAssuntoCtrl = new TipoAssuntoCtrl(getDaoFactory());
    Collection tipoAssuntoList = new TreeSet(ordem);

    /* Se funcionário é administrador ou tem nivel de acesso ao órgão */
    if (funcionario.getPerfil().equals(Perfil.ADMINISTRADOR)
        || funcionario.getNivelAtuacao() == Funcionario.NA_ORGAO)
      tipoAssuntoList.addAll(tipoAssuntoCtrl.list(getOrgao(request)));
    else {
      for (Iterator iter = funcionario.getListaSubOrgaosAtivos()
          .iterator(); iter.hasNext();) {
        SubOrgao subOrgao = (SubOrgao) iter.next();
        tipoAssuntoList.addAll(subOrgao.getListaAssunto(Assunto.ATIVO));
      }
    }
    // verifica se o usuário tem acionamentos atrelados a ele

    List listaAcionamento = new ArrayList();

    if (object.getListaAcionamento() != null) {
      for (Iterator iter = object.getListaAcionamento().iterator(); iter
          .hasNext();) {
        Acionamento acionamento = (Acionamento) iter.next();
        if (!(acionamento.getEstadoAcionamento().equals(
            EstadoAcionamento.RESPONDIDO) || acionamento
            .getEstadoAcionamento().equals(
View Full Code Here


    // obter o funcionário logado
    FuncionarioCtrl defaultCtrl = new FuncionarioCtrl(getDaoFactory());
    Long funcionarioId = (Long) request.getSession().getAttribute(
        Constants.PA_FUNCIONARIO);
    Funcionario gestor = (Funcionario) defaultCtrl.get(funcionarioId);

    CadastrarFuncionarioForm funcionarioForm = (CadastrarFuncionarioForm) form;

    ActionMessages msgs = funcionarioForm.validate(mapping, request);

    if (!msgs.isEmpty()) {
      saveErrors(request, msgs);
      return mapping.findForward("error");
    }

    boolean erroLogica = false;

    /*
     * Valida para garantir que Ouvidores (Geral ou Assistente) não estejam
     * marcados como Consultores
     */
    if (CONSULTOR_ON.equals(funcionarioForm.getConsultor())
        && (Perfil.OUVIDOR_ASSISTENTE.getId().equals(
            funcionarioForm.getPerfil()) || Perfil.OUVIDOR_GERAL
            .getId().equals(funcionarioForm.getPerfil()))) {
      funcionarioForm.setConsultor(null);
    }

    if (funcionarioForm.getId() == null
        || funcionarioForm.getId().intValue() == 0) {
      // INSERT de novo funcionário
      try {
        defaultCtrl.insert(getOrgao(request),
            funcionarioForm.getNome(), funcionarioForm.getLogin(),
            funcionarioForm.getSenha(),
            funcionarioForm.getSituacao(),
            funcionarioForm.getMotivo(),
            funcionarioForm.getPerfil(),
            funcionarioForm.getFuncionalidades(),
            funcionarioForm.getTipoAssunto(),
            funcionarioForm.getTipoMensagem(),
            funcionarioForm.getSubOrgao(),
            funcionarioForm.getLocalidades(),
            funcionarioForm.getNivel(),
            funcionarioForm.getConsultor(),
            funcionarioForm.getEmail());

        msgs.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
            "message.administrarUsuario.incluir"));
      } catch (DaoException e) {

        if (Constants.DEBUG) {
          e.printStackTrace(System.out);
        }

        String errorMessage = e.getMessage();

        if (errorMessage != null
            && errorMessage.toLowerCase().indexOf("duplicate key") >= 0) {
          erroLogica = true;
          msgs.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
              "error.administrarUsuario.chaveDuplicada"));
        }
      }
    } else {
      try {
        // UPDATE de funcionário existente
        defaultCtrl.update(getOrgao(request), gestor,
            funcionarioForm.getId(), funcionarioForm.getNome(),
            funcionarioForm.getLogin(), funcionarioForm.getSenha(),
            funcionarioForm.getSituacao(),
            funcionarioForm.getMotivo(),
            funcionarioForm.getPerfil(),
            funcionarioForm.getFuncionalidades(),
            funcionarioForm.getTipoAssunto(),
            funcionarioForm.getTipoMensagem(),
            funcionarioForm.getSubOrgao(),
            funcionarioForm.getLocalidades(),
            funcionarioForm.getNivel(),
            funcionarioForm.getConsultor(),
            funcionarioForm.getEmail());

        msgs.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
            "message.administrarUsuario.alterar"));

      } catch (DaoException e) {
        if (Constants.DEBUG) {
          e.printStackTrace(System.out);
        }

        String errorMessage = e.getMessage();
        if (errorMessage != null
            && errorMessage.toLowerCase().indexOf("duplicate key") >= 0) {
          erroLogica = true;
          msgs.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
              "error.administrarUsuario.chaveDuplicada"));
        }
      } catch (Exception e) {
        if (Constants.DEBUG) {
          e.printStackTrace(System.out);
        }
        erroLogica = true;
        msgs.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
            "error.administrarUsuario.redirecionar"));
      }
    }

    if (erroLogica) {

      PerfilCtrl perfilCtrl = new PerfilCtrl(getDaoFactory());

      Funcionario object = new Funcionario();

      object.setNome(funcionarioForm.getNome());
      object.setLogin(funcionarioForm.getLogin());
      object.setSenha("default");
      object.setSituacao(funcionarioForm.getSituacao());

      object.setListaFuncionalidade(defaultCtrl.listas(
          funcionarioForm.getFuncionalidades(), Funcionalidade.class));
      object.setListaAssunto(defaultCtrl.listas(
          funcionarioForm.getTipoAssunto(), Assunto.class));
      object.setListaTipoMensagem(defaultCtrl.listas(
          funcionarioForm.getTipoMensagem(), TipoMensagem.class));
      object.setSituacao(funcionarioForm.getSituacao());
      object.setPerfil(perfilCtrl.get(funcionarioForm.getPerfil()));
      object.setInstituicao(getOrgao(request));
      object.setListaInstituicao(defaultCtrl.listas(
          funcionarioForm.getSubOrgao(), SubOrgao.class));
      object.setListaLocalidadeOcorrencia(defaultCtrl.listas(
          funcionarioForm.getLocalidades(),
          LocalidadeOcorrencia.class));

      Comparator ordem = new Comparator() {
        public int compare(Object obj1, Object obj2) {
View Full Code Here

            String palavraChave = Utilitario.trataPlic(_form.getString("txt_palavra_chave"));
           
            //  Recupera o Funcionário logado
            Long funcionarioId = (Long) request.getSession().getAttribute(Constants.PA_FUNCIONARIO);
            FuncionarioCtrl funcionarioCtrl = new FuncionarioCtrl(getDaoFactory());
            Funcionario func = (Funcionario) funcionarioCtrl.get(funcionarioId);
           
            // Recupera o órgão do funcionário
            Orgao orgao = getOrgao(request);
           
            //obter os assuntos sob a responsabilidade do funcionário
            Collection assuntosFuncionario = null;
            if ( func.getNivelAtuacao() == Funcionario.NA_SUB_ORGAO ) {
                assuntosFuncionario = func.getListaAssuntosComAtuacao("Ambos");
            } else if ( func.getNivelAtuacao() == Funcionario.NA_ORGAO ) {
                assuntosFuncionario = orgao.getListaTodosAssuntos();
            }
           
            /**
             * ESTE MÉTODO AINDA NÃO ESTÁ FUNCIONANDO 100%. INVESTIGAR PROBLEMA:
View Full Code Here

        Long funcionarioId = (Long) request.getSession().getAttribute(Constants.PA_FUNCIONARIO);
       
      FuncionarioCtrl funcionarioCtrl = new FuncionarioCtrl(getDaoFactory());
     
      Funcionario funcionario = (Funcionario) funcionarioCtrl.get(funcionarioId);   
     

        if (funcionario != null) {
            return mapping.findForward("success");
        }

        String login = dynaForm.getString("login");
        String senha = dynaForm.getString("senha");

        if ((login == null) || (login.trim().length() <= 0)) {
            errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
                    "login.error"));
            saveErrors(request, errors);
            return mapping.findForward("error");
        }

        if ((senha == null) || (senha.trim().length() <= 0)) {
            errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
                    "login.error"));
            saveErrors(request, errors);
            return mapping.findForward("error");
        }

        LoginCtrl ctrlLogin = new LoginCtrl(getDaoFactory());

        funcionario = ctrlLogin.validaFuncionario(getOrgao(request), login,
                senha);

        final int tentativaSenha = ctrlLogin.getValidaSenha();

        if (tentativaSenha == 1) {

            errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
                    "senha.bloqueada"));
            saveErrors(request, errors);
            return mapping.findForward("error");

        } else if (tentativaSenha == 2) {

            errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
                    "senha.alerta.bloqueio"));
            saveErrors(request, errors);
            return mapping.findForward("error");

        } else if (tentativaSenha == 3) {

            errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
                    "senha.error"));
            saveErrors(request, errors);
            return mapping.findForward("error");

        } else if (funcionario == null) {

            errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
                    "login.error"));
            saveErrors(request, errors);
            return mapping.findForward("error");
        }

        request.getSession(true).setAttribute(Constants.PA_FUNCIONARIO,
                funcionario.getId());

        geraHistorico(request);

        return mapping.findForward("success");
    }
View Full Code Here

        Long funcionarioId = (Long) request.getSession().getAttribute(Constants.PA_FUNCIONARIO);
       
      FuncionarioCtrl funcionarioCtrl = new FuncionarioCtrl(getDaoFactory());
     
      Funcionario funcionario = (Funcionario) funcionarioCtrl.get(funcionarioId)

        String funcionalidadeId = (String) request.getSession().getAttribute(
                Constants.SR_FUNCIONALIDADE);

        Ajuda ajuda = null;
View Full Code Here

    public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {

        Funcionario funcionario = (Funcionario) this.getFuncionario(request);

        if (funcionario == null) {
            Orgao orgao = (Orgao) this.getOrgao(request);

            // path para login sem certificado digital
View Full Code Here

        Long funcionarioId = (Long) request.getSession().getAttribute(Constants.PA_FUNCIONARIO);
       
      FuncionarioCtrl funcionarioCtrl = new FuncionarioCtrl(getDaoFactory());
     
      Funcionario funcionario = (Funcionario) funcionarioCtrl.get(funcionarioId)
     
        AjudaCtrl ajudaCtrl = new AjudaCtrl(getDaoFactory());

        request.setAttribute("lstAjuda", ajudaCtrl
                .montaArvoreConteudo(funcionario));
View Full Code Here

            return mapping.findForward("error");
        }

        FuncionarioCtrl funcCtrl = new FuncionarioCtrl(getDaoFactory());

        Funcionario funcionario = funcCtrl.getByLogin(getOrgao(request), login);

        if (funcionario == null) {
            errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
                    "certificadoDigital.recuperarFuncionario.error", "\""
                            + login + "\""));
            saveErrors(request, errors);
            return mapping.findForward("error");
        }

        request.getSession(true).setAttribute(Constants.PA_FUNCIONARIO,
                funcionario.getId());

        geraHistorico(request);

        return mapping.findForward("success");
    }
View Full Code Here

      Long funcionarioId = (Long) request.getSession().getAttribute(
          Constants.PA_FUNCIONARIO);

      FuncionarioCtrl funcionarioCtrl = new FuncionarioCtrl(daoFactory);

      Funcionario funcionario = (Funcionario) funcionarioCtrl
          .get(funcionarioId);

      possuiAcesso = controleAcessoCtrl.permiteAcesso(orgao, funcionario,
          regras);
View Full Code Here

           
            try {
               
              FuncionarioCtrl funcionarioCtrl = new FuncionarioCtrl(getDaoFactory());
             
              Funcionario funcionario = (Funcionario) funcionarioCtrl.get(funcionarioId)
             
                historico.Log(funcionario, funcionalidade, acionamento);
            } catch (DaoException e) {
                if (Constants.DEBUG) {
                    e.printStackTrace();
View Full Code Here

TOP

Related Classes of br.gov.serpro.ouvidoria.model.Funcionario

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.