public List calculateTotal( List<BudgetConstructionLevelSummary> bclsList, List<BudgetConstructionLevelSummary> simpleList) { KualiInteger revenueFinancialBeginningBalanceLineAmount = KualiInteger.ZERO; KualiInteger revenueAccountLineAnnualBalanceAmount = KualiInteger.ZERO; KualiInteger expenditureFinancialBeginningBalanceLineAmount = KualiInteger.ZERO; KualiInteger expenditureAccountLineAnnualBalanceAmount = KualiInteger.ZERO; KualiInteger differenceFinancialBeginningBalanceLineAmount = KualiInteger.ZERO; KualiInteger differenceAccountLineAnnualBalanceAmount = KualiInteger.ZERO; List returnList = new ArrayList(); for (BudgetConstructionLevelSummary simpleBclsEntry : simpleList) { BudgetConstructionOrgLevelSummaryReportTotal bcLevelTotal = new BudgetConstructionOrgLevelSummaryReportTotal(); for (BudgetConstructionLevelSummary bclsListEntry : bclsList) { if (BudgetConstructionReportHelper.isSameEntry( simpleBclsEntry, bclsListEntry, fieldsForTotal())) { if (bclsListEntry.getIncomeExpenseCode().equals("A")) { revenueFinancialBeginningBalanceLineAmount = revenueFinancialBeginningBalanceLineAmount.add( bclsListEntry.getFinancialBeginningBalanceLineAmount()); revenueAccountLineAnnualBalanceAmount = revenueAccountLineAnnualBalanceAmount.add( bclsListEntry.getAccountLineAnnualBalanceAmount()); } else { expenditureFinancialBeginningBalanceLineAmount = expenditureFinancialBeginningBalanceLineAmount.add( bclsListEntry.getFinancialBeginningBalanceLineAmount()); expenditureAccountLineAnnualBalanceAmount = expenditureAccountLineAnnualBalanceAmount.add( bclsListEntry.getAccountLineAnnualBalanceAmount()); } } } bcLevelTotal.setBcls(simpleBclsEntry); bcLevelTotal.setRevenueFinancialBeginningBalanceLineAmount( revenueFinancialBeginningBalanceLineAmount); bcLevelTotal.setRevenueAccountLineAnnualBalanceAmount(revenueAccountLineAnnualBalanceAmount); bcLevelTotal.setExpenditureFinancialBeginningBalanceLineAmount( expenditureFinancialBeginningBalanceLineAmount); bcLevelTotal.setExpenditureAccountLineAnnualBalanceAmount( expenditureAccountLineAnnualBalanceAmount); differenceFinancialBeginningBalanceLineAmount = revenueFinancialBeginningBalanceLineAmount.subtract( expenditureFinancialBeginningBalanceLineAmount); differenceAccountLineAnnualBalanceAmount = revenueAccountLineAnnualBalanceAmount.subtract(expenditureAccountLineAnnualBalanceAmount); bcLevelTotal.setDifferenceFinancialBeginningBalanceLineAmount( differenceFinancialBeginningBalanceLineAmount); bcLevelTotal.setDifferenceAccountLineAnnualBalanceAmount( differenceAccountLineAnnualBalanceAmount); returnList.add(bcLevelTotal); revenueFinancialBeginningBalanceLineAmount = KualiInteger.ZERO; revenueAccountLineAnnualBalanceAmount = KualiInteger.ZERO; expenditureFinancialBeginningBalanceLineAmount = KualiInteger.ZERO; expenditureAccountLineAnnualBalanceAmount = KualiInteger.ZERO; differenceFinancialBeginningBalanceLineAmount = KualiInteger.ZERO; differenceAccountLineAnnualBalanceAmount = KualiInteger.ZERO; } return returnList; }