public static int inserir(Venda venda) {
int id = 0;
try {
GerenciadorBD.getConexao().setAutoCommit(false);
String sql = "Insert into venda (forma_pagamento_id_forma_pagamento, tipo_pagamento_id_tipo_pagamento, data_pedido, num_pedido, total_pedido, desconto, num_parcela, valor_parcela, sub_total, cliente_juridica_id_cliente_juridica, desconto_adicional, total_geral, peso_carga, meia_venda, desconto_total, nome_vendedor, prazo_venda) values(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
PreparedStatement ps = GerenciadorBD.getConexao().prepareStatement(sql);
ps.setInt(1, venda.getFormaPagamento().getIdFormaPagamento());
ps.setInt(2,venda.getTipoPagamento().getIdTipoPagamento());
ps.setDate(3, new Date(venda.getDataPedido().getTime()));
ps.setInt(4, venda.getNumPedido());
ps.setFloat(5, venda.getTotalPedido());
ps.setFloat(6, venda.getDesconto());
ps.setInt(7, venda.getNumParcelas());
ps.setFloat(8, venda.getValorParcela());
ps.setFloat(9, venda.getSubTotal());
ps.setInt(10, venda.getClienteJuridico().getIdClienteJuridica());
ps.setFloat(11, venda.getDescontoAdicional());
ps.setFloat(12, venda.getTotalGeral());
ps.setString(13, venda.getPesoCarga());
ps.setString(14, venda.getMeiaVenda());
ps.setFloat(15, venda.getDescontoTotal());
ps.setString(16, venda.getNomeVenda());
ps.setString(17, venda.getPrazo_venda());
ps.executeUpdate();
Statement stmt = GerenciadorBD.getConexao().createStatement();
ResultSet rs = stmt.executeQuery("select max(id_venda) from venda");
GerenciadorBD.getConexao().setAutoCommit(true);
GerenciadorBD.getConexao().commit();
rs.next();
id = rs.getInt(1);
System.out.println(id);
} catch (SQLException e) {
e.printStackTrace();
}
return id;
}
public static int numPedido(){
int ident = 0;
Statement stmt;
try {
stmt = GerenciadorBD.getConexao().createStatement();
ResultSet rs = stmt.executeQuery("select max(id_venda) from venda");
rs.next();
ident = rs.getInt(1);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return ident;
}
O que acontece é o seguinte:
Quando mais de 1 vendedor inicia uma venda mais de um pedido fica com o mesmo número. Alguém tem alguma dica??
Obrigada!