001 /* 002 * Copyright 2011 The Kuali Foundation. 003 * 004 * Licensed under the Educational Community License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/ecl2.php 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016 package org.kuali.kfs.module.bc.document.service.impl; 017 018 import java.util.ArrayList; 019 import java.util.Collection; 020 import java.util.List; 021 022 import org.kuali.kfs.coa.businessobject.ObjectCode; 023 import org.kuali.kfs.module.bc.BCConstants; 024 import org.kuali.kfs.module.bc.BCKeyConstants; 025 import org.kuali.kfs.module.bc.businessobject.BudgetConstructionMonthSummary; 026 import org.kuali.kfs.module.bc.businessobject.BudgetConstructionOrgMonthSummaryReport; 027 import org.kuali.kfs.module.bc.businessobject.BudgetConstructionOrgMonthSummaryReportTotal; 028 import org.kuali.kfs.module.bc.document.dataaccess.BudgetConstructionMonthSummaryReportDao; 029 import org.kuali.kfs.module.bc.document.service.BudgetConstructionMonthSummaryReportService; 030 import org.kuali.kfs.module.bc.document.service.BudgetConstructionReportsServiceHelper; 031 import org.kuali.kfs.module.bc.report.BudgetConstructionReportHelper; 032 import org.kuali.kfs.sys.KFSPropertyConstants; 033 import org.kuali.rice.kns.service.KualiConfigurationService; 034 import org.springframework.transaction.annotation.Transactional; 035 036 /** 037 * Service implementation of BudgetConstructionLevelSummaryReportService. 038 */ 039 @Transactional 040 public class BudgetConstructionMonthSummaryReportServiceImpl implements BudgetConstructionMonthSummaryReportService { 041 042 BudgetConstructionMonthSummaryReportDao budgetConstructionMonthSummaryReportDao; 043 KualiConfigurationService kualiConfigurationService; 044 BudgetConstructionReportsServiceHelper budgetConstructionReportsServiceHelper; 045 046 /** 047 * @see org.kuali.kfs.module.bc.document.service.BudgetReportsControlListService#updateRepotsMonthSummaryTable(java.lang.String) 048 */ 049 public void updateMonthSummaryReport(String principalName, boolean consolidateToObjectCodeLevel) { 050 budgetConstructionMonthSummaryReportDao.updateReportsMonthSummaryTable(principalName, consolidateToObjectCodeLevel); 051 052 } 053 054 /** 055 * @see org.kuali.kfs.module.bc.document.service.BudgetConstructionMonthSummaryReportService#buildReports(java.lang.Integer, 056 * java.util.Collection) 057 */ 058 public Collection<BudgetConstructionOrgMonthSummaryReport> buildReports(Integer universityFiscalYear, String principalName, boolean consolidateToObjectCodeLevel) { 059 Collection<BudgetConstructionOrgMonthSummaryReport> reportSet = new ArrayList(); 060 Collection<BudgetConstructionMonthSummary> monthSummaryList = budgetConstructionReportsServiceHelper.getDataForBuildingReports(BudgetConstructionMonthSummary.class, principalName, buildOrderByList()); 061 // Calculate Total Section 062 List<BudgetConstructionOrgMonthSummaryReportTotal> monthSummaryTotalLevelList = calculateLevelTotal((List) monthSummaryList, monthSummaryList); 063 List<BudgetConstructionOrgMonthSummaryReportTotal> monthSummaryTotalConsList = calculateConsTotal((List) monthSummaryList, monthSummaryList); 064 List<BudgetConstructionOrgMonthSummaryReportTotal> monthSummaryTotalTypeList = calculateTypeTotal((List) monthSummaryList, monthSummaryList); 065 List<BudgetConstructionOrgMonthSummaryReportTotal> monthSummaryTotalIncexpList = calculateIncexpTotal((List) monthSummaryList, monthSummaryList); 066 067 for (BudgetConstructionMonthSummary monthSummaryEntry : monthSummaryList) { 068 BudgetConstructionOrgMonthSummaryReport orgMonthSummaryReportEntry = new BudgetConstructionOrgMonthSummaryReport(); 069 buildReportsHeader(universityFiscalYear, orgMonthSummaryReportEntry, monthSummaryEntry, consolidateToObjectCodeLevel); 070 buildReportsBody(universityFiscalYear, orgMonthSummaryReportEntry, monthSummaryEntry); 071 buildReportsTotal(orgMonthSummaryReportEntry, monthSummaryEntry, monthSummaryTotalLevelList, monthSummaryTotalConsList, monthSummaryTotalTypeList, monthSummaryTotalIncexpList); 072 reportSet.add(orgMonthSummaryReportEntry); 073 } 074 return reportSet; 075 } 076 077 /** 078 * builds report Header 079 * 080 * @param universityFiscalYear 081 * @param orgMonthSummaryReportEntry 082 * @param monthSummary 083 * @param consolidateToObjectCodeLevel 084 */ 085 public void buildReportsHeader(Integer universityFiscalYear, BudgetConstructionOrgMonthSummaryReport orgMonthSummaryReportEntry, BudgetConstructionMonthSummary monthSummary, boolean consolidateToObjectCodeLevel) { 086 String orgChartDesc = monthSummary.getOrganizationChartOfAccounts().getFinChartOfAccountDescription(); 087 String chartDesc = monthSummary.getChartOfAccounts().getFinChartOfAccountDescription(); 088 String orgName = monthSummary.getOrganization().getOrganizationName(); 089 String subFundGroupDes = monthSummary.getSubFundGroup().getSubFundGroupDescription(); 090 String fundGroupDes = monthSummary.getSubFundGroup().getFundGroup().getName(); 091 092 Integer prevFiscalyear = universityFiscalYear - 1; 093 orgMonthSummaryReportEntry.setFiscalYear(prevFiscalyear.toString() + "-" + universityFiscalYear.toString().substring(2, 4)); 094 orgMonthSummaryReportEntry.setOrgChartOfAccountsCode(monthSummary.getOrganizationChartOfAccountsCode()); 095 096 if (orgChartDesc == null) { 097 orgMonthSummaryReportEntry.setOrgChartOfAccountDescription(kualiConfigurationService.getPropertyString(BCKeyConstants.ERROR_REPORT_GETTING_CHART_DESCRIPTION)); 098 } 099 else { 100 orgMonthSummaryReportEntry.setOrgChartOfAccountDescription(orgChartDesc); 101 } 102 orgMonthSummaryReportEntry.setOrganizationCode(monthSummary.getOrganizationCode()); 103 if (orgName == null) { 104 orgMonthSummaryReportEntry.setOrganizationName(kualiConfigurationService.getPropertyString(BCKeyConstants.ERROR_REPORT_GETTING_ORGANIZATION_NAME)); 105 } 106 else { 107 orgMonthSummaryReportEntry.setOrganizationName(orgName); 108 } 109 orgMonthSummaryReportEntry.setChartOfAccountsCode(monthSummary.getChartOfAccountsCode()); 110 if (chartDesc == null) { 111 orgMonthSummaryReportEntry.setChartOfAccountDescription(kualiConfigurationService.getPropertyString(BCKeyConstants.ERROR_REPORT_GETTING_CHART_DESCRIPTION)); 112 } 113 else { 114 orgMonthSummaryReportEntry.setChartOfAccountDescription(chartDesc); 115 } 116 orgMonthSummaryReportEntry.setFundGroupCode(monthSummary.getSubFundGroup().getFundGroupCode()); 117 if (fundGroupDes == null) { 118 orgMonthSummaryReportEntry.setFundGroupName(kualiConfigurationService.getPropertyString(BCKeyConstants.ERROR_REPORT_GETTING_FUNDGROUP_NAME)); 119 } 120 else { 121 orgMonthSummaryReportEntry.setFundGroupName(fundGroupDes); 122 } 123 orgMonthSummaryReportEntry.setSubFundGroupCode(monthSummary.getSubFundGroupCode()); 124 if (subFundGroupDes == null) { 125 orgMonthSummaryReportEntry.setSubFundGroupDescription(kualiConfigurationService.getPropertyString(BCKeyConstants.ERROR_REPORT_GETTING_SUBFUNDGROUP_DESCRIPTION)); 126 } 127 else { 128 orgMonthSummaryReportEntry.setSubFundGroupDescription(subFundGroupDes); 129 } 130 if (consolidateToObjectCodeLevel) { 131 orgMonthSummaryReportEntry.setConsHdr(BCConstants.Report.CONSOLIIDATED); 132 } 133 else { 134 orgMonthSummaryReportEntry.setConsHdr(BCConstants.Report.BLANK); 135 } 136 orgMonthSummaryReportEntry.setIncomeExpenseCode(monthSummary.getIncomeExpenseCode()); 137 orgMonthSummaryReportEntry.setFinancialConsolidationSortCode(monthSummary.getFinancialConsolidationSortCode()); 138 orgMonthSummaryReportEntry.setFinancialLevelSortCode(monthSummary.getFinancialLevelSortCode()); 139 orgMonthSummaryReportEntry.setFinancialObjectCode(monthSummary.getFinancialObjectCode()); 140 orgMonthSummaryReportEntry.setFinancialSubObjectCode(monthSummary.getFinancialSubObjectCode()); 141 } 142 143 /** 144 * builds report body 145 * 146 * @param universityFiscalYear 147 * @param orgMonthSummaryReportEntry 148 * @param monthSummary 149 */ 150 public void buildReportsBody(Integer universityFiscalYear, BudgetConstructionOrgMonthSummaryReport orgMonthSummaryReportEntry, BudgetConstructionMonthSummary monthSummary) { 151 ObjectCode objectCode = budgetConstructionReportsServiceHelper.getObjectCode(universityFiscalYear, monthSummary.getChartOfAccountsCode(), monthSummary.getFinancialObjectCode()); 152 if (objectCode != null) { 153 orgMonthSummaryReportEntry.setFinancialObjectCodeName(objectCode.getFinancialObjectCodeName()); 154 } 155 else { 156 orgMonthSummaryReportEntry.setFinancialObjectCodeName("NULL"); 157 } 158 orgMonthSummaryReportEntry.setAccountLineAnnualBalanceAmount(BudgetConstructionReportHelper.convertKualiInteger(monthSummary.getAccountLineAnnualBalanceAmount())); 159 orgMonthSummaryReportEntry.setFinancialDocumentMonth1LineAmount(BudgetConstructionReportHelper.convertKualiInteger(monthSummary.getFinancialDocumentMonth1LineAmount())); 160 orgMonthSummaryReportEntry.setFinancialDocumentMonth2LineAmount(BudgetConstructionReportHelper.convertKualiInteger(monthSummary.getFinancialDocumentMonth2LineAmount())); 161 orgMonthSummaryReportEntry.setFinancialDocumentMonth3LineAmount(BudgetConstructionReportHelper.convertKualiInteger(monthSummary.getFinancialDocumentMonth3LineAmount())); 162 orgMonthSummaryReportEntry.setFinancialDocumentMonth4LineAmount(BudgetConstructionReportHelper.convertKualiInteger(monthSummary.getFinancialDocumentMonth4LineAmount())); 163 orgMonthSummaryReportEntry.setFinancialDocumentMonth5LineAmount(BudgetConstructionReportHelper.convertKualiInteger(monthSummary.getFinancialDocumentMonth5LineAmount())); 164 orgMonthSummaryReportEntry.setFinancialDocumentMonth6LineAmount(BudgetConstructionReportHelper.convertKualiInteger(monthSummary.getFinancialDocumentMonth6LineAmount())); 165 orgMonthSummaryReportEntry.setFinancialDocumentMonth7LineAmount(BudgetConstructionReportHelper.convertKualiInteger(monthSummary.getFinancialDocumentMonth7LineAmount())); 166 orgMonthSummaryReportEntry.setFinancialDocumentMonth8LineAmount(BudgetConstructionReportHelper.convertKualiInteger(monthSummary.getFinancialDocumentMonth8LineAmount())); 167 orgMonthSummaryReportEntry.setFinancialDocumentMonth9LineAmount(BudgetConstructionReportHelper.convertKualiInteger(monthSummary.getFinancialDocumentMonth9LineAmount())); 168 orgMonthSummaryReportEntry.setFinancialDocumentMonth10LineAmount(BudgetConstructionReportHelper.convertKualiInteger(monthSummary.getFinancialDocumentMonth10LineAmount())); 169 orgMonthSummaryReportEntry.setFinancialDocumentMonth11LineAmount(BudgetConstructionReportHelper.convertKualiInteger(monthSummary.getFinancialDocumentMonth11LineAmount())); 170 orgMonthSummaryReportEntry.setFinancialDocumentMonth12LineAmount(BudgetConstructionReportHelper.convertKualiInteger(monthSummary.getFinancialDocumentMonth12LineAmount())); 171 } 172 173 /** 174 * builds report total 175 * 176 * @param orgMonthSummaryReportEntry 177 * @param monthSummary 178 * @param monthSummaryTotalLevelList 179 * @param monthSummaryTotalConsList 180 * @param monthSummaryTotalTypeList 181 * @param monthSummaryTotalIncexpList 182 */ 183 public void buildReportsTotal(BudgetConstructionOrgMonthSummaryReport orgMonthSummaryReportEntry, BudgetConstructionMonthSummary monthSummary, List<BudgetConstructionOrgMonthSummaryReportTotal> monthSummaryTotalLevelList, List<BudgetConstructionOrgMonthSummaryReportTotal> monthSummaryTotalConsList, List<BudgetConstructionOrgMonthSummaryReportTotal> monthSummaryTotalTypeList, List<BudgetConstructionOrgMonthSummaryReportTotal> monthSummaryTotalIncexpList) { 184 // set total part of level 185 for (BudgetConstructionOrgMonthSummaryReportTotal levelTotal : monthSummaryTotalLevelList) { 186 if (BudgetConstructionReportHelper.isSameEntry(monthSummary, levelTotal.getBudgetConstructionMonthSummary(), fieldsForLevel())) { 187 orgMonthSummaryReportEntry.setLevelTotalDescription(monthSummary.getFinancialObjectLevel().getFinancialObjectLevelName()); 188 orgMonthSummaryReportEntry.setLevelAccountLineAnnualBalanceAmount(levelTotal.getLevelAccountLineAnnualBalanceAmount()); 189 orgMonthSummaryReportEntry.setLevelMonth1LineAmount(levelTotal.getLevelMonth1LineAmount()); 190 orgMonthSummaryReportEntry.setLevelMonth2LineAmount(levelTotal.getLevelMonth2LineAmount()); 191 orgMonthSummaryReportEntry.setLevelMonth3LineAmount(levelTotal.getLevelMonth3LineAmount()); 192 orgMonthSummaryReportEntry.setLevelMonth4LineAmount(levelTotal.getLevelMonth4LineAmount()); 193 orgMonthSummaryReportEntry.setLevelMonth5LineAmount(levelTotal.getLevelMonth5LineAmount()); 194 orgMonthSummaryReportEntry.setLevelMonth6LineAmount(levelTotal.getLevelMonth6LineAmount()); 195 orgMonthSummaryReportEntry.setLevelMonth7LineAmount(levelTotal.getLevelMonth7LineAmount()); 196 orgMonthSummaryReportEntry.setLevelMonth8LineAmount(levelTotal.getLevelMonth8LineAmount()); 197 orgMonthSummaryReportEntry.setLevelMonth9LineAmount(levelTotal.getLevelMonth9LineAmount()); 198 orgMonthSummaryReportEntry.setLevelMonth10LineAmount(levelTotal.getLevelMonth10LineAmount()); 199 orgMonthSummaryReportEntry.setLevelMonth11LineAmount(levelTotal.getLevelMonth11LineAmount()); 200 orgMonthSummaryReportEntry.setLevelMonth12LineAmount(levelTotal.getLevelMonth12LineAmount()); 201 } 202 } 203 // set total part of cons 204 for (BudgetConstructionOrgMonthSummaryReportTotal consTotal : monthSummaryTotalConsList) { 205 if (BudgetConstructionReportHelper.isSameEntry(monthSummary, consTotal.getBudgetConstructionMonthSummary(), fieldsForCons())) { 206 orgMonthSummaryReportEntry.setConsTotalDescription(monthSummary.getFinancialConsolidationObject().getFinConsolidationObjectName()); 207 orgMonthSummaryReportEntry.setConsAccountLineAnnualBalanceAmount(consTotal.getConsAccountLineAnnualBalanceAmount()); 208 orgMonthSummaryReportEntry.setConsMonth1LineAmount(consTotal.getConsMonth1LineAmount()); 209 orgMonthSummaryReportEntry.setConsMonth2LineAmount(consTotal.getConsMonth2LineAmount()); 210 orgMonthSummaryReportEntry.setConsMonth3LineAmount(consTotal.getConsMonth3LineAmount()); 211 orgMonthSummaryReportEntry.setConsMonth4LineAmount(consTotal.getConsMonth4LineAmount()); 212 orgMonthSummaryReportEntry.setConsMonth5LineAmount(consTotal.getConsMonth5LineAmount()); 213 orgMonthSummaryReportEntry.setConsMonth6LineAmount(consTotal.getConsMonth6LineAmount()); 214 orgMonthSummaryReportEntry.setConsMonth7LineAmount(consTotal.getConsMonth7LineAmount()); 215 orgMonthSummaryReportEntry.setConsMonth8LineAmount(consTotal.getConsMonth8LineAmount()); 216 orgMonthSummaryReportEntry.setConsMonth9LineAmount(consTotal.getConsMonth9LineAmount()); 217 orgMonthSummaryReportEntry.setConsMonth10LineAmount(consTotal.getConsMonth10LineAmount()); 218 orgMonthSummaryReportEntry.setConsMonth11LineAmount(consTotal.getConsMonth11LineAmount()); 219 orgMonthSummaryReportEntry.setConsMonth12LineAmount(consTotal.getConsMonth12LineAmount()); 220 } 221 } 222 // set total part of type 223 for (BudgetConstructionOrgMonthSummaryReportTotal typeTotal : monthSummaryTotalTypeList) { 224 if (BudgetConstructionReportHelper.isSameEntry(monthSummary, typeTotal.getBudgetConstructionMonthSummary(), fieldsForType())) { 225 // get Type desc 226 if (monthSummary.getIncomeExpenseCode().equals(BCConstants.Report.INCOME_EXP_TYPE_A)) { 227 orgMonthSummaryReportEntry.setTypeTotalDescription(BCConstants.Report.REVENUE); 228 } 229 else { 230 orgMonthSummaryReportEntry.setTypeTotalDescription(BCConstants.Report.EXPENDITURE); 231 } 232 orgMonthSummaryReportEntry.setTypeAccountLineAnnualBalanceAmount(typeTotal.getTypeAccountLineAnnualBalanceAmount()); 233 orgMonthSummaryReportEntry.setTypeMonth1LineAmount(typeTotal.getTypeMonth1LineAmount()); 234 orgMonthSummaryReportEntry.setTypeMonth2LineAmount(typeTotal.getTypeMonth2LineAmount()); 235 orgMonthSummaryReportEntry.setTypeMonth3LineAmount(typeTotal.getTypeMonth3LineAmount()); 236 orgMonthSummaryReportEntry.setTypeMonth4LineAmount(typeTotal.getTypeMonth4LineAmount()); 237 orgMonthSummaryReportEntry.setTypeMonth5LineAmount(typeTotal.getTypeMonth5LineAmount()); 238 orgMonthSummaryReportEntry.setTypeMonth6LineAmount(typeTotal.getTypeMonth6LineAmount()); 239 orgMonthSummaryReportEntry.setTypeMonth7LineAmount(typeTotal.getTypeMonth7LineAmount()); 240 orgMonthSummaryReportEntry.setTypeMonth8LineAmount(typeTotal.getTypeMonth8LineAmount()); 241 orgMonthSummaryReportEntry.setTypeMonth9LineAmount(typeTotal.getTypeMonth9LineAmount()); 242 orgMonthSummaryReportEntry.setTypeMonth10LineAmount(typeTotal.getTypeMonth10LineAmount()); 243 orgMonthSummaryReportEntry.setTypeMonth11LineAmount(typeTotal.getTypeMonth11LineAmount()); 244 orgMonthSummaryReportEntry.setTypeMonth12LineAmount(typeTotal.getTypeMonth12LineAmount()); 245 } 246 } 247 // set total part of encexp 248 for (BudgetConstructionOrgMonthSummaryReportTotal incexpTotal : monthSummaryTotalIncexpList) { 249 if (BudgetConstructionReportHelper.isSameEntry(monthSummary, incexpTotal.getBudgetConstructionMonthSummary(), fieldsForIncexp())) { 250 orgMonthSummaryReportEntry.setRevAccountLineAnnualBalanceAmount(incexpTotal.getRevAccountLineAnnualBalanceAmount()); 251 orgMonthSummaryReportEntry.setRevMonth1LineAmount(incexpTotal.getRevMonth1LineAmount()); 252 orgMonthSummaryReportEntry.setRevMonth2LineAmount(incexpTotal.getRevMonth2LineAmount()); 253 orgMonthSummaryReportEntry.setRevMonth3LineAmount(incexpTotal.getRevMonth3LineAmount()); 254 orgMonthSummaryReportEntry.setRevMonth4LineAmount(incexpTotal.getRevMonth4LineAmount()); 255 orgMonthSummaryReportEntry.setRevMonth5LineAmount(incexpTotal.getRevMonth5LineAmount()); 256 orgMonthSummaryReportEntry.setRevMonth6LineAmount(incexpTotal.getRevMonth6LineAmount()); 257 orgMonthSummaryReportEntry.setRevMonth7LineAmount(incexpTotal.getRevMonth7LineAmount()); 258 orgMonthSummaryReportEntry.setRevMonth8LineAmount(incexpTotal.getRevMonth8LineAmount()); 259 orgMonthSummaryReportEntry.setRevMonth9LineAmount(incexpTotal.getRevMonth9LineAmount()); 260 orgMonthSummaryReportEntry.setRevMonth10LineAmount(incexpTotal.getRevMonth10LineAmount()); 261 orgMonthSummaryReportEntry.setRevMonth11LineAmount(incexpTotal.getRevMonth11LineAmount()); 262 orgMonthSummaryReportEntry.setRevMonth12LineAmount(incexpTotal.getRevMonth12LineAmount()); 263 264 orgMonthSummaryReportEntry.setExpAccountLineAnnualBalanceAmount(incexpTotal.getExpAccountLineAnnualBalanceAmount()); 265 orgMonthSummaryReportEntry.setExpMonth1LineAmount(incexpTotal.getExpMonth1LineAmount()); 266 orgMonthSummaryReportEntry.setExpMonth2LineAmount(incexpTotal.getExpMonth2LineAmount()); 267 orgMonthSummaryReportEntry.setExpMonth3LineAmount(incexpTotal.getExpMonth3LineAmount()); 268 orgMonthSummaryReportEntry.setExpMonth4LineAmount(incexpTotal.getExpMonth4LineAmount()); 269 orgMonthSummaryReportEntry.setExpMonth5LineAmount(incexpTotal.getExpMonth5LineAmount()); 270 orgMonthSummaryReportEntry.setExpMonth6LineAmount(incexpTotal.getExpMonth6LineAmount()); 271 orgMonthSummaryReportEntry.setExpMonth7LineAmount(incexpTotal.getExpMonth7LineAmount()); 272 orgMonthSummaryReportEntry.setExpMonth8LineAmount(incexpTotal.getExpMonth8LineAmount()); 273 orgMonthSummaryReportEntry.setExpMonth9LineAmount(incexpTotal.getExpMonth9LineAmount()); 274 orgMonthSummaryReportEntry.setExpMonth10LineAmount(incexpTotal.getExpMonth10LineAmount()); 275 orgMonthSummaryReportEntry.setExpMonth11LineAmount(incexpTotal.getExpMonth11LineAmount()); 276 orgMonthSummaryReportEntry.setExpMonth12LineAmount(incexpTotal.getExpMonth12LineAmount()); 277 278 Integer differenceAccountLineAnnualBalanceAmount = incexpTotal.getRevAccountLineAnnualBalanceAmount() - incexpTotal.getExpAccountLineAnnualBalanceAmount(); 279 Integer differenceMonth1LineAmount = incexpTotal.getRevMonth1LineAmount() - incexpTotal.getExpMonth1LineAmount(); 280 Integer differenceMonth2LineAmount = incexpTotal.getRevMonth2LineAmount() - incexpTotal.getExpMonth2LineAmount(); 281 Integer differenceMonth3LineAmount = incexpTotal.getRevMonth3LineAmount() - incexpTotal.getExpMonth3LineAmount(); 282 Integer differenceMonth4LineAmount = incexpTotal.getRevMonth4LineAmount() - incexpTotal.getExpMonth4LineAmount(); 283 Integer differenceMonth5LineAmount = incexpTotal.getRevMonth5LineAmount() - incexpTotal.getExpMonth5LineAmount(); 284 Integer differenceMonth6LineAmount = incexpTotal.getRevMonth6LineAmount() - incexpTotal.getExpMonth6LineAmount(); 285 Integer differenceMonth7LineAmount = incexpTotal.getRevMonth7LineAmount() - incexpTotal.getExpMonth7LineAmount(); 286 Integer differenceMonth8LineAmount = incexpTotal.getRevMonth8LineAmount() - incexpTotal.getExpMonth8LineAmount(); 287 Integer differenceMonth9LineAmount = incexpTotal.getRevMonth9LineAmount() - incexpTotal.getExpMonth9LineAmount(); 288 Integer differenceMonth10LineAmount = incexpTotal.getRevMonth10LineAmount() - incexpTotal.getExpMonth10LineAmount(); 289 Integer differenceMonth11LineAmount = incexpTotal.getRevMonth11LineAmount() - incexpTotal.getExpMonth11LineAmount(); 290 Integer differenceMonth12LineAmount = incexpTotal.getRevMonth12LineAmount() - incexpTotal.getExpMonth12LineAmount(); 291 292 orgMonthSummaryReportEntry.setDifferenceAccountLineAnnualBalanceAmount(differenceAccountLineAnnualBalanceAmount); 293 orgMonthSummaryReportEntry.setDifferenceMonth1LineAmount(differenceMonth1LineAmount); 294 orgMonthSummaryReportEntry.setDifferenceMonth2LineAmount(differenceMonth2LineAmount); 295 orgMonthSummaryReportEntry.setDifferenceMonth3LineAmount(differenceMonth3LineAmount); 296 orgMonthSummaryReportEntry.setDifferenceMonth4LineAmount(differenceMonth4LineAmount); 297 orgMonthSummaryReportEntry.setDifferenceMonth5LineAmount(differenceMonth5LineAmount); 298 orgMonthSummaryReportEntry.setDifferenceMonth6LineAmount(differenceMonth6LineAmount); 299 orgMonthSummaryReportEntry.setDifferenceMonth7LineAmount(differenceMonth7LineAmount); 300 orgMonthSummaryReportEntry.setDifferenceMonth8LineAmount(differenceMonth8LineAmount); 301 orgMonthSummaryReportEntry.setDifferenceMonth9LineAmount(differenceMonth9LineAmount); 302 orgMonthSummaryReportEntry.setDifferenceMonth10LineAmount(differenceMonth10LineAmount); 303 orgMonthSummaryReportEntry.setDifferenceMonth11LineAmount(differenceMonth11LineAmount); 304 orgMonthSummaryReportEntry.setDifferenceMonth12LineAmount(differenceMonth12LineAmount); 305 } 306 } 307 } 308 309 /** 310 * calculates total part of level 311 * 312 * @param bcmsList 313 * @param monthSummaryList 314 * @return 315 */ 316 public List calculateLevelTotal(List<BudgetConstructionMonthSummary> bcmsList, Collection<BudgetConstructionMonthSummary> monthSummaryList) { 317 List returnList = new ArrayList(); 318 Integer levelAccountLineAnnualBalanceAmount = new Integer(0); 319 Integer levelMonth1LineAmount = new Integer(0); 320 Integer levelMonth2LineAmount = new Integer(0); 321 Integer levelMonth3LineAmount = new Integer(0); 322 Integer levelMonth4LineAmount = new Integer(0); 323 Integer levelMonth5LineAmount = new Integer(0); 324 Integer levelMonth6LineAmount = new Integer(0); 325 Integer levelMonth7LineAmount = new Integer(0); 326 Integer levelMonth8LineAmount = new Integer(0); 327 Integer levelMonth9LineAmount = new Integer(0); 328 Integer levelMonth10LineAmount = new Integer(0); 329 Integer levelMonth11LineAmount = new Integer(0); 330 Integer levelMonth12LineAmount = new Integer(0); 331 332 List<BudgetConstructionMonthSummary> listForCalculateLevel = BudgetConstructionReportHelper.deleteDuplicated((List) monthSummaryList, fieldsForLevel()); 333 for (BudgetConstructionMonthSummary levelEntry : listForCalculateLevel) { 334 BudgetConstructionOrgMonthSummaryReportTotal bcMonthTotal = new BudgetConstructionOrgMonthSummaryReportTotal(); 335 for (BudgetConstructionMonthSummary bcmsListEntry : bcmsList) { 336 if (BudgetConstructionReportHelper.isSameEntry(levelEntry, bcmsListEntry, fieldsForLevel())) { 337 levelAccountLineAnnualBalanceAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getAccountLineAnnualBalanceAmount()); 338 levelMonth1LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth1LineAmount()); 339 levelMonth2LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth2LineAmount()); 340 levelMonth3LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth3LineAmount()); 341 levelMonth4LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth4LineAmount()); 342 levelMonth5LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth5LineAmount()); 343 levelMonth6LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth6LineAmount()); 344 levelMonth7LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth7LineAmount()); 345 levelMonth8LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth8LineAmount()); 346 levelMonth9LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth9LineAmount()); 347 levelMonth10LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth10LineAmount()); 348 levelMonth11LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth11LineAmount()); 349 levelMonth12LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth12LineAmount()); 350 } 351 } 352 bcMonthTotal.setBudgetConstructionMonthSummary(levelEntry); 353 bcMonthTotal.setLevelAccountLineAnnualBalanceAmount(levelAccountLineAnnualBalanceAmount); 354 bcMonthTotal.setLevelMonth1LineAmount(levelMonth1LineAmount); 355 bcMonthTotal.setLevelMonth2LineAmount(levelMonth2LineAmount); 356 bcMonthTotal.setLevelMonth3LineAmount(levelMonth3LineAmount); 357 bcMonthTotal.setLevelMonth4LineAmount(levelMonth4LineAmount); 358 bcMonthTotal.setLevelMonth5LineAmount(levelMonth5LineAmount); 359 bcMonthTotal.setLevelMonth6LineAmount(levelMonth6LineAmount); 360 bcMonthTotal.setLevelMonth7LineAmount(levelMonth7LineAmount); 361 bcMonthTotal.setLevelMonth8LineAmount(levelMonth8LineAmount); 362 bcMonthTotal.setLevelMonth9LineAmount(levelMonth9LineAmount); 363 bcMonthTotal.setLevelMonth10LineAmount(levelMonth10LineAmount); 364 bcMonthTotal.setLevelMonth11LineAmount(levelMonth11LineAmount); 365 bcMonthTotal.setLevelMonth12LineAmount(levelMonth12LineAmount); 366 returnList.add(bcMonthTotal); 367 levelAccountLineAnnualBalanceAmount = new Integer(0); 368 levelMonth1LineAmount = new Integer(0); 369 levelMonth2LineAmount = new Integer(0); 370 levelMonth3LineAmount = new Integer(0); 371 levelMonth4LineAmount = new Integer(0); 372 levelMonth5LineAmount = new Integer(0); 373 levelMonth6LineAmount = new Integer(0); 374 levelMonth7LineAmount = new Integer(0); 375 levelMonth8LineAmount = new Integer(0); 376 levelMonth9LineAmount = new Integer(0); 377 levelMonth10LineAmount = new Integer(0); 378 levelMonth11LineAmount = new Integer(0); 379 levelMonth12LineAmount = new Integer(0); 380 } 381 return returnList; 382 } 383 384 /** 385 * calculates total part of cons 386 * 387 * @param bcmsList 388 * @param monthSummaryList 389 * @return 390 */ 391 public List calculateConsTotal(List<BudgetConstructionMonthSummary> bcmsList, Collection<BudgetConstructionMonthSummary> monthSummaryList) { 392 List returnList = new ArrayList(); 393 Integer consAccountLineAnnualBalanceAmount = new Integer(0); 394 Integer consMonth1LineAmount = new Integer(0); 395 Integer consMonth2LineAmount = new Integer(0); 396 Integer consMonth3LineAmount = new Integer(0); 397 Integer consMonth4LineAmount = new Integer(0); 398 Integer consMonth5LineAmount = new Integer(0); 399 Integer consMonth6LineAmount = new Integer(0); 400 Integer consMonth7LineAmount = new Integer(0); 401 Integer consMonth8LineAmount = new Integer(0); 402 Integer consMonth9LineAmount = new Integer(0); 403 Integer consMonth10LineAmount = new Integer(0); 404 Integer consMonth11LineAmount = new Integer(0); 405 Integer consMonth12LineAmount = new Integer(0); 406 407 List<BudgetConstructionMonthSummary> listForCalculateCons = BudgetConstructionReportHelper.deleteDuplicated((List) monthSummaryList, fieldsForCons()); 408 for (BudgetConstructionMonthSummary consEntry : listForCalculateCons) { 409 BudgetConstructionOrgMonthSummaryReportTotal bcMonthTotal = new BudgetConstructionOrgMonthSummaryReportTotal(); 410 for (BudgetConstructionMonthSummary bcmsListEntry : bcmsList) { 411 if (BudgetConstructionReportHelper.isSameEntry(consEntry, bcmsListEntry, fieldsForCons())) { 412 consAccountLineAnnualBalanceAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getAccountLineAnnualBalanceAmount()); 413 consMonth1LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth1LineAmount()); 414 consMonth2LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth2LineAmount()); 415 consMonth3LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth3LineAmount()); 416 consMonth4LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth4LineAmount()); 417 consMonth5LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth5LineAmount()); 418 consMonth6LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth6LineAmount()); 419 consMonth7LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth7LineAmount()); 420 consMonth8LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth8LineAmount()); 421 consMonth9LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth9LineAmount()); 422 consMonth10LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth10LineAmount()); 423 consMonth11LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth11LineAmount()); 424 consMonth12LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth12LineAmount()); 425 } 426 } 427 bcMonthTotal.setBudgetConstructionMonthSummary(consEntry); 428 bcMonthTotal.setConsAccountLineAnnualBalanceAmount(consAccountLineAnnualBalanceAmount); 429 bcMonthTotal.setConsMonth1LineAmount(consMonth1LineAmount); 430 bcMonthTotal.setConsMonth2LineAmount(consMonth2LineAmount); 431 bcMonthTotal.setConsMonth3LineAmount(consMonth3LineAmount); 432 bcMonthTotal.setConsMonth4LineAmount(consMonth4LineAmount); 433 bcMonthTotal.setConsMonth5LineAmount(consMonth5LineAmount); 434 bcMonthTotal.setConsMonth6LineAmount(consMonth6LineAmount); 435 bcMonthTotal.setConsMonth7LineAmount(consMonth7LineAmount); 436 bcMonthTotal.setConsMonth8LineAmount(consMonth8LineAmount); 437 bcMonthTotal.setConsMonth9LineAmount(consMonth9LineAmount); 438 bcMonthTotal.setConsMonth10LineAmount(consMonth10LineAmount); 439 bcMonthTotal.setConsMonth11LineAmount(consMonth11LineAmount); 440 bcMonthTotal.setConsMonth12LineAmount(consMonth12LineAmount); 441 returnList.add(bcMonthTotal); 442 443 consAccountLineAnnualBalanceAmount = new Integer(0); 444 consMonth1LineAmount = new Integer(0); 445 consMonth2LineAmount = new Integer(0); 446 consMonth3LineAmount = new Integer(0); 447 consMonth4LineAmount = new Integer(0); 448 consMonth5LineAmount = new Integer(0); 449 consMonth6LineAmount = new Integer(0); 450 consMonth7LineAmount = new Integer(0); 451 consMonth8LineAmount = new Integer(0); 452 consMonth9LineAmount = new Integer(0); 453 consMonth10LineAmount = new Integer(0); 454 consMonth11LineAmount = new Integer(0); 455 consMonth12LineAmount = new Integer(0); 456 } 457 return returnList; 458 } 459 460 /** 461 * calculates total part of type 462 * 463 * @param bcmsList 464 * @param monthSummaryList 465 * @return 466 */ 467 public List calculateTypeTotal(List<BudgetConstructionMonthSummary> bcmsList, Collection<BudgetConstructionMonthSummary> monthSummaryList) { 468 List returnList = new ArrayList(); 469 Integer typeAccountLineAnnualBalanceAmount = new Integer(0); 470 Integer typeMonth1LineAmount = new Integer(0); 471 Integer typeMonth2LineAmount = new Integer(0); 472 Integer typeMonth3LineAmount = new Integer(0); 473 Integer typeMonth4LineAmount = new Integer(0); 474 Integer typeMonth5LineAmount = new Integer(0); 475 Integer typeMonth6LineAmount = new Integer(0); 476 Integer typeMonth7LineAmount = new Integer(0); 477 Integer typeMonth8LineAmount = new Integer(0); 478 Integer typeMonth9LineAmount = new Integer(0); 479 Integer typeMonth10LineAmount = new Integer(0); 480 Integer typeMonth11LineAmount = new Integer(0); 481 Integer typeMonth12LineAmount = new Integer(0); 482 483 List<BudgetConstructionMonthSummary> listForCalculateType = BudgetConstructionReportHelper.deleteDuplicated((List) monthSummaryList, fieldsForType()); 484 for (BudgetConstructionMonthSummary typeEntry : listForCalculateType) { 485 BudgetConstructionOrgMonthSummaryReportTotal bcMonthTotal = new BudgetConstructionOrgMonthSummaryReportTotal(); 486 for (BudgetConstructionMonthSummary bcmsListEntry : bcmsList) { 487 if (BudgetConstructionReportHelper.isSameEntry(typeEntry, bcmsListEntry, fieldsForType())) { 488 typeAccountLineAnnualBalanceAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getAccountLineAnnualBalanceAmount()); 489 typeMonth1LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth1LineAmount()); 490 typeMonth2LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth2LineAmount()); 491 typeMonth3LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth3LineAmount()); 492 typeMonth4LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth4LineAmount()); 493 typeMonth5LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth5LineAmount()); 494 typeMonth6LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth6LineAmount()); 495 typeMonth7LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth7LineAmount()); 496 typeMonth8LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth8LineAmount()); 497 typeMonth9LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth9LineAmount()); 498 typeMonth10LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth10LineAmount()); 499 typeMonth11LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth11LineAmount()); 500 typeMonth12LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth12LineAmount()); 501 } 502 } 503 bcMonthTotal.setBudgetConstructionMonthSummary(typeEntry); 504 bcMonthTotal.setTypeAccountLineAnnualBalanceAmount(typeAccountLineAnnualBalanceAmount); 505 bcMonthTotal.setTypeMonth1LineAmount(typeMonth1LineAmount); 506 bcMonthTotal.setTypeMonth2LineAmount(typeMonth2LineAmount); 507 bcMonthTotal.setTypeMonth3LineAmount(typeMonth3LineAmount); 508 bcMonthTotal.setTypeMonth4LineAmount(typeMonth4LineAmount); 509 bcMonthTotal.setTypeMonth5LineAmount(typeMonth5LineAmount); 510 bcMonthTotal.setTypeMonth6LineAmount(typeMonth6LineAmount); 511 bcMonthTotal.setTypeMonth7LineAmount(typeMonth7LineAmount); 512 bcMonthTotal.setTypeMonth8LineAmount(typeMonth8LineAmount); 513 bcMonthTotal.setTypeMonth9LineAmount(typeMonth9LineAmount); 514 bcMonthTotal.setTypeMonth10LineAmount(typeMonth10LineAmount); 515 bcMonthTotal.setTypeMonth11LineAmount(typeMonth11LineAmount); 516 bcMonthTotal.setTypeMonth12LineAmount(typeMonth12LineAmount); 517 returnList.add(bcMonthTotal); 518 519 typeAccountLineAnnualBalanceAmount = new Integer(0); 520 typeMonth1LineAmount = new Integer(0); 521 typeMonth2LineAmount = new Integer(0); 522 typeMonth3LineAmount = new Integer(0); 523 typeMonth4LineAmount = new Integer(0); 524 typeMonth5LineAmount = new Integer(0); 525 typeMonth6LineAmount = new Integer(0); 526 typeMonth7LineAmount = new Integer(0); 527 typeMonth8LineAmount = new Integer(0); 528 typeMonth9LineAmount = new Integer(0); 529 typeMonth10LineAmount = new Integer(0); 530 typeMonth11LineAmount = new Integer(0); 531 typeMonth12LineAmount = new Integer(0); 532 } 533 return returnList; 534 } 535 536 /** 537 * calculates total part of incexp 538 * 539 * @param bcmsList 540 * @param monthSummaryList 541 * @return 542 */ 543 public List calculateIncexpTotal(List<BudgetConstructionMonthSummary> bcmsList, Collection<BudgetConstructionMonthSummary> monthSummaryList) { 544 List returnList = new ArrayList(); 545 Integer revAccountLineAnnualBalanceAmount = new Integer(0); 546 Integer revMonth1LineAmount = new Integer(0); 547 Integer revMonth2LineAmount = new Integer(0); 548 Integer revMonth3LineAmount = new Integer(0); 549 Integer revMonth4LineAmount = new Integer(0); 550 Integer revMonth5LineAmount = new Integer(0); 551 Integer revMonth6LineAmount = new Integer(0); 552 Integer revMonth7LineAmount = new Integer(0); 553 Integer revMonth8LineAmount = new Integer(0); 554 Integer revMonth9LineAmount = new Integer(0); 555 Integer revMonth10LineAmount = new Integer(0); 556 Integer revMonth11LineAmount = new Integer(0); 557 Integer revMonth12LineAmount = new Integer(0); 558 559 Integer expAccountLineAnnualBalanceAmount = new Integer(0); 560 Integer expMonth1LineAmount = new Integer(0); 561 Integer expMonth2LineAmount = new Integer(0); 562 Integer expMonth3LineAmount = new Integer(0); 563 Integer expMonth4LineAmount = new Integer(0); 564 Integer expMonth5LineAmount = new Integer(0); 565 Integer expMonth6LineAmount = new Integer(0); 566 Integer expMonth7LineAmount = new Integer(0); 567 Integer expMonth8LineAmount = new Integer(0); 568 Integer expMonth9LineAmount = new Integer(0); 569 Integer expMonth10LineAmount = new Integer(0); 570 Integer expMonth11LineAmount = new Integer(0); 571 Integer expMonth12LineAmount = new Integer(0); 572 573 List<BudgetConstructionMonthSummary> listForCalculateIncexp = BudgetConstructionReportHelper.deleteDuplicated((List) monthSummaryList, fieldsForIncexp()); 574 for (BudgetConstructionMonthSummary incexpEntry : listForCalculateIncexp) { 575 BudgetConstructionOrgMonthSummaryReportTotal bcMonthTotal = new BudgetConstructionOrgMonthSummaryReportTotal(); 576 for (BudgetConstructionMonthSummary bcmsListEntry : bcmsList) { 577 if (BudgetConstructionReportHelper.isSameEntry(incexpEntry, bcmsListEntry, fieldsForIncexp())) { 578 if (bcmsListEntry.getIncomeExpenseCode().equals(BCConstants.Report.INCOME_EXP_TYPE_A)) { 579 revAccountLineAnnualBalanceAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getAccountLineAnnualBalanceAmount()); 580 revMonth1LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth1LineAmount()); 581 revMonth2LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth2LineAmount()); 582 revMonth3LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth3LineAmount()); 583 revMonth4LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth4LineAmount()); 584 revMonth5LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth5LineAmount()); 585 revMonth6LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth6LineAmount()); 586 revMonth7LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth7LineAmount()); 587 revMonth8LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth8LineAmount()); 588 revMonth9LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth9LineAmount()); 589 revMonth10LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth10LineAmount()); 590 revMonth11LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth11LineAmount()); 591 revMonth12LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth12LineAmount()); 592 } 593 else { 594 expAccountLineAnnualBalanceAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getAccountLineAnnualBalanceAmount()); 595 expMonth1LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth1LineAmount()); 596 expMonth2LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth2LineAmount()); 597 expMonth3LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth3LineAmount()); 598 expMonth4LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth4LineAmount()); 599 expMonth5LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth5LineAmount()); 600 expMonth6LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth6LineAmount()); 601 expMonth7LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth7LineAmount()); 602 expMonth8LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth8LineAmount()); 603 expMonth9LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth9LineAmount()); 604 expMonth10LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth10LineAmount()); 605 expMonth11LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth11LineAmount()); 606 expMonth12LineAmount += BudgetConstructionReportHelper.convertKualiInteger(bcmsListEntry.getFinancialDocumentMonth12LineAmount()); 607 } 608 } 609 } 610 bcMonthTotal.setBudgetConstructionMonthSummary(incexpEntry); 611 bcMonthTotal.setRevAccountLineAnnualBalanceAmount(revAccountLineAnnualBalanceAmount); 612 bcMonthTotal.setRevMonth1LineAmount(revMonth1LineAmount); 613 bcMonthTotal.setRevMonth2LineAmount(revMonth2LineAmount); 614 bcMonthTotal.setRevMonth3LineAmount(revMonth3LineAmount); 615 bcMonthTotal.setRevMonth4LineAmount(revMonth4LineAmount); 616 bcMonthTotal.setRevMonth5LineAmount(revMonth5LineAmount); 617 bcMonthTotal.setRevMonth6LineAmount(revMonth6LineAmount); 618 bcMonthTotal.setRevMonth7LineAmount(revMonth7LineAmount); 619 bcMonthTotal.setRevMonth8LineAmount(revMonth8LineAmount); 620 bcMonthTotal.setRevMonth9LineAmount(revMonth9LineAmount); 621 bcMonthTotal.setRevMonth10LineAmount(revMonth10LineAmount); 622 bcMonthTotal.setRevMonth11LineAmount(revMonth11LineAmount); 623 bcMonthTotal.setRevMonth12LineAmount(revMonth12LineAmount); 624 625 bcMonthTotal.setBudgetConstructionMonthSummary(incexpEntry); 626 bcMonthTotal.setExpAccountLineAnnualBalanceAmount(expAccountLineAnnualBalanceAmount); 627 bcMonthTotal.setExpMonth1LineAmount(expMonth1LineAmount); 628 bcMonthTotal.setExpMonth2LineAmount(expMonth2LineAmount); 629 bcMonthTotal.setExpMonth3LineAmount(expMonth3LineAmount); 630 bcMonthTotal.setExpMonth4LineAmount(expMonth4LineAmount); 631 bcMonthTotal.setExpMonth5LineAmount(expMonth5LineAmount); 632 bcMonthTotal.setExpMonth6LineAmount(expMonth6LineAmount); 633 bcMonthTotal.setExpMonth7LineAmount(expMonth7LineAmount); 634 bcMonthTotal.setExpMonth8LineAmount(expMonth8LineAmount); 635 bcMonthTotal.setExpMonth9LineAmount(expMonth9LineAmount); 636 bcMonthTotal.setExpMonth10LineAmount(expMonth10LineAmount); 637 bcMonthTotal.setExpMonth11LineAmount(expMonth11LineAmount); 638 bcMonthTotal.setExpMonth12LineAmount(expMonth12LineAmount); 639 returnList.add(bcMonthTotal); 640 641 revAccountLineAnnualBalanceAmount = new Integer(0); 642 revMonth1LineAmount = new Integer(0); 643 revMonth2LineAmount = new Integer(0); 644 revMonth3LineAmount = new Integer(0); 645 revMonth4LineAmount = new Integer(0); 646 revMonth5LineAmount = new Integer(0); 647 revMonth6LineAmount = new Integer(0); 648 revMonth7LineAmount = new Integer(0); 649 revMonth8LineAmount = new Integer(0); 650 revMonth9LineAmount = new Integer(0); 651 revMonth10LineAmount = new Integer(0); 652 revMonth11LineAmount = new Integer(0); 653 revMonth12LineAmount = new Integer(0); 654 655 expAccountLineAnnualBalanceAmount = new Integer(0); 656 expMonth1LineAmount = new Integer(0); 657 expMonth2LineAmount = new Integer(0); 658 expMonth3LineAmount = new Integer(0); 659 expMonth4LineAmount = new Integer(0); 660 expMonth5LineAmount = new Integer(0); 661 expMonth6LineAmount = new Integer(0); 662 expMonth7LineAmount = new Integer(0); 663 expMonth8LineAmount = new Integer(0); 664 expMonth9LineAmount = new Integer(0); 665 expMonth10LineAmount = new Integer(0); 666 expMonth11LineAmount = new Integer(0); 667 expMonth12LineAmount = new Integer(0); 668 } 669 return returnList; 670 } 671 672 protected List<String> fieldsForLevel() { 673 List<String> fieldList = new ArrayList(); 674 fieldList.addAll(fieldsForCons()); 675 fieldList.add(KFSPropertyConstants.FINANCIAL_LEVEL_SORT_CODE); 676 return fieldList; 677 678 // firstBcms.getFinancialLevelSortCode().equals(secondBcms.getFinancialLevelSortCode())) { 679 } 680 681 protected List<String> fieldsForCons() { 682 List<String> fieldList = new ArrayList(); 683 fieldList.addAll(fieldsForType()); 684 fieldList.add(KFSPropertyConstants.FINANCIAL_CONSOLIDATION_SORT_CODE); 685 return fieldList; 686 // firstBcms.getFinancialConsolidationSortCode().equals(secondBcms.getFinancialConsolidationSortCode())) 687 688 } 689 690 protected List<String> fieldsForType() { 691 List<String> fieldList = new ArrayList(); 692 fieldList.addAll(fieldsForIncexp()); 693 fieldList.add(KFSPropertyConstants.INCOME_EXPENSE_CODE); 694 return fieldList; 695 // firstBcms.getIncomeExpenseCode().equals(secondBcms.getIncomeExpenseCode())) { 696 } 697 698 protected List<String> fieldsForIncexp() { 699 // firstBcms.getOrganizationChartOfAccountsCode().equals(secondBcms.getOrganizationChartOfAccountsCode()) 700 // firstBcms.getOrganizationCode().equals(secondBcms.getOrganizationCode()) && 701 // firstBcms.getSubFundGroupCode().equals(secondBcms.getSubFundGroupCode()) && 702 // firstBcms.getChartOfAccountsCode().equals(secondBcms.getChartOfAccountsCode())) 703 704 List<String> fieldList = new ArrayList(); 705 fieldList.add(KFSPropertyConstants.ORGANIZATION_CHART_OF_ACCOUNTS_CODE); 706 fieldList.add(KFSPropertyConstants.ORGANIZATION_CODE); 707 fieldList.add(KFSPropertyConstants.SUB_FUND_GROUP_CODE); 708 fieldList.add(KFSPropertyConstants.CHART_OF_ACCOUNTS_CODE); 709 return fieldList; 710 } 711 712 /** 713 * builds orderByList for sort order. 714 * 715 * @return returnList 716 */ 717 public List<String> buildOrderByList() { 718 List<String> returnList = new ArrayList(); 719 returnList.add(KFSPropertyConstants.ORGANIZATION_CHART_OF_ACCOUNTS_CODE); 720 returnList.add(KFSPropertyConstants.ORGANIZATION_CODE); 721 returnList.add(KFSPropertyConstants.SUB_FUND_GROUP_CODE); 722 returnList.add(KFSPropertyConstants.CHART_OF_ACCOUNTS_CODE); 723 returnList.add(KFSPropertyConstants.INCOME_EXPENSE_CODE); 724 returnList.add(KFSPropertyConstants.FINANCIAL_CONSOLIDATION_SORT_CODE); 725 returnList.add(KFSPropertyConstants.FINANCIAL_LEVEL_SORT_CODE); 726 return returnList; 727 } 728 729 public void setKualiConfigurationService(KualiConfigurationService kualiConfigurationService) { 730 this.kualiConfigurationService = kualiConfigurationService; 731 } 732 733 /** 734 * sets budgetConstructionMonthSummaryReportDao 735 * 736 * @param budgetConstructionMonthSummaryReportDao 737 */ 738 public void setBudgetConstructionMonthSummaryReportDao(BudgetConstructionMonthSummaryReportDao budgetConstructionMonthSummaryReportDao) { 739 this.budgetConstructionMonthSummaryReportDao = budgetConstructionMonthSummaryReportDao; 740 } 741 742 public void setBudgetConstructionReportsServiceHelper(BudgetConstructionReportsServiceHelper budgetConstructionReportsServiceHelper) { 743 this.budgetConstructionReportsServiceHelper = budgetConstructionReportsServiceHelper; 744 } 745 746 } 747