/*
* 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.ar.businessobject;
import java.sql.Date;
import java.util.ArrayList;
import java.util.Collection;
import java.util.LinkedHashMap;
import java.util.List;
import org.kuali.kfs.integration.cg.ContractsAndGrantsBillingAgency;
import org.kuali.kfs.integration.cg.ContractsAndGrantsBillingAward;
import org.kuali.kfs.integration.cg.ContractsAndGrantsBillingFrequency;
import org.kuali.kfs.module.ar.ArPropertyConstants;
import org.kuali.kfs.sys.KFSPropertyConstants;
import org.kuali.kfs.sys.context.SpringContext;
import org.kuali.rice.core.api.util.type.KualiDecimal;
import org.kuali.rice.krad.bo.TransientBusinessObjectBase;
import org.kuali.rice.krad.service.KualiModuleService;
/**
* Defines an entry in the Contracts & Grants Invoice Lookup Result.
*/
public class ContractsGrantsInvoiceLookupResult extends TransientBusinessObjectBase {
private Long proposalNumber;
private String agencyNumber;
private String customerNumber;
private String accountNumber;
private String agencyReportingName;
private String agencyFullName;
private Date awardBeginningDate;
private Date awardEndingDate;
private String awardBillingFrequency;
private KualiDecimal awardTotal = KualiDecimal.ZERO;
private Collection<ContractsAndGrantsBillingAward> awards;
private ContractsAndGrantsBillingAgency agency;
private ContractsAndGrantsBillingFrequency billingFrequency;
private Customer customer;
/**
* Gets the proposalNumber attribute.
*
* @return Returns the proposalNumber.
*/
public Long getProposalNumber() {
return proposalNumber;
}
/**
* Sets the proposalNumber attribute value.
*
* @param proposalNumber The proposalNumber to set.
*/
public void setProposalNumber(Long proposalNumber) {
this.proposalNumber = proposalNumber;
}
/**
* Gets the awardBeginningDate attribute.
*
* @return Returns the awardBeginningDate.
*/
public Date getAwardBeginningDate() {
return awardBeginningDate;
}
/**
* Sets the awardBeginningDate attribute value.
*
* @param awardBeginningDate The awardBeginningDate to set.
*/
public void setAwardBeginningDate(Date awardBeginningDate) {
this.awardBeginningDate = awardBeginningDate;
}
/**
* Gets the awardEndingDate attribute.
*
* @return Returns the awardEndingDate.
*/
public Date getAwardEndingDate() {
return awardEndingDate;
}
/**
* Sets the awardEndingDate attribute value.
*
* @param awardEndingDate The awardEndingDate to set.
*/
public void setAwardEndingDate(Date awardEndingDate) {
this.awardEndingDate = awardEndingDate;
}
/**
* Gets the accountNumber attribute.
*
* @return Returns the accountNumber.
*/
public String getAccountNumber() {
return accountNumber;
}
/**
* Sets the accountNumber attribute value.
*
* @param accountNumber The accountNumber to set.
*/
public void setAccountNumber(String accountNumber) {
this.accountNumber = accountNumber;
}
/**
* Gets the awardBillingFrequency attribute.
*
* @return Returns the awardBillingFrequency.
*/
public String getAwardBillingFrequency() {
return awardBillingFrequency;
}
/**
* Sets the awardBillingFrequency attribute value.
*
* @param awardBillingFrequency The awardBillingFrequency to set.
*/
public void setAwardBillingFrequency(String awardBillingFrequency) {
this.awardBillingFrequency = awardBillingFrequency;
}
/**
* Gets the awardTotal attribute.
*
* @return Returns the awardTotal.
*/
public KualiDecimal getAwardTotal() {
return awardTotal;
}
/**
* Sets the awardTotal attribute value.
*
* @param awardTotal The awardTotal to set.
*/
public void setAwardTotal(KualiDecimal awardTotal) {
this.awardTotal = awardTotal;
}
/**
* Gets the awards attribute.
*
* @return Returns the awards.
*/
public Collection<ContractsAndGrantsBillingAward> getAwards() {
return awards;
}
/**
* Sets the awards attribute value.
*
* @param awards The awards to set.
*/
public void setAwards(Collection awards) {
this.awards = awards;
}
/**
* Gets the billingFrequency attribute.
*
* @return Returns the billingFrequency.
*/
public ContractsAndGrantsBillingFrequency getBillingFrequency() {
return billingFrequency = SpringContext.getBean(KualiModuleService.class).getResponsibleModuleService(ContractsAndGrantsBillingFrequency.class).retrieveExternalizableBusinessObjectIfNecessary(this, billingFrequency, ArPropertyConstants.BILLING_FREQUENCY);
}
/**
* Sets the billingFrequency attribute value.
*
* @param billingFrequency The billingFrequency to set.
*/
public void setBillingFrequency(ContractsAndGrantsBillingFrequency billingFrequency) {
this.billingFrequency = billingFrequency;
}
/**
* Gets the agencyNumber attribute.
*
* @return Returns the agencyNumber.
*/
public String getAgencyNumber() {
return agencyNumber;
}
/**
* Sets the agencyNumber attribute value.
*
* @param agencyNumber The agencyNumber to set.
*/
public void setAgencyNumber(String agencyNumber) {
this.agencyNumber = agencyNumber;
}
/**
* Gets the customerNumber attribute.
*
* @return Returns the customerNumber.
*/
public String getCustomerNumber() {
return customerNumber;
}
/**
* Sets the customerNumber attribute value.
*
* @param customerNumber The customerNumber to set.
*/
public void setCustomerNumber(String customerNumber) {
this.customerNumber = customerNumber;
}
/**
* Gets the agencyReportingName attribute.
*
* @return Returns the agencyReportingName.
*/
public String getAgencyReportingName() {
return agencyReportingName;
}
/**
* Sets the agencyReportingName attribute value.
*
* @param agencyReportingName The agencyReportingName to set.
*/
public void setAgencyReportingName(String agencyReportingName) {
this.agencyReportingName = agencyReportingName;
}
/**
* Gets the agencyFullName attribute.
*
* @return Returns the agencyFullName.
*/
public String getAgencyFullName() {
return agencyFullName;
}
/**
* Sets the agencyFullName attribute value.
*
* @param agencyFullName The agencyFullName to set.
*/
public void setAgencyFullName(String agencyFullName) {
this.agencyFullName = agencyFullName;
}
public ContractsAndGrantsBillingAgency getAgency() {
return agency;
}
public void setAgency(ContractsAndGrantsBillingAgency agency) {
this.agency = agency;
}
public Customer getCustomer() {
return customer;
}
public void setCustomer(Customer customer) {
this.customer = customer;
}
protected LinkedHashMap toStringMapper_RICE20_REFACTORME() {
LinkedHashMap<String, String> m = new LinkedHashMap<String, String>();
if (this.proposalNumber != null) {
m.put(KFSPropertyConstants.PROPOSAL_NUMBER, this.proposalNumber.toString());
}
if (this.awardBeginningDate != null) {
m.put("awardBeginningDate", this.awardBeginningDate.toString());
}
if (this.awardEndingDate != null) {
m.put("awardEndingDate", this.awardEndingDate.toString());
}
if (this.awardTotal != null) {
m.put("awardTotal", this.awardTotal.toString());
}
m.put(KFSPropertyConstants.AGENCY_NUMBER, this.agencyNumber);
m.put(KFSPropertyConstants.CUSTOMER_NUMBER, this.customerNumber);
m.put(KFSPropertyConstants.ACCOUNT_NUMBER, this.accountNumber);
m.put("agencyReportingName", this.agencyReportingName);
m.put("agencyFullName", this.agencyFullName);
m.put("awardBillingFrequency", this.awardBillingFrequency);
return m;
}
public List<String> getAwardAttributesForDisplay() {
List<String> awardAttributesForDisplay = new ArrayList<String>();
awardAttributesForDisplay.add(KFSPropertyConstants.PROPOSAL_NUMBER);
awardAttributesForDisplay.add(KFSPropertyConstants.AWARD_BEGINNING_DATE);
awardAttributesForDisplay.add(KFSPropertyConstants.AWARD_ENDING_DATE);
awardAttributesForDisplay.add(ArPropertyConstants.BILLING_FREQUENCY_CODE);
awardAttributesForDisplay.add(ArPropertyConstants.INSTRUMENT_TYPE_CODE);
awardAttributesForDisplay.add(ArPropertyConstants.INVOICING_OPTION_DESCRIPTION);
awardAttributesForDisplay.add(KFSPropertyConstants.AWARD_TOTAL_AMOUNT);
return awardAttributesForDisplay;
}
}