/*
* 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.math.BigDecimal;
import java.sql.Date;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
import org.kuali.kfs.integration.cg.ContractsAndGrantsAward;
import org.kuali.kfs.module.ar.ArConstants;
import org.kuali.kfs.sys.context.SpringContext;
import org.kuali.rice.kim.api.identity.Person;
import org.kuali.rice.kim.api.identity.PersonService;
import org.kuali.rice.krad.bo.PersistableBusinessObjectBase;
/**
* Defines a Contracts & Grants Billing Invoice Document Error Log entry.
*/
public class ContractsGrantsInvoiceDocumentErrorLog extends PersistableBusinessObjectBase {
private Long proposalNumber;
private Long errorLogIdentifier;
private String accounts;
private Date awardBeginningDate;
private Date awardEndingDate;
private BigDecimal awardTotalAmount;
private BigDecimal cumulativeExpensesAmount;
private Timestamp errorDate;
private String creationProcessTypeCode;
private String batchForReport;
private String primaryFundManagerPrincipalId;
private String primaryFundManagerName;
private List<ContractsGrantsInvoiceDocumentErrorMessage> errorMessages;
private ContractsAndGrantsAward award;
private Person awardPrimaryFundManager;
public ContractsGrantsInvoiceDocumentErrorLog() {
errorMessages = new ArrayList<ContractsGrantsInvoiceDocumentErrorMessage>();
}
public Long getProposalNumber() {
return proposalNumber;
}
public void setProposalNumber(Long proposalNumber) {
this.proposalNumber = proposalNumber;
}
public Long getErrorLogIdentifier() {
return errorLogIdentifier;
}
public void setErrorLogIdentifier(Long errorLogIdentifier) {
this.errorLogIdentifier = errorLogIdentifier;
}
public String getAccounts() {
return accounts;
}
public void setAccounts(String accounts) {
this.accounts = accounts;
}
public Date getAwardBeginningDate() {
return awardBeginningDate;
}
public void setAwardBeginningDate(Date awardBeginningDate) {
this.awardBeginningDate = awardBeginningDate;
}
public Date getAwardEndingDate() {
return awardEndingDate;
}
public void setAwardEndingDate(Date awardEndingDate) {
this.awardEndingDate = awardEndingDate;
}
public BigDecimal getAwardTotalAmount() {
return awardTotalAmount;
}
public void setAwardTotalAmount(BigDecimal awardTotalAmount) {
this.awardTotalAmount = awardTotalAmount;
}
public BigDecimal getCumulativeExpensesAmount() {
return cumulativeExpensesAmount;
}
public void setCumulativeExpensesAmount(BigDecimal cumulativeExpensesAmount) {
this.cumulativeExpensesAmount = cumulativeExpensesAmount;
}
public Timestamp getErrorDate() {
return errorDate;
}
public void setErrorDate(Timestamp errorDate) {
this.errorDate = errorDate;
}
public String getPrimaryFundManagerPrincipalName() {
return getAwardPrimaryFundManager().getPrincipalName();
}
public String getPrimaryFundManagerPrincipalId() {
return primaryFundManagerPrincipalId;
}
public void setPrimaryFundManagerPrincipalId(String primaryFundManagerPrincipalId) {
this.primaryFundManagerPrincipalId = primaryFundManagerPrincipalId;
}
public String getPrimaryFundManagerName() {
return primaryFundManagerName;
}
public void setPrimaryFundManagerName(String primaryFundManagerName) {
this.primaryFundManagerName = primaryFundManagerName;
}
public String getCreationProcessTypeCode() {
return creationProcessTypeCode;
}
public void setCreationProcessTypeCode(String creationProcessTypeCode) {
this.creationProcessTypeCode = creationProcessTypeCode;
}
public String getCreationProcessTypeName() {
return ArConstants.ContractsAndGrantsInvoiceDocumentCreationProcessType.getName(creationProcessTypeCode);
}
public List<ContractsGrantsInvoiceDocumentErrorMessage> getErrorMessages() {
return errorMessages;
}
public void setErrorMessages(List<ContractsGrantsInvoiceDocumentErrorMessage> errorMesssages) {
this.errorMessages = errorMesssages;
}
public ContractsAndGrantsAward getAward() {
return award;
}
public void setAward(ContractsAndGrantsAward award) {
this.award = award;
}
public Person getAwardPrimaryFundManager() {
awardPrimaryFundManager = SpringContext.getBean(PersonService.class).updatePersonIfNecessary(primaryFundManagerPrincipalId, awardPrimaryFundManager);
return awardPrimaryFundManager;
}
public void setAwardPrimaryFundManager(Person awardPrimaryFundManager) {
this.awardPrimaryFundManager = awardPrimaryFundManager;
}
}