Acho que achei aqui,
Estou somando o valor um unitario d produto a mais =/
Vou dar uma verificada aqui, mas acho que o erro seja esse msm!!!
abraço.
Alberto_Cerqueira
Isso mesmo, foi um equivoco aqui no meu codigo…
publicProdutoLocalpopularProdutoLocalExistente(ProdutoEstoqueprodutoEstoque,ERPProdutoproduto,ProdutoLocalprodutoLocal){//Resgata a diferença entre entrada e saida.BigDecimaldiferencaEntrdaSaida=produtoLocal.getQtdEstoqueEntrada().subtract(produtoLocal.getQtdEstoqueSaida());//Calcula o valor do patrimonio em estoque.BigDecimalvalorRealTotal=diferencaEntrdaSaida.multiply(produtoLocal.getCustoMedioAcumulado());//Acumula valor do patrimonio em estoque.BigDecimalacumuladoValorReal=valorRealTotal.add(produtoEstoque.getValorUnitario().multiply(produtoEstoque.getQuantidade()));//Calculo para achar o custo medio.BigDecimalcustoMedioAcumulado=acumuladoValorReal.divide(diferencaEntrdaSaida.add(produtoEstoque.getQuantidade())).setScale(4,BigDecimal.ROUND_UP);produtoLocal.setCustoMedioAcumulado(custoMedioAcumulado);produtoLocal.setQtdEstoqueEntrada(produtoLocal.getQtdEstoqueEntrada().add(produtoEstoque.getQuantidade()));produtoLocal.setQtdEstoqueSaida(produtoLocal.getQtdEstoqueSaida());DateFormatdateFormat=newSimpleDateFormat("dd/MM/yyyy");Datedate=newDate();dateFormat.format(date);produtoLocal.setDataUltimaAlteracao(DateUtils.getInstance().calendarToInteger(DateUtils.getInstance().convert(dateFormat.format(date))));returnprodutoLocal;}
abraços…
B
Bruno_Laturner
Uma dica, implemente quantias de moeda em um wrapper de BigDecimal, como um tipo Money, com uma API mais produtiva que o BigDecimal.
Se tiver muito código de cálculos que requerem precisão, talvez até pensar em usar alguma outra linguagem com suporte nativo à tipos numéricos de precisão infinita, tipo Grails ou Scala.
Outra, esse popularProdutoLocalExistente ficaria melhor dentro da própria instancia do ProdutoLocal a ser populado, como um produtoLocal.popularCom(estoque, erp), por questão que estás trabalhando muito com os internos de um objeto, estando fora dele. Talvez até um new ProdutoLocal(dados, estoque, erp), ou algum builder, se tiver como criá-lo do zero.
Alberto_Cerqueira
Boa Tarde, o erro acima ta resolvido, mas caso eu tenha uma dizima periódica no resultado???