Galera estou com problema em um trabalho que preciso entregar para nota na faculdade.
Estou fazendo um sistema de venda de livros em Java web mas não sei fazer a parte de baixa no estoque quando gero a venda.
tentei criar uma variável que pegasse a quantidade que tem no estoque e tirasse da quantidade digita na tela de Itensvenda mas toda hora da problema no código ou erro na compilação..
Procurei sobre triggers mas e muito complexo e ainda não tive essa matéria na facul então fiquei meio perdido.
Se alguém conseguisse me ajudar ficaria mt grato
Deixarei alguns exemplos.
Parte de venda dos Itens
public class ItensVendaDao {
private Connection connection;
public ItensVendaDao() {
this.connection = new ConnectionFactory().getConnetion();
}
public void novoItemVenda(ItensVendaModel itensVendaModel) throws SQLException {
String sql = "insert into itensvenda (procodigo, vencodigo, venquantidade) values (?,?,?)";
PreparedStatement ps = null;
try {
ps = connection.prepareStatement(sql);
ps.setInt(1, itensVendaModel.getProcodigo());
ps.setInt(2, itensVendaModel.getVencodigo());
ps.setInt(3, itensVendaModel.getVenquantidade());
//ps.setDouble(4, itensVendaModel.getVentotal());
System.out.println("sql novo registro = "+ps.toString());
ps.execute();
} catch (SQLException ex) {
Logger.getLogger(ItensVendaDao.class.getName()).log(Level.SEVERE, null, ex);
} finally {
//connection.close();
//ps.close();
}
}
public List getListaItensVenda(int codigoVenda) throws SQLException {
String sql = "select * from itensvenda, produtos where vencodigo = "+ codigoVenda + " and itensvenda.procodigo = produtos.procodigo ";
PreparedStatement ps = null;
ResultSet resultSet = null;
List<ItensVendaModel> listaItensVenda = new ArrayList<ItensVendaModel>();
try {
ps = connection.prepareStatement(sql);
resultSet = ps.executeQuery();
while (resultSet.next()) {
ItensVendaModel itensVendaMovel = new ItensVendaModel();
itensVendaMovel.setVentotal(resultSet.getDouble("ventotal"));
itensVendaMovel.setProcodigo(resultSet.getInt("procodigo"));
itensVendaMovel.setVencodigo(resultSet.getInt("vencodigo"));
itensVendaMovel.setVenquantidade(resultSet.getInt("venquantidade"));
itensVendaMovel.setProdescricao(resultSet.getString("prodescricao"));
itensVendaMovel.setPrecounitario(resultSet.getDouble("proprecovenda"));
listaItensVenda.add(itensVendaMovel);
}
return listaItensVenda;
} catch (SQLException ex) {
Logger.getLogger(ItensVendaDao.class.getName()).log(Level.SEVERE, null, ex);
} finally {
connection.close();
ps.close();
resultSet.close();
}
return null;
}
}
} else if (acao.equals("Novo")) {
vendaDao.novaVenda(vendaModel);
request.setAttribute("sessaoTotalRegistroVenda", vendaDao.totalRegistros());
rd = request.getRequestDispatcher("/venda.jsp");
}
else if (acao.equals("novoItemVenda")) {
itensVendaDao.novoItemVenda(itensVendaModel);
List listaItensVenda = itensVendaDao.getListaItensVenda(Integer.parseInt(codigoVenda));
### quando FIZESSE A VENDA DO PRODUTO já EXECUTASSE UM COMANDO PARA RETIRAR DO ESTOQUE DE PRODUTOS ###
request.setAttribute("sessaolistaItensVenda", listaItensVenda);
//request.setAttribute("sessaoTotalRegistroVenda", vendaDao.totalRegistros());
rd = request.getRequestDispatcher("/venda.jsp");
}
rd.forward(request, response);
}
Pergunta
Felipe Luiz
Boa Noite.
Galera estou com problema em um trabalho que preciso entregar para nota na faculdade.
Estou fazendo um sistema de venda de livros em Java web mas não sei fazer a parte de baixa no estoque quando gero a venda.
tentei criar uma variável que pegasse a quantidade que tem no estoque e tirasse da quantidade digita na tela de Itensvenda mas toda hora da problema no código ou erro na compilação..
Procurei sobre triggers mas e muito complexo e ainda não tive essa matéria na facul então fiquei meio perdido.
Se alguém conseguisse me ajudar ficaria mt grato
Deixarei alguns exemplos.
Parte de venda dos Itens
Outra Parte de inserção de Produtos
public void alteraProduto(ProdutoModel produtoModel) throws SQLException { String sql = "UPDATE produtos SET catcodigo=?,prodescricao=?,proqtdestoque=?,proprecocusto=?,properclucro=?,proprecovenda=?,prodatacadastro=? where procodigo=?"; PreparedStatement ps = null; try { ps = connection.prepareStatement(sql); ps.setInt(1, produtoModel.getCatCodigo()); ps.setString(2, produtoModel.getProDescricao()); ps.setInt(3, produtoModel.getProQtdEstoque()); ps.setDouble(4, produtoModel.getProPrecoCusto()); ps.setInt(5, produtoModel.getProPercLucro()); ps.setDouble(6, produtoModel.getProPrecoVenda()); ps.setDate(7, new java.sql.Date(produtoModel.getProDataCadastro().getTime())); ps.setInt(8, produtoModel.getProCodigo()); System.out.println("sql alterar= "+ps.toString()); ps.execute(); } catch (SQLException ex) { Logger.getLogger(ClienteDao.class.getName()).log(Level.SEVERE, null, ex); } finally { connection.close(); ps.close(); } } public void novoProduto(ProdutoModel produtoModel) throws SQLException { String sql = "insert into produtos (catcodigo,prodescricao,proqtdestoque,proprecocusto,properclucro,proprecovenda,prodatacadastro) values (?,?,?,?,?,?,?)"; PreparedStatement ps = null; try { ps = connection.prepareStatement(sql); ps.setInt(1, produtoModel.getCatCodigo()); ps.setString(2, produtoModel.getProDescricao()); ps.setInt(3, produtoModel.getProQtdEstoque()); ps.setDouble(4, produtoModel.getProPrecoCusto()); ps.setInt(5, produtoModel.getProPercLucro()); ps.setDouble(6, produtoModel.getProPrecoVenda()); ps.setDate(7, new java.sql.Date(produtoModel.getProDataCadastro().getTime())); System.out.println("sql = "+ps.toString()); ps.execute(); } catch (SQLException ex) { Logger.getLogger(ClienteDao.class.getName()).log(Level.SEVERE, null, ex); } finally { connection.close(); ps.close(); } }
A parte da Venda.java
} else if (acao.equals("Novo")) { vendaDao.novaVenda(vendaModel); request.setAttribute("sessaoTotalRegistroVenda", vendaDao.totalRegistros()); rd = request.getRequestDispatcher("/venda.jsp"); } else if (acao.equals("novoItemVenda")) { itensVendaDao.novoItemVenda(itensVendaModel); List listaItensVenda = itensVendaDao.getListaItensVenda(Integer.parseInt(codigoVenda)); ### quando FIZESSE A VENDA DO PRODUTO já EXECUTASSE UM COMANDO PARA RETIRAR DO ESTOQUE DE PRODUTOS ### request.setAttribute("sessaolistaItensVenda", listaItensVenda); //request.setAttribute("sessaoTotalRegistroVenda", vendaDao.totalRegistros()); rd = request.getRequestDispatcher("/venda.jsp"); } rd.forward(request, response); }
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.