bom dia
criei um frame que através da leitura do cod de barras ele trás as informações do produto.
utilizo uma leitora de mesa(symbol) , só que quando capturo o cod de barras para mostrar a descrição do produto na primeira vez ele tras a informçao correta, mas quando passo o segundo produto ele tras a informação do primeiro produto que ele leu.
exemplo.
1º - cod de barras 7896637023115 produto -Meclin ( buscou a informação correta)
2º - cod de barras 7896180300183 produto - Lacribel ( ele mostrou a infomação do produto anterior - Meclin )
estou declarando o ean como String.
alguma dica?
segue codigo…
private void codigoTxtKeyReleased(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
if(evt.getKeyCode() == 10){
try {
codProduto(codigoTxt.getText());
codigoTxt.requestFocus(true);
}catch(Exception e) {
JOptionPane.showMessageDialog(null, “Produto não cadastrado ou inativo!”);
produtoTxt.setText("");
codigoTxt.setText("");
codigoTxt.requestFocus(true);
}
}
}
public void codProduto(String codigo) {
Produto produto = null;
List produtos = ProdutoJpaDAO.getInstance().findByCodigo(codigo);
produto = produtos.get(0);
if(produto != null) {
pfatTxt.setText(produto.getCod());
produtoTxt.setText(produto.getDescricao());
}
}
classe DAO
public List findByCodigo(String codigo) {
try {
Query query = entityManager.createQuery(“from Produto e where e.ean = :ean”);
query.setParameter(“ean”, codigo);
List produtos = query.getResultList();
return produtos;
}catch(Exception e) {
e.printStackTrace();
return null;
}
}