0001: /*
0002: * Copyright 2005-2007 The Kuali Foundation.
0003: *
0004: * Licensed under the Educational Community License, Version 1.0 (the "License");
0005: * you may not use this file except in compliance with the License.
0006: * You may obtain a copy of the License at
0007: *
0008: * http://www.opensource.org/licenses/ecl1.php
0009: *
0010: * Unless required by applicable law or agreed to in writing, software
0011: * distributed under the License is distributed on an "AS IS" BASIS,
0012: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
0013: * See the License for the specific language governing permissions and
0014: * limitations under the License.
0015: */
0016:
0017: package org.kuali.module.chart.bo;
0018:
0019: import java.sql.Timestamp;
0020: import java.util.ArrayList;
0021: import java.util.Calendar;
0022: import java.util.Collection;
0023: import java.util.Date;
0024: import java.util.HashMap;
0025: import java.util.LinkedHashMap;
0026: import java.util.List;
0027: import java.util.Map;
0028:
0029: import org.apache.commons.lang.StringUtils;
0030: import org.apache.commons.lang.time.DateUtils;
0031: import org.apache.ojb.broker.PersistenceBroker;
0032: import org.apache.ojb.broker.PersistenceBrokerException;
0033: import org.kuali.core.bo.Campus;
0034: import org.kuali.core.bo.PersistableBusinessObject;
0035: import org.kuali.core.bo.PersistableBusinessObjectBase;
0036: import org.kuali.core.bo.user.UniversalUser;
0037: import org.kuali.core.service.BusinessObjectService;
0038: import org.kuali.core.service.DateTimeService;
0039: import org.kuali.core.service.UniversalUserService;
0040: import org.kuali.kfs.bo.PostalZipCode;
0041: import org.kuali.kfs.bo.State;
0042: import org.kuali.kfs.context.SpringContext;
0043: import org.kuali.module.cg.bo.AwardAccount;
0044: import org.kuali.module.cg.bo.Cfda;
0045: import org.kuali.module.chart.bo.codes.BudgetRecordingLevel;
0046: import org.kuali.module.chart.bo.codes.ICRTypeCode;
0047: import org.kuali.module.chart.bo.codes.SufficientFundsCode;
0048: import org.kuali.module.chart.service.SubFundGroupService;
0049: import org.kuali.module.gl.bo.SufficientFundRebuild;
0050:
0051: /**
0052: *
0053: */
0054: public class Account extends PersistableBusinessObjectBase implements
0055: AccountIntf {
0056: protected static org.apache.log4j.Logger LOG = org.apache.log4j.Logger
0057: .getLogger(Account.class);
0058:
0059: private String chartOfAccountsCode;
0060: private String accountNumber;
0061: private String accountName;
0062: private boolean accountsFringesBnftIndicator;
0063: private Timestamp accountRestrictedStatusDate;
0064: private String accountCityName;
0065: private String accountStateCode;
0066: private String accountStreetAddress;
0067: private String accountZipCode;
0068: private Timestamp accountCreateDate;
0069: private Timestamp accountEffectiveDate;
0070: private Timestamp accountExpirationDate;
0071: private Integer awardPeriodEndYear;
0072: private String awardPeriodEndMonth;
0073: private Integer awardPeriodBeginYear;
0074: private String awardPeriodBeginMonth;
0075: private String acctIndirectCostRcvyTypeCd;
0076: private String acctCustomIndCstRcvyExclCd;
0077: private String financialIcrSeriesIdentifier;
0078: private boolean accountInFinancialProcessingIndicator;
0079: private String budgetRecordingLevelCode;
0080: private String accountSufficientFundsCode;
0081: private boolean pendingAcctSufficientFundsIndicator;
0082: private boolean extrnlFinEncumSufficntFndIndicator;
0083: private boolean intrnlFinEncumSufficntFndIndicator;
0084: private boolean finPreencumSufficientFundIndicator;
0085: private boolean financialObjectivePrsctrlIndicator;
0086: private String accountCfdaNumber;
0087: private boolean accountOffCampusIndicator;
0088: private boolean accountClosedIndicator;
0089:
0090: private String accountFiscalOfficerSystemIdentifier;
0091: private String accountsSupervisorySystemsIdentifier;
0092: private String accountManagerSystemIdentifier;
0093: private String organizationCode;
0094: private String accountTypeCode;
0095: private String accountPhysicalCampusCode;
0096: private String subFundGroupCode;
0097: private String financialHigherEdFunctionCd;
0098: private String accountRestrictedStatusCode;
0099: private String reportsToChartOfAccountsCode;
0100: private String reportsToAccountNumber;
0101: private String continuationFinChrtOfAcctCd;
0102: private String continuationAccountNumber;
0103: private String endowmentIncomeAcctFinCoaCd;
0104: private String endowmentIncomeAccountNumber;
0105: private String contractControlFinCoaCode;
0106: private String contractControlAccountNumber;
0107: private String incomeStreamFinancialCoaCode;
0108: private String incomeStreamAccountNumber;
0109: private String indirectCostRcvyFinCoaCode;
0110: private String indirectCostRecoveryAcctNbr;
0111:
0112: private Chart chartOfAccounts;
0113: private Chart endowmentIncomeChartOfAccounts;
0114: private Org organization;
0115: private AcctType accountType;
0116: private Campus accountPhysicalCampus;
0117: private State accountState;
0118: private SubFundGroup subFundGroup;
0119: private HigherEdFunction financialHigherEdFunction;
0120: private RestrictedStatus accountRestrictedStatus;
0121: private Account reportsToAccount;
0122: private Account continuationAccount;
0123: private Account endowmentIncomeAccount;
0124: private Account contractControlAccount;
0125: private Account incomeStreamAccount;
0126: private Account indirectCostRecoveryAcct;
0127: private ICRTypeCode acctIndirectCostRcvyType;
0128: private UniversalUser accountFiscalOfficerUser;
0129: private UniversalUser accountSupervisoryUser;
0130: private UniversalUser accountManagerUser;
0131: private PostalZipCode postalZipCode;
0132: private BudgetRecordingLevel budgetRecordingLevel;
0133: private SufficientFundsCode sufficientFundsCode;
0134: private Cfda cfda;
0135:
0136: // Several kinds of Dummy Attributes for dividing sections on Inquiry page
0137: private String accountResponsibilitySectionBlank;
0138: private String accountResponsibilitySection;
0139: private String contractsAndGrantsSectionBlank;
0140: private String contractsAndGrantsSection;
0141: private String guidelinesAndPurposeSectionBlank;
0142: private String guidelinesAndPurposeSection;
0143: private String accountDescriptionSectionBlank;
0144: private String accountDescriptionSection;
0145:
0146: private boolean forContractsAndGrants;
0147:
0148: private AccountGuideline accountGuideline;
0149: private AccountDescription accountDescription;
0150:
0151: private List subAccounts;
0152: private List awards;
0153:
0154: /**
0155: * Default no-arg constructor.
0156: */
0157: public Account() {
0158: }
0159:
0160: public void afterLookup(PersistenceBroker persistenceBroker)
0161: throws PersistenceBrokerException {
0162: super .afterLookup(persistenceBroker);
0163: // This is needed to put a value in the object so the persisted XML has a flag that
0164: // can be used in routing to determine if an account is a C&G Account
0165: forContractsAndGrants = SpringContext.getBean(
0166: SubFundGroupService.class).isForContractsAndGrants(
0167: getSubFundGroup());
0168: }
0169:
0170: /**
0171: * This method gathers all SubAccounts related to this account if the account is marked as closed to deactivate
0172: */
0173: public List<PersistableBusinessObject> generateDeactivationsToPersist() {
0174: BusinessObjectService boService = SpringContext
0175: .getBean(BusinessObjectService.class);
0176:
0177: // retreive all the existing sub accounts for this
0178: List<SubAccount> bosToDeactivate = new ArrayList();
0179: Map<String, Object> fieldValues;
0180: Collection existingSubAccounts;
0181: if (this .isAccountClosedIndicator() == true) {
0182: fieldValues = new HashMap();
0183: fieldValues.put("chartOfAccountsCode", this
0184: .getChartOfAccountsCode());
0185: fieldValues.put("accountNumber", this .getAccountNumber());
0186: fieldValues.put("subAccountActiveIndicator", true);
0187: existingSubAccounts = boService.findMatching(
0188: SubAccount.class, fieldValues);
0189: bosToDeactivate.addAll(existingSubAccounts);
0190: }
0191:
0192: // mark all the sub accounts as inactive
0193: for (SubAccount subAccount : bosToDeactivate) {
0194: subAccount.setSubAccountActiveIndicator(false);
0195: }
0196: return new ArrayList<PersistableBusinessObject>(bosToDeactivate);
0197: }
0198:
0199: /**
0200: * Gets the accountNumber attribute.
0201: *
0202: * @return Returns the accountNumber
0203: */
0204: public String getAccountNumber() {
0205: return accountNumber;
0206: }
0207:
0208: /**
0209: * Sets the accountNumber attribute.
0210: *
0211: * @param accountNumber The accountNumber to set.
0212: */
0213: public void setAccountNumber(String accountNumber) {
0214: this .accountNumber = accountNumber;
0215: }
0216:
0217: /**
0218: * Gets the accountName attribute.
0219: *
0220: * @return Returns the accountName
0221: */
0222: public String getAccountName() {
0223: return accountName;
0224: }
0225:
0226: /**
0227: * Sets the accountName attribute.
0228: *
0229: * @param accountName The accountName to set.
0230: */
0231: public void setAccountName(String accountName) {
0232: this .accountName = accountName;
0233: }
0234:
0235: /**
0236: * Gets the _AccountsFringesBnftIndicator_ attribute.
0237: *
0238: * @return Returns the _AccountsFringesBnftIndicator_
0239: */
0240: public boolean isAccountsFringesBnftIndicator() {
0241: return accountsFringesBnftIndicator;
0242: }
0243:
0244: /**
0245: * Sets the _AccountsFringesBnftIndicator_ attribute.
0246: *
0247: * @param _AccountsFringesBnftIndicator_ The _AccountsFringesBnftIndicator_ to set.
0248: */
0249: public void setAccountsFringesBnftIndicator(
0250: boolean _AccountsFringesBnftIndicator_) {
0251: this .accountsFringesBnftIndicator = _AccountsFringesBnftIndicator_;
0252: }
0253:
0254: /**
0255: * Gets the accountRestrictedStatusDate attribute.
0256: *
0257: * @return Returns the accountRestrictedStatusDate
0258: */
0259: public Timestamp getAccountRestrictedStatusDate() {
0260: return accountRestrictedStatusDate;
0261: }
0262:
0263: /**
0264: * Sets the accountRestrictedStatusDate attribute.
0265: *
0266: * @param accountRestrictedStatusDate The accountRestrictedStatusDate to set.
0267: */
0268: public void setAccountRestrictedStatusDate(
0269: Timestamp accountRestrictedStatusDate) {
0270: this .accountRestrictedStatusDate = accountRestrictedStatusDate;
0271: }
0272:
0273: /**
0274: * Gets the accountCityName attribute.
0275: *
0276: * @return Returns the accountCityName
0277: */
0278: public String getAccountCityName() {
0279: return accountCityName;
0280: }
0281:
0282: /**
0283: * Sets the accountCityName attribute.
0284: *
0285: * @param accountCityName The accountCityName to set.
0286: */
0287: public void setAccountCityName(String accountCityName) {
0288: this .accountCityName = accountCityName;
0289: }
0290:
0291: /**
0292: * Gets the accountStateCode attribute.
0293: *
0294: * @return Returns the accountStateCode
0295: */
0296: public String getAccountStateCode() {
0297: return accountStateCode;
0298: }
0299:
0300: /**
0301: * Sets the accountStateCode attribute.
0302: *
0303: * @param accountStateCode The accountStateCode to set.
0304: */
0305: public void setAccountStateCode(String accountStateCode) {
0306: this .accountStateCode = accountStateCode;
0307: }
0308:
0309: /**
0310: * Gets the accountStreetAddress attribute.
0311: *
0312: * @return Returns the accountStreetAddress
0313: */
0314: public String getAccountStreetAddress() {
0315: return accountStreetAddress;
0316: }
0317:
0318: /**
0319: * Sets the accountStreetAddress attribute.
0320: *
0321: * @param accountStreetAddress The accountStreetAddress to set.
0322: */
0323: public void setAccountStreetAddress(String accountStreetAddress) {
0324: this .accountStreetAddress = accountStreetAddress;
0325: }
0326:
0327: /**
0328: * Gets the accountZipCode attribute.
0329: *
0330: * @return Returns the accountZipCode
0331: */
0332: public String getAccountZipCode() {
0333: return accountZipCode;
0334: }
0335:
0336: /**
0337: * Sets the accountZipCode attribute.
0338: *
0339: * @param accountZipCode The accountZipCode to set.
0340: */
0341: public void setAccountZipCode(String accountZipCode) {
0342: this .accountZipCode = accountZipCode;
0343: }
0344:
0345: /**
0346: * Gets the accountCreateDate attribute.
0347: *
0348: * @return Returns the accountCreateDate
0349: */
0350: public Timestamp getAccountCreateDate() {
0351: return accountCreateDate;
0352: }
0353:
0354: /**
0355: * Sets the accountCreateDate attribute.
0356: *
0357: * @param accountCreateDate The accountCreateDate to set.
0358: */
0359: public void setAccountCreateDate(Timestamp accountCreateDate) {
0360: this .accountCreateDate = accountCreateDate;
0361: }
0362:
0363: /**
0364: * Gets the accountEffectiveDate attribute.
0365: *
0366: * @return Returns the accountEffectiveDate
0367: */
0368: public Timestamp getAccountEffectiveDate() {
0369: return accountEffectiveDate;
0370: }
0371:
0372: /**
0373: * Sets the accountEffectiveDate attribute.
0374: *
0375: * @param accountEffectiveDate The accountEffectiveDate to set.
0376: */
0377: public void setAccountEffectiveDate(Timestamp accountEffectiveDate) {
0378: this .accountEffectiveDate = accountEffectiveDate;
0379: }
0380:
0381: /**
0382: * Gets the accountExpirationDate attribute.
0383: *
0384: * @return Returns the accountExpirationDate
0385: */
0386: public Timestamp getAccountExpirationDate() {
0387: return accountExpirationDate;
0388: }
0389:
0390: /**
0391: * Sets the accountExpirationDate attribute.
0392: *
0393: * @param accountExpirationDate The accountExpirationDate to set.
0394: */
0395: public void setAccountExpirationDate(Timestamp accountExpirationDate) {
0396: this .accountExpirationDate = accountExpirationDate;
0397: }
0398:
0399: /**
0400: * This method determines whether the account is expired or not. Note that if Expiration Date is the same as today, then this
0401: * will return false. It will only return true if the account expiration date is one day earlier than today or earlier. Note
0402: * that this logic ignores all time components when doing the comparison. It only does the before/after comparison based on date
0403: * values, not time-values.
0404: *
0405: * @return true or false based on the logic outlined above
0406: */
0407: public boolean isExpired() {
0408: LOG.debug("entering isExpired()");
0409: // dont even bother trying to test if the accountExpirationDate is null
0410: if (this .accountExpirationDate == null) {
0411: return false;
0412: }
0413:
0414: return this .isExpired(SpringContext.getBean(
0415: DateTimeService.class).getCurrentCalendar());
0416: }
0417:
0418: /**
0419: * This method determines whether the account is expired or not. Note that if Expiration Date is the same date as testDate, then
0420: * this will return false. It will only return true if the account expiration date is one day earlier than testDate or earlier.
0421: * Note that this logic ignores all time components when doing the comparison. It only does the before/after comparison based on
0422: * date values, not time-values.
0423: *
0424: * @param testDate - Calendar instance with the date to test the Account's Expiration Date against. This is most commonly set to
0425: * today's date.
0426: * @return true or false based on the logic outlined above
0427: */
0428: public boolean isExpired(Calendar testDate) {
0429: if (LOG.isDebugEnabled()) {
0430: LOG.debug("entering isExpired(" + testDate + ")");
0431: }
0432:
0433: // dont even bother trying to test if the accountExpirationDate is null
0434: if (this .accountExpirationDate == null) {
0435: return false;
0436: }
0437:
0438: // remove any time-components from the testDate
0439: testDate = DateUtils.truncate(testDate, Calendar.DAY_OF_MONTH);
0440:
0441: // get a calendar reference to the Account Expiration
0442: // date, and remove any time components
0443: Calendar acctDate = Calendar.getInstance();
0444: acctDate.setTime(this .accountExpirationDate);
0445: acctDate = DateUtils.truncate(acctDate, Calendar.DAY_OF_MONTH);
0446:
0447: // if the Account Expiration Date is before the testDate
0448: if (acctDate.before(testDate)) {
0449: return true;
0450: } else {
0451: return false;
0452: }
0453: }
0454:
0455: /**
0456: * This method determines whether the account is expired or not. Note that if Expiration Date is the same date as testDate, then
0457: * this will return false. It will only return true if the account expiration date is one day earlier than testDate or earlier.
0458: * Note that this logic ignores all time components when doing the comparison. It only does the before/after comparison based on
0459: * date values, not time-values.
0460: *
0461: * @param testDate - java.util.Date instance with the date to test the Account's Expiration Date against. This is most commonly
0462: * set to today's date.
0463: * @return true or false based on the logic outlined above
0464: */
0465: public boolean isExpired(Date testDate) {
0466:
0467: // dont even bother trying to test if the accountExpirationDate is null
0468: if (this .accountExpirationDate == null) {
0469: return false;
0470: }
0471:
0472: Calendar acctDate = Calendar.getInstance();
0473: acctDate.setTime(testDate);
0474: return isExpired(acctDate);
0475: }
0476:
0477: /**
0478: * Gets the awardPeriodEndYear attribute.
0479: *
0480: * @return Returns the awardPeriodEndYear
0481: */
0482: public Integer getAwardPeriodEndYear() {
0483: return awardPeriodEndYear;
0484: }
0485:
0486: /**
0487: * Sets the awardPeriodEndYear attribute.
0488: *
0489: * @param awardPeriodEndYear The awardPeriodEndYear to set.
0490: */
0491: public void setAwardPeriodEndYear(Integer awardPeriodEndYear) {
0492: this .awardPeriodEndYear = awardPeriodEndYear;
0493: }
0494:
0495: /**
0496: * Gets the awardPeriodEndMonth attribute.
0497: *
0498: * @return Returns the awardPeriodEndMonth
0499: */
0500: public String getAwardPeriodEndMonth() {
0501: return awardPeriodEndMonth;
0502: }
0503:
0504: /**
0505: * Sets the awardPeriodEndMonth attribute.
0506: *
0507: * @param awardPeriodEndMonth The awardPeriodEndMonth to set.
0508: */
0509: public void setAwardPeriodEndMonth(String awardPeriodEndMonth) {
0510: this .awardPeriodEndMonth = awardPeriodEndMonth;
0511: }
0512:
0513: /**
0514: * Gets the awardPeriodBeginYear attribute.
0515: *
0516: * @return Returns the awardPeriodBeginYear
0517: */
0518: public Integer getAwardPeriodBeginYear() {
0519: return awardPeriodBeginYear;
0520: }
0521:
0522: /**
0523: * Sets the awardPeriodBeginYear attribute.
0524: *
0525: * @param awardPeriodBeginYear The awardPeriodBeginYear to set.
0526: */
0527: public void setAwardPeriodBeginYear(Integer awardPeriodBeginYear) {
0528: this .awardPeriodBeginYear = awardPeriodBeginYear;
0529: }
0530:
0531: /**
0532: * Gets the awardPeriodBeginMonth attribute.
0533: *
0534: * @return Returns the awardPeriodBeginMonth
0535: */
0536: public String getAwardPeriodBeginMonth() {
0537: return awardPeriodBeginMonth;
0538: }
0539:
0540: /**
0541: * Sets the awardPeriodBeginMonth attribute.
0542: *
0543: * @param awardPeriodBeginMonth The awardPeriodBeginMonth to set.
0544: */
0545: public void setAwardPeriodBeginMonth(String awardPeriodBeginMonth) {
0546: this .awardPeriodBeginMonth = awardPeriodBeginMonth;
0547: }
0548:
0549: /**
0550: * Gets the acctIndirectCostRcvyTypeCd attribute.
0551: *
0552: * @return Returns the acctIndirectCostRcvyTypeCd
0553: */
0554: public String getAcctIndirectCostRcvyTypeCd() {
0555: return acctIndirectCostRcvyTypeCd;
0556: }
0557:
0558: /**
0559: * Sets the acctIndirectCostRcvyTypeCd attribute.
0560: *
0561: * @param acctIndirectCostRcvyTypeCd The acctIndirectCostRcvyTypeCd to set.
0562: */
0563: public void setAcctIndirectCostRcvyTypeCd(
0564: String acctIndirectCostRcvyTypeCd) {
0565: this .acctIndirectCostRcvyTypeCd = acctIndirectCostRcvyTypeCd;
0566: }
0567:
0568: /**
0569: * Gets the acctCustomIndCstRcvyExclCd attribute.
0570: *
0571: * @return Returns the acctCustomIndCstRcvyExclCd
0572: */
0573: public String getAcctCustomIndCstRcvyExclCd() {
0574: return acctCustomIndCstRcvyExclCd;
0575: }
0576:
0577: /**
0578: * Sets the acctCustomIndCstRcvyExclCd attribute.
0579: *
0580: * @param acctCustomIndCstRcvyExclCd The acctCustomIndCstRcvyExclCd to set.
0581: */
0582: public void setAcctCustomIndCstRcvyExclCd(
0583: String acctCustomIndCstRcvyExclCd) {
0584: this .acctCustomIndCstRcvyExclCd = acctCustomIndCstRcvyExclCd;
0585: }
0586:
0587: /**
0588: * Gets the financialIcrSeriesIdentifier attribute.
0589: *
0590: * @return Returns the financialIcrSeriesIdentifier
0591: */
0592: public String getFinancialIcrSeriesIdentifier() {
0593: return financialIcrSeriesIdentifier;
0594: }
0595:
0596: /**
0597: * Sets the financialIcrSeriesIdentifier attribute.
0598: *
0599: * @param financialIcrSeriesIdentifier The financialIcrSeriesIdentifier to set.
0600: */
0601: public void setFinancialIcrSeriesIdentifier(
0602: String financialIcrSeriesIdentifier) {
0603: this .financialIcrSeriesIdentifier = financialIcrSeriesIdentifier;
0604: }
0605:
0606: /**
0607: * Gets the accountInFinancialProcessingIndicator attribute.
0608: *
0609: * @return Returns the accountInFinancialProcessingIndicator
0610: */
0611: public boolean getAccountInFinancialProcessingIndicator() {
0612: return accountInFinancialProcessingIndicator;
0613: }
0614:
0615: /**
0616: * Sets the accountInFinancialProcessingIndicator attribute.
0617: *
0618: * @param accountInFinancialProcessingIndicator The accountInFinancialProcessingIndicator to set.
0619: */
0620: public void setAccountInFinancialProcessingIndicator(
0621: boolean accountInFinancialProcessingIndicator) {
0622: this .accountInFinancialProcessingIndicator = accountInFinancialProcessingIndicator;
0623: }
0624:
0625: /**
0626: * Gets the budgetRecordingLevelCode attribute.
0627: *
0628: * @return Returns the budgetRecordingLevelCode
0629: */
0630: public String getBudgetRecordingLevelCode() {
0631: return budgetRecordingLevelCode;
0632: }
0633:
0634: /**
0635: * Sets the budgetRecordingLevelCode attribute.
0636: *
0637: * @param budgetRecordingLevelCode The budgetRecordingLevelCode to set.
0638: */
0639: public void setBudgetRecordingLevelCode(
0640: String budgetRecordingLevelCode) {
0641: this .budgetRecordingLevelCode = budgetRecordingLevelCode;
0642: }
0643:
0644: /**
0645: * Gets the accountSufficientFundsCode attribute.
0646: *
0647: * @return Returns the accountSufficientFundsCode
0648: */
0649: public String getAccountSufficientFundsCode() {
0650: return accountSufficientFundsCode;
0651: }
0652:
0653: /**
0654: * Sets the accountSufficientFundsCode attribute.
0655: *
0656: * @param accountSufficientFundsCode The accountSufficientFundsCode to set.
0657: */
0658: public void setAccountSufficientFundsCode(
0659: String accountSufficientFundsCode) {
0660: this .accountSufficientFundsCode = accountSufficientFundsCode;
0661: }
0662:
0663: /**
0664: * Gets the pendingAcctSufficientFundsIndicator attribute.
0665: *
0666: * @return Returns the pendingAcctSufficientFundsIndicator
0667: */
0668: public boolean isPendingAcctSufficientFundsIndicator() {
0669: return pendingAcctSufficientFundsIndicator;
0670: }
0671:
0672: /**
0673: * Sets the pendingAcctSufficientFundsIndicator attribute.
0674: *
0675: * @param pendingAcctSufficientFundsIndicator The pendingAcctSufficientFundsIndicator to set.
0676: */
0677: public void setPendingAcctSufficientFundsIndicator(
0678: boolean pendingAcctSufficientFundsIndicator) {
0679: this .pendingAcctSufficientFundsIndicator = pendingAcctSufficientFundsIndicator;
0680: }
0681:
0682: /**
0683: * Gets the extrnlFinEncumSufficntFndIndicator attribute.
0684: *
0685: * @return Returns the extrnlFinEncumSufficntFndIndicator
0686: */
0687: public boolean isExtrnlFinEncumSufficntFndIndicator() {
0688: return extrnlFinEncumSufficntFndIndicator;
0689: }
0690:
0691: /**
0692: * Sets the extrnlFinEncumSufficntFndIndicator attribute.
0693: *
0694: * @param extrnlFinEncumSufficntFndIndicator The extrnlFinEncumSufficntFndIndicator to set.
0695: */
0696: public void setExtrnlFinEncumSufficntFndIndicator(
0697: boolean extrnlFinEncumSufficntFndIndicator) {
0698: this .extrnlFinEncumSufficntFndIndicator = extrnlFinEncumSufficntFndIndicator;
0699: }
0700:
0701: /**
0702: * Gets the intrnlFinEncumSufficntFndIndicator attribute.
0703: *
0704: * @return Returns the intrnlFinEncumSufficntFndIndicator
0705: */
0706: public boolean isIntrnlFinEncumSufficntFndIndicator() {
0707: return intrnlFinEncumSufficntFndIndicator;
0708: }
0709:
0710: /**
0711: * Sets the intrnlFinEncumSufficntFndIndicator attribute.
0712: *
0713: * @param intrnlFinEncumSufficntFndIndicator The intrnlFinEncumSufficntFndIndicator to set.
0714: */
0715: public void setIntrnlFinEncumSufficntFndIndicator(
0716: boolean intrnlFinEncumSufficntFndIndicator) {
0717: this .intrnlFinEncumSufficntFndIndicator = intrnlFinEncumSufficntFndIndicator;
0718: }
0719:
0720: /**
0721: * Gets the finPreencumSufficientFundIndicator attribute.
0722: *
0723: * @return Returns the finPreencumSufficientFundIndicator
0724: */
0725: public boolean isFinPreencumSufficientFundIndicator() {
0726: return finPreencumSufficientFundIndicator;
0727: }
0728:
0729: /**
0730: * Sets the finPreencumSufficientFundIndicator attribute.
0731: *
0732: * @param finPreencumSufficientFundIndicator The finPreencumSufficientFundIndicator to set.
0733: */
0734: public void setFinPreencumSufficientFundIndicator(
0735: boolean finPreencumSufficientFundIndicator) {
0736: this .finPreencumSufficientFundIndicator = finPreencumSufficientFundIndicator;
0737: }
0738:
0739: /**
0740: * Gets the _FinancialObjectivePrsctrlIndicator_ attribute.
0741: *
0742: * @return Returns the _FinancialObjectivePrsctrlIndicator_
0743: */
0744: public boolean isFinancialObjectivePrsctrlIndicator() {
0745: return financialObjectivePrsctrlIndicator;
0746: }
0747:
0748: /**
0749: * Sets the _FinancialObjectivePrsctrlIndicator_ attribute.
0750: *
0751: * @param _FinancialObjectivePrsctrlIndicator_ The _FinancialObjectivePrsctrlIndicator_ to set.
0752: */
0753: public void setFinancialObjectivePrsctrlIndicator(
0754: boolean _FinancialObjectivePrsctrlIndicator_) {
0755: this .financialObjectivePrsctrlIndicator = _FinancialObjectivePrsctrlIndicator_;
0756: }
0757:
0758: /**
0759: * Gets the accountCfdaNumber attribute.
0760: *
0761: * @return Returns the accountCfdaNumber
0762: */
0763: public String getAccountCfdaNumber() {
0764: return accountCfdaNumber;
0765: }
0766:
0767: /**
0768: * Sets the accountCfdaNumber attribute.
0769: *
0770: * @param accountCfdaNumber The accountCfdaNumber to set.
0771: */
0772: public void setAccountCfdaNumber(String accountCfdaNumber) {
0773: this .accountCfdaNumber = accountCfdaNumber;
0774: }
0775:
0776: public Cfda getCfda() {
0777: return cfda;
0778: }
0779:
0780: public void setCfda(Cfda cfda) {
0781: this .cfda = cfda;
0782: }
0783:
0784: /**
0785: * Gets the accountOffCampusIndicator attribute.
0786: *
0787: * @return Returns the accountOffCampusIndicator
0788: */
0789: public boolean isAccountOffCampusIndicator() {
0790: return accountOffCampusIndicator;
0791: }
0792:
0793: /**
0794: * Sets the accountOffCampusIndicator attribute.
0795: *
0796: * @param accountOffCampusIndicator The accountOffCampusIndicator to set.
0797: */
0798: public void setAccountOffCampusIndicator(
0799: boolean accountOffCampusIndicator) {
0800: this .accountOffCampusIndicator = accountOffCampusIndicator;
0801: }
0802:
0803: /**
0804: * Gets the accountClosedIndicator attribute.
0805: *
0806: * @return Returns the accountClosedIndicator
0807: */
0808: public boolean isAccountClosedIndicator() {
0809: return accountClosedIndicator;
0810: }
0811:
0812: /**
0813: * Sets the accountClosedIndicator attribute.
0814: *
0815: * @param accountClosedIndicator The accountClosedIndicator to set.
0816: */
0817: public void setAccountClosedIndicator(boolean accountClosedIndicator) {
0818: this .accountClosedIndicator = accountClosedIndicator;
0819: }
0820:
0821: /**
0822: * Gets the chartOfAccounts attribute.
0823: *
0824: * @return Returns the chartOfAccounts
0825: */
0826: public Chart getChartOfAccounts() {
0827: return chartOfAccounts;
0828: }
0829:
0830: /**
0831: * Sets the chartOfAccounts attribute.
0832: *
0833: * @param chartOfAccounts The chartOfAccounts to set.
0834: * @deprecated
0835: */
0836: public void setChartOfAccounts(Chart chartOfAccounts) {
0837: this .chartOfAccounts = chartOfAccounts;
0838: }
0839:
0840: /**
0841: * Gets the organization attribute.
0842: *
0843: * @return Returns the organization
0844: */
0845: public Org getOrganization() {
0846: return organization;
0847: }
0848:
0849: /**
0850: * Sets the organization attribute.
0851: *
0852: * @param organization The organization to set.
0853: * @deprecated
0854: */
0855: public void setOrganization(Org organization) {
0856: this .organization = organization;
0857: }
0858:
0859: /**
0860: * Gets the accountType attribute.
0861: *
0862: * @return Returns the accountType
0863: */
0864: public AcctType getAccountType() {
0865: return accountType;
0866: }
0867:
0868: /**
0869: * Sets the accountType attribute.
0870: *
0871: * @param accountType The accountType to set.
0872: * @deprecated
0873: */
0874: public void setAccountType(AcctType accountType) {
0875: this .accountType = accountType;
0876: }
0877:
0878: /**
0879: * Gets the accountPhysicalCampus attribute.
0880: *
0881: * @return Returns the accountPhysicalCampus
0882: */
0883: public Campus getAccountPhysicalCampus() {
0884: return accountPhysicalCampus;
0885: }
0886:
0887: /**
0888: * Sets the accountPhysicalCampus attribute.
0889: *
0890: * @param accountPhysicalCampus The accountPhysicalCampus to set.
0891: * @deprecated
0892: */
0893: public void setAccountPhysicalCampus(Campus accountPhysicalCampus) {
0894: this .accountPhysicalCampus = accountPhysicalCampus;
0895: }
0896:
0897: /**
0898: * Gets the accountState attribute
0899: *
0900: * @return Returns the accountState
0901: */
0902: public State getAccountState() {
0903: return accountState;
0904: }
0905:
0906: /**
0907: * Sets the accountState attribute
0908: *
0909: * @param state
0910: * @deprecated
0911: */
0912: public void setAccountState(State state) {
0913: this .accountState = state;
0914: }
0915:
0916: /**
0917: * Gets the subFundGroup attribute.
0918: *
0919: * @return Returns the subFundGroup
0920: */
0921: public SubFundGroup getSubFundGroup() {
0922: return subFundGroup;
0923: }
0924:
0925: /**
0926: * Sets the subFundGroup attribute.
0927: *
0928: * @param subFundGroup The subFundGroup to set.
0929: * @deprecated
0930: */
0931: public void setSubFundGroup(SubFundGroup subFundGroup) {
0932: this .subFundGroup = subFundGroup;
0933: }
0934:
0935: /**
0936: * Gets the financialHigherEdFunction attribute.
0937: *
0938: * @return Returns the financialHigherEdFunction
0939: */
0940: public HigherEdFunction getFinancialHigherEdFunction() {
0941: return financialHigherEdFunction;
0942: }
0943:
0944: /**
0945: * Sets the financialHigherEdFunction attribute.
0946: *
0947: * @param financialHigherEdFunction The financialHigherEdFunction to set.
0948: * @deprecated
0949: */
0950: public void setFinancialHigherEdFunction(
0951: HigherEdFunction financialHigherEdFunction) {
0952: this .financialHigherEdFunction = financialHigherEdFunction;
0953: }
0954:
0955: /**
0956: * Gets the accountRestrictedStatus attribute.
0957: *
0958: * @return Returns the accountRestrictedStatus
0959: */
0960: public RestrictedStatus getAccountRestrictedStatus() {
0961: return accountRestrictedStatus;
0962: }
0963:
0964: /**
0965: * Sets the accountRestrictedStatus attribute.
0966: *
0967: * @param accountRestrictedStatus The accountRestrictedStatus to set.
0968: * @deprecated
0969: */
0970: public void setAccountRestrictedStatus(
0971: RestrictedStatus accountRestrictedStatus) {
0972: this .accountRestrictedStatus = accountRestrictedStatus;
0973: }
0974:
0975: /**
0976: * Gets the reportsToAccount attribute.
0977: *
0978: * @return Returns the reportsToAccount
0979: */
0980: public Account getReportsToAccount() {
0981: return reportsToAccount;
0982: }
0983:
0984: /**
0985: * Sets the reportsToAccount attribute.
0986: *
0987: * @param reportsToAccount The reportsToAccount to set.
0988: * @deprecated
0989: */
0990: public void setReportsToAccount(Account reportsToAccount) {
0991: this .reportsToAccount = reportsToAccount;
0992: }
0993:
0994: /**
0995: * Gets the endowmentIncomeAccount attribute.
0996: *
0997: * @return Returns the endowmentIncomeAccount
0998: */
0999: public Account getEndowmentIncomeAccount() {
1000: return endowmentIncomeAccount;
1001: }
1002:
1003: /**
1004: * Sets the endowmentIncomeAccount attribute.
1005: *
1006: * @param endowmentIncomeAccount The endowmentIncomeAccount to set.
1007: * @deprecated
1008: */
1009: public void setEndowmentIncomeAccount(Account endowmentIncomeAccount) {
1010: this .endowmentIncomeAccount = endowmentIncomeAccount;
1011: }
1012:
1013: /**
1014: * Gets the contractControlAccount attribute.
1015: *
1016: * @return Returns the contractControlAccount
1017: */
1018: public Account getContractControlAccount() {
1019: return contractControlAccount;
1020: }
1021:
1022: /**
1023: * Sets the contractControlAccount attribute.
1024: *
1025: * @param contractControlAccount The contractControlAccount to set.
1026: * @deprecated
1027: */
1028: public void setContractControlAccount(Account contractControlAccount) {
1029: this .contractControlAccount = contractControlAccount;
1030: }
1031:
1032: /**
1033: * Gets the incomeStreamAccount attribute.
1034: *
1035: * @return Returns the incomeStreamAccount
1036: */
1037: public Account getIncomeStreamAccount() {
1038: return incomeStreamAccount;
1039: }
1040:
1041: /**
1042: * Sets the incomeStreamAccount attribute.
1043: *
1044: * @param incomeStreamAccount The incomeStreamAccount to set.
1045: * @deprecated
1046: */
1047: public void setIncomeStreamAccount(Account incomeStreamAccount) {
1048: this .incomeStreamAccount = incomeStreamAccount;
1049: }
1050:
1051: /**
1052: * Gets the indirectCostRecoveryAcct attribute.
1053: *
1054: * @return Returns the indirectCostRecoveryAcct
1055: */
1056: public Account getIndirectCostRecoveryAcct() {
1057: return indirectCostRecoveryAcct;
1058: }
1059:
1060: /**
1061: * Sets the indirectCostRecoveryAcct attribute.
1062: *
1063: * @param indirectCostRecoveryAcct The indirectCostRecoveryAcct to set.
1064: * @deprecated
1065: */
1066: public void setIndirectCostRecoveryAcct(
1067: Account indirectCostRecoveryAcct) {
1068: this .indirectCostRecoveryAcct = indirectCostRecoveryAcct;
1069: }
1070:
1071: public UniversalUser getAccountFiscalOfficerUser() {
1072: accountFiscalOfficerUser = SpringContext.getBean(
1073: UniversalUserService.class)
1074: .updateUniversalUserIfNecessary(
1075: accountFiscalOfficerSystemIdentifier,
1076: accountFiscalOfficerUser);
1077: return accountFiscalOfficerUser;
1078: }
1079:
1080: /**
1081: * The network id of the account fiscal officer
1082: *
1083: * @return the network id of the account fiscal officer
1084: */
1085: public String getAccountFiscalOfficerUserPersonUserIdentifier() {
1086: return this .getAccountFiscalOfficerUser()
1087: .getPersonUserIdentifier();
1088: }
1089:
1090: /**
1091: * @param accountFiscalOfficerUser The accountFiscalOfficerUser to set.
1092: * @deprecated
1093: */
1094: public void setAccountFiscalOfficerUser(
1095: UniversalUser accountFiscalOfficerUser) {
1096: this .accountFiscalOfficerUser = accountFiscalOfficerUser;
1097: }
1098:
1099: public UniversalUser getAccountManagerUser() {
1100: accountManagerUser = SpringContext.getBean(
1101: UniversalUserService.class)
1102: .updateUniversalUserIfNecessary(
1103: accountManagerSystemIdentifier,
1104: accountManagerUser);
1105: return accountManagerUser;
1106: }
1107:
1108: /**
1109: * Returns the network id of the account manager user
1110: *
1111: * @return the network id of the account manager user
1112: */
1113: public String getAccountManagerUserPersonUserIdentifier() {
1114: return this .getAccountManagerUser().getPersonUserIdentifier();
1115: }
1116:
1117: /**
1118: * @param accountManagerUser The accountManagerUser to set.
1119: * @deprecated
1120: */
1121: public void setAccountManagerUser(UniversalUser accountManagerUser) {
1122: this .accountManagerUser = accountManagerUser;
1123: }
1124:
1125: public UniversalUser getAccountSupervisoryUser() {
1126: accountSupervisoryUser = SpringContext.getBean(
1127: UniversalUserService.class)
1128: .updateUniversalUserIfNecessary(
1129: accountsSupervisorySystemsIdentifier,
1130: accountSupervisoryUser);
1131: return accountSupervisoryUser;
1132: }
1133:
1134: /**
1135: * So, if you've read the comments for getAccountFiscalOfficerUserPersonUserIdentifier and
1136: * getAccountManagerUserPersonUserIdentifier, then you would suspect that this method would return the network id for the
1137: * account supervisory user. But--ha ha! You'd be wrong. This method has a devious and unexpected twist. No, actually, I'm
1138: * kidding. This returns the network if the account supervisory user.
1139: *
1140: * @return Take a guess. Honestly.
1141: */
1142: public String getAccountSupervisoryUserPersonUserIdentifier() {
1143: return this .getAccountSupervisoryUser()
1144: .getPersonUserIdentifier();
1145: }
1146:
1147: /**
1148: * @param accountSupervisoryUser The accountSupervisoryUser to set.
1149: * @deprecated
1150: */
1151: public void setAccountSupervisoryUser(
1152: UniversalUser accountSupervisoryUser) {
1153: this .accountSupervisoryUser = accountSupervisoryUser;
1154: }
1155:
1156: /**
1157: * @return Returns the continuationAccount.
1158: */
1159: public Account getContinuationAccount() {
1160: return continuationAccount;
1161: }
1162:
1163: /**
1164: * @param continuationAccount The continuationAccount to set.
1165: * @deprecated
1166: */
1167: public void setContinuationAccount(Account continuationAccount) {
1168: this .continuationAccount = continuationAccount;
1169: }
1170:
1171: /**
1172: * @return Returns the accountGuideline.
1173: */
1174: public AccountGuideline getAccountGuideline() {
1175: return accountGuideline;
1176: }
1177:
1178: /**
1179: * @param accountGuideline The accountGuideline to set.
1180: * @deprecated
1181: */
1182: public void setAccountGuideline(AccountGuideline accountGuideline) {
1183: this .accountGuideline = accountGuideline;
1184: }
1185:
1186: /**
1187: * Gets the accountDescription attribute.
1188: *
1189: * @return Returns the accountDescription.
1190: */
1191: public AccountDescription getAccountDescription() {
1192: return accountDescription;
1193: }
1194:
1195: /**
1196: * Sets the accountDescription attribute value.
1197: *
1198: * @param accountDescription The accountDescription to set.
1199: */
1200: public void setAccountDescription(
1201: AccountDescription accountDescription) {
1202: this .accountDescription = accountDescription;
1203: }
1204:
1205: /**
1206: * @return Returns the subAccounts.
1207: */
1208: public List getSubAccounts() {
1209: return subAccounts;
1210: }
1211:
1212: /**
1213: * @param subAccounts The subAccounts to set.
1214: */
1215: public void setSubAccounts(List subAccounts) {
1216: this .subAccounts = subAccounts;
1217: }
1218:
1219: /**
1220: * @return Returns the chartOfAccountsCode.
1221: */
1222: public String getChartOfAccountsCode() {
1223: return chartOfAccountsCode;
1224: }
1225:
1226: /**
1227: * @param chartOfAccountsCode The chartOfAccountsCode to set.
1228: */
1229: public void setChartOfAccountsCode(String chartOfAccountsCode) {
1230: this .chartOfAccountsCode = chartOfAccountsCode;
1231: }
1232:
1233: /**
1234: * @return Returns the accountFiscalOfficerSystemIdentifier.
1235: */
1236: public String getAccountFiscalOfficerSystemIdentifier() {
1237: return accountFiscalOfficerSystemIdentifier;
1238: }
1239:
1240: /**
1241: * @param accountFiscalOfficerSystemIdentifier The accountFiscalOfficerSystemIdentifier to set.
1242: */
1243: public void setAccountFiscalOfficerSystemIdentifier(
1244: String accountFiscalOfficerSystemIdentifier) {
1245: this .accountFiscalOfficerSystemIdentifier = accountFiscalOfficerSystemIdentifier;
1246: }
1247:
1248: /**
1249: * @return Returns the accountManagerSystemIdentifier.
1250: */
1251: public String getAccountManagerSystemIdentifier() {
1252: return accountManagerSystemIdentifier;
1253: }
1254:
1255: /**
1256: * @param accountManagerSystemIdentifier The accountManagerSystemIdentifier to set.
1257: */
1258: public void setAccountManagerSystemIdentifier(
1259: String accountManagerSystemIdentifier) {
1260: this .accountManagerSystemIdentifier = accountManagerSystemIdentifier;
1261: }
1262:
1263: /**
1264: * @return Returns the accountPhysicalCampusCode.
1265: */
1266: public String getAccountPhysicalCampusCode() {
1267: return accountPhysicalCampusCode;
1268: }
1269:
1270: /**
1271: * @param accountPhysicalCampusCode The accountPhysicalCampusCode to set.
1272: */
1273: public void setAccountPhysicalCampusCode(
1274: String accountPhysicalCampusCode) {
1275: this .accountPhysicalCampusCode = accountPhysicalCampusCode;
1276: }
1277:
1278: /**
1279: * @return Returns the accountRestrictedStatusCode.
1280: */
1281: public String getAccountRestrictedStatusCode() {
1282: return accountRestrictedStatusCode;
1283: }
1284:
1285: /**
1286: * @param accountRestrictedStatusCode The accountRestrictedStatusCode to set.
1287: */
1288: public void setAccountRestrictedStatusCode(
1289: String accountRestrictedStatusCode) {
1290: this .accountRestrictedStatusCode = accountRestrictedStatusCode;
1291: }
1292:
1293: /**
1294: * @return Returns the accountsSupervisorySystemsIdentifier.
1295: */
1296: public String getAccountsSupervisorySystemsIdentifier() {
1297: return accountsSupervisorySystemsIdentifier;
1298: }
1299:
1300: /**
1301: * @param accountsSupervisorySystemsIdentifier The accountsSupervisorySystemsIdentifier to set.
1302: */
1303: public void setAccountsSupervisorySystemsIdentifier(
1304: String accountsSupervisorySystemsIdentifier) {
1305: this .accountsSupervisorySystemsIdentifier = accountsSupervisorySystemsIdentifier;
1306: }
1307:
1308: /**
1309: * @return Returns the accountTypeCode.
1310: */
1311: public String getAccountTypeCode() {
1312: return accountTypeCode;
1313: }
1314:
1315: /**
1316: * @param accountTypeCode The accountTypeCode to set.
1317: */
1318: public void setAccountTypeCode(String accountTypeCode) {
1319: this .accountTypeCode = accountTypeCode;
1320: }
1321:
1322: /**
1323: * @return Returns the continuationAccountNumber.
1324: */
1325: public String getContinuationAccountNumber() {
1326: return continuationAccountNumber;
1327: }
1328:
1329: /**
1330: * @param continuationAccountNumber The continuationAccountNumber to set.
1331: */
1332: public void setContinuationAccountNumber(
1333: String continuationAccountNumber) {
1334: this .continuationAccountNumber = continuationAccountNumber;
1335: }
1336:
1337: /**
1338: * @return Returns the continuationFinChrtOfAcctCd.
1339: */
1340: public String getContinuationFinChrtOfAcctCd() {
1341: return continuationFinChrtOfAcctCd;
1342: }
1343:
1344: /**
1345: * @param continuationFinChrtOfAcctCd The continuationFinChrtOfAcctCd to set.
1346: */
1347: public void setContinuationFinChrtOfAcctCd(
1348: String continuationFinChrtOfAcctCd) {
1349: this .continuationFinChrtOfAcctCd = continuationFinChrtOfAcctCd;
1350: }
1351:
1352: /**
1353: * @return Returns the contractControlAccountNumber.
1354: */
1355: public String getContractControlAccountNumber() {
1356: return contractControlAccountNumber;
1357: }
1358:
1359: /**
1360: * @param contractControlAccountNumber The contractControlAccountNumber to set.
1361: */
1362: public void setContractControlAccountNumber(
1363: String contractControlAccountNumber) {
1364: this .contractControlAccountNumber = contractControlAccountNumber;
1365: }
1366:
1367: /**
1368: * @return Returns the contractControlFinCoaCode.
1369: */
1370: public String getContractControlFinCoaCode() {
1371: return contractControlFinCoaCode;
1372: }
1373:
1374: /**
1375: * @param contractControlFinCoaCode The contractControlFinCoaCode to set.
1376: */
1377: public void setContractControlFinCoaCode(
1378: String contractControlFinCoaCode) {
1379: this .contractControlFinCoaCode = contractControlFinCoaCode;
1380: }
1381:
1382: /**
1383: * @return Returns the endowmentIncomeAccountNumber.
1384: */
1385: public String getEndowmentIncomeAccountNumber() {
1386: return endowmentIncomeAccountNumber;
1387: }
1388:
1389: /**
1390: * @param endowmentIncomeAccountNumber The endowmentIncomeAccountNumber to set.
1391: */
1392: public void setEndowmentIncomeAccountNumber(
1393: String endowmentIncomeAccountNumber) {
1394: this .endowmentIncomeAccountNumber = endowmentIncomeAccountNumber;
1395: }
1396:
1397: /**
1398: * @return Returns the endowmentIncomeAcctFinCoaCd.
1399: */
1400: public String getEndowmentIncomeAcctFinCoaCd() {
1401: return endowmentIncomeAcctFinCoaCd;
1402: }
1403:
1404: /**
1405: * @param endowmentIncomeAcctFinCoaCd The endowmentIncomeAcctFinCoaCd to set.
1406: */
1407: public void setEndowmentIncomeAcctFinCoaCd(
1408: String endowmentIncomeAcctFinCoaCd) {
1409: this .endowmentIncomeAcctFinCoaCd = endowmentIncomeAcctFinCoaCd;
1410: }
1411:
1412: /**
1413: * @return Returns the financialHigherEdFunctionCd.
1414: */
1415: public String getFinancialHigherEdFunctionCd() {
1416: return financialHigherEdFunctionCd;
1417: }
1418:
1419: /**
1420: * @param financialHigherEdFunctionCd The financialHigherEdFunctionCd to set.
1421: */
1422: public void setFinancialHigherEdFunctionCd(
1423: String financialHigherEdFunctionCd) {
1424: this .financialHigherEdFunctionCd = financialHigherEdFunctionCd;
1425: }
1426:
1427: /**
1428: * @return Returns the incomeStreamAccountNumber.
1429: */
1430: public String getIncomeStreamAccountNumber() {
1431: return incomeStreamAccountNumber;
1432: }
1433:
1434: /**
1435: * @param incomeStreamAccountNumber The incomeStreamAccountNumber to set.
1436: */
1437: public void setIncomeStreamAccountNumber(
1438: String incomeStreamAccountNumber) {
1439: this .incomeStreamAccountNumber = incomeStreamAccountNumber;
1440: }
1441:
1442: /**
1443: * @return Returns the incomeStreamFinancialCoaCode.
1444: */
1445: public String getIncomeStreamFinancialCoaCode() {
1446: return incomeStreamFinancialCoaCode;
1447: }
1448:
1449: /**
1450: * @param incomeStreamFinancialCoaCode The incomeStreamFinancialCoaCode to set.
1451: */
1452: public void setIncomeStreamFinancialCoaCode(
1453: String incomeStreamFinancialCoaCode) {
1454: this .incomeStreamFinancialCoaCode = incomeStreamFinancialCoaCode;
1455: }
1456:
1457: /**
1458: * @return Returns the indirectCostRcvyFinCoaCode.
1459: */
1460: public String getIndirectCostRcvyFinCoaCode() {
1461: return indirectCostRcvyFinCoaCode;
1462: }
1463:
1464: /**
1465: * @param indirectCostRcvyFinCoaCode The indirectCostRcvyFinCoaCode to set.
1466: */
1467: public void setIndirectCostRcvyFinCoaCode(
1468: String indirectCostRcvyFinCoaCode) {
1469: this .indirectCostRcvyFinCoaCode = indirectCostRcvyFinCoaCode;
1470: }
1471:
1472: /**
1473: * @return Returns the indirectCostRecoveryAcctNbr.
1474: */
1475: public String getIndirectCostRecoveryAcctNbr() {
1476: return indirectCostRecoveryAcctNbr;
1477: }
1478:
1479: /**
1480: * @param indirectCostRecoveryAcctNbr The indirectCostRecoveryAcctNbr to set.
1481: */
1482: public void setIndirectCostRecoveryAcctNbr(
1483: String indirectCostRecoveryAcctNbr) {
1484: this .indirectCostRecoveryAcctNbr = indirectCostRecoveryAcctNbr;
1485: }
1486:
1487: /**
1488: * @return Returns the organizationCode.
1489: */
1490: public String getOrganizationCode() {
1491: return organizationCode;
1492: }
1493:
1494: /**
1495: * @param organizationCode The organizationCode to set.
1496: */
1497: public void setOrganizationCode(String organizationCode) {
1498: this .organizationCode = organizationCode;
1499: }
1500:
1501: /**
1502: * @return Returns the reportsToAccountNumber.
1503: */
1504: public String getReportsToAccountNumber() {
1505: return reportsToAccountNumber;
1506: }
1507:
1508: /**
1509: * @param reportsToAccountNumber The reportsToAccountNumber to set.
1510: */
1511: public void setReportsToAccountNumber(String reportsToAccountNumber) {
1512: this .reportsToAccountNumber = reportsToAccountNumber;
1513: }
1514:
1515: /**
1516: * @return Returns the reportsToChartOfAccountsCode.
1517: */
1518: public String getReportsToChartOfAccountsCode() {
1519: return reportsToChartOfAccountsCode;
1520: }
1521:
1522: /**
1523: * @param reportsToChartOfAccountsCode The reportsToChartOfAccountsCode to set.
1524: */
1525: public void setReportsToChartOfAccountsCode(
1526: String reportsToChartOfAccountsCode) {
1527: this .reportsToChartOfAccountsCode = reportsToChartOfAccountsCode;
1528: }
1529:
1530: /**
1531: * @return Returns the subFundGroupCode.
1532: */
1533: public String getSubFundGroupCode() {
1534: return subFundGroupCode;
1535: }
1536:
1537: /**
1538: * @param subFundGroupCode The subFundGroupCode to set.
1539: */
1540: public void setSubFundGroupCode(String subFundGroupCode) {
1541: this .subFundGroupCode = subFundGroupCode;
1542: }
1543:
1544: /**
1545: * Gets the postalZipCode attribute.
1546: *
1547: * @return Returns the postalZipCode.
1548: */
1549: public PostalZipCode getPostalZipCode() {
1550: return postalZipCode;
1551: }
1552:
1553: /**
1554: * Sets the postalZipCode attribute value.
1555: *
1556: * @param postalZipCode The postalZipCode to set.
1557: */
1558: public void setPostalZipCode(PostalZipCode postalZipCode) {
1559: this .postalZipCode = postalZipCode;
1560: }
1561:
1562: /**
1563: * Gets the budgetRecordingLevel attribute.
1564: *
1565: * @return Returns the budgetRecordingLevel.
1566: */
1567: public BudgetRecordingLevel getBudgetRecordingLevel() {
1568: return budgetRecordingLevel;
1569: }
1570:
1571: /**
1572: * Sets the budgetRecordingLevel attribute value.
1573: *
1574: * @param budgetRecordingLevel The budgetRecordingLevel to set.
1575: */
1576: public void setBudgetRecordingLevel(
1577: BudgetRecordingLevel budgetRecordingLevel) {
1578: this .budgetRecordingLevel = budgetRecordingLevel;
1579: }
1580:
1581: /**
1582: * Gets the sufficientFundsCode attribute.
1583: *
1584: * @return Returns the sufficientFundsCode.
1585: */
1586: public SufficientFundsCode getSufficientFundsCode() {
1587: return sufficientFundsCode;
1588: }
1589:
1590: /**
1591: * Sets the sufficientFundsCode attribute value.
1592: *
1593: * @param sufficientFundsCode The sufficientFundsCode to set.
1594: */
1595: public void setSufficientFundsCode(
1596: SufficientFundsCode sufficientFundsCode) {
1597: this .sufficientFundsCode = sufficientFundsCode;
1598: }
1599:
1600: /**
1601: * Gets the acctIndirectCostRcvyType attribute.
1602: *
1603: * @return Returns the acctIndirectCostRcvyType.
1604: */
1605: public ICRTypeCode getAcctIndirectCostRcvyType() {
1606: return acctIndirectCostRcvyType;
1607: }
1608:
1609: /**
1610: * Sets the acctIndirectCostRcvyType attribute value.
1611: *
1612: * @param acctIndirectCostRcvyType The acctIndirectCostRcvyType to set.
1613: */
1614: public void setAcctIndirectCostRcvyType(
1615: ICRTypeCode acctIndirectCostRcvyType) {
1616: this .acctIndirectCostRcvyType = acctIndirectCostRcvyType;
1617: }
1618:
1619: /**
1620: * @see org.kuali.core.bo.BusinessObjectBase#toStringMapper()
1621: */
1622: protected LinkedHashMap toStringMapper() {
1623: LinkedHashMap m = new LinkedHashMap();
1624:
1625: m.put("chartCode", this .chartOfAccountsCode);
1626: m.put("accountNumber", this .accountNumber);
1627:
1628: return m;
1629: }
1630:
1631: /**
1632: * Implementing equals since I need contains to behave reasonably in a hashed datastructure.
1633: *
1634: * @see java.lang.Object#equals(java.lang.Object)
1635: */
1636: public boolean equals(Object obj) {
1637: boolean equal = false;
1638:
1639: if (obj != null) {
1640: if (this .getClass().equals(obj.getClass())) {
1641: Account other = (Account) obj;
1642:
1643: if (StringUtils.equals(this .getChartOfAccountsCode(),
1644: other.getChartOfAccountsCode())) {
1645: if (StringUtils.equals(this .getAccountNumber(),
1646: other.getAccountNumber())) {
1647: equal = true;
1648: }
1649: }
1650: }
1651: }
1652:
1653: return equal;
1654: }
1655:
1656: /**
1657: * Calcluates hashCode based on current values of chartOfAccountsCode and accountNumber fields. Somewhat dangerous, since both
1658: * of those fields are mutable, but I don't expect people to be editing those values directly for Accounts stored in hashed
1659: * datastructures.
1660: *
1661: * @see java.lang.Object#hashCode()
1662: */
1663: public int hashCode() {
1664: String hashString = getChartOfAccountsCode() + "|"
1665: + getAccountNumber();
1666:
1667: return hashString.hashCode();
1668: }
1669:
1670: /**
1671: * Convenience method to make the primitive account fields from this Account easier to compare to the account fields from
1672: * another Account or an AccountingLine
1673: *
1674: * @return String representing the account associated with this Accounting
1675: */
1676: public String getAccountKey() {
1677: String key = getChartOfAccountsCode() + ":"
1678: + getAccountNumber();
1679: return key;
1680: }
1681:
1682: /**
1683: * Gets the dummy attribute.
1684: *
1685: * @return Returns the dummy.
1686: */
1687:
1688: /**
1689: * Gets the accountResponsibilitySection attribute.
1690: *
1691: * @return Returns the accountResponsibilitySection.
1692: */
1693: public String getAccountResponsibilitySection() {
1694: return accountResponsibilitySection;
1695: }
1696:
1697: /**
1698: * Sets the accountResponsibilitySection attribute value.
1699: *
1700: * @param accountResponsibilitySection The accountResponsibilitySection to set.
1701: */
1702: public void setAccountResponsibilitySection(
1703: String accountResponsibilitySection) {
1704: this .accountResponsibilitySection = accountResponsibilitySection;
1705: }
1706:
1707: /**
1708: * Gets the contractsAndGrantsSection attribute.
1709: *
1710: * @return Returns the contractsAndGrantsSection.
1711: */
1712: public String getContractsAndGrantsSection() {
1713: return contractsAndGrantsSection;
1714: }
1715:
1716: /**
1717: * Sets the contractsAndGrantsSection attribute value.
1718: *
1719: * @param contractsAndGrantsSection The contractsAndGrantsSection to set.
1720: */
1721: public void setContractsAndGrantsSection(
1722: String contractsAndGrantsSection) {
1723: this .contractsAndGrantsSection = contractsAndGrantsSection;
1724: }
1725:
1726: /**
1727: * Gets the accountDescriptionSection attribute.
1728: *
1729: * @return Returns the accountDescriptionSection.
1730: */
1731: public String getAccountDescriptionSection() {
1732: return accountDescriptionSection;
1733: }
1734:
1735: /**
1736: * Sets the accountDescriptionSection attribute value.
1737: *
1738: * @param accountDescriptionSection The accountDescriptionSection to set.
1739: */
1740: public void setAccountDescriptionSection(
1741: String accountDescriptionSection) {
1742: this .accountDescriptionSection = accountDescriptionSection;
1743: }
1744:
1745: /**
1746: * Gets the guidelinesAndPurposeSection attribute.
1747: *
1748: * @return Returns the guidelinesAndPurposeSection.
1749: */
1750: public String getGuidelinesAndPurposeSection() {
1751: return guidelinesAndPurposeSection;
1752: }
1753:
1754: /**
1755: * Sets the guidelinesAndPurposeSection attribute value.
1756: *
1757: * @param guidelinesAndPurposeSection The guidelinesAndPurposeSection to set.
1758: */
1759: public void setGuidelinesAndPurposeSection(
1760: String guidelinesAndPurposeSection) {
1761: this .guidelinesAndPurposeSection = guidelinesAndPurposeSection;
1762: }
1763:
1764: /**
1765: * Gets the accountResponsibilitySectionBlank attribute.
1766: *
1767: * @return Returns the accountResponsibilitySectionBlank.
1768: */
1769: public String getAccountResponsibilitySectionBlank() {
1770: return accountResponsibilitySectionBlank;
1771: }
1772:
1773: /**
1774: * Gets the contractsAndGrantsSectionBlank attribute.
1775: *
1776: * @return Returns the contractsAndGrantsSectionBlank.
1777: */
1778: public String getContractsAndGrantsSectionBlank() {
1779: return contractsAndGrantsSectionBlank;
1780: }
1781:
1782: /**
1783: * Gets the accountDescriptionSectionBlank attribute.
1784: *
1785: * @return Returns the accountDescriptionSectionBlank.
1786: */
1787: public String getAccountDescriptionSectionBlank() {
1788: return accountDescriptionSectionBlank;
1789: }
1790:
1791: /**
1792: * Gets the guidelinesAndPurposeSectionBlank attribute.
1793: *
1794: * @return Returns the guidelinesAndPurposeSectionBlank.
1795: */
1796: public String getGuidelinesAndPurposeSectionBlank() {
1797: return guidelinesAndPurposeSectionBlank;
1798: }
1799:
1800: /**
1801: * Gets the endowmentIncomeChartOfAccounts attribute.
1802: *
1803: * @return Returns the endowmentIncomeChartOfAccounts.
1804: */
1805: public Chart getEndowmentIncomeChartOfAccounts() {
1806: return endowmentIncomeChartOfAccounts;
1807: }
1808:
1809: /**
1810: * Sets the endowmentIncomeChartOfAccounts attribute value.
1811: *
1812: * @param endowmentIncomeChartOfAccounts The endowmentIncomeChartOfAccounts to set.
1813: */
1814: public void setEndowmentIncomeChartOfAccounts(
1815: Chart endowmentIncomeChartOfAccounts) {
1816: this .endowmentIncomeChartOfAccounts = endowmentIncomeChartOfAccounts;
1817: }
1818:
1819: @Override
1820: public void beforeUpdate(PersistenceBroker persistenceBroker)
1821: throws PersistenceBrokerException {
1822: super .beforeUpdate(persistenceBroker);
1823: try {
1824: // KULCOA-549: update the sufficient funds table
1825: // get the current data from the database
1826: BusinessObjectService boService = SpringContext
1827: .getBean(BusinessObjectService.class);
1828: Account originalAcct = (Account) boService.retrieve(this );
1829:
1830: if (originalAcct != null) {
1831: if (!originalAcct.getSufficientFundsCode().equals(
1832: getSufficientFundsCode())
1833: || originalAcct
1834: .isExtrnlFinEncumSufficntFndIndicator() != isExtrnlFinEncumSufficntFndIndicator()
1835: || originalAcct
1836: .isIntrnlFinEncumSufficntFndIndicator() != isIntrnlFinEncumSufficntFndIndicator()
1837: || originalAcct
1838: .isPendingAcctSufficientFundsIndicator() != isPendingAcctSufficientFundsIndicator()
1839: || originalAcct
1840: .isFinPreencumSufficientFundIndicator() != isFinPreencumSufficientFundIndicator()) {
1841: SufficientFundRebuild sfr = new SufficientFundRebuild();
1842: sfr
1843: .setAccountFinancialObjectTypeCode(SufficientFundRebuild.REBUILD_ACCOUNT);
1844: sfr
1845: .setChartOfAccountsCode(getChartOfAccountsCode());
1846: sfr
1847: .setAccountNumberFinancialObjectCode(getAccountNumber());
1848: if (boService.retrieve(sfr) == null) {
1849: persistenceBroker.store(sfr);
1850: }
1851: }
1852: }
1853: } catch (Exception ex) {
1854: LOG
1855: .error(
1856: "Problem updating sufficient funds rebuild table: ",
1857: ex);
1858: }
1859: }
1860:
1861: /**
1862: * Gets the forContractsAndGrants attribute.
1863: *
1864: * @return Returns the forContractsAndGrants.
1865: */
1866: public boolean isForContractsAndGrants() {
1867: return forContractsAndGrants;
1868: }
1869:
1870: /**
1871: * This method returns a collection of AwardAccount objects.
1872: *
1873: * @return Collection of associated AwardAccounts.
1874: */
1875: public List<AwardAccount> getAwards() {
1876: return awards;
1877: }
1878:
1879: /**
1880: * This method sets the associated collection of AwardAccounts to the local collection attribute.
1881: *
1882: * @param awards New collection of AwardAccounts to be assigned to this Account.
1883: */
1884: public void setAwards(List<AwardAccount> awards) {
1885: this.awards = awards;
1886: }
1887:
1888: }
|