private void btnTodosActionPerformed(
      java.awt.event.ActionEvent evt) { // GEN-FIRST:event_btnTodosActionPerformed
    try {
      // Arquivo do Relatorio
      // String relatorio = "/META-INF/relatorio/relatorioEstoque.jasper";
      InputStream relatorio =
          this.getClass()
              .getClassLoader()
              .getResourceAsStream("META-INF/relatorio/relatorioCompras.jasper");
      // Lista a ser exibida no relatorio
      CompraDAO compraDao = new CompraDAO();
      List<Compra> compras = new LinkedList<>();

      for (Compra c : compraDao.ListarTodos()) {
        c.setNomeFornecedor(c.getProduto().getFornecedor().getNome());
        compras.add(c);
      }

      // Fonte de dados
      JRBeanCollectionDataSource fonteDados = new JRBeanCollectionDataSource(compras);

      // Gera o Relatorio
      JasperPrint relatorioGerado = JasperFillManager.fillReport(relatorio, null, fonteDados);

      // Exibe o Relatorio
      JasperViewer jasperViewer = new JasperViewer(relatorioGerado, false);
      this.dispose();
      jasperViewer.setVisible(true);

    } catch (JRException e) {
      e.printStackTrace();
      JOptionPane.showMessageDialog(this, e.getMessage());
    }
  } // GEN-LAST:event_btnTodosActionPerformed
  private void btnFornecedorActionPerformed(
      java.awt.event.ActionEvent evt) { // GEN-FIRST:event_btnFornecedorActionPerformed

    try {
      // Pegando o id do Produto

      String fornecedor = JOptionPane.showInputDialog("Insira o Id do Fornecedor");

      // Arquivo do Relatorio
      // String relatorio = "/META-INF/relatorio/relatorioEstoque.jasper";
      InputStream relatorio =
          this.getClass()
              .getClassLoader()
              .getResourceAsStream("META-INF/relatorio/relatorioCompras.jasper");
      // Lista a ser exibida no relatorio

      CompraDAO comprasDAO = new CompraDAO();

      List<Compra> compras = comprasDAO.ListarTodos();
      List<Compra> comprasFiltro = new LinkedList<>();
      for (Compra c : compras) {
        if (c.getProduto().getFornecedor().getId() == Long.parseLong(fornecedor)) {
          comprasFiltro.add(c);
        }
      }

      if (!comprasFiltro.isEmpty()) {

        // Fonte de dados
        JRBeanCollectionDataSource fonteDados = new JRBeanCollectionDataSource(comprasFiltro);

        // Gera o Relatorio
        JasperPrint relatorioGerado = JasperFillManager.fillReport(relatorio, null, fonteDados);

        // Exibe o Relatorio
        JasperViewer jasperViewer = new JasperViewer(relatorioGerado, false);
        this.dispose();
        jasperViewer.setVisible(true);
      } else {
        JOptionPane.showMessageDialog(rootPane, "Fornecedor não encontrado !");
      }

    } catch (JRException e) {
      e.printStackTrace();
      JOptionPane.showMessageDialog(this, e.getMessage());
    } catch (NumberFormatException e) {
      JOptionPane.showMessageDialog(rootPane, "Id inválido !");
    }
  } // GEN-LAST:event_btnFornecedorActionPerformed