Vejam este metodo:
// ele devolve o resultado do calculo da quantidade de produto num id_prod
public int devolveID2(int id_prod) throws SQLException, ClassNotFoundException {
ConexaoDao dao=new ConexaoDao();
Produtos prod = dao.getProduotosById(id_prod);
int [] numerosParaAdicionar = {};
int devolve = 0;
for(ItensOrdemVenda iov : dao.getItensOrdemVenda()) {
if(prod.getIDProduto()==iov.getProdutoCod()) {
// verificar o que faz este array
numerosParaAdicionar=new int[]{(int)iov.getQuantItensOrdemVenda()};
devolve=calculaTotal2(numerosParaAdicionar);
System.out.println("ver: "+devolve);
}
}
/// mas quando ponho num ciclo que vai buscar o id_prod de varios produtos ele faz uma acumulacao e da-me um resultado nao esperado!!! como posso resolver isto????? veje abaixo:
// este metodo me da exatamento esses argumentos(new [] Object{.......}) numa tabela, mas os id_prod fazem uma acumulacao de id_prod em excesso!!!! Alguem pode ajudar-me nisso.....
public void pesquisar(DefaultTableModel modelo) throws ClassNotFoundException, SQLException {
modelo = (DefaultTableModel) jTable1.getModel();
ArrayList<Object> listar = new ArrayList<Object>();
Date data = new Date();
int [] numerosParaAdicionar;
int [] numerosParaAdicionar2;
Calendar diaHoje=Calendar.getInstance();
EnviarEmails env = new EnviarEmails();
double totalPreco = 0;
try {
modelo.setNumRows(0);
ConexaoDao dao = new ConexaoDao();
for (Produtos pro : dao.getProdutos()) {
for(Estoque est : dao.getEstoque()) {
if((pro.getIDProduto() == est.getIDProdutoEStoque())) {
if(((int)pro.getQuantMinProduto()) >= ((int)est.getQuantProdutoEstoque())) {
totalPreco = (valorUnitario(pro.getIDProduto())) * est.getQuantProdutoEstoque();
modelo.addRow(new Object[]{pro.getNomeProduto().toUpperCase(), devolveID(pro.getIDProduto()),devolveID2(pro.getIDProduto()),est.getQuantProdutoEstoque(),pro.getQuantMaxProduto(),pro.getQuantMinProduto(), valorUnitario(pro.getIDProduto()),totalPreco});
System.out.println("entradas" + entradasTotal(pro.getIDProduto()));
listar.add(pro.getNomeProduto());
listar.add((int)est.getQuantProdutoEstoque());
// listar.add(tabela.addRow(new Object []{pro.getNomeProduto(),(int)est.getQuantProdutoEstoque()}));
} else {
totalPreco = (valorUnitario(pro.getIDProduto())) * est.getQuantProdutoEstoque();
modelo.addRow(new Object[]{pro.getNomeProduto(), devolveID(pro.getIDProduto()),devolveID2(pro.getIDProduto()),est.getQuantProdutoEstoque(),pro.getQuantMaxProduto(),pro.getQuantMinProduto(), valorUnitario(pro.getIDProduto()),totalPreco});
}
}
}
}
} catch(SQLException ex) {}
jTable1.setModel(modelo);
Calendar c1 = transformaData ("01/01/2017");
Calendar c2 = transformaData ("31/12/2020");
Calendar cal=Calendar.getInstance();
// Array T[] = new Array["Nome","Quantidade"];
if (cal.get (Calendar.DAY_OF_WEEK) == Calendar.FRIDAY) {
env.sendMail(emailsLocal(),emailsDestinatario(), "NOTIFICAÇÃO DE GESTÃO DE ESTOQUE","Os seguintes produtos estão em baixa no Estoque: "+listar+" !!!");
System.out.println("True"+listar);
} else {
System.out.println("False :"+listar+" ver"+Calendar.DAY_OF_WEEK+" calendar"+Calendar.FRIDAY);
}
}