Pessoal,
no meu código eu estou trazendo uma collection com vários objetos(pagamentoVO) dentro.
Nesse VO que está vindo na collection, um dos atributos é o campo “valor original” e “idMorador”.
O que eu quero fazer é o seguinte:
totalizar o “valor original” por moradores. Ou seja, quando eu itero a lista e vejo que o idMorador mudou, eu quero guardar esse valor para apresentar na jsp.
meu código está assim
/** Trazendo a lista carregada de PagamentoVO*/
listaInadimplenciaGeral = facade.listaGeralInadimplencia(pagamentoVO);
Iterator it = listaInadimplenciaGeral.iterator();
double totalGeral = 0.0;
double totalMorador = 0.0;
/**variavel que irá fazer o controle de moradores para calcular seu total */
int mor = 0;
int aux = 0;
while(it.hasNext())
{
pagamentoVO = (PagamentoVO)it.next();
double valor = pagamentoVO.getPagamentoBean().getValorOriginal();
mor = pagamentoVO.getPagamentoBean().getMoradorBean().getIdMorador();
if(mor != aux)
{
totalMorador = 0.0;
aux = mor;
}
/**Totaliza o valor da inadimplência do morador */
totalMorador+= valor;
/**Totaliza o valor da inadimplência geral */
totalGeral+= valor;
request.setAttribute(Form.TOTAL_GERAL, String.valueOf(totalGeral));
request.setAttribute(Form.TOTAL_GERAL_MORADOR, String.valueOf(totalMorador));
request.setAttribute(Form.LISTA_INADIMPLENCIA, listaInadimplenciaGeral);
Até aqui, tudo acontece como é para acontecer, exceto a variavel “totalMorador” que me apresenta somente o total do ultimo morador da lista…sendo que todo morador tem seu total.
Pensei em fazer o seguinte:
Toda vez que verificar se o morador é diferente, criar uma collection.
E qdo entrar no Iterator, setar todos os valores no VO e adicionar o VO na collection. Porque dessa forma eu trabalharia sem problemas na jsp.
Mas agora vem a minha dúvida:
Esse trabalhão todo não vai ser prejudicial quando a consulta me retornar uma lista mto carregada?
Não existe outra forma de pegar o valor total do morador quando o id for diferente?
Agradeço quem puder me ajudar…