Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package br.com.tcc.view; import Conexao.ConnectionFactory; import br.com.tcc.entity.Pedidodetalhe; import br.com.tcc.entity.PedidodetalhePK; import br.com.tcc.entity.Pedidoregistro; import br.com.tcc.entity.Produto; import br.com.tcc.util.EntityManagerUtil; import br.com.tcc.util.TableModelPadraoParaBean; import br.com.tcc.util.Uteis; import br.com.tcc.util.pegaProduto; import com.itextpdf.text.BaseColor; import com.itextpdf.text.Document; import com.itextpdf.text.DocumentException; import com.itextpdf.text.Element; import com.itextpdf.text.Font; import com.itextpdf.text.Paragraph; import com.itextpdf.text.pdf.PdfPCell; import com.itextpdf.text.pdf.PdfPTable; import com.itextpdf.text.pdf.PdfWriter; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.text.SimpleDateFormat; import java.util.Date; import java.util.logging.Level; import java.util.logging.Logger; import javax.persistence.Query; import javax.swing.JDialog; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.table.DefaultTableModel; import net.proteanit.sql.DbUtils; /** * * @author Leonardo P Souza */ public class MovimentoPedidoView extends javax.swing.JDialog { Boolean editando; // Variavel global responsavel pela ativaes dos componentes da classe(ex: botes, tabelas e campos). Double valorTotal = 0.0; public static String sql; public String mes, dia, ano, dia_semana, hora; public MovimentoPedidoView(java.awt.Frame parent, boolean modal) { super(parent, modal); initComponents(); pnlFormProduto1.setVisible(false); pedidoDetalheList.clear(); editando = false; btnImprimir.setEnabled(false); trataEdicao(); } /** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { bindingGroup = new org.jdesktop.beansbinding.BindingGroup(); entityManager = EntityManagerUtil.getEntityManager(); pedidoRegistroQuery = java.beans.Beans.isDesignTime() ? null : entityManager.createQuery("SELECT pr FROM Pedidoregistro pr"); pedidoRegistroList = java.beans.Beans.isDesignTime() ? java.util.Collections.emptyList() : org.jdesktop.observablecollections.ObservableCollections .observableList(pedidoRegistroQuery.getResultList()); pedidoDetalheQuery = java.beans.Beans.isDesignTime() ? null : entityManager.createQuery("SELECT pd FROM Pedidodetalhe pd"); pedidoDetalheList = java.beans.Beans.isDesignTime() ? java.util.Collections.emptyList() : org.jdesktop.observablecollections.ObservableCollections .observableList(pedidoDetalheQuery.getResultList()); fornecedorQuery = java.beans.Beans.isDesignTime() ? null : entityManager.createQuery("SELECT f FROM Fornecedor f"); fornecedorList = java.beans.Beans.isDesignTime() ? java.util.Collections.emptyList() : org.jdesktop.observablecollections.ObservableCollections .observableList(fornecedorQuery.getResultList()); produtoQuery = java.beans.Beans.isDesignTime() ? null : entityManager .createQuery("from Produto where numEstoque <= numEstoqueCritico order by descricao"); produtoList = java.beans.Beans.isDesignTime() ? java.util.Collections.emptyList() : org.jdesktop.observablecollections.ObservableCollections .observableList(produtoQuery.getResultList()); atualizaProdutoQuery = java.beans.Beans.isDesignTime() ? null : entityManager .createQuery("from Produto where numEstoque <= numEstoqueCritico order by descricao"); atualizaProdutoList = java.beans.Beans.isDesignTime() ? java.util.Collections.emptyList() : org.jdesktop.observablecollections.ObservableCollections .observableList(produtoQuery.getResultList()); unidadeQuery = java.beans.Beans.isDesignTime() ? null : entityManager.createQuery("from Unidade order by descricao"); unidadeList = java.beans.Beans.isDesignTime() ? java.util.Collections.emptyList() : org.jdesktop.observablecollections.ObservableCollections .observableList(unidadeQuery.getResultList()); pnlBotoesPedido = new javax.swing.JPanel(); btnNovaVenda = new javax.swing.JButton(); btnExcluir = new javax.swing.JButton(); btnConfirmar = new javax.swing.JButton(); jButton1 = new javax.swing.JButton(); btnImprimir = new javax.swing.JButton(); pnlRegistroPedido = new javax.swing.JPanel(); jLabel1 = new javax.swing.JLabel(); txtVenda = new javax.swing.JTextField(); jLabel5 = new javax.swing.JLabel(); txtTotalVenda = new javax.swing.JTextField(); cbxFornecedor = new javax.swing.JComboBox(); jLabel2 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); spnQuantidade = new javax.swing.JSpinner(); pnlDetalhePedido = new javax.swing.JPanel(); jScrollPane1 = new javax.swing.JScrollPane(); tblDetalhe = new javax.swing.JTable(); jScrollPane2 = new javax.swing.JScrollPane(); tblRegistro = new javax.swing.JTable(); pnlProduto = new javax.swing.JPanel(); jScrollPane3 = new javax.swing.JScrollPane(); tblProduto = new javax.swing.JTable(); pnlFormProduto1 = new javax.swing.JPanel(); jLabel8 = new javax.swing.JLabel(); jLabel9 = new javax.swing.JLabel(); jScrollPane5 = new javax.swing.JScrollPane(); tblObjetos1 = new javax.swing.JTable(); txtCodigo1 = new javax.swing.JTextField(); txtDescricao1 = new javax.swing.JTextField(); jLabel10 = new javax.swing.JLabel(); cbxFornecedor2 = new javax.swing.JComboBox(); jLabel11 = new javax.swing.JLabel(); cbxUnidade1 = new javax.swing.JComboBox(); btnImportar = new javax.swing.JButton(); btnCancelar = new javax.swing.JButton(); pnlPesquisa = new javax.swing.JPanel(); lblProduto = new javax.swing.JLabel(); txtPesquisar = new javax.swing.JTextField(); btnAdicionar = new javax.swing.JToggleButton(); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); setTitle("Requerimento de Pedidos"); setPreferredSize(new java.awt.Dimension(1296, 528)); pnlBotoesPedido.setBackground(new java.awt.Color(204, 204, 255)); btnNovaVenda.setIcon(new javax.swing.ImageIcon(getClass().getResource("/br/com/tcc/imagem/Vendax32.png"))); // NOI18N btnNovaVenda.setText("Novo Pedido"); btnNovaVenda.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnNovaVendaActionPerformed(evt); } }); btnExcluir.setIcon(new javax.swing.ImageIcon(getClass().getResource("/br/com/tcc/imagem/excluir32.png"))); // NOI18N btnExcluir.setText("Excluir"); org.jdesktop.beansbinding.Binding binding = org.jdesktop.beansbinding.Bindings.createAutoBinding( org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, tblDetalhe, org.jdesktop.beansbinding.ELProperty.create("${selectedElement != null}"), btnExcluir, org.jdesktop.beansbinding.BeanProperty.create("enabled")); bindingGroup.addBinding(binding); btnExcluir.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnExcluirActionPerformed(evt); } }); btnConfirmar .setIcon(new javax.swing.ImageIcon(getClass().getResource("/br/com/tcc/imagem/confirmar32.png"))); // NOI18N btnConfirmar.setText("Confirmar"); btnConfirmar.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnConfirmarActionPerformed(evt); } }); jButton1.setText("Adicionar Produto"); jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton1ActionPerformed(evt); } }); btnImprimir.setText("Imprimir"); btnImprimir.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnImprimirActionPerformed(evt); } }); javax.swing.GroupLayout pnlBotoesPedidoLayout = new javax.swing.GroupLayout(pnlBotoesPedido); pnlBotoesPedido.setLayout(pnlBotoesPedidoLayout); pnlBotoesPedidoLayout.setHorizontalGroup( pnlBotoesPedidoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(pnlBotoesPedidoLayout.createSequentialGroup().addContainerGap() .addGroup(pnlBotoesPedidoLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(btnNovaVenda, javax.swing.GroupLayout.DEFAULT_SIZE, 139, Short.MAX_VALUE) .addComponent(btnExcluir, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(btnConfirmar, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(btnImprimir, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); pnlBotoesPedidoLayout.setVerticalGroup(pnlBotoesPedidoLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(pnlBotoesPedidoLayout.createSequentialGroup().addContainerGap().addComponent(btnNovaVenda) .addGap(18, 18, 18).addComponent(btnExcluir).addGap(18, 18, 18).addComponent(btnConfirmar) .addGap(18, 18, 18).addComponent(jButton1) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(btnImprimir) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); pnlRegistroPedido.setBorder(javax.swing.BorderFactory.createTitledBorder("Registro de Pedido")); jLabel1.setText("Cdigo Pedido:"); txtVenda.setEnabled(false); binding = org.jdesktop.beansbinding.Bindings.createAutoBinding( org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, tblRegistro, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.id}"), txtVenda, org.jdesktop.beansbinding.BeanProperty.create("text")); bindingGroup.addBinding(binding); jLabel5.setText("Total Venda R$:"); txtTotalVenda.setEnabled(false); binding = org.jdesktop.beansbinding.Bindings.createAutoBinding( org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, tblRegistro, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.vlrPedido}"), txtTotalVenda, org.jdesktop.beansbinding.BeanProperty.create("text")); bindingGroup.addBinding(binding); org.jdesktop.swingbinding.JComboBoxBinding jComboBoxBinding = org.jdesktop.swingbinding.SwingBindings .createJComboBoxBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, fornecedorList, cbxFornecedor); bindingGroup.addBinding(jComboBoxBinding); binding = org.jdesktop.beansbinding.Bindings.createAutoBinding( org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, tblRegistro, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.idFornecedor}"), cbxFornecedor, org.jdesktop.beansbinding.BeanProperty.create("selectedItem")); bindingGroup.addBinding(binding); jLabel2.setText("Fornecedor"); jLabel3.setText("Quantidade:"); javax.swing.GroupLayout pnlRegistroPedidoLayout = new javax.swing.GroupLayout(pnlRegistroPedido); pnlRegistroPedido.setLayout(pnlRegistroPedidoLayout); pnlRegistroPedidoLayout.setHorizontalGroup(pnlRegistroPedidoLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(pnlRegistroPedidoLayout.createSequentialGroup().addContainerGap().addComponent(jLabel1) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(txtVenda, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(18, 18, 18).addComponent(jLabel2).addGap(18, 18, 18) .addComponent(cbxFornecedor, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(pnlRegistroPedidoLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(pnlRegistroPedidoLayout.createSequentialGroup().addComponent(jLabel5) .addGap(18, 18, 18).addComponent(txtTotalVenda, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(pnlRegistroPedidoLayout.createSequentialGroup().addComponent(jLabel3) .addGap(35, 35, 35).addComponent(spnQuantidade, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE))) .addContainerGap())); pnlRegistroPedidoLayout .setVerticalGroup( pnlRegistroPedidoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(pnlRegistroPedidoLayout.createSequentialGroup().addContainerGap() .addGroup(pnlRegistroPedidoLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel1) .addComponent(txtVenda, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel5) .addComponent(txtTotalVenda, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(cbxFornecedor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel2)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(pnlRegistroPedidoLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(spnQuantidade, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel3)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); pnlDetalhePedido.setBorder(javax.swing.BorderFactory.createTitledBorder("Detalhe de Pedido")); org.jdesktop.swingbinding.JTableBinding jTableBinding = org.jdesktop.swingbinding.SwingBindings .createJTableBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, pedidoDetalheList, tblDetalhe); org.jdesktop.swingbinding.JTableBinding.ColumnBinding columnBinding = jTableBinding.addColumnBinding( org.jdesktop.beansbinding.ELProperty.create("${pedidodetalhePK.idPedidoRegistro}")); columnBinding.setColumnName("Cdigo"); columnBinding.setColumnClass(Integer.class); columnBinding = jTableBinding .addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${pedidodetalhePK.idProduto}")); columnBinding.setColumnName("Produto"); columnBinding.setColumnClass(Integer.class); columnBinding.setEditable(false); columnBinding = jTableBinding .addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${qtdePedido}")); columnBinding.setColumnName("Quantidade"); columnBinding.setColumnClass(Integer.class); columnBinding.setEditable(false); columnBinding = jTableBinding .addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${vlrUnitario}")); columnBinding.setColumnName("Unitario R$"); columnBinding.setColumnClass(Double.class); columnBinding.setEditable(false); columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${vlrTotal}")); columnBinding.setColumnName("Total R$"); columnBinding.setColumnClass(Double.class); bindingGroup.addBinding(jTableBinding); jTableBinding.bind(); jScrollPane1.setViewportView(tblDetalhe); javax.swing.GroupLayout pnlDetalhePedidoLayout = new javax.swing.GroupLayout(pnlDetalhePedido); pnlDetalhePedido.setLayout(pnlDetalhePedidoLayout); pnlDetalhePedidoLayout .setHorizontalGroup( pnlDetalhePedidoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnlDetalhePedidoLayout .createSequentialGroup().addContainerGap().addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 393, Short.MAX_VALUE) .addContainerGap())); pnlDetalhePedidoLayout.setVerticalGroup(pnlDetalhePedidoLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(pnlDetalhePedidoLayout.createSequentialGroup().addContainerGap() .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 455, Short.MAX_VALUE) .addContainerGap())); jTableBinding = org.jdesktop.swingbinding.SwingBindings.createJTableBinding( org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, pedidoRegistroList, tblRegistro); columnBinding = jTableBinding .addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${dataPedido}")); columnBinding.setColumnName("Data Pedido"); columnBinding.setColumnClass(java.util.Date.class); columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${id}")); columnBinding.setColumnName("Id"); columnBinding.setColumnClass(Integer.class); columnBinding = jTableBinding .addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${idFornecedor}")); columnBinding.setColumnName("Id Fornecedor"); columnBinding.setColumnClass(br.com.tcc.entity.Fornecedor.class); columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${vlrPedido}")); columnBinding.setColumnName("Vlr Pedido"); columnBinding.setColumnClass(Double.class); bindingGroup.addBinding(jTableBinding); jTableBinding.bind(); jScrollPane2.setViewportView(tblRegistro); pnlProduto.setBorder(javax.swing.BorderFactory.createTitledBorder("Produtos")); pnlProduto.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); jTableBinding = org.jdesktop.swingbinding.SwingBindings.createJTableBinding( org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, produtoList, tblProduto); columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${id}")); columnBinding.setColumnName("Cdigo"); columnBinding.setColumnClass(Integer.class); columnBinding.setEditable(false); columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${descricao}")); columnBinding.setColumnName("Descrio"); columnBinding.setColumnClass(String.class); columnBinding.setEditable(false); columnBinding = jTableBinding .addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${numEstoque}")); columnBinding.setColumnName("Estoque"); columnBinding.setColumnClass(Integer.class); columnBinding.setEditable(false); columnBinding = jTableBinding .addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${numEstoqueCritico}")); columnBinding.setColumnName("Critico"); columnBinding.setColumnClass(Integer.class); columnBinding.setEditable(false); columnBinding = jTableBinding .addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${idUnidade.descricao}")); columnBinding.setColumnName("Unidade"); columnBinding.setColumnClass(String.class); columnBinding.setEditable(false); columnBinding = jTableBinding .addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${idFornecedor.nome}")); columnBinding.setColumnName(" Fornecedor"); columnBinding.setColumnClass(String.class); columnBinding.setEditable(false); columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${vlrCompra}")); columnBinding.setColumnName("Compra R$"); columnBinding.setColumnClass(Double.class); columnBinding.setEditable(false); bindingGroup.addBinding(jTableBinding); jTableBinding.bind(); jScrollPane3.setViewportView(tblProduto); pnlProduto.add(jScrollPane3, new org.netbeans.lib.awtextra.AbsoluteConstraints(22, 24, 620, 290)); jLabel8.setText("Cdigo: "); jLabel9.setText("Descrio:"); jTableBinding = org.jdesktop.swingbinding.SwingBindings.createJTableBinding( org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, produtoList, tblObjetos1); columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${id}")); columnBinding.setColumnName("Id"); columnBinding.setColumnClass(Integer.class); columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${descricao}")); columnBinding.setColumnName("Descricao"); columnBinding.setColumnClass(String.class); columnBinding = jTableBinding .addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${idFornecedor}")); columnBinding.setColumnName("Id Fornecedor"); columnBinding.setColumnClass(br.com.tcc.entity.Fornecedor.class); columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${idUnidade}")); columnBinding.setColumnName("Id Unidade"); columnBinding.setColumnClass(br.com.tcc.entity.Unidade.class); columnBinding = jTableBinding .addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${numEstoque}")); columnBinding.setColumnName("Num Estoque"); columnBinding.setColumnClass(Integer.class); columnBinding = jTableBinding .addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${numEstoqueCritico}")); columnBinding.setColumnName("Num Estoque Critico"); columnBinding.setColumnClass(Integer.class); columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${vlrCompra}")); columnBinding.setColumnName("Vlr Compra"); columnBinding.setColumnClass(Double.class); columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${vlrVenda}")); columnBinding.setColumnName("Vlr Venda"); columnBinding.setColumnClass(Double.class); bindingGroup.addBinding(jTableBinding); jTableBinding.bind(); jScrollPane5.setViewportView(tblObjetos1); txtCodigo1.setEditable(false); txtCodigo1.setFocusable(false); txtCodigo1.setRequestFocusEnabled(false); binding = org.jdesktop.beansbinding.Bindings.createAutoBinding( org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, tblObjetos1, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.id}"), txtCodigo1, org.jdesktop.beansbinding.BeanProperty.create("text")); bindingGroup.addBinding(binding); binding = org.jdesktop.beansbinding.Bindings.createAutoBinding( org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, tblObjetos1, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.descricao}"), txtDescricao1, org.jdesktop.beansbinding.BeanProperty.create("text")); bindingGroup.addBinding(binding); txtDescricao1.addFocusListener(new java.awt.event.FocusAdapter() { public void focusGained(java.awt.event.FocusEvent evt) { txtDescricao1FocusGained(evt); } public void focusLost(java.awt.event.FocusEvent evt) { txtDescricao1FocusLost(evt); } }); jLabel10.setText("Fornecedor:"); jComboBoxBinding = org.jdesktop.swingbinding.SwingBindings.createJComboBoxBinding( org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, fornecedorList, cbxFornecedor2); bindingGroup.addBinding(jComboBoxBinding); binding = org.jdesktop.beansbinding.Bindings.createAutoBinding( org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, tblObjetos1, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.idFornecedor}"), cbxFornecedor2, org.jdesktop.beansbinding.BeanProperty.create("selectedItem")); bindingGroup.addBinding(binding); cbxFornecedor2.addFocusListener(new java.awt.event.FocusAdapter() { public void focusGained(java.awt.event.FocusEvent evt) { cbxFornecedor2FocusGained(evt); } public void focusLost(java.awt.event.FocusEvent evt) { cbxFornecedor2FocusLost(evt); } }); jLabel11.setText("Unidade:"); jComboBoxBinding = org.jdesktop.swingbinding.SwingBindings.createJComboBoxBinding( org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, unidadeList, cbxUnidade1); bindingGroup.addBinding(jComboBoxBinding); binding = org.jdesktop.beansbinding.Bindings.createAutoBinding( org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, tblObjetos1, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.idUnidade}"), cbxUnidade1, org.jdesktop.beansbinding.BeanProperty.create("selectedItem")); bindingGroup.addBinding(binding); cbxUnidade1.addFocusListener(new java.awt.event.FocusAdapter() { public void focusGained(java.awt.event.FocusEvent evt) { cbxUnidade1FocusGained(evt); } public void focusLost(java.awt.event.FocusEvent evt) { cbxUnidade1FocusLost(evt); } }); btnImportar.setText("Importar"); btnImportar.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnImportarActionPerformed(evt); } }); btnCancelar.setText("Cancelar"); btnCancelar.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnCancelarActionPerformed(evt); } }); javax.swing.GroupLayout pnlFormProduto1Layout = new javax.swing.GroupLayout(pnlFormProduto1); pnlFormProduto1.setLayout(pnlFormProduto1Layout); pnlFormProduto1Layout.setHorizontalGroup(pnlFormProduto1Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(pnlFormProduto1Layout.createSequentialGroup().addContainerGap() .addGroup(pnlFormProduto1Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(pnlFormProduto1Layout.createSequentialGroup().addComponent(jLabel9) .addGap(27, 27, 27).addComponent(txtDescricao1)) .addGroup(pnlFormProduto1Layout.createSequentialGroup().addComponent(jLabel10) .addGap(18, 18, 18) .addGroup(pnlFormProduto1Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(cbxFornecedor2, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(txtCodigo1, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(42, 42, 42).addComponent(jLabel11).addGap(18, 18, 18) .addComponent(cbxUnidade1, 0, 80, Short.MAX_VALUE)) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnlFormProduto1Layout.createSequentialGroup() .addComponent(jScrollPane5, javax.swing.GroupLayout.PREFERRED_SIZE, 0, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(btnCancelar) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(btnImportar)) .addGroup(pnlFormProduto1Layout.createSequentialGroup().addComponent(jLabel8) .addGap(0, 0, Short.MAX_VALUE))) .addContainerGap())); pnlFormProduto1Layout.setVerticalGroup( pnlFormProduto1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(pnlFormProduto1Layout.createSequentialGroup().addContainerGap() .addGroup(pnlFormProduto1Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel8).addComponent(txtCodigo1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(pnlFormProduto1Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel9).addComponent(txtDescricao1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(18, 18, 18) .addGroup(pnlFormProduto1Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel10) .addComponent(cbxFornecedor2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel11).addComponent(cbxUnidade1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(pnlFormProduto1Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(pnlFormProduto1Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(btnImportar).addComponent(btnCancelar)) .addComponent(jScrollPane5, javax.swing.GroupLayout.PREFERRED_SIZE, 0, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap())); pnlProduto.add(pnlFormProduto1, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 30, -1, -1)); lblProduto.setText("Produto:"); txtPesquisar.addKeyListener(new java.awt.event.KeyAdapter() { public void keyReleased(java.awt.event.KeyEvent evt) { txtPesquisarKeyReleased(evt); } }); btnAdicionar.setText("Adicionar >>"); btnAdicionar.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnAdicionarActionPerformed(evt); } }); javax.swing.GroupLayout pnlPesquisaLayout = new javax.swing.GroupLayout(pnlPesquisa); pnlPesquisa.setLayout(pnlPesquisaLayout); pnlPesquisaLayout.setHorizontalGroup(pnlPesquisaLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(pnlPesquisaLayout.createSequentialGroup().addContainerGap().addComponent(lblProduto) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(txtPesquisar, javax.swing.GroupLayout.DEFAULT_SIZE, 435, Short.MAX_VALUE) .addGap(18, 18, 18).addComponent(btnAdicionar).addContainerGap())); pnlPesquisaLayout.setVerticalGroup(pnlPesquisaLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(pnlPesquisaLayout.createSequentialGroup().addContainerGap().addGroup(pnlPesquisaLayout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(lblProduto) .addComponent(txtPesquisar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(btnAdicionar)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); pnlProduto.add(pnlPesquisa, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 330, 620, 40)); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup().addContainerGap() .addComponent(pnlBotoesPedido, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(pnlProduto, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(pnlRegistroPedido, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 0, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(pnlDetalhePedido, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))); layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup( javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup().addContainerGap().addGroup(layout .createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(pnlBotoesPedido, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup() .addComponent(pnlRegistroPedido, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(pnlProduto, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup() .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 0, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(pnlDetalhePedido, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) .addContainerGap())); bindingGroup.bind(); pack(); }// </editor-fold>//GEN-END:initComponents private void btnNovaVendaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnNovaVendaActionPerformed editando = true; trataEdicao(); pedidoDetalheList.clear(); pedidoRegistroList.add((Pedidoregistro) new Pedidoregistro()); int row = pedidoRegistroList.size() - 1; tblRegistro.setRowSelectionInterval(row, row); spnQuantidade.setValue(1); }//GEN-LAST:event_btnNovaVendaActionPerformed private void btnExcluirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnExcluirActionPerformed if (Uteis.confirmar("Confirma Excluo?")) { int linhaClicada = tblDetalhe.getSelectedRow(); if (linhaClicada < 0) { JOptionPane.showMessageDialog(null, "Selecione um registro para excluir"); } else { try { Pedidodetalhe obj = pedidoDetalheList.get(linhaClicada); valorTotal = valorTotal - obj.getVlrTotal(); pedidoDetalheList.remove(linhaClicada); txtTotalVenda.setText(String.valueOf(valorTotal)); entityManager.getTransaction().begin(); entityManager.remove(obj); entityManager.getTransaction().commit(); } catch (Exception e) { JOptionPane.showMessageDialog(null, "Erro ao Excluir \n" + e.getMessage()); if (entityManager.getTransaction().isActive() == false) { entityManager.getTransaction().begin(); } entityManager.getTransaction().rollback(); } } } }//GEN-LAST:event_btnExcluirActionPerformed private void btnConfirmarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnConfirmarActionPerformed try { int row = pedidoDetalheList.size() - 1; if (row >= 0) { entityManager.getTransaction().begin(); entityManager.getTransaction().commit(); JOptionPane.showMessageDialog(null, "Pedido Realizada com Sucesso"); btnImprimir.setEnabled(true); } else { JOptionPane.showMessageDialog(null, "Insira um produto ao Pedido"); } } catch (Exception e) { JOptionPane.showMessageDialog(null, "Erro ao Gravar \n" + e.getMessage()); } }//GEN-LAST:event_btnConfirmarActionPerformed private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed produtoList.add((Produto) new Produto()); int row = produtoList.size() - 1; tblObjetos1.setRowSelectionInterval(row, row); txtDescricao1.requestFocus(); pnlFormProduto1.setVisible(true); tblProduto.setVisible(false); txtPesquisar.setVisible(false); lblProduto.setVisible(false); btnAdicionar.setVisible(false); jScrollPane3.setVisible(false); // JDialog form = new AdicionaProdutoView(null, true); // form.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); // form.setLocationRelativeTo(null); // form.setResizable(false); // form.setVisible(true); // atualizaTabelaProduto(); // produtoQuery = entityManager.createQuery("from Produto where numEstoque <= numEstoqueCritico order by descricao"); //// produtoList.clear(); // produtoQuery.executeUpdate(); // produtoQuery.getResultList(); // produtoList.addAll(produtoQuery.getResultList()); // int linha = tblProduto.getRowCount() - 1; // tblProduto.setRowSelectionInterval(linha, linha); // tblProduto.scrollRectToVisible(tblProduto.getCellRect(linha, 0, true)); }//GEN-LAST:event_jButton1ActionPerformed private void txtPesquisarKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtPesquisarKeyReleased atualizaGridProduto(); if (txtPesquisar.getText().isEmpty()) { atualizaGridProdutoEstoque(); } }//GEN-LAST:event_txtPesquisarKeyReleased private void btnAdicionarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnAdicionarActionPerformed if (validaCampos()) { salvarRegistroPedido(); Pedidodetalhe vd = new Pedidodetalhe(); Pedidoregistro vr = new Pedidoregistro(); PedidodetalhePK vdpk = new PedidodetalhePK(); // int indexRegistro = tblRegistro.getSelectedRow(); // seleciona o registro da jTable vendaRegistro int indexProduto = tblProduto.getSelectedRow(); // seleciona o registro da jTable produto vdpk.setIdPedidoRegistro(pedidoRegistroList.get(indexRegistro).getId()); // adiciona ao idVendaRegistro o id da vendaRegistro selecionado na lista de vendaRegistroList vdpk.setIdProduto(produtoList.get(indexProduto).getId()); // adiciona ao idProduto o id do produto selecionado na lista de produtoList vd.setPedidodetalhePK(vdpk); // adiciona a vendeDetalhePK os registro de vdpk(idVendaRegistro e idProduto) vr.setIdFornecedor(null); int quantidade; boolean continuar = true; quantidade = (Integer) spnQuantidade.getValue(); if (quantidade >= 1) { if (quantidade <= produtoList.get(indexProduto).getNumEstoque()) { continuar = false;//caso o valor informado esteja dentro da faixa, o lao termina int linhaClicada = tblProduto.getSelectedRow(); Produto obj = produtoList.get(linhaClicada); // int produtoExtra = quantidade; // int entradaEstoque = produtoList.get(indexProduto).getNumEstoque() - quantidade; // obj.setNumEstoque(entradaEstoque); vd.setQtdePedido(quantidade); vd.setVlrUnitario(produtoList.get(indexProduto).getVlrVenda()); vd.setVlrTotal(quantidade * produtoList.get(indexProduto).getVlrVenda()); valorTotal = valorTotal + vd.getVlrTotal(); txtTotalVenda.setText(String.valueOf(valorTotal)); pedidoDetalheList.add(vd); entityManager.persist(vd); produtoList.clear(); produtoList.addAll(produtoQuery.getResultList()); spnQuantidade.setValue(1); } } else { JOptionPane.showMessageDialog(null, "Smente quantidades positivas"); spnQuantidade.setValue(1); } } // if (validaCampos()) { // salvarRegistroPedido(); // chama mtodo para salvar a venda e assim podendo inserir itens a venda // // Pedidodetalhe vd = new Pedidodetalhe(); // Pedidoregistro vr = new Pedidoregistro(); // PedidodetalhePK vdpk = new PedidodetalhePK(); //// // int indexRegistro = tblRegistro.getSelectedRow(); // seleciona o registro da jTable vendaRegistro // int indexProduto = tblProduto.getSelectedRow(); // seleciona o registro da jTable produto // vdpk.setIdPedidoRegistro(pedidoRegistroList.get(indexRegistro).getId()); // adiciona ao idVendaRegistro o id da vendaRegistro selecionado na lista de vendaRegistroList // vdpk.setIdProduto(produtoList.get(indexProduto).getId()); // adiciona ao idProduto o id do produto selecionado na lista de produtoList // vd.setPedidodetalhePK(vdpk); // adiciona a vendeDetalhePK os registro de vdpk(idVendaRegistro e idProduto) // vr.setIdFornecedor(null); // int quantidade; // boolean continuar = true; // while (continuar) { // quantidade = Integer.parseInt(JOptionPane.showInputDialog(null, "Quantidade?")); // // if (quantidade >= 1) { // continuar = false;//caso o valor informado esteja dentro da faixa, o lao termina // vd.setQtdePedido(quantidade); // vd.setVlrUnitario(produtoList.get(indexProduto).getVlrVenda()); // vd.setVlrTotal(quantidade * produtoList.get(indexProduto).getVlrVenda()); // valorTotal = valorTotal + vd.getVlrTotal(); // txtTotalVenda.setText(String.valueOf(valorTotal)); // entityManager.getTransaction().begin(); // entityManager.persist(vd); // pedidoDetalheList.add(vd); // entityManager.getTransaction().commit(); // } else { // JOptionPane.showInputDialog(null, "Quantidade?"); // } // // } // // } }//GEN-LAST:event_btnAdicionarActionPerformed private void txtDescricao1FocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txtDescricao1FocusGained Uteis.entraCampo(evt); }//GEN-LAST:event_txtDescricao1FocusGained private void txtDescricao1FocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txtDescricao1FocusLost Uteis.saiCampo(evt); }//GEN-LAST:event_txtDescricao1FocusLost private void cbxFornecedor2FocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_cbxFornecedor2FocusGained Uteis.entraCampo(evt); }//GEN-LAST:event_cbxFornecedor2FocusGained private void cbxFornecedor2FocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_cbxFornecedor2FocusLost Uteis.saiCampo(evt); }//GEN-LAST:event_cbxFornecedor2FocusLost private void cbxUnidade1FocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_cbxUnidade1FocusGained Uteis.entraCampo(evt); }//GEN-LAST:event_cbxUnidade1FocusGained private void cbxUnidade1FocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_cbxUnidade1FocusLost Uteis.saiCampo(evt); }//GEN-LAST:event_cbxUnidade1FocusLost private void btnImportarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnImportarActionPerformed if (validaCampos()) { try { int linhaClicada = tblObjetos1.getSelectedRow(); Produto obj = produtoList.get(linhaClicada); obj.setNumEstoque(0); obj.setNumEstoqueCritico(0); obj.setVlrCompra(0.0); obj.setVlrVenda(0.0); entityManager.getTransaction().begin(); entityManager.persist(obj); entityManager.getTransaction().commit(); tblProduto.setVisible(true); jScrollPane3.setVisible(true); txtPesquisar.setVisible(true); lblProduto.setVisible(true); btnAdicionar.setVisible(true); pnlFormProduto1.setVisible(false); } catch (Exception e) { JOptionPane.showMessageDialog(null, "Erro ao Gravar \n" + e.getMessage()); if (entityManager.getTransaction().isActive() == false) { entityManager.getTransaction().begin(); } entityManager.getTransaction().rollback(); } } }//GEN-LAST:event_btnImportarActionPerformed private void btnCancelarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnCancelarActionPerformed pnlFormProduto1.setVisible(false); tblProduto.setVisible(true); txtPesquisar.setVisible(true); lblProduto.setVisible(true); btnAdicionar.setVisible(true); jScrollPane3.setVisible(true); int linha = tblProduto.getRowCount() - 1; tblProduto.setRowSelectionInterval(linha, linha); tblProduto.scrollRectToVisible(tblProduto.getCellRect(linha, 0, true)); Produto p = produtoList.get(linha); entityManager.getTransaction().begin(); entityManager.remove(p); produtoList.remove(p); int linha2 = tblProduto.getRowCount() - 1; tblProduto.setRowSelectionInterval(linha2, linha2); tblProduto.scrollRectToVisible(tblProduto.getCellRect(linha2, 0, true)); entityManager.getTransaction().commit(); }//GEN-LAST:event_btnCancelarActionPerformed private void btnImprimirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnImprimirActionPerformed int row = tblRegistro.getSelectedRow(); int id = pedidoRegistroList.get(row).getId(); sql = "SELECT produto.descricao, pedidodetalhe.qtdePedido, pedidodetalhe.vlrUnitario, pedidodetalhe.vlrTotal from pedidodetalhe as pedidodetalhe INNER JOIN produto as produto ON (pedidodetalhe.idProduto = produto.ID) where idPedidoRegistro = " + id; System.out.println(sql); try { relat(sql); } catch (SQLException ex) { Logger.getLogger(MovimentoEntradaView.class.getName()).log(Level.SEVERE, null, ex); } catch (DocumentException ex) { Logger.getLogger(MovimentoEntradaView.class.getName()).log(Level.SEVERE, null, ex); } catch (IOException ex) { Logger.getLogger(MovimentoEntradaView.class.getName()).log(Level.SEVERE, null, ex); } }//GEN-LAST:event_btnImprimirActionPerformed private void atualizaTabelaProduto() { try { tblProduto.setModel(new TableModelPadraoParaBean(pegaProduto.ConsultarProduto(produtoQuery))); } catch (Exception ex) { Logger.getLogger(MovimentoOrcamentoView.class.getName()).log(Level.SEVERE, null, ex); } // DefaultTableModel modelo = (DefaultTableModel)tblProduto().getModel(); // produtoQuery = java.beans.Beans.isDesignTime() ? null : entityManager.createQuery("from Produto where numEstoque <= numEstoqueCritico order by descricao"); // String sql = "from Produto where numEstoque <= numEstoqueCritico"; // produtoQuery = entityManager.createQuery(sql); // produtoList.clear(); // produtoList.addAll(atualizaProdutoQuery.getResultList()); // int linha = tblProduto.getRowCount() - 1; // tblProduto.setRowSelectionInterval(linha, linha); // tblProduto.scrollRectToVisible(tblProduto.getCellRect(linha, 0, true)); // tblProduto // produtoList = java.beans.Beans.isDesignTime() ? java.util.Collections.emptyList() : org.jdesktop.observablecollections.ObservableCollections.observableList(produtoQuery.getResultList()); // String sql = "from Produto where numEstoque <= numEstoqueCritico"; // PreparedStatement pst = (PreparedStatement) entityManager.createQuery(sql); // ResultSet rs=pst.executeQuery(); //// tblProduto //// produtoList = query.getResultList(); // tblProduto.setModel(DbUtils.resultSetToTableModel(rs)); // } catch (Exception e) { // JOptionPane.showMessageDialog(null, "Erro ao Gravar \n" + e.getMessage()); // } } private void atualizaGridProduto() { String sql = "from Produto"; String ordem = ""; ordem = "descricao"; String filtro = txtPesquisar.getText(); if (filtro.length() > 0 && filtro != null) { sql += " where upper(" + ordem + ") like '" + filtro.toUpperCase() + "%' "; } sql += " order by " + ordem; System.out.println("SQL Gerado: " + sql); produtoQuery = entityManager.createQuery(sql); produtoList.clear(); produtoList.addAll(produtoQuery.getResultList()); int row = produtoList.size() - 1; if (row >= 0) { tblProduto.setRowSelectionInterval(row, row); tblProduto.scrollRectToVisible(tblProduto.getCellRect(row, row, true)); } } private void atualizaGridProdutoEstoque() { Produto p = new Produto(); String sql = "from Produto where numEstoque <= numEstoqueCritico"; String ordem = ""; ordem = "descricao"; String filtro = txtPesquisar.getText(); if (filtro.length() > 0 && filtro != null) { sql += " where upper(" + ordem + ") like '" + filtro.toUpperCase() + "%' "; } sql += " order by " + ordem; System.err.println("SQL Gerado: " + sql); produtoQuery = entityManager.createQuery(sql); produtoList.clear(); produtoList.addAll(produtoQuery.getResultList()); int row = produtoList.size() - 1; if (row >= 0) { tblProduto.setRowSelectionInterval(row, row); tblProduto.scrollRectToVisible(tblProduto.getCellRect(row, row, true)); tblProduto.revalidate(); } } private void salvarRegistroPedido() { int linhaClicada = tblRegistro.getSelectedRow(); Pedidoregistro obj = pedidoRegistroList.get(linhaClicada); Date data = new Date(System.currentTimeMillis()); obj.setDataPedido(data); entityManager.getTransaction().begin(); entityManager.persist(obj); entityManager.getTransaction().commit(); } private void trataEdicao() { // botes e campos de filtro btnAdicionar.setEnabled(editando); btnConfirmar.setEnabled(editando); tblDetalhe.setEnabled(editando); tblProduto.setEnabled(editando); txtPesquisar.setEnabled(editando); cbxFornecedor.setEnabled(editando); } /** * Mtodo que valida o campos de preenchimento de formulrio * * @return */ private boolean validaCampos() { if (cbxFornecedor.getSelectedIndex() < 0) { JOptionPane.showMessageDialog(null, "Selecione um Fornecedor"); cbxFornecedor.requestFocus(); return false; } // if (cbxFuncionario.getSelectedIndex() < 0) { // JOptionPane.showMessageDialog(null, "Selecione um Funcionrio"); // cbxFuncionario.requestFocus(); // return false; // } // if (cbxTipoPagamento.getSelectedIndex() < 0) { // JOptionPane.showMessageDialog(null, "Selecione um Tipo de Pagamento"); // cbxTipoPagamento.requestFocus(); // return false; // } return true; } // Variables declaration - do not modify//GEN-BEGIN:variables public static java.util.List<br.com.tcc.entity.Produto> atualizaProdutoList; public static javax.persistence.Query atualizaProdutoQuery; private javax.swing.JToggleButton btnAdicionar; private javax.swing.JButton btnCancelar; private javax.swing.JButton btnConfirmar; private javax.swing.JButton btnExcluir; private javax.swing.JButton btnImportar; private javax.swing.JButton btnImprimir; private javax.swing.JButton btnNovaVenda; private javax.swing.JComboBox cbxFornecedor; private javax.swing.JComboBox cbxFornecedor2; private javax.swing.JComboBox cbxUnidade1; private javax.persistence.EntityManager entityManager; private java.util.List<br.com.tcc.entity.Fornecedor> fornecedorList; private javax.persistence.Query fornecedorQuery; private javax.swing.JButton jButton1; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel10; private javax.swing.JLabel jLabel11; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel5; private javax.swing.JLabel jLabel8; private javax.swing.JLabel jLabel9; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JScrollPane jScrollPane2; private javax.swing.JScrollPane jScrollPane3; private javax.swing.JScrollPane jScrollPane5; private javax.swing.JLabel lblProduto; private java.util.List<br.com.tcc.entity.Pedidodetalhe> pedidoDetalheList; private javax.persistence.Query pedidoDetalheQuery; private java.util.List<br.com.tcc.entity.Pedidoregistro> pedidoRegistroList; private javax.persistence.Query pedidoRegistroQuery; private javax.swing.JPanel pnlBotoesPedido; private javax.swing.JPanel pnlDetalhePedido; private javax.swing.JPanel pnlFormProduto1; private javax.swing.JPanel pnlPesquisa; private javax.swing.JPanel pnlProduto; private javax.swing.JPanel pnlRegistroPedido; private java.util.List<br.com.tcc.entity.Produto> produtoList; private javax.persistence.Query produtoQuery; private javax.swing.JSpinner spnQuantidade; private javax.swing.JTable tblDetalhe; private javax.swing.JTable tblObjetos1; private javax.swing.JTable tblProduto; private javax.swing.JTable tblRegistro; private javax.swing.JTextField txtCodigo1; private javax.swing.JTextField txtDescricao1; private javax.swing.JTextField txtPesquisar; private javax.swing.JTextField txtTotalVenda; private javax.swing.JTextField txtVenda; private java.util.List<br.com.tcc.entity.Unidade> unidadeList; private javax.persistence.Query unidadeQuery; private org.jdesktop.beansbinding.BindingGroup bindingGroup; // End of variables declaration//GEN-END:variables private void relat(String sql) throws SQLException, DocumentException, FileNotFoundException, IOException { /* Create Connection objects */ Connection con = new ConnectionFactory().getConnection(); Statement stmt = con.createStatement(); int row = tblRegistro.getSelectedRow(); int id = pedidoRegistroList.get(row).getId(); SimpleDateFormat horaformatada = new SimpleDateFormat("HH:mm:ss"); Date horaAtual = new Date(); hora = horaformatada.format(horaAtual); Date data = new Date(); // mes = ""+Data.getMonth();//0 a 11 dia = "" + data.getDate(); ano = "" + (1900 + data.getYear()); switch (data.getMonth()) { case 0: mes = "Janeiro"; break; case 1: mes = "Fevereiro"; break; case 2: mes = "Maro"; break; case 3: mes = "Abril"; break; case 4: mes = "Maio"; break; case 5: mes = "Junho"; break; case 6: mes = "Julho"; break; case 7: mes = "Agosto"; break; case 8: mes = "Setembro"; break; case 9: mes = "Outubro"; break; case 10: mes = "Novembro"; break; case 11: mes = "Dezembro"; break; } /* Define the SQL query */ // sql = "SELECT cliente.nome, funcionario.nome, tipopagamento.descricao, vendaregistro.dataVenda, vendaregistro.vlrSugerido, vendaregistro.totalVenda, vendaregistro.parcela, vendaregistro.1vencimento, vendaregistro.ativo FROM vendaregistro as vendaregistro INNER JOIN cliente as cliente ON (vendaregistro.idCliente = cliente.id) \n" + //"INNER JOIN funcionario as funcionario ON (vendaregistro.idFuncionario = funcionario.id) INNER JOIN tipopagamento as tipopagamento ON (vendaregistro.idTipoPagamento = tipopagamento.id) WHERE dataVenda = CURRENT_DATE"; ResultSet query = stmt.executeQuery(sql); /* Step-2: Initialize PDF documents - logical objects */ Document PDFLogReport = new Document(); PdfWriter.getInstance(PDFLogReport, new FileOutputStream("C:\\Users\\Leonardo P Souza\\Desktop\\Relat\\Pedidos " + id + ".pdf")); PDFLogReport.open(); Paragraph cabecalho = new Paragraph("AGRO EMPRESARIAL - SISTEMA DE GERENCIAMENTO\n" + "RUA GONALVES CHAVES, 602 PELOTAS/RS\n" + "FONE:(53) 3232-3232 BAIRRO: CENTRO\n" + "CNPJ: 12.345.678/1011-12\n" + "-------------------------------------------\n" + dia + "/" + mes + "/" + ano + " " + hora + " COD: " + id + " \n\n"); cabecalho.setAlignment(Element.ALIGN_CENTER); PDFLogReport.add(cabecalho); //we have two columns in our table PdfPTable LogTable = new PdfPTable(4); // Ttulo para a tabela Paragraph tableHeader = new Paragraph("Lista de Pedidos"); PdfPCell header = new PdfPCell(tableHeader); // Definindo que o header vai ocupar as 2 colunas header.setColspan(4); // Definindo alinhamento do header header.setHorizontalAlignment(Paragraph.ALIGN_CENTER); // Adicionando o header tabela Font fonte = new Font(Font.FontFamily.HELVETICA, 7, Font.BOLD, BaseColor.BLACK); Font fonteDados = new Font(Font.FontFamily.TIMES_ROMAN, 6, Font.NORMAL, BaseColor.BLACK); LogTable.addCell(header); LogTable.addCell(new Paragraph("Produto ", fonte)); LogTable.addCell(new Paragraph("Quantidade", fonte)); LogTable.addCell(new Paragraph("Valor Unitrio", fonte)); LogTable.addCell(new Paragraph("Valor Total", fonte)); //create a cell object // PdfPCell table_cell; while (query.next()) { String produto = query.getString("produto.descricao"); LogTable.addCell(new Paragraph(produto, fonteDados)); String quantidade = query.getString("qtdePedido"); LogTable.addCell(new Paragraph(quantidade, fonteDados)); String vlrSugerido = query.getString("vlrUnitario"); LogTable.addCell(new Paragraph(vlrSugerido, fonteDados)); String vlrTotal = query.getString("vlrTotal"); LogTable.addCell(new Paragraph(vlrTotal, fonteDados)); } /* Attach report table to PDF */ PDFLogReport.add(LogTable); double valor = pedidoRegistroList.get(row).getVlrPedido(); Paragraph paragrafoValor = new Paragraph("Valor R$: " + valor); paragrafoValor.setAlignment(Element.ALIGN_RIGHT); PDFLogReport.add(paragrafoValor); PDFLogReport.close(); /* Close all DB related objects */ query.close(); stmt.close(); con.close(); String file; file = "C:\\Users\\Leonardo P Souza\\Desktop\\Relat\\Pedidos " + id + ".pdf"; Runtime.getRuntime().exec("rundll32 SHELL32.DLL,ShellExec_RunDLL " + file); } }