/** * 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; } }
/** * 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; }
/** * 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; } }