001/* 002 * Copyright 2006 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 */ 016package org.kuali.ole.fp.businessobject; 017 018import java.util.Map; 019 020import org.kuali.ole.sys.businessobject.AccountingLine; 021import org.kuali.rice.core.api.util.type.KualiDecimal; 022import org.kuali.rice.core.api.util.type.KualiInteger; 023 024 025/** 026 * This class is a utility class to consolidate budget adjustment accounting line code 027 */ 028public class BudgetAdjustmentAccountingLineUtil { 029 /** 030 * Initialize attributes 031 * 032 * @param accountingLine 033 */ 034 public static void init(BudgetAdjustmentAccountingLine accountingLine) { 035 accountingLine.setCurrentBudgetAdjustmentAmount(KualiDecimal.ZERO); 036 accountingLine.setBaseBudgetAdjustmentAmount(KualiInteger.ZERO); 037 accountingLine.setFinancialDocumentMonth1LineAmount(KualiDecimal.ZERO); 038 accountingLine.setFinancialDocumentMonth2LineAmount(KualiDecimal.ZERO); 039 accountingLine.setFinancialDocumentMonth3LineAmount(KualiDecimal.ZERO); 040 accountingLine.setFinancialDocumentMonth4LineAmount(KualiDecimal.ZERO); 041 accountingLine.setFinancialDocumentMonth5LineAmount(KualiDecimal.ZERO); 042 accountingLine.setFinancialDocumentMonth6LineAmount(KualiDecimal.ZERO); 043 accountingLine.setFinancialDocumentMonth7LineAmount(KualiDecimal.ZERO); 044 accountingLine.setFinancialDocumentMonth8LineAmount(KualiDecimal.ZERO); 045 accountingLine.setFinancialDocumentMonth9LineAmount(KualiDecimal.ZERO); 046 accountingLine.setFinancialDocumentMonth10LineAmount(KualiDecimal.ZERO); 047 accountingLine.setFinancialDocumentMonth11LineAmount(KualiDecimal.ZERO); 048 accountingLine.setFinancialDocumentMonth12LineAmount(KualiDecimal.ZERO); 049 accountingLine.setFringeBenefitIndicator(false); 050 } 051 052 /** 053 * Adds {@link BudgetAdjustmentAccountingLine} attributes to map 054 * 055 * @param simpleValues map used to add values to 056 * @param accountingLine accounting line that provides attributes to add to map 057 * @return 058 */ 059 public static Map appendToValuesMap(Map simpleValues, BudgetAdjustmentAccountingLine accountingLine) { 060 simpleValues.put("currentBudgetAdjustmentAmount", accountingLine.getCurrentBudgetAdjustmentAmount()); 061 simpleValues.put("baseBudgetAdjustmentAmount", accountingLine.getBaseBudgetAdjustmentAmount()); 062 simpleValues.put("financialDocumentMonth1LineAmount", accountingLine.getFinancialDocumentMonth1LineAmount()); 063 simpleValues.put("financialDocumentMonth2LineAmount", accountingLine.getFinancialDocumentMonth2LineAmount()); 064 simpleValues.put("financialDocumentMonth3LineAmount", accountingLine.getFinancialDocumentMonth3LineAmount()); 065 simpleValues.put("financialDocumentMonth4LineAmount", accountingLine.getFinancialDocumentMonth4LineAmount()); 066 simpleValues.put("financialDocumentMonth5LineAmount", accountingLine.getFinancialDocumentMonth5LineAmount()); 067 simpleValues.put("financialDocumentMonth6LineAmount", accountingLine.getFinancialDocumentMonth6LineAmount()); 068 simpleValues.put("financialDocumentMonth7LineAmount", accountingLine.getFinancialDocumentMonth7LineAmount()); 069 simpleValues.put("financialDocumentMonth8LineAmount", accountingLine.getFinancialDocumentMonth8LineAmount()); 070 simpleValues.put("financialDocumentMonth9LineAmount", accountingLine.getFinancialDocumentMonth9LineAmount()); 071 simpleValues.put("financialDocumentMonth10LineAmount", accountingLine.getFinancialDocumentMonth10LineAmount()); 072 simpleValues.put("financialDocumentMonth11LineAmount", accountingLine.getFinancialDocumentMonth11LineAmount()); 073 simpleValues.put("financialDocumentMonth12LineAmount", accountingLine.getFinancialDocumentMonth12LineAmount()); 074 075 return simpleValues; 076 } 077 078 /** 079 * Copies {@link BudgetAdjustmentAccountingLine} values 080 * 081 * @param toLine the line to copy values to 082 * @param fromLine the line to take the values to use in writing to the toLine 083 */ 084 public static void copyFrom(BudgetAdjustmentAccountingLine toLine, AccountingLine other) { 085 if (BudgetAdjustmentAccountingLine.class.isAssignableFrom(other.getClass())) { 086 BudgetAdjustmentAccountingLine fromLine = (BudgetAdjustmentAccountingLine) other; 087 if (toLine != fromLine) { 088 toLine.setCurrentBudgetAdjustmentAmount(fromLine.getCurrentBudgetAdjustmentAmount()); 089 toLine.setBaseBudgetAdjustmentAmount(fromLine.getBaseBudgetAdjustmentAmount()); 090 toLine.setFinancialDocumentMonth1LineAmount(fromLine.getFinancialDocumentMonth1LineAmount()); 091 toLine.setFinancialDocumentMonth2LineAmount(fromLine.getFinancialDocumentMonth2LineAmount()); 092 toLine.setFinancialDocumentMonth3LineAmount(fromLine.getFinancialDocumentMonth3LineAmount()); 093 toLine.setFinancialDocumentMonth4LineAmount(fromLine.getFinancialDocumentMonth4LineAmount()); 094 toLine.setFinancialDocumentMonth5LineAmount(fromLine.getFinancialDocumentMonth5LineAmount()); 095 toLine.setFinancialDocumentMonth6LineAmount(fromLine.getFinancialDocumentMonth6LineAmount()); 096 toLine.setFinancialDocumentMonth7LineAmount(fromLine.getFinancialDocumentMonth7LineAmount()); 097 toLine.setFinancialDocumentMonth8LineAmount(fromLine.getFinancialDocumentMonth8LineAmount()); 098 toLine.setFinancialDocumentMonth9LineAmount(fromLine.getFinancialDocumentMonth9LineAmount()); 099 toLine.setFinancialDocumentMonth10LineAmount(fromLine.getFinancialDocumentMonth10LineAmount()); 100 toLine.setFinancialDocumentMonth11LineAmount(fromLine.getFinancialDocumentMonth11LineAmount()); 101 toLine.setFinancialDocumentMonth12LineAmount(fromLine.getFinancialDocumentMonth12LineAmount()); 102 toLine.setFringeBenefitIndicator(fromLine.isFringeBenefitIndicator()); 103 } 104 } 105 } 106 107 /** 108 * Calculates monthlyLines total amount@param accountingLine 109 * 110 * @return KualiDecimal sum of all monthly line amounts 111 */ 112 public static KualiDecimal getMonthlyLinesTotal(BudgetAdjustmentAccountingLine accountingLine) { 113 KualiDecimal total = KualiDecimal.ZERO; 114 if (accountingLine.getFinancialDocumentMonth1LineAmount() != null) { 115 total = total.add(accountingLine.getFinancialDocumentMonth1LineAmount()); 116 } 117 if (accountingLine.getFinancialDocumentMonth2LineAmount() != null) { 118 total = total.add(accountingLine.getFinancialDocumentMonth2LineAmount()); 119 } 120 if (accountingLine.getFinancialDocumentMonth3LineAmount() != null) { 121 total = total.add(accountingLine.getFinancialDocumentMonth3LineAmount()); 122 } 123 if (accountingLine.getFinancialDocumentMonth4LineAmount() != null) { 124 total = total.add(accountingLine.getFinancialDocumentMonth4LineAmount()); 125 } 126 if (accountingLine.getFinancialDocumentMonth5LineAmount() != null) { 127 total = total.add(accountingLine.getFinancialDocumentMonth5LineAmount()); 128 } 129 if (accountingLine.getFinancialDocumentMonth6LineAmount() != null) { 130 total = total.add(accountingLine.getFinancialDocumentMonth6LineAmount()); 131 } 132 if (accountingLine.getFinancialDocumentMonth7LineAmount() != null) { 133 total = total.add(accountingLine.getFinancialDocumentMonth7LineAmount()); 134 } 135 if (accountingLine.getFinancialDocumentMonth8LineAmount() != null) { 136 total = total.add(accountingLine.getFinancialDocumentMonth8LineAmount()); 137 } 138 if (accountingLine.getFinancialDocumentMonth9LineAmount() != null) { 139 total = total.add(accountingLine.getFinancialDocumentMonth9LineAmount()); 140 } 141 if (accountingLine.getFinancialDocumentMonth10LineAmount() != null) { 142 total = total.add(accountingLine.getFinancialDocumentMonth10LineAmount()); 143 } 144 if (accountingLine.getFinancialDocumentMonth11LineAmount() != null) { 145 total = total.add(accountingLine.getFinancialDocumentMonth11LineAmount()); 146 } 147 if (accountingLine.getFinancialDocumentMonth12LineAmount() != null) { 148 total = total.add(accountingLine.getFinancialDocumentMonth12LineAmount()); 149 } 150 return total; 151 } 152 153}