Estou cursando técnico em Informática - na área desenvolvimento web.
to com uma dúvida em java web jsp Framework e hibernat
em um pequeno aplicativo que to desenvolvendo… de venta de baixa no estoque…
onde ha um estoque e estoque da venda… ligada a uma Fk onde quando estoque da venda acabar queria dar baixa
automatica no estoque de uma certa quantidade que irei informa
Produtopro=newProduto();ProdutoDaoprodao=newProdutoDao();Estoqueprodutoesto=newEstoqueproduto();EstoqueprodutoDaoestodao=newEstoqueprodutoDao();esto=estodao.consultaForId(Integer.valueOf(request.getParameter("txtcod")));Integerqtde=Integer.valueOf(request.getParameter("txtqtd"));esto.setEstpqtde(qtde);Doublepreco=Double.valueOf(request.getParameter("txtpreco"));esto.setEstppreco(preco);Doublecusto=Double.valueOf(request.getParameter("txtcusto"));esto.setEstpcusto(custo);Integertrans=Integer.valueOf(request.getParameter("txtqtde"));if(trans>esto.getEstpqtde()){JOptionPane.showMessageDialog(null,"Transferencia não autoriazada - Estoque Baixo !!!!");response.sendRedirect("RealizarTransferencia.jsp");}else{esto.setEstpqtde(esto.getEstpqtde()-trans);estodao.alterar(esto);pro.setPronome(null);pro.setPropreco(preco);pro.setStatusproduto(null);pro.setTipoproduto(null);pro.setEstoqueproduto(esto);pro.setFornecedor(null);pro.setProqtde(pro.getProqtde()+trans);prodao.Alterar(pro);}response.sendRedirect("RealizarTransferencia.jsp");request.getRequestDispatcher("RealizarTransferencia.jsp").include(request,response);}/** * Returns a short description of the servlet. * * @return a String containing servlet description */@OverridepublicStringgetServletInfo(){return"Short description";}// </editor-fold>
}
----------------------------------------////////////////////
nesse arquivo que quero alterar o estoque do produto, retirando e alterando estoque do produto para a venda…adcionando .
Produtopro=newProduto();ProdutoDaoprodao=newProdutoDao();Estoqueprodutoesto=newEstoqueproduto();EstoqueprodutoDaoestodao=newEstoqueprodutoDao();esto=estodao.consultaForId(Integer.valueOf(request.getParameter("txtcod")));Integerqtde=Integer.valueOf(request.getParameter("txtqtd"));esto.setEstpqtde(qtde);Doublepreco=Double.valueOf(request.getParameter("txtpreco"));esto.setEstppreco(preco);Doublecusto=Double.valueOf(request.getParameter("txtcusto"));esto.setEstpcusto(custo);Integertrans=Integer.valueOf(request.getParameter("txtqtde"));if(trans>esto.getEstpqtde()){JOptionPane.showMessageDialog(null,"Transferencia não autoriazada - Estoque Baixo !!!!");response.sendRedirect("RealizarTransferencia.jsp");}else{esto.setEstpqtde(esto.getEstpqtde()-trans);estodao.alterar(esto);pro.setPronome(null);pro.setPropreco(preco);pro.setStatusproduto(null);pro.setTipoproduto(null);pro.setEstoqueproduto(esto);pro.setFornecedor(null);pro.setProqtde(pro.getProqtde()+trans);prodao.Alterar(pro);}response.sendRedirect("RealizarTransferencia.jsp");request.getRequestDispatcher("RealizarTransferencia.jsp").include(request,response);}/** * Returns a short description of the servlet. * * @return a String containing servlet description */@OverridepublicStringgetServletInfo(){return"Short description";}// </editor-fold>
}
----------------------------------------////////////////////
nesse arquivo que quero alterar o estoque do produto, retirando e alterando estoque do produto para a venda…adcionando .
[list]Nessa pagina onde eu queria fazer a transferencia onde ela trás o codigo do produto e a quantidade no estoque e o campo onde irei digitar a quantia a ser transferida[/list]
[list]Servelt do controller: onde queria fazer a lógica de diminuir do estoquedo produto e acrescentar no estoque do produto da vendar[/list]
@OverrideprotectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{// processRequest(request, response);Produtopro=newProduto();ProdutoDaoprodao=newProdutoDao();Estoqueprodutoesto=newEstoqueproduto();EstoqueprodutoDaoestodao=newEstoqueprodutoDao();/* ----> realizar a consulta pelo codigo do produto e comparar com mesmo codigo selecionado*/esto=estodao.consultaForId(Integer.valueOf(request.getParameter("txtcod")));/* ----> quantidade do estou atual do BD*/Integerqtde=Integer.valueOf(request.getParameter("txtqtd"));esto.setEstpqtde(qtde);/* ----> valor do produto do estoque */Doublepreco=Double.valueOf(request.getParameter("txtpreco"));esto.setEstppreco(preco);/* ----> custo do produto do estoque*/Doublecusto=Double.valueOf(request.getParameter("txtcusto"));esto.setEstpcusto(custo);/* ----> valor digitador da quantidade para ser transferida para estoque da venda */Integertrans=Integer.valueOf(request.getParameter("txtqtde"));/* ---->ver se a quantidade para ser transferia e meior que tem no estoque do produto */if(trans>esto.getEstpqtde()){JOptionPane.showMessageDialog(null,"Transferencia não autoriazada - Estoque Baixo !!!!");response.sendRedirect("RealizarTransferencia.jsp");}else{/* ---->alterar a quantidade */esto.setEstpqtde(esto.getEstpqtde()-trans);estodao.alterar(esto);pro.setPronome(null);pro.setPropreco(preco);pro.setStatusproduto(null);pro.setTipoproduto(null);pro.setEstoqueproduto(esto);pro.setFornecedor(null);/* ----> aqui que nao esta realizando a alterando o estoque da venda..com valor dado para transferncia*/pro.setProqtde(pro.getProqtde()+trans);prodao.Alterar(pro);}response.sendRedirect("RealizarTransferencia.jsp");request.getRequestDispatcher("RealizarTransferencia.jsp").include(request,response);}
M
mairon
tire esse scriplets da pag, existe EL ( ${lista} )
e post teu método de persistência, o stacktrace, as entidades com os relacionamentos e notações … e o que acontece quando manda alterar?
BaRon
Quando eu mando alterar ele ta alterando mais todos os produtos não apenas oque eu mandei mais todos do estoque do produto,
e não ta adicionando no estoque da venda, não fazendo nem uma alteração.
M
mairon
mairon:
tire esse scriplets da pag, existe EL ( ${lista} )
e post teu método de persistência, o stacktrace, as entidades com os relacionamentos e notações … e o que acontece quando manda alterar?
faça isso para se ter uma ideia do que pode ser.
BaRon
me passar um exemplo de como teria que fazer desconheço esse método de fazer sem meus lista
M
mairon
dê uma olhada, é melhor e o que tu faz usando scriplet não é boa prática
mas pra te ajudar melhor seria bom se tu postasse os teus métodos de persistência(DAO’s ou Repository), suas entidades com os relacionamentos (se tu usa ManyToOne, OneToMany, …) e para ver também as notações dos atributos (Cascade.All, Cascade.Merge,…), por que tu falando só que não ta dando certo fica difícil de te ajudar.
fredericomaia10
A escola te ensinar a programar assim é complicado hein.
Em meus cursos ensino que existem e como eram utilizados os Scriptlets, mas não devem ser utilizados.
Recomendo que leia a apostila da Caelum sobre Java Web, ela é excelente e vai te ajudar muito.
BaRon
verdade vejo que o ensinamento adquirido ta meio diferente mais tenho que dar mais umas
lida em outras fontes e ver se faço junção dos conhecimentos adquirido la e nos novos.