/*
* 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.module.external.kc.businessobject;
import java.sql.Date;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
import org.kuali.kfs.integration.cg.ContractsAndGrantsBillingAward;
import org.kuali.kfs.integration.cg.ContractsAndGrantsBillingAwardAccount;
import org.kuali.kfs.integration.cg.ContractsAndGrantsBillingFrequency;
import org.kuali.kfs.integration.cg.ContractsAndGrantsLetterOfCreditFund;
import org.kuali.kfs.integration.cg.ContractsAndGrantsOrganization;
import org.kuali.kfs.integration.cg.ContractsAndGrantsProjectDirector;
import org.kuali.kfs.sys.context.SpringContext;
import org.kuali.rice.core.api.config.property.ConfigurationService;
import org.kuali.rice.core.api.util.type.KualiDecimal;
import org.kuali.rice.kim.api.identity.Person;
/**
* Defines a financial award object.
*/
public class Award implements ContractsAndGrantsBillingAward {
private static final String AWARD_INQUIRY_TITLE_PROPERTY = "message.inquiry.award.title";
private Long proposalNumber;
private String awardNumber;
private String agencyNumber;
private String primeAgencyNumber;
private String awardTitle;
private String grantNumber;
private String cfdaNumber;
private Proposal proposal;
private Agency agency;
private Agency primeAgency;
private List<AwardAccount> awardAccounts;
//BillingAward fields
private Date awardBeginningDate;
private Date awardEndingDate;
private Date lastBilledDate;
private KualiDecimal awardTotalAmount;
private String awardAddendumNumber;
private KualiDecimal awardAllocatedUniversityComputingServicesAmount;
private KualiDecimal federalPassThroughFundedAmount;
private Date awardEntryDate;
private KualiDecimal agencyFuture1Amount;
private KualiDecimal agencyFuture2Amount;
private KualiDecimal agencyFuture3Amount;
private String awardDocumentNumber;
private Timestamp awardLastUpdateDate;
private boolean federalPassThroughIndicator;
private String oldProposalNumber;
private KualiDecimal awardDirectCostAmount;
private KualiDecimal awardIndirectCostAmount;
private KualiDecimal federalFundedAmount;
private Timestamp awardCreateTimestamp;
private Date awardClosingDate;
private String proposalAwardTypeCode;
private String awardStatusCode;
private String letterOfCreditFundCode;
private String grantDescriptionCode;
private String federalPassThroughAgencyNumber;
private String agencyAnalystName;
private String analystTelephoneNumber;
private String billingFrequencyCode;
private String awardProjectTitle;
private String awardPurposeCode;
private boolean active;
private String kimGroupNames;
private List<ContractsAndGrantsBillingAwardAccount> activeAwardAccounts;
private String routingOrg;
private String routingChart;
private boolean stateTransferIndicator;
private boolean excludedFromInvoicing;
private boolean additionalFormsRequiredIndicator;
private String additionalFormsDescription;
private String excludedFromInvoicingReason;
private String instrumentTypeCode;
private String invoicingOptionCode;
private String invoicingOptionDescription;
private KualiDecimal minInvoiceAmount;
private boolean autoApproveIndicator;
private String lookupPersonUniversalIdentifier;
private Person lookupPerson;
private String lookupFundMgrPersonUniversalIdentifier;
private Person lookupFundMgrPerson;
private String userLookupRoleNamespaceCode;
private ContractsAndGrantsLetterOfCreditFund letterOfCreditFund;
private String userLookupRoleName;
private AwardFundManager awardPrimaryFundManager;
private ContractsAndGrantsBillingFrequency billingFrequency;
private ContractsAndGrantsProjectDirector awardPrimaryProjectDirector;
private ContractsAndGrantsOrganization primaryAwardOrganization;
private Date fundingExpirationDate;
private String dunningCampaign;
private boolean stopWorkIndicator;
private String stopWorkReason;
/**
* Default no-args constructor.
*/
public Award() {
awardAccounts = new ArrayList<AwardAccount>();
}
/**
* Gets the proposalNumber attribute.
*
* @return Returns the proposalNumber
*/
@Override
public Long getProposalNumber() {
return proposalNumber;
}
/**
* Sets the proposalNumber attribute.
*
* @param proposalNumber The proposalNumber to set.
*/
public void setProposalNumber(Long proposalNumber) {
this.proposalNumber = proposalNumber;
}
/**
* @return a String to represent this field on the inquiry
*/
@Override
public String getAwardInquiryTitle() {
return SpringContext.getBean(ConfigurationService.class).getPropertyValueAsString(AWARD_INQUIRY_TITLE_PROPERTY);
}
@Override
public Proposal getProposal() {
return proposal;
}
public void prepareForWorkflow() {}
@Override
public void refresh() {}
public void setProposal(Proposal proposal) {
this.proposal = proposal;
}
@Override
public Agency getAgency() {
return agency;
}
public void setAgency(Agency agency) {
this.agency = agency;
}
/**
* Gets the awardAccounts list.
*
* @return Returns the awardAccounts.
*/
public List<AwardAccount> getAwardAccounts() {
return awardAccounts;
}
/**
* Sets the awardAccounts list.
*
* @param awardAccounts The awardAccounts to set.
*/
public void setAwardAccounts(List<AwardAccount> awardAccounts) {
this.awardAccounts = awardAccounts;
}
@Override
public String getAgencyNumber() {
return agencyNumber;
}
public void setAgencyNumber(String agencyNumber) {
this.agencyNumber = agencyNumber;
}
public String getAwardTitle() {
return awardTitle;
}
public void setAwardTitle(String awardTitle) {
this.awardTitle = awardTitle;
}
public String getPrimeAgencyNumber() {
return primeAgencyNumber;
}
public void setPrimeAgencyNumber(String primeAgencyNumber) {
this.primeAgencyNumber = primeAgencyNumber;
}
public Agency getPrimeAgency() {
return primeAgency;
}
public void setPrimeAgency(Agency primeAgency) {
this.primeAgency = primeAgency;
}
public String getAwardNumber() {
return awardNumber;
}
public void setAwardNumber(String awardNumber) {
this.awardNumber = awardNumber;
}
public String getGrantNumber() {
return grantNumber;
}
public void setGrantNumber(String grantNumber) {
this.grantNumber = grantNumber;
}
/**
* Gets the cfdaNumber attribute.
*
* @return Returns the cfdaNumber
*/
public String getCfdaNumber() {
return cfdaNumber;
}
/**
* Sets the cfdaNumber attribute.
*
* @param cfdaNumber The cfdaNumber to set.
*/
public void setCfdaNumber(String cfdaNumber) {
this.cfdaNumber = cfdaNumber;
}
@Override
public Date getAwardBeginningDate() {
return awardBeginningDate;
}
public void setAwardBeginningDate(Date awardBeginningDate) {
this.awardBeginningDate = awardBeginningDate;
}
@Override
public Date getAwardEndingDate() {
return awardEndingDate;
}
public void setAwardEndingDate(Date awardEndingDate) {
this.awardEndingDate = awardEndingDate;
}
@Override
public Date getLastBilledDate() {
return lastBilledDate;
}
public void setLastBilledDate(Date lastBilledDate) {
this.lastBilledDate = lastBilledDate;
}
@Override
public KualiDecimal getAwardTotalAmount() {
return awardTotalAmount;
}
public void setAwardTotalAmount(KualiDecimal awardTotalAmount) {
this.awardTotalAmount = awardTotalAmount;
}
@Override
public String getAwardAddendumNumber() {
return awardAddendumNumber;
}
public void setAwardAddendumNumber(String awardAddendumNumber) {
this.awardAddendumNumber = awardAddendumNumber;
}
@Override
public KualiDecimal getAwardAllocatedUniversityComputingServicesAmount() {
return awardAllocatedUniversityComputingServicesAmount;
}
public void setAwardAllocatedUniversityComputingServicesAmount(KualiDecimal awardAllocatedUniversityComputingServicesAmount) {
this.awardAllocatedUniversityComputingServicesAmount = awardAllocatedUniversityComputingServicesAmount;
}
@Override
public KualiDecimal getFederalPassThroughFundedAmount() {
return federalPassThroughFundedAmount;
}
public void setFederalPassThroughFundedAmount(KualiDecimal federalPassThroughFundedAmount) {
this.federalPassThroughFundedAmount = federalPassThroughFundedAmount;
}
@Override
public Date getAwardEntryDate() {
return awardEntryDate;
}
public void setAwardEntryDate(Date awardEntryDate) {
this.awardEntryDate = awardEntryDate;
}
@Override
public KualiDecimal getAgencyFuture1Amount() {
return agencyFuture1Amount;
}
public void setAgencyFuture1Amount(KualiDecimal agencyFuture1Amount) {
this.agencyFuture1Amount = agencyFuture1Amount;
}
@Override
public KualiDecimal getAgencyFuture2Amount() {
return agencyFuture2Amount;
}
public void setAgencyFuture2Amount(KualiDecimal agencyFuture2Amount) {
this.agencyFuture2Amount = agencyFuture2Amount;
}
@Override
public KualiDecimal getAgencyFuture3Amount() {
return agencyFuture3Amount;
}
public void setAgencyFuture3Amount(KualiDecimal agencyFuture3Amount) {
this.agencyFuture3Amount = agencyFuture3Amount;
}
@Override
public String getAwardDocumentNumber() {
return awardDocumentNumber;
}
public void setAwardDocumentNumber(String awardDocumentNumber) {
this.awardDocumentNumber = awardDocumentNumber;
}
@Override
public Timestamp getAwardLastUpdateDate() {
return awardLastUpdateDate;
}
public void setAwardLastUpdateDate(Timestamp awardLastUpdateDate) {
this.awardLastUpdateDate = awardLastUpdateDate;
}
public boolean isFederalPassThroughIndicator() {
return federalPassThroughIndicator;
}
@Override
public boolean getFederalPassThroughIndicator() {
return federalPassThroughIndicator;
}
public void setFederalPassThroughIndicator(boolean federalPassThroughIndicator) {
this.federalPassThroughIndicator = federalPassThroughIndicator;
}
@Override
public String getOldProposalNumber() {
return oldProposalNumber;
}
public void setOldProposalNumber(String oldProposalNumber) {
this.oldProposalNumber = oldProposalNumber;
}
@Override
public KualiDecimal getAwardDirectCostAmount() {
return awardDirectCostAmount;
}
public void setAwardDirectCostAmount(KualiDecimal awardDirectCostAmount) {
this.awardDirectCostAmount = awardDirectCostAmount;
}
@Override
public KualiDecimal getAwardIndirectCostAmount() {
return awardIndirectCostAmount;
}
public void setAwardIndirectCostAmount(KualiDecimal awardIndirectCostAmount) {
this.awardIndirectCostAmount = awardIndirectCostAmount;
}
@Override
public KualiDecimal getFederalFundedAmount() {
return federalFundedAmount;
}
public void setFederalFundedAmount(KualiDecimal federalFundedAmount) {
this.federalFundedAmount = federalFundedAmount;
}
@Override
public Timestamp getAwardCreateTimestamp() {
return awardCreateTimestamp;
}
public void setAwardCreateTimestamp(Timestamp awardCreateTimestamp) {
this.awardCreateTimestamp = awardCreateTimestamp;
}
@Override
public Date getAwardClosingDate() {
return awardClosingDate;
}
public void setAwardClosingDate(Date awardClosingDate) {
this.awardClosingDate = awardClosingDate;
}
@Override
public String getProposalAwardTypeCode() {
return proposalAwardTypeCode;
}
public void setProposalAwardTypeCode(String proposalAwardTypeCode) {
this.proposalAwardTypeCode = proposalAwardTypeCode;
}
@Override
public String getAwardStatusCode() {
return awardStatusCode;
}
public void setAwardStatusCode(String awardStatusCode) {
this.awardStatusCode = awardStatusCode;
}
@Override
public String getLetterOfCreditFundCode() {
return letterOfCreditFundCode;
}
public void setLetterOfCreditFundCode(String letterOfCreditFundCode) {
this.letterOfCreditFundCode = letterOfCreditFundCode;
}
@Override
public String getGrantDescriptionCode() {
return grantDescriptionCode;
}
public void setGrantDescriptionCode(String grantDescriptionCode) {
this.grantDescriptionCode = grantDescriptionCode;
}
@Override
public String getFederalPassThroughAgencyNumber() {
return federalPassThroughAgencyNumber;
}
public void setFederalPassThroughAgencyNumber(String federalPassThroughAgencyNumber) {
this.federalPassThroughAgencyNumber = federalPassThroughAgencyNumber;
}
@Override
public String getAgencyAnalystName() {
return agencyAnalystName;
}
public void setAgencyAnalystName(String agencyAnalystName) {
this.agencyAnalystName = agencyAnalystName;
}
@Override
public String getAnalystTelephoneNumber() {
return analystTelephoneNumber;
}
public void setAnalystTelephoneNumber(String analystTelephoneNumber) {
this.analystTelephoneNumber = analystTelephoneNumber;
}
@Override
public String getBillingFrequencyCode() {
return billingFrequencyCode;
}
public void setBillingFrequencyCode(String billingFrequencyCode) {
this.billingFrequencyCode = billingFrequencyCode;
}
@Override
public String getAwardProjectTitle() {
return awardProjectTitle;
}
public void setAwardProjectTitle(String awardProjectTitle) {
this.awardProjectTitle = awardProjectTitle;
}
@Override
public String getAwardPurposeCode() {
return awardPurposeCode;
}
public void setAwardPurposeCode(String awardPurposeCode) {
this.awardPurposeCode = awardPurposeCode;
}
@Override
public boolean isActive() {
return active;
}
public void setActive(boolean active) {
this.active = active;
}
@Override
public String getKimGroupNames() {
return kimGroupNames;
}
public void setKimGroupNames(String kimGroupNames) {
this.kimGroupNames = kimGroupNames;
}
@Override
public String getRoutingOrg() {
return routingOrg;
}
public void setRoutingOrg(String routingOrg) {
this.routingOrg = routingOrg;
}
@Override
public String getRoutingChart() {
return routingChart;
}
public void setRoutingChart(String routingChart) {
this.routingChart = routingChart;
}
@Override
public boolean isAdditionalFormsRequiredIndicator() {
return additionalFormsRequiredIndicator;
}
public void setAdditionalFormsRequiredIndicator(boolean additionalFormsRequiredIndicator) {
this.additionalFormsRequiredIndicator = additionalFormsRequiredIndicator;
}
@Override
public String getAdditionalFormsDescription() {
return additionalFormsDescription;
}
public void setAdditionalFormsDescription(String additionalFormsDescription) {
this.additionalFormsDescription = additionalFormsDescription;
}
@Override
public String getExcludedFromInvoicingReason() {
return excludedFromInvoicingReason;
}
public void setExcludedFromInvoicingReason(String excludedFromInvoicingReason) {
this.excludedFromInvoicingReason = excludedFromInvoicingReason;
}
@Override
public String getInstrumentTypeCode() {
return instrumentTypeCode;
}
public void setInstrumentTypeCode(String instrumentTypeCode) {
this.instrumentTypeCode = instrumentTypeCode;
}
@Override
public String getInvoicingOptionCode() {
return invoicingOptionCode;
}
public void setInvoicingOptionCode(String invoicingOptionCode) {
this.invoicingOptionCode = invoicingOptionCode;
}
@Override
public KualiDecimal getMinInvoiceAmount() {
return minInvoiceAmount;
}
public void setMinInvoiceAmount(KualiDecimal minInvoiceAmount) {
this.minInvoiceAmount = minInvoiceAmount;
}
public boolean isAutoApproveIndicator() {
return autoApproveIndicator;
}
@Override
public boolean getAutoApproveIndicator() {
return autoApproveIndicator;
}
public void setAutoApproveIndicator(boolean autoApproveIndicator) {
this.autoApproveIndicator = autoApproveIndicator;
}
@Override
public String getLookupPersonUniversalIdentifier() {
return lookupPersonUniversalIdentifier;
}
public void setLookupPersonUniversalIdentifier(String lookupPersonUniversalIdentifier) {
this.lookupPersonUniversalIdentifier = lookupPersonUniversalIdentifier;
}
@Override
public Person getLookupPerson() {
return lookupPerson;
}
public void setLookupPerson(Person lookupPerson) {
this.lookupPerson = lookupPerson;
}
@Override
public String getLookupFundMgrPersonUniversalIdentifier() {
return lookupFundMgrPersonUniversalIdentifier;
}
public void setLookupFundMgrPersonUniversalIdentifier(String lookupFundMgrPersonUniversalIdentifier) {
this.lookupFundMgrPersonUniversalIdentifier = lookupFundMgrPersonUniversalIdentifier;
}
@Override
public Person getLookupFundMgrPerson() {
return lookupFundMgrPerson;
}
public void setLookupFundMgrPerson(Person lookupFundMgrPerson) {
this.lookupFundMgrPerson = lookupFundMgrPerson;
}
@Override
public String getUserLookupRoleNamespaceCode() {
return userLookupRoleNamespaceCode;
}
public void setUserLookupRoleNamespaceCode(String userLookupRoleNamespaceCode) {
this.userLookupRoleNamespaceCode = userLookupRoleNamespaceCode;
}
@Override
public ContractsAndGrantsLetterOfCreditFund getLetterOfCreditFund() {
return letterOfCreditFund;
}
@Override
public void setLetterOfCreditFund(ContractsAndGrantsLetterOfCreditFund letterOfCreditFund) {
this.letterOfCreditFund = letterOfCreditFund;
}
@Override
public String getUserLookupRoleName() {
return userLookupRoleName;
}
public void setUserLookupRoleName(String userLookupRoleName) {
this.userLookupRoleName = userLookupRoleName;
}
@Override
public AwardFundManager getAwardPrimaryFundManager() {
return awardPrimaryFundManager;
}
public void setAwardPrimaryFundManager(AwardFundManager awardPrimaryFundManager) {
this.awardPrimaryFundManager = awardPrimaryFundManager;
}
@Override
public ContractsAndGrantsBillingFrequency getBillingFrequency() {
return billingFrequency;
}
public void setBillingFrequency(ContractsAndGrantsBillingFrequency billingFrequency) {
this.billingFrequency = billingFrequency;
}
@Override
public ContractsAndGrantsProjectDirector getAwardPrimaryProjectDirector() {
return awardPrimaryProjectDirector;
}
public void setAwardPrimaryProjectDirector(ContractsAndGrantsProjectDirector awardPrimaryProjectDirector) {
this.awardPrimaryProjectDirector = awardPrimaryProjectDirector;
}
@Override
public ContractsAndGrantsOrganization getPrimaryAwardOrganization() {
return primaryAwardOrganization;
}
public void setPrimaryAwardOrganization(ContractsAndGrantsOrganization primaryAwardOrganization) {
this.primaryAwardOrganization = primaryAwardOrganization;
}
@Override
public Date getFundingExpirationDate() {
return fundingExpirationDate;
}
public void setFundingExpirationDate(Date fundingExpirationDate) {
this.fundingExpirationDate = fundingExpirationDate;
}
@Override
public String getDunningCampaign() {
return dunningCampaign;
}
public void setDunningCampaign(String dunningCampaign) {
this.dunningCampaign = dunningCampaign;
}
@Override
public boolean isStopWorkIndicator() {
return stopWorkIndicator;
}
public void setStopWorkIndicator(boolean stopWorkIndicator) {
this.stopWorkIndicator = stopWorkIndicator;
}
@Override
public String getStopWorkReason() {
return stopWorkReason;
}
public void setStopWorkReason(String stopWorkReason) {
this.stopWorkReason = stopWorkReason;
}
@Override
public List<ContractsAndGrantsBillingAwardAccount> getActiveAwardAccounts() {
return activeAwardAccounts;
}
public void setActiveAwardAccounts(List<ContractsAndGrantsBillingAwardAccount> activeAwardAccounts) {
this.activeAwardAccounts = activeAwardAccounts;
}
@Override
public boolean isStateTransferIndicator() {
return stateTransferIndicator;
}
public void setStateTransferIndicator(boolean stateTransferIndicator) {
this.stateTransferIndicator = stateTransferIndicator;
}
@Override
public boolean isExcludedFromInvoicing() {
return excludedFromInvoicing;
}
public void setExcludedFromInvoicing(boolean excludedFromInvoicing) {
this.excludedFromInvoicing = excludedFromInvoicing;
}
@Override
public String getInvoicingOptionDescription() {
return invoicingOptionDescription;
}
public void setInvoicingOptionDescription(String invoicingOptionDescription) {
this.invoicingOptionDescription = invoicingOptionDescription;
}
}