No bean de Produto criei um NamedQuery assim:
@NamedQuery(name = “Produto.atualizaEstoque”, query = “UPDATE Produto p SET p.estoqueProduto = :quantidade WHERE p.codProduto = :codProduto”)
No view MovimentoVenda no botao save esta assim:
private void saveButtonActionPerformed(java.awt.event.ActionEvent evt) {
try {
entityManager.getTransaction().commit();
entityManager.getTransaction().begin();
} catch (RollbackException rex) {
rex.printStackTrace();
entityManager.getTransaction().begin();
List<br.com.siscom.bean.VendaCab> merged = new ArrayList<br.com.siscom.bean.VendaCab>(list.size());
for (br.com.siscom.bean.VendaCab V : list) {
merged.add(entityManager.merge(V));
}
list.clear();
list.addAll(merged);
}
int index = masterTable.getSelectedRow();
br.com.siscom.bean.VendaCab V = list.get(masterTable.convertRowIndexToModel(index));
Collection<br.com.siscom.bean.VendaDet> vs = V.getVendaDetCollection();
for (VendaDet vendaDet : vs) {
int qtde = 0;
qtde = vendaDet.getQtdeVendaDet(); //aqui eu tenho a quantidade vendida
int qtdeEstoque = br.com.siscom.view.ImportaProduto.getQuantidade() - qtde; //aqui eu subtraiu o qtde do estoque - a qtde vendida
estoqueProduto = entityManager.createNamedQuery(“Produto.atualizaEstoque”);
estoqueProduto.setParameter(“quantidade”, qtdeEstoque);
estoqueProduto.setParameter(“codProduto”, vendaDet.getVendaDetPK().getCodProduto());
int resultado = estoqueProduto.executeUpdate();
Essas linhas da query nao executam? o que esta faltando pra ele gravar o estoque na tabela produto?
}
}
Essas linhas da query nao executam? o que esta faltando pra ele gravar o estoque na tabela produto?