private void BtGravarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_BtGravarActionPerformed
        if (camposobrigatoriospreenchidos()) {
            if (JOptionPane.showConfirmDialog(null, "Tem certeza que deseja Gravar esta operação e de que todas as informações estao corretas?", "Deseja gravar?", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) {
                enviardados();
                prodcompravenda.getCompravenda().incluir();

                ClasseMvtoEstoque mvestoque = new ClasseMvtoEstoque();
                mvestoque.setCompravenda(prodcompravenda.getCompravenda());
                mvestoque.setDtmvto(datas.retornadataehora());
                mvestoque.setTpmvto(prodcompravenda.getCompravenda().getOperacao().getTpestoque());
                
                if(TbProdutos.getRowCount() > 0){
                    for (int i = 0; i < TbProdutos.getRowCount(); i++) {
                        prodcompravenda.getForneproduto().getProduto().setCodigo(Integer.parseInt(TbProdutos.getValueAt(i, 1).toString()));
                        TfQuantidade.setText(TbProdutos.getValueAt(i, 3).toString());
                        prodcompravenda.setQuantidade(Float.parseFloat(TfQuantidade.getValue().toString()));
                        prodcompravenda.setValorunit(0);
                        prodcompravenda.setValorprodut(0);
                        prodcompravenda.setPromocao("");
                        prodcompravenda.incluirprodutocompravenda();

                        mvestoque.getProduto().setCodigo(Integer.parseInt(TbProdutos.getValueAt(i, 1).toString()));
                        TfQuantidade.setText(TbProdutos.getValueAt(i, 3).toString());
                        mvestoque.setQtmvto(Float.parseFloat(TfQuantidade.getValue().toString()));
                        mvestoque.incluirmvto();
                    }
                } else if(TbServicos.getRowCount() > 0){
                    for (int i = 0; i < TbServicos.getRowCount(); i++) {
                        prodcompravenda.getForneproduto().getProduto().setCodigo(Integer.parseInt(TbServicos.getValueAt(i, 1).toString()));
                        TfQuantidadeServ.setText(TbServicos.getValueAt(i, 3).toString());
                        prodcompravenda.setQuantidade(Float.parseFloat(TfQuantidadeServ.getValue().toString()));
                        prodcompravenda.setValorunit(0);
                        prodcompravenda.setValorprodut(0);
                        prodcompravenda.setPromocao("");
                        prodcompravenda.incluirprodutocompravenda();
                    }
                }
                
                HashMap filtro = new HashMap();
                filtro.put("CD_COMPRA_VENDA", prodcompravenda.getCompravenda().getCodigo());
                filtro.put("CD_OPERACAO", prodcompravenda.getCompravenda().getOperacao().getCodigo());
                filtro.put("DS_NOTA", "EXTRATO DE "+prodcompravenda.getCompravenda().getOperacao().getDescricao());
                if(CbPessoa.getSelectedItem().toString().equals("Fornecedor:")) filtro.put("TP_PESSOA", "Fornecedor:");
                else                                                            filtro.put("TP_PESSOA", "Cliente:");
                ConexaoPostgre conexao = new ConexaoPostgre();
                JDialog dialog = new JDialog(new javax.swing.JFrame(), "Visualização - Software Loja da Fátima", true);
                dialog.setSize(1000, 700);
                dialog.setLocationRelativeTo(null);
                try {
                    JasperPrint print = JasperFillManager.fillReport("relatorios\\notaoperacaoestoque.jasper", filtro, conexao.conecta());
                    
                    JasperViewer viewer = new JasperViewer(print, true);
                    dialog.getContentPane().add(viewer.getContentPane());
                    dialog.setVisible(true);
                } catch (Exception ex) {
                    System.out.println(ex);
                }

                limpar.Limpar(jPanel1);
                limpar.Limpar(jPanel3);
                limpar.Limpar(jPanel4);
                limpar.Limpar(TbServicos);
                limpar.Limpar(TbProdutos);
                valida.validacamposCancelar(jPanel1, PnBotoes);
                valida.validacamposCancelar(jPanel3, PnBotoes);
                valida.validacamposCancelar(jPanel4, PnBotoes);
            }
        }
    }//GEN-LAST:event_BtGravarActionPerformed