/* * 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.cg.document; import java.sql.Date; import java.util.LinkedHashMap; import org.kuali.kfs.sys.KFSConstants; import org.kuali.kfs.sys.context.SpringContext; import org.kuali.kfs.sys.document.FinancialSystemTransactionalDocumentBase; import org.kuali.rice.kim.api.identity.Person; /** * Instances of this class are used to signal to the CloseBatchStep that a close should occur on a particular day. */ public class ProposalAwardCloseDocument extends FinancialSystemTransactionalDocumentBase { protected Date closeOnOrBeforeDate; protected Date userInitiatedCloseDate; protected Long awardClosedCount; protected Long proposalClosedCount; protected String principalName; protected Person personUser; /** * @return whether or not this document has been approved. */ public boolean isApproved() { return KFSConstants.DocumentStatusCodes.APPROVED.equals(getFinancialSystemDocumentHeader().getFinancialDocumentStatusCode()); } /** * Gets the closeOnOrBeforeDate attribute. * * @return Returns the closeOnOrBeforeDate */ public Date getCloseOnOrBeforeDate() { return closeOnOrBeforeDate; } /** * Sets the closeOnOrBeforeDate attribute. * * @param closeOnOrBeforeDate The closeOnOrBeforeDate to set. */ public void setCloseOnOrBeforeDate(Date closeOnOrBeforeDate) { this.closeOnOrBeforeDate = closeOnOrBeforeDate; } /** * Gets the awardClosedCount attribute. * * @return Returns the awardClosedCount */ public Long getAwardClosedCount() { return awardClosedCount; } /** * Sets the awardClosedCount attribute. * * @param awardClosedCount The awardClosedCount to set. */ public void setAwardClosedCount(Long awardClosedCount) { this.awardClosedCount = awardClosedCount; } /** * Gets the proposalClosedCount attribute. * * @return Returns the proposalClosedCount */ public Long getProposalClosedCount() { return proposalClosedCount; } /** * Sets the proposalClosedCount attribute. * * @param proposalClosedCount The proposalClosedCount to set. */ public void setProposalClosedCount(Long proposalClosedCount) { this.proposalClosedCount = proposalClosedCount; } /** * Gets the principalName attribute. * * @return Returns the principalName */ public String getPrincipalName() { return principalName; } /** * Sets the principalName attribute. * * @param principalName The principalName to set. */ public void setPrincipalName(String principalName) { this.principalName = principalName; } /** * Gets the userInitiatedCloseDate attribute. * * @return Returns the userInitiatedCloseDate */ public Date getUserInitiatedCloseDate() { return userInitiatedCloseDate; } /** * Sets the userInitiatedCloseDate attribute. * * @param userInitiatedCloseDate The userInitiatedCloseDate to set. */ public void setUserInitiatedCloseDate(Date userInitiatedCloseDate) { this.userInitiatedCloseDate = userInitiatedCloseDate; } /** * @return the {@link Person} for the personUser */ public Person getPersonUser() { personUser = SpringContext.getBean(org.kuali.rice.kim.api.identity.PersonService.class).updatePersonIfNecessary(principalName, personUser); return personUser; } /** * @param personUser The personUser to set. * @deprecated */ @Deprecated public void setPersonUser(Person personUser) { this.personUser = personUser; } /** * @see org.kuali.rice.krad.bo.BusinessObjectBase#toStringMapper() */ protected LinkedHashMap toStringMapper_RICE20_REFACTORME() { LinkedHashMap m = new LinkedHashMap(); if (this.documentNumber != null) { m.put("documentNumber", this.documentNumber.toString()); } return m; } }