Como alterar um valor na celula jtable?
package br.com.visual;
import br.com.classes.Item_compra;
import br.com.classes.Produtos;
import br.com.classes.UsuarioLogado;
import br.com.classes.Venda;
import br.com.conexao.ConnectionFactory;
import br.com.dao.ClientesDAO;
import br.com.dao.Item_compraDAO;
import br.com.dao.ProdutoDAO;
import br.com.dao.UsuarioDAO;
import br.com.dao.VendaDAO;
import com.mxrck.autocompleter.TextAutoCompleter;
import java.awt.Frame;
import java.awt.event.KeyEvent;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.ListSelectionModel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.table.DefaultTableModel;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.view.JasperViewer;
import org.codehaus.groovy.tools.shell.Main;
/**
*
-
@author Renan
*/
public class CadastroVendas extends javax.swing.JInternalFrame {/**
- Creates new form CadastroVendas
*/
int id_venda;
DefaultTableModel tmItem_compra = new DefaultTableModel(null, new String[] {“Produto”, “Quantidade”, “Preço unitário”, “Subtotal”});
ListSelectionModel lsmItem_compra;
List<Item_compra> itens_compra;
float desconto = 0;
float valor_total = 0;
float total_geral = 0;
float subtotal = 0;
NumberFormat formatarFloat= new DecimalFormat(“0.00”);
public CadastroVendas() {
initComponents();
try {
jtData.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.MaskFormatter("##/##/####")));
} catch (ParseException ex) {
Logger.getLogger(CadastroVendas.class.getName()).log(Level.SEVERE, null, ex);
}
autoCompleteProdutos();
autoCompleteClientes();
jlNomeFuncionario.setText(UsuarioLogado.getInstance().getNome());
novaVenda();
jlLinhaSelecionada.setVisible(false);
jlProdutoExcluir.setVisible(false);
btDeletar.setVisible(false);
jlTotal.setText(Float.toString(valor_total));
jlValorDesconto.setText(Float.toString(desconto));
jlTotalGeral.setText(Float.toString(total_geral));
jtValor_recebido.setText(“0”);
}
public void autoCompleteProdutos(){
TextAutoCompleter textAutoAcompleter =new TextAutoCompleter( jtNomeProduto);PreparedStatement pstm; ResultSet rs; ConnectionFactory bd = new ConnectionFactory(); Connection conn = null; try{ pstm = ConnectionFactory.getConexao().prepareStatement("select id, nome from produto"); rs = pstm.executeQuery(); while (rs.next()) { textAutoAcompleter.addItem(rs.getString("nome")); } } catch(Exception de) { JOptionPane.showMessageDialog(this, de.getMessage()); }
}
public void autoCompleteClientes(){
TextAutoCompleter textAutoAcompleter =new TextAutoCompleter( jtId_cliente);PreparedStatement pstm; ResultSet rs; ConnectionFactory bd = new ConnectionFactory(); Connection conn = null; try{ pstm = ConnectionFactory.getConexao().prepareStatement("select id, nome from clientes"); rs = pstm.executeQuery(); while (rs.next()) { textAutoAcompleter.addItem(rs.getString("nome")); } } catch(Exception de) { JOptionPane.showMessageDialog(this, de.getMessage()); }
}
public void novaVenda(){ VendaDAO vendaDAO = new VendaDAO(); Venda venda = new Venda();
SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy"); Date data = new Date(); String datahoje = format.format(data); jtData.setText(datahoje); data = null; try { data = new SimpleDateFormat("dd/MM/yyyy").parse(jtData.getText()); } catch (ParseException ex) { Logger.getLogger(CadastroVendas.class.getName()).log(Level.SEVERE, null, ex); } String dataBanco = new SimpleDateFormat("yyyy-MM-dd").format(data); SimpleDateFormat formatador = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); Date data_atual = new Date(); String data_inc = formatador.format(data_atual); UsuarioDAO usuarioDAO = new UsuarioDAO(); venda.setId_usuario(usuarioDAO.buscaIdUsuario(jlNomeFuncionario.getText())); venda.setId_cliente(0); venda.setData(dataBanco); venda.setData_inc(data_inc); venda.setDesconto(0); venda.setTotal(0); venda.setPagamento(""); id_venda = vendaDAO.cadastrarVenda(venda); jlId.setText(Integer.toString(id_venda));
}
jScrollPane1.setPreferredSize(new java.awt.Dimension(45, 45)); tbItem_compra.setModel(tmItem_compra); lsmItem_compra = tbItem_compra.getSelectionModel(); lsmItem_compra.addListSelectionListener(new ListSelectionListener() { public void valueChanged(ListSelectionEvent e) { if (! e.getValueIsAdjusting()) { tbItem_compraLinhaSelecionada(); } } });
private void btAdicionarProdutoNomeActionPerformed(java.awt.event.ActionEvent evt) { CadastrarPorNome(); jtNomeProduto.setText(""); }
private void btDeletarActionPerformed(java.awt.event.ActionEvent evt) { excluirItem_compra(); }
private void btCadastrarActionPerformed(java.awt.event.ActionEvent evt) { updateVenda(); }
private void jtNomeProdutoKeyPressed(java.awt.event.KeyEvent evt) { if(evt.getKeyCode() == KeyEvent.VK_ENTER){ CadastrarPorNome(); jtNomeProduto.selectAll(); } }
private void jtCod_barrasKeyPressed(java.awt.event.KeyEvent evt) { if(evt.getKeyCode() == KeyEvent.VK_ENTER){ CadastrarPorCodigo(); } }
private void btCancelarActionPerformed(java.awt.event.ActionEvent evt) { cancelarVenda(); }
private void jtDescontoKeyReleased(java.awt.event.KeyEvent evt) { desconto(); }
public void cancelarVenda(){ String id_venda = jlId.getText(); VendaDAO vendaDAO = new VendaDAO(); vendaDAO.cancelarVenda(Integer.parseInt(id_venda)); int resposta = JOptionPane.showConfirmDialog(this, “Venda cancelada com sucesso! Deseja iniciar uma nova venda?”, “Confirmação”, JOptionPane.YES_NO_OPTION); if(resposta == JOptionPane.YES_NO_OPTION){ tmItem_compra = (DefaultTableModel)tbItem_compra.getModel(); tmItem_compra.setNumRows(0); jtId_cliente.setText(""); jtValor_recebido.setText(""); jtNomeProduto.setText(""); jtValor_recebido.setText(“0”); jlTotal.setText(“0”); jlValorDesconto.setText(“0”); jlTotalGeral.setText(“0”); jcPagamento.setSelectedItem(“Dinheiro”); novaVenda(); }else{ dispose(); }
}
public void updateVenda(){ VendaDAO vendaDAO = new VendaDAO(); Venda venda = new Venda();
Date altera_data = null; Date data = null; Date data_inc = null; try { altera_data = new SimpleDateFormat("dd/MM/yyyy").parse(jtData.getText()); } catch (ParseException ex) { Logger.getLogger(CadastroVendas.class.getName()).log(Level.SEVERE, null, ex); } String dataBanco_altera = new SimpleDateFormat("yyyy-MM-dd").format(altera_data); SimpleDateFormat formatador = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date data_atual = new Date(); String data_inclusao = formatador.format(data_atual); if(jtDesconto.getText().equals("")){ float desconto = 0; } UsuarioDAO usuarioDAO = new UsuarioDAO(); ClientesDAO clientesDAO = new ClientesDAO(); venda.setId_usuario(usuarioDAO.buscaIdUsuario(jlNomeFuncionario.getText())); venda.setId_cliente(clientesDAO.buscaIdCliente(jtId_cliente.getText())); venda.setData(dataBanco_altera); venda.setData_inc(data_inclusao); venda.setDesconto(desconto); venda.setTotal(Float.parseFloat(jlTotalGeral.getText().replace(",", "."))); venda.setPagamento(jcPagamento.getSelectedItem().toString()); venda.setId(Integer.parseInt(jlId.getText())); if(jtValor_recebido.getText().equals("")){ jtValor_recebido.setText("0"); } float valor_recebido = Float.parseFloat(jtValor_recebido.getText().replace(",", ".")); float troco = 0; troco = valor_recebido - total_geral; if(valor_recebido != 0){ JOptionPane.showMessageDialog(this, "Troco R$: "+troco); } vendaDAO.alterarCadastro(venda); if(jrSim.isSelected()){ String relat = "./src/br/com/relatorios/relatorioVendaAtual.jasper"; HashMap parametros = new HashMap(); Connection conn = ConnectionFactory.getConexao(); parametros.put("id", id_venda); JasperPrint impressao = null; try { impressao = JasperFillManager.fillReport(relat, parametros, conn); } catch (JRException ex) { Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); } JasperViewer viewer = new JasperViewer(impressao, false); viewer.setExtendedState(Frame.MAXIMIZED_BOTH); viewer.setVisible(true); } int resposta = JOptionPane.showConfirmDialog(this, "Venda finalizada com sucesso! Deseja iniciar uma nova venda?", "Confirmação", JOptionPane.YES_NO_OPTION); if(resposta == JOptionPane.YES_NO_OPTION){ tmItem_compra = (DefaultTableModel)tbItem_compra.getModel(); tmItem_compra.setNumRows(0); jtId_cliente.setText(""); jtValor_recebido.setText("0"); jtValor_recebido.setText(""); jtNomeProduto.setText(""); jcPagamento.setSelectedItem("Dinheiro"); jlTotal.setText("0"); jlValorDesconto.setText("0"); jlTotalGeral.setText("0"); jtDesconto.setText("0"); novaVenda(); }else{ dispose(); }
}
public void CadastrarPorNome(){ Item_compraDAO item_compraDAO = new Item_compraDAO(); Item_compra item_compra = new Item_compra();
if(jtNomeProduto.getText().equals("")){ JOptionPane.showMessageDialog(this, "Preencha o campo nome."); jtNomeProduto.requestFocus(); }else{ String id_venda = jlId.getText(); item_compra.setId_venda(Integer.parseInt(id_venda)); item_compra.setQtdade(Integer.parseInt(jtQtdade.getText())); String nome_produto = jtNomeProduto.getText(); ProdutoDAO produtoDAO = new ProdutoDAO(); int id_produto = produtoDAO.buscaIdProduto(nome_produto); item_compra.setId_produto(id_produto); int qtdadejt = Integer.parseInt(jtQtdade.getText()); item_compraDAO.cadastrarItem_compra(item_compra, qtdadejt); listar(); }
}
public void CadastrarPorCodigo(){ Item_compraDAO item_compraDAO = new Item_compraDAO(); Item_compra item_compra = new Item_compra();
if(jtCod_barras.getText().equals("")){ JOptionPane.showMessageDialog(this, "Preencha o código de barras."); jtCod_barras.requestFocus(); }else{ String id_venda = jlId.getText(); item_compra.setId_venda(Integer.parseInt(id_venda)); item_compra.setQtdade(Integer.parseInt(jtQtdade.getText())); String codigo_barras = jtCod_barras.getText(); jtCod_barras.setText(""); ProdutoDAO produtoDAO = new ProdutoDAO(); int id_produto = produtoDAO.buscaIdProdutoCod(codigo_barras); item_compra.setId_produto(id_produto); int qtdadejt = Integer.parseInt(jtQtdade.getText()); item_compraDAO.cadastrarItem_compra(item_compra, qtdadejt); listar(); }
}
public void listar(){ String id_venda = jlId.getText(); Item_compraDAO item_compraDAO = new Item_compraDAO(); itens_compra = item_compraDAO.listarItem_compra(id_venda); mostrarItem_compra(itens_compra); }
public void mostrarItem_compra(List<Item_compra> itens_compra){ while (tmItem_compra.getRowCount() > 0){ tmItem_compra.removeRow(0); } if(itens_compra.size() == 0){ jlTotal.setText(“0.0”); jlTotalGeral.setText(“0.0”); jlValorDesconto.setText(“0.0”); <a href="//jtDesconto.setText">//jtDesconto.setText</a>(“0”); }else{ String [] campos = new String [] {null, null, null, null, null}; valor_total = 0; for (int i = 0; i < itens_compra.size(); i++){ tmItem_compra.addRow(campos); //tmItem_compra.setValueAt(itens_compra.get(i).getId_produto(), i, 0); ProdutoDAO produtoDAO = new ProdutoDAO(); String[] vetor = produtoDAO.buscaProdutoPorId(itens_compra.get(i).getId_produto()); String nome = vetor[0]; Float valor_unitario = Float.parseFloat(vetor[1]);
tmItem_compra.setValueAt(nome, i, 0); tmItem_compra.setValueAt(itens_compra.get(i).getQtdade(), i, 1); tmItem_compra.setValueAt(formatarFloat.format(valor_unitario), i, 2); int qtdade = itens_compra.get(i).getQtdade(); subtotal = valor_unitario * qtdade; tmItem_compra.setValueAt(formatarFloat.format(subtotal), i, 3); valor_total = subtotal + valor_total; total_geral = valor_total - desconto; jlTotal.setText(formatarFloat.format(valor_total)); jlTotalGeral.setText(formatarFloat.format(total_geral)); } }
}
public void desconto(){ total_geral = Float.parseFloat(jlTotalGeral.getText().replace(",", “.”)); valor_total = Float.parseFloat(jlTotal.getText().replace(",", “.”)); desconto = Float.parseFloat(jtDesconto.getText().replace(",", “.”)); total_geral = valor_total - (valor_total * desconto)/100;
jlValorDesconto.setText(formatarFloat.format(desconto)); jlTotalGeral.setText(formatarFloat.format(total_geral));
}
private void tbItem_compraLinhaSelecionada(){
if (tbItem_compra.getSelectedRow() != -1){ jlLinhaSelecionada.setVisible(true); jlProdutoExcluir.setVisible(true); btDeletar.setVisible(true); ProdutoDAO produtoDAO = new ProdutoDAO(); String[] vetor = produtoDAO.buscaProdutoPorId(itens_compra.get(tbItem_compra.getSelectedRow()).getId_produto()); String nome = vetor[0]; jlProdutoExcluir.setText(nome); }else{ jlLinhaSelecionada.setVisible(false); jlProdutoExcluir.setVisible(false); btDeletar.setVisible(false); }
}
protected void excluirItem_compra(){ if(tbItem_compra.getSelectedRow() != -1){ int resposta = JOptionPane.showConfirmDialog(this, “Confirma exclusão do item?”, “Confirmação”, JOptionPane.YES_NO_OPTION); if(resposta == JOptionPane.YES_NO_OPTION){ Item_compraDAO item_compraDAO = new Item_compraDAO(); item_compraDAO.excluirItem_compra(itens_compra.get(tbItem_compra.getSelectedRow()).getId_produto()); listar(); } } } }
- Creates new form CadastroVendas
