(RESOLVIDO) Fazer Uma Média de Duas Variaveis no JasperReport

5 respostas
ireportjava
A

Ola Pessoa.

Estou montando um relatorio de custo de produção de soja.
No relatorio é feito uma soma dos valores investidos na propriedade e uma soma da quantidade de soja colhida na propriedade. Eu quero que no final do relatorio seja apresentado totalizadores, onde eu tenha o Total Investido, Total Produzido e uma média de custo Por Sacas de Soja.
No caso para esta média eu precisaria criar uma Variavem (soma dos investimentos \ pela sacas produzidas).
O problema é que o Total Investido esta correto, total em sacas Produzido esta correto, mas a variavel que eu criei esta apresentando um valor incorreto.
Na expression do Jasper eu apontei.
$V{investimentoTotal}.divide($V{sacosTotal}, 2, java.math.RoundingMode.HALF_UP )

Obs. No mesmo relatorio tentado criar uma variavel que me mostra a diferença entre o totalBruro e totalLiquido, tambem esta apresentando um valor incorreto. Os totais estão certos, mas o calculo da diferença esta errada.
$V{pesoBrutoTotal}.subtract($V{pesoLiquidoTotal})

5 Respostas

D

Esse é um problema bastante corriqueiro quando você faz isso.
O ideal é você apenas apresentar os dados com o jasper. Dados estes já processados e completamente definidos no teu sistema java.

A

Entendi. No caso deste relatório ele faz uma listagem de Talhões com o custo de cada talha e a produção. No final que queria fazer um resumo totalizando o Valor Investido, Total Produzido e a média de custo por Saca. O correto então seria eu fazer este calculo no sistema e passar estas informações como parâmetros?

D

Sim.

A

Entendido. Muito Obrigado pela dica. O resumo ja consegui resolver, só estou com um problema agora que a minha DTO é (Fazenda, talhão, pesoIiquido, Investimento, etc…). O Resumo final deu certo, o custo por saca por talhão tambem.
O problema agora é agrupar por fazenda. Esse 8,85 que esta complicando um pouco.

Ex.
Fazenda 1 260.000,00 2.300.000,00 8,85
Sacas Investimento Custo
Talhao 1 60.000 500.000,00 8,33
Talhao 2 200.000 1.800.000,00 9,00

A

Pessoal, se alguem estiver com este problema, acabei encontrando uma solução. Eu estava criando uma função e na função criava a expressão para fazer o calculo que precisava. Quando eu colocava o campo do relatorio eu vinculava este campo a esta função. A solução que encontrei foi colocar a expressão diretamente no campo e não a uma função. Com isso o resultado do calculo ficou correto.

Criado 3 de maio de 2019
Ultima resposta 4 de mai. de 2019
Respostas 5
Participantes 2