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 017 package org.kuali.kfs.module.ld.businessobject; 018 019 import java.sql.Date; 020 import java.sql.Timestamp; 021 022 import org.kuali.kfs.gl.businessobject.Balance; 023 import org.kuali.kfs.gl.businessobject.LedgerBalanceHistory; 024 import org.kuali.rice.kns.util.ObjectUtils; 025 026 /** 027 * Labor business object for LedgerBalanceHistory. 028 */ 029 public class LaborBalanceHistory extends LedgerBalance implements LedgerBalanceHistory { 030 /** 031 * Default constructor. 032 */ 033 public LaborBalanceHistory() { 034 super(); 035 } 036 037 /** 038 * Constructs a LedgerBalance.java. 039 * 040 * @param transaction 041 */ 042 public LaborBalanceHistory(LaborOriginEntry laborOriginEntry) { 043 this(); 044 this.setChartOfAccountsCode(laborOriginEntry.getChartOfAccountsCode()); 045 this.setAccountNumber(laborOriginEntry.getAccountNumber()); 046 this.setFinancialBalanceTypeCode(laborOriginEntry.getFinancialBalanceTypeCode()); 047 this.setEmplid(laborOriginEntry.getEmplid()); 048 this.setFinancialObjectCode(laborOriginEntry.getFinancialObjectCode()); 049 this.setFinancialObjectTypeCode(laborOriginEntry.getFinancialObjectTypeCode()); 050 this.setFinancialSubObjectCode(laborOriginEntry.getFinancialSubObjectCode()); 051 this.setPositionNumber(laborOriginEntry.getPositionNumber()); 052 this.setUniversityFiscalYear(laborOriginEntry.getUniversityFiscalYear()); 053 this.setSubAccountNumber(laborOriginEntry.getSubAccountNumber()); 054 } 055 056 /** 057 * Compare amounts 058 * 059 * @param balance 060 * @see org.kuali.kfs.gl.businessobject.Balance#addAmount(java.lang.String, org.kuali.rice.kns.util.KualiDecimal) 061 */ 062 public boolean compareAmounts(Balance balance) { 063 if (!(balance instanceof LedgerBalance)) { 064 throw new IllegalArgumentException("balance needs to be of type LedgerBalance"); 065 } 066 067 LedgerBalance ledgerBalance = (LedgerBalance) balance; 068 069 if (ObjectUtils.isNotNull(ledgerBalance) 070 && ledgerBalance.getAccountLineAnnualBalanceAmount().equals(this.getAccountLineAnnualBalanceAmount()) 071 && ledgerBalance.getFinancialBeginningBalanceLineAmount().equals(this.getFinancialBeginningBalanceLineAmount()) 072 && ledgerBalance.getContractsGrantsBeginningBalanceAmount().equals(this.getContractsGrantsBeginningBalanceAmount()) 073 && ledgerBalance.getMonth1Amount().equals(this.getMonth1Amount()) 074 && ledgerBalance.getMonth2Amount().equals(this.getMonth2Amount()) 075 && ledgerBalance.getMonth3Amount().equals(this.getMonth3Amount()) 076 && ledgerBalance.getMonth4Amount().equals(this.getMonth4Amount()) 077 && ledgerBalance.getMonth5Amount().equals(this.getMonth5Amount()) 078 && ledgerBalance.getMonth6Amount().equals(this.getMonth6Amount()) 079 && ledgerBalance.getMonth7Amount().equals(this.getMonth7Amount()) 080 && ledgerBalance.getMonth8Amount().equals(this.getMonth8Amount()) 081 && ledgerBalance.getMonth9Amount().equals(this.getMonth9Amount()) 082 && ledgerBalance.getMonth10Amount().equals(this.getMonth10Amount()) 083 && ledgerBalance.getMonth11Amount().equals(this.getMonth11Amount()) 084 && ledgerBalance.getMonth12Amount().equals(this.getMonth12Amount()) 085 && ledgerBalance.getMonth13Amount().equals(this.getMonth13Amount())) { 086 return true; 087 } 088 089 return false; 090 } 091 092 /** 093 * It's called financialObjectCode 094 * @see org.kuali.kfs.gl.businessobject.Balance#getObjectCode() 095 */ 096 @Override 097 public String getObjectCode() { 098 return this.getFinancialObjectCode(); 099 } 100 101 /** 102 * It's called financialObjectCode 103 * @see org.kuali.kfs.gl.businessobject.Balance#setObjectCode(java.lang.String) 104 */ 105 @Override 106 public void setObjectCode(String objectCode) { 107 this.setFinancialObjectCode(objectCode); 108 } 109 110 /** 111 * It's called financialSubObjectCode 112 * @see org.kuali.kfs.gl.businessobject.Balance#getSubObjectCode() 113 */ 114 @Override 115 public String getSubObjectCode() { 116 return this.getFinancialSubObjectCode(); 117 } 118 119 /** 120 * It's called financialSubObjectCode 121 * @see org.kuali.kfs.gl.businessobject.Balance#setSubObjectCode(java.lang.String) 122 */ 123 @Override 124 public void setSubObjectCode(String subObjectCode) { 125 this.setFinancialSubObjectCode(subObjectCode); 126 } 127 128 /** 129 * It's called financialObjectTypeCode 130 * @see org.kuali.kfs.gl.businessobject.Balance#getObjectTypeCode() 131 */ 132 @Override 133 public String getObjectTypeCode() { 134 return this.getFinancialObjectTypeCode(); 135 } 136 137 /** 138 * It's called financialObjectTypeCode 139 * @see org.kuali.kfs.gl.businessobject.Balance#setObjectTypeCode(java.lang.String) 140 */ 141 @Override 142 public void setObjectTypeCode(String objectTypeCode) { 143 this.setFinancialObjectTypeCode(objectTypeCode); 144 } 145 146 /** 147 * It's called financialBalanceTypeCode 148 * @see org.kuali.kfs.module.ld.businessobject.LedgerBalance#getBalanceTypeCode() 149 */ 150 @Override 151 public String getBalanceTypeCode() { 152 return this.getFinancialBalanceTypeCode(); 153 } 154 155 /** 156 * It's called financialBalanceTypeCode 157 * @see org.kuali.kfs.module.ld.businessobject.LedgerBalance#setBalanceTypeCode(java.lang.String) 158 */ 159 @Override 160 public void setBalanceTypeCode(String balanceTypeCode) { 161 this.setFinancialBalanceTypeCode(balanceTypeCode); 162 } 163 164 /** 165 * History does not track this field. 166 * @see org.kuali.kfs.gl.businessobject.Balance#getTimestamp() 167 */ 168 @Override 169 public Date getTimestamp() { 170 throw new UnsupportedOperationException(); 171 } 172 173 /** 174 * History does not track this field. 175 * @see org.kuali.kfs.gl.businessobject.Balance#setTimestamp(java.sql.Date) 176 */ 177 @Override 178 public void setTimestamp(Date timestamp) { 179 throw new UnsupportedOperationException(); 180 } 181 182 /** 183 * History does not track this field. 184 * @see org.kuali.kfs.module.ld.businessobject.LedgerBalance#getTransactionDateTimeStamp() 185 */ 186 @Override 187 public Timestamp getTransactionDateTimeStamp() { 188 throw new UnsupportedOperationException(); 189 } 190 191 /** 192 * History does not track this field. 193 * @see org.kuali.kfs.module.ld.businessobject.LedgerBalance#setTransactionDateTimeStamp(java.sql.Timestamp) 194 */ 195 @Override 196 public void setTransactionDateTimeStamp(Timestamp transactionDateTimeStamp) { 197 throw new UnsupportedOperationException(); 198 } 199 }