/* * The Kuali Financial System, a comprehensive financial management system for higher education. * * Copyright 2005-2014 The Kuali Foundation * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package org.kuali.kfs.fp.businessobject; import java.util.Map; import org.kuali.kfs.sys.businessobject.AccountingLine; import org.kuali.rice.core.api.util.type.KualiDecimal; import org.kuali.rice.core.api.util.type.KualiInteger; /** * This class is a utility class to consolidate budget adjustment accounting line code */ public class BudgetAdjustmentAccountingLineUtil { /** * Initialize attributes * * @param accountingLine */ public static void init(BudgetAdjustmentAccountingLine accountingLine) { accountingLine.setCurrentBudgetAdjustmentAmount(KualiDecimal.ZERO); accountingLine.setBaseBudgetAdjustmentAmount(KualiInteger.ZERO); accountingLine.setFinancialDocumentMonth1LineAmount(KualiDecimal.ZERO); accountingLine.setFinancialDocumentMonth2LineAmount(KualiDecimal.ZERO); accountingLine.setFinancialDocumentMonth3LineAmount(KualiDecimal.ZERO); accountingLine.setFinancialDocumentMonth4LineAmount(KualiDecimal.ZERO); accountingLine.setFinancialDocumentMonth5LineAmount(KualiDecimal.ZERO); accountingLine.setFinancialDocumentMonth6LineAmount(KualiDecimal.ZERO); accountingLine.setFinancialDocumentMonth7LineAmount(KualiDecimal.ZERO); accountingLine.setFinancialDocumentMonth8LineAmount(KualiDecimal.ZERO); accountingLine.setFinancialDocumentMonth9LineAmount(KualiDecimal.ZERO); accountingLine.setFinancialDocumentMonth10LineAmount(KualiDecimal.ZERO); accountingLine.setFinancialDocumentMonth11LineAmount(KualiDecimal.ZERO); accountingLine.setFinancialDocumentMonth12LineAmount(KualiDecimal.ZERO); accountingLine.setFringeBenefitIndicator(false); } /** * Adds {@link BudgetAdjustmentAccountingLine} attributes to map * * @param simpleValues map used to add values to * @param accountingLine accounting line that provides attributes to add to map * @return */ public static Map appendToValuesMap(Map simpleValues, BudgetAdjustmentAccountingLine accountingLine) { simpleValues.put("currentBudgetAdjustmentAmount", accountingLine.getCurrentBudgetAdjustmentAmount()); simpleValues.put("baseBudgetAdjustmentAmount", accountingLine.getBaseBudgetAdjustmentAmount()); simpleValues.put("financialDocumentMonth1LineAmount", accountingLine.getFinancialDocumentMonth1LineAmount()); simpleValues.put("financialDocumentMonth2LineAmount", accountingLine.getFinancialDocumentMonth2LineAmount()); simpleValues.put("financialDocumentMonth3LineAmount", accountingLine.getFinancialDocumentMonth3LineAmount()); simpleValues.put("financialDocumentMonth4LineAmount", accountingLine.getFinancialDocumentMonth4LineAmount()); simpleValues.put("financialDocumentMonth5LineAmount", accountingLine.getFinancialDocumentMonth5LineAmount()); simpleValues.put("financialDocumentMonth6LineAmount", accountingLine.getFinancialDocumentMonth6LineAmount()); simpleValues.put("financialDocumentMonth7LineAmount", accountingLine.getFinancialDocumentMonth7LineAmount()); simpleValues.put("financialDocumentMonth8LineAmount", accountingLine.getFinancialDocumentMonth8LineAmount()); simpleValues.put("financialDocumentMonth9LineAmount", accountingLine.getFinancialDocumentMonth9LineAmount()); simpleValues.put("financialDocumentMonth10LineAmount", accountingLine.getFinancialDocumentMonth10LineAmount()); simpleValues.put("financialDocumentMonth11LineAmount", accountingLine.getFinancialDocumentMonth11LineAmount()); simpleValues.put("financialDocumentMonth12LineAmount", accountingLine.getFinancialDocumentMonth12LineAmount()); return simpleValues; } /** * Copies {@link BudgetAdjustmentAccountingLine} values * * @param toLine the line to copy values to * @param fromLine the line to take the values to use in writing to the toLine */ public static void copyFrom(BudgetAdjustmentAccountingLine toLine, AccountingLine other) { if (BudgetAdjustmentAccountingLine.class.isAssignableFrom(other.getClass())) { BudgetAdjustmentAccountingLine fromLine = (BudgetAdjustmentAccountingLine) other; if (toLine != fromLine) { toLine.setCurrentBudgetAdjustmentAmount(fromLine.getCurrentBudgetAdjustmentAmount()); toLine.setBaseBudgetAdjustmentAmount(fromLine.getBaseBudgetAdjustmentAmount()); toLine.setFinancialDocumentMonth1LineAmount(fromLine.getFinancialDocumentMonth1LineAmount()); toLine.setFinancialDocumentMonth2LineAmount(fromLine.getFinancialDocumentMonth2LineAmount()); toLine.setFinancialDocumentMonth3LineAmount(fromLine.getFinancialDocumentMonth3LineAmount()); toLine.setFinancialDocumentMonth4LineAmount(fromLine.getFinancialDocumentMonth4LineAmount()); toLine.setFinancialDocumentMonth5LineAmount(fromLine.getFinancialDocumentMonth5LineAmount()); toLine.setFinancialDocumentMonth6LineAmount(fromLine.getFinancialDocumentMonth6LineAmount()); toLine.setFinancialDocumentMonth7LineAmount(fromLine.getFinancialDocumentMonth7LineAmount()); toLine.setFinancialDocumentMonth8LineAmount(fromLine.getFinancialDocumentMonth8LineAmount()); toLine.setFinancialDocumentMonth9LineAmount(fromLine.getFinancialDocumentMonth9LineAmount()); toLine.setFinancialDocumentMonth10LineAmount(fromLine.getFinancialDocumentMonth10LineAmount()); toLine.setFinancialDocumentMonth11LineAmount(fromLine.getFinancialDocumentMonth11LineAmount()); toLine.setFinancialDocumentMonth12LineAmount(fromLine.getFinancialDocumentMonth12LineAmount()); toLine.setFringeBenefitIndicator(fromLine.isFringeBenefitIndicator()); } } } /** * Calculates monthlyLines total amount@param accountingLine * * @return KualiDecimal sum of all monthly line amounts */ public static KualiDecimal getMonthlyLinesTotal(BudgetAdjustmentAccountingLine accountingLine) { KualiDecimal total = KualiDecimal.ZERO; if (accountingLine.getFinancialDocumentMonth1LineAmount() != null) { total = total.add(accountingLine.getFinancialDocumentMonth1LineAmount()); } if (accountingLine.getFinancialDocumentMonth2LineAmount() != null) { total = total.add(accountingLine.getFinancialDocumentMonth2LineAmount()); } if (accountingLine.getFinancialDocumentMonth3LineAmount() != null) { total = total.add(accountingLine.getFinancialDocumentMonth3LineAmount()); } if (accountingLine.getFinancialDocumentMonth4LineAmount() != null) { total = total.add(accountingLine.getFinancialDocumentMonth4LineAmount()); } if (accountingLine.getFinancialDocumentMonth5LineAmount() != null) { total = total.add(accountingLine.getFinancialDocumentMonth5LineAmount()); } if (accountingLine.getFinancialDocumentMonth6LineAmount() != null) { total = total.add(accountingLine.getFinancialDocumentMonth6LineAmount()); } if (accountingLine.getFinancialDocumentMonth7LineAmount() != null) { total = total.add(accountingLine.getFinancialDocumentMonth7LineAmount()); } if (accountingLine.getFinancialDocumentMonth8LineAmount() != null) { total = total.add(accountingLine.getFinancialDocumentMonth8LineAmount()); } if (accountingLine.getFinancialDocumentMonth9LineAmount() != null) { total = total.add(accountingLine.getFinancialDocumentMonth9LineAmount()); } if (accountingLine.getFinancialDocumentMonth10LineAmount() != null) { total = total.add(accountingLine.getFinancialDocumentMonth10LineAmount()); } if (accountingLine.getFinancialDocumentMonth11LineAmount() != null) { total = total.add(accountingLine.getFinancialDocumentMonth11LineAmount()); } if (accountingLine.getFinancialDocumentMonth12LineAmount() != null) { total = total.add(accountingLine.getFinancialDocumentMonth12LineAmount()); } return total; } }