예제 #1
0
  /**
   * excluir
   *
   * @param VO Usuario
   * @return boolean
   */
  public static boolean excluir(Usuario usuario) {
    SigeDataBase db = new SigeDataBase();
    try {
      db.getConn().setAutoCommit(false);
      db.prepareStatement("DELETE FROM permissao_usuario WHERE cd_usuario=?");
      db.setInt(1, usuario.getCodigo());
      db.executeUpdate();
      db.getPreparedStatement().close();

      db.prepareStatement("DELETE FROM usuarios WHERE cd_usuario=?");
      db.setInt(1, usuario.getCodigo());
      db.executeUpdate();
      db.getConn().commit();
      db.closeConnection();
      return true;

    } catch (SQLException ex) {
      ex.printStackTrace();
      try {
        db.getConn().rollback();
        db.closeConnection();
      } catch (SQLException ex1) {
        ex1.printStackTrace();
        db.closeConnection();
      }
      return false;
    }
  }
예제 #2
0
 public void inserir(Usuario usuario) {
   try {
     Connection conexao = getConnection();
     PreparedStatement pstm =
         conexao.prepareStatement(
             "Insert into usuario (login, senha, nome, cpf, email) values (?,?,?,?,?)");
     pstm.setString(1, usuario.getLogin());
     pstm.setString(2, usuario.getSenha());
     pstm.setString(3, usuario.getNome());
     pstm.setString(4, usuario.getCpf());
     pstm.setString(5, usuario.getEmail());
     pstm.execute();
     pstm.close();
     conexao.close();
   } catch (Exception e) {
     e.printStackTrace();
   }
 }
예제 #3
0
  public void alterar(Usuario usuario) {
    try {
      Connection conexao = getConnection();

      PreparedStatement pstmt =
          conexao.prepareStatement(
              "update usuario set nome = ?, cpf = ?, email = ?, senha = ?" + " WHERE login = ? ");
      pstmt.setString(1, usuario.getNome());
      pstmt.setString(2, usuario.getCpf());
      pstmt.setString(3, usuario.getEmail());
      pstmt.setString(4, usuario.getSenha());
      pstmt.execute();
      pstmt.close();
      conexao.close();

    } catch (Exception e) {
      e.printStackTrace();
    }
  }
예제 #4
0
 public void excluir(Usuario usuario) {
   try {
     Connection conexao = getConnection();
     PreparedStatement pstm = conexao.prepareStatement("delete from usuario where login = ? ");
     pstm.setString(1, usuario.getLogin());
     pstm.execute();
     pstm.close();
     conexao.close();
   } catch (Exception e) {
     e.printStackTrace();
   }
 }
예제 #5
0
  /**
   * buscaPorLogin
   *
   * @param nome String
   * @return ArrayList
   */
  public static ArrayList<Usuario> buscaPorLogin(String login) {
    SigeDataBase db = new SigeDataBase();
    try {
      String query =
          "SELECT cd_usuario as codigo, nome_usuario as nome,"
              + " cd_entidade as entidade, login, decode(senha,'base64')"
              + " as senha, cpf, ativo FROM usuarios WHERE lower(login) LIKE lower(?) ORDER BY nome_usuario";
      db.setPreparedStatement(
          db.getConn()
              .prepareStatement(
                  query, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY));
      db.setString(1, '%' + login + '%');
      ResultSet rs = db.executeQuery();
      if (rs.next()) {
        ArrayList<Usuario> resultado = new ArrayList<Usuario>();
        do {
          Usuario usuario = new Usuario();
          Entidade entidade = (Entidade) EntidadeDAO.buscaPorCodigo(rs.getInt("entidade"));
          if (entidade != null) {
            usuario.setEntidade(entidade);
          } else {
            throw new SQLException("Entidade Não Existe");
          }
          usuario.setCodigo(rs.getInt("codigo"));
          usuario.setNomeCompleto(rs.getString("nome"));
          usuario.setLogin(rs.getString("login"));
          usuario.setSenha(rs.getString("senha"));
          usuario.setCPF(rs.getString("cpf"));
          usuario.setPermissoes(PermissaoDAO.buscaPorUsuario(usuario));
          usuario.setAtivo(rs.getBoolean("ativo"));
          resultado.add(usuario);
        } while (rs.next());
        rs.close();
        db.closeConnection();
        return resultado;
      }
      db.closeConnection();
      return null;

    } catch (SQLException ex) {
      ex.printStackTrace();
      return null;
    }
  }
예제 #6
0
  /**
   * buscaPorCodigo
   *
   * @param codigo int
   * @return Usuario
   */
  public static Usuario buscaPorCodigo(int codigo) {
    SigeDataBase db = new SigeDataBase();

    try {
      String query =
          "SELECT cd_usuario as codigo, ativo, nome_usuario "
              + "as nome, cd_entidade as entidade, login,"
              + " decode(senha,'base64') as senha, cpf FROM usuarios"
              + " WHERE cd_usuario=? ORDER BY nome_usuario";
      db.prepareStatement(query);
      db.setInt(1, codigo);
      ResultSet rs = db.executeQuery();
      if (rs.next()) {
        Usuario usuario = new Usuario();
        Entidade entidade = EntidadeDAO.buscaPorCodigo(rs.getInt("entidade"));
        if (entidade != null) {
          usuario.setEntidade(entidade);
        } else {
          throw new SQLException("Entidade Nao Existe");
        }
        usuario.setCodigo(rs.getInt("codigo"));
        usuario.setNomeCompleto(rs.getString("nome"));
        usuario.setLogin(rs.getString("login"));
        usuario.setSenha(rs.getString("senha"));
        usuario.setCPF(rs.getString("cpf"));
        usuario.setAtivo(rs.getBoolean("ativo"));
        usuario.setPermissoes(PermissaoDAO.buscaPorUsuario(usuario));
        rs.close();
        db.closeConnection();
        return usuario;
      }
      db.closeConnection();
      return null;

    } catch (SQLException ex) {
      ex.printStackTrace();
      return null;
    }
  }
예제 #7
0
 public boolean existe(Usuario usuario) {
   boolean achou = false;
   try {
     Connection conexao = getConnection();
     PreparedStatement pstm = conexao.prepareStatement("select * from usuario where login = ?");
     pstm.setString(1, usuario.getLogin());
     ResultSet rs = pstm.executeQuery();
     if (rs.next()) {
       achou = true;
     }
     pstm.close();
     conexao.close();
   } catch (Exception e) {
     e.printStackTrace();
   }
   return achou;
 }
예제 #8
0
 public Usuario consultar(Usuario usuario) {
   try {
     Connection conexao = getConnection();
     PreparedStatement pstm =
         conexao.prepareStatement("Select * from usuario where matricula =	?");
     pstm.setString(1, usuario.getLogin());
     ResultSet rs = pstm.executeQuery();
     if (rs.next()) {
       usuario.setLogin(rs.getString("login"));
       usuario.setSenha(rs.getString("senha"));
       usuario.setNome(rs.getString("nome"));
       usuario.setCpf(rs.getString("cpf"));
       usuario.setEmail(rs.getString("email"));
     }
     pstm.close();
     conexao.close();
   } catch (Exception e) {
     e.printStackTrace();
   }
   return usuario;
 }
예제 #9
0
  /**
   * incluir
   *
   * @param VO Usuario
   * @return boolean
   */
  public static boolean incluir(Usuario usuario) {
    SigeDataBase db = new SigeDataBase();

    String query =
        "INSERT INTO usuarios(cd_usuario,cd_entidade,nome_usuario,cpf,login,senha,ativo)"
            + " VALUES(default, ?, ?, ?, ?, encode( ?,'base64'), ?)";

    try {
      Statement stmt = db.getConn().createStatement();
      ResultSet rs = stmt.executeQuery("SELECT last_value as codigo FROM usuarios_cd_usuario_seq");
      rs.next();
      int codigo = rs.getInt("codigo") + 1;
      usuario.setCodigo(codigo);
      db.getConn().setAutoCommit(false);
      db.prepareStatement(query);
      db.setInt(1, usuario.getEntidade().getCodigo());
      db.setString(2, usuario.getNomeCompleto());
      db.setString(3, usuario.getCPF());
      db.setString(4, usuario.getLogin());
      if (usuario.getSenha() != null) {
        db.setString(5, usuario.getSenha());
      } else {
        db.setString(5, "");
      }
      db.setBoolean(6, usuario.isAtivo());
      db.executeUpdate();
      db.getPreparedStatement().close();

      db.prepareStatement("INSERT INTO permissao_usuario(cd_usuario, cd_permissao) VALUES(?,?)");
      for (int i = 0; i < usuario.getPermissoes().length; i++) {
        db.setInt(1, usuario.getCodigo());
        db.setInt(2, usuario.getPermissoes()[i].getCodigo());
        db.executeUpdate();
      }
      db.getConn().commit();
      db.closeConnection();
      return true;

    } catch (SQLException ex) {

      try {
        db.getConn().rollback();
        db.closeConnection();
        ex.printStackTrace();
      } catch (SQLException ex1) {
        System.out.println("Erro de SQL: " + ex1.getMessage());
        ex1.printStackTrace();
      }
      return false;
    }
  }
예제 #10
0
 /**
  * salvarAlteracoes
  *
  * @param VO Usuario
  * @return boolean
  */
 public static boolean salvarAlteracoes(Usuario usuario) {
   SigeDataBase db = new SigeDataBase();
   try {
     db.getConn().setAutoCommit(false);
     String query =
         "UPDATE usuarios SET cd_usuario=?, cd_entidade=?, nome_usuario=?, login=?, cpf=?, ativo=?";
     if (usuario.getSenha() != null) {
       query += ", senha=encode('" + usuario.getSenha() + "','base64')";
     }
     query += " WHERE cd_usuario=?";
     db.prepareStatement(query);
     db.setInt(1, usuario.getCodigo());
     db.setInt(2, usuario.getEntidade().getCodigo());
     db.setString(3, usuario.getNomeCompleto());
     db.setString(4, usuario.getLogin());
     db.setString(5, usuario.getCPF());
     db.setBoolean(6, usuario.isAtivo());
     db.setInt(7, usuario.getCodigo());
     db.executeUpdate();
     db.getPreparedStatement().close();
     // exclui as permissões anteriores
     db.prepareStatement("DELETE FROM permissao_usuario WHERE cd_usuario=?");
     db.setInt(1, usuario.getCodigo());
     db.executeUpdate();
     db.getPreparedStatement().close();
     // inclui as novas permissões
     db.prepareStatement(
         "INSERT INTO permissao_usuario(cd_usuario, cd_permissao)" + " VALUES(?,?)");
     for (int i = 0; i < usuario.getPermissoes().length; i++) {
       db.setInt(1, usuario.getCodigo());
       db.setInt(2, usuario.getPermissoes()[i].getCodigo());
       db.executeUpdate();
     }
     db.getConn().commit();
     db.closeConnection();
     return true;
   } catch (SQLException ex) {
     ex.printStackTrace();
     try {
       db.getConn().rollback();
       db.closeConnection();
     } catch (SQLException ex1) {
       db.closeConnection();
       ex1.printStackTrace();
     }
   }
   return false;
 }