Olá pessoal...
Estou desenvolvendo um sistema de venda, possuo duas tabelas com "extends abstractTableModel" MODELO MVC , uma eu seleciono o cliente e mando para o text field, acontece o mesmo com a busca do produto, isso com a mesma tabela, e a segunda tabela é a que possui os itens selecionados(os comprados), mas a grande dificuldade é que;quando clico em "ADICIONAR ITEM" ele sobrepoe o produto que ja havia inserido, agora vamos a um detalhe muito importante, quando apenas seleciono o item e não clico no botão para pesquisar itens pelo nome ele insere todos linha por linha como são muitos produtos não posso ficar usando a barra de rolagem da jtable , mas ai volta o problema, quando busco pelo nome ou codigo de barra ele volta a sobrepor os itens ja inseridos,peço por gentileza ajuda a todos, estou com essa imensa dificuldade fiz varios testes e pesquisas e não consegui solucionar isso,precisava ter entregue esse sistema a 15 dias más como sou iniciante cometi algumas falhas,estou agradeçendo a todos antecipadamente...
__________________________________________________________________________________
CLASSE MODELO TABELA
public class ModeloTabela extends AbstractTableModel{
private ArrayList<Object[]> data = null;
private ArrayList linhas = null;
private String[] colunas = null;
public ModeloTabela(ArrayList lin,String[] col){
setLinhas(lin);
setColunas(col);
}
Public ArrayList getLinhas(){
return linhas;
}
public void setLinhas(ArrayList dados){
linhas = dados;
}
public String[] getColunas(){
return colunas;
}
public void setColunas(String[] nomes){
colunas = nomes;
}
public int getColumnCount(){
return colunas.length;
}
public int getRowCount(){
return linhas.size();
}
public String getColumnName(int numCol){
return colunas[numCol];
}
public Object getValueAt(int numLin, int numCol){
Object[] linha = (Object[])getLinhas().get(numLin);
return linha[numCol];
}
public boolean isCellEditable(int linha, int coluna) {
return true;
}
public void removeRow(int numLin) {
getLinhas().remove(numLin);
//fireTableDataChanged();
fireTableRowsDeleted(numLin, numLin);
}
________________________________________________________________________________
BOTÃO USO LOCALIZAR O PRODUTO JTABLE
conn.conexao();
PreparedStatement pst = conn.conn.prepareStatement("insert into venda_cab (total_venda_cab) values(?)");
pst.setDouble(1, 0);
pst.execute();
conn.executeSQL("select * from venda_cab");
conn.rs.last();
codVenda = conn.rs.getInt("cod_venda_cab");
flag = 2;
preencherTabelaproduto("Select * from produto where descricao_produto like '%" + jTProduto.getText() + "%'");
}
__________________________________________________________________________________
BOTÃO INSERIR PRODUTO
private void jBAdicionarItemActionPerformed(java.awt.event.ActionEvent evt) {
if(JTcliente.getText().equals("")){
JOptionPane.showMessageDialog(null, "Cliente-Não salve antes de colocar o nome do cliente.");
JTcliente.requestFocus();
}
if(jTDesconto.getText().equals("")){
jTProduto.setText("0");
}
int cod_venda_cab, quantidade = 0;
String recebecod = "";
conn.conexao();
conn.executeSQL("select * from produto where descricao_produto='" + jTProduto.getText() + "'");
conn.rs.next();
quantidade = conn.rs.getInt("estoque_produto");
recebecod = conn.rs.getString("cod_produto");
if (quantidade >= Integer.parseInt(jTQtdItem.getText())) {
mod.setDescricao_produto(jTProduto.getText());
mod.setQtd_venda_det(Integer.parseInt(jTQtdItem.getText()));
mod.setCod_venda_cab(codVenda);
control.adicionaItem(mod);
preencherTabelaItensVenda("select * from produto inner join venda_det "
+ "on produto.cod_produto = venda_det.cod_produto inner join\n"
+ " venda_cab on venda_cab.COD_VENDA_CAB=venda_det.COD_VENDA_CAB where venda_cab.COD_VENDA_CAB=" + codVenda);
} else {
}
jTCOD_produto.setText("");
jTProduto.setText("");
jTCOD_produto.requestFocus();
}
_________________________________________________________________________________
MÉTODO ADICIONA ITEM
public void adicionaItem(ModeloVenda mod) throws SQLException {
achaCodProduto(mod.getDescricao_produto());
conexao.conexao();
try {
PreparedStatement pst = conexao.conn.prepareStatement("insert into venda_det(cod_venda_cab, cod_produto, qtd_venda_det) values (?,?,?)");
pst.setInt(1, mod.getCod_venda_cab());
pst.setString(2, codProd);
pst.setInt(3, mod.getQtd_venda_det());
pst.execute();
conexao.desconecta();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Erro ao realizar a venda:" + ex);
}
}
Enviado por: ewe19pro@yahoo.com.br
Responder através da web | • | • | através de email | • | Adicionar um novo tópico | • | Mensagens neste tópico (1) |
Para upload/download de arquivos: http://www.yahoogroups.com/files/java-br
0 comentários:
Postar um comentário