001/*
002 * The Kuali Financial System, a comprehensive financial management system for higher education.
003 * 
004 * Copyright 2005-2014 The Kuali Foundation
005 * 
006 * This program is free software: you can redistribute it and/or modify
007 * it under the terms of the GNU Affero General Public License as
008 * published by the Free Software Foundation, either version 3 of the
009 * License, or (at your option) any later version.
010 * 
011 * This program is distributed in the hope that it will be useful,
012 * but WITHOUT ANY WARRANTY; without even the implied warranty of
013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
014 * GNU Affero General Public License for more details.
015 * 
016 * You should have received a copy of the GNU Affero General Public License
017 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
018 */
019package org.kuali.kfs.module.ar.businessobject;
020
021import java.sql.Date;
022import java.util.LinkedHashMap;
023
024import org.kuali.kfs.coa.businessobject.Account;
025import org.kuali.kfs.coa.businessobject.Chart;
026import org.kuali.kfs.integration.cg.ContractsAndGrantsAward;
027import org.kuali.kfs.sys.KFSPropertyConstants;
028import org.kuali.rice.core.api.mo.common.active.MutableInactivatable;
029import org.kuali.rice.core.api.util.type.KualiDecimal;
030import org.kuali.rice.krad.bo.TransientBusinessObjectBase;
031
032/**
033 * Milestone Report
034 */
035public class ContractsGrantsMilestoneReport extends TransientBusinessObjectBase implements MutableInactivatable {
036
037    private Long proposalNumber;
038    private String chartOfAccountsCode;
039    private String accountNumber;
040    private Long milestoneNumber;
041    private KualiDecimal milestoneAmount;
042    private Date milestoneExpectedCompletionDate;
043    private boolean billed = false;
044    private boolean active;
045    private ContractsAndGrantsAward award;
046    private Account account;
047    private Chart chart;
048
049    /**
050     * Gets the proposalNumber attribute.
051     *
052     * @return Returns the proposalNumber.
053     */
054    public Long getProposalNumber() {
055        return proposalNumber;
056    }
057
058    /**
059     * Sets the proposalNumber attribute value.
060     *
061     * @param proposalNumber The proposalNumber to set.
062     */
063    public void setProposalNumber(Long proposalNumber) {
064        this.proposalNumber = proposalNumber;
065    }
066
067    /**
068     * Gets the milestoneNumber attribute.
069     *
070     * @return Returns the milestoneNumber.
071     */
072    public Long getMilestoneNumber() {
073        return milestoneNumber;
074    }
075
076    /**
077     * Sets the milestoneNumber attribute value.
078     *
079     * @param milestoneNumber The milestoneNumber to set.
080     */
081    public void setMilestoneNumber(Long milestoneNumber) {
082        this.milestoneNumber = milestoneNumber;
083    }
084
085    /**
086     * Gets the milestoneAmount attribute.
087     *
088     * @return Returns the milestoneAmount.
089     */
090    public KualiDecimal getMilestoneAmount() {
091        return milestoneAmount;
092    }
093
094    /**
095     * Sets the milestoneAmount attribute value.
096     *
097     * @param milestoneAmount The milestoneAmount to set.
098     */
099    public void setMilestoneAmount(KualiDecimal milestoneAmount) {
100        this.milestoneAmount = milestoneAmount;
101    }
102
103    public boolean isBilled() {
104        return billed;
105    }
106
107    public void setBilled(boolean billed) {
108        this.billed = billed;
109    }
110
111    @Override
112    public boolean isActive() {
113        return active;
114    }
115
116    @Override
117    public void setActive(boolean active) {
118        this.active = active;
119    }
120
121    /**
122     * Gets the milestoneExpectedCompletionDate attribute.
123     *
124     * @return Returns the milestoneExpectedCompletionDate.
125     */
126    public Date getMilestoneExpectedCompletionDate() {
127        return milestoneExpectedCompletionDate;
128    }
129
130    /**
131     * Sets the milestoneExpectedCompletionDate attribute value.
132     *
133     * @param milestoneExpectedCompletionDate The milestoneExpectedCompletionDate to set.
134     */
135    public void setMilestoneExpectedCompletionDate(Date milestoneExpectedCompletionDate) {
136        this.milestoneExpectedCompletionDate = milestoneExpectedCompletionDate;
137    }
138
139    /**
140     * Gets the accountNumber attribute.
141     *
142     * @return Returns the accountNumber.
143     */
144    public String getAccountNumber() {
145        return accountNumber;
146    }
147
148    /**
149     * Sets the accountNumber attribute value.
150     *
151     * @param accountNumber The accountNumber to set.
152     */
153    public void setAccountNumber(String accountNumber) {
154        this.accountNumber = accountNumber;
155    }
156
157
158    /**
159     * Gets the award attribute.
160     *
161     * @return Returns the award
162     */
163
164    public ContractsAndGrantsAward getAward() {
165        return award;
166    }
167
168    /**
169     * Sets the award attribute.
170     *
171     * @param award The award to set.
172     */
173    public void setAward(ContractsAndGrantsAward award) {
174        this.award = award;
175    }
176
177    /**
178     * Gets the account attribute.
179     *
180     * @return Returns the account
181     */
182
183    public Account getAccount() {
184        return account;
185    }
186
187    /**
188     * Sets the account attribute.
189     *
190     * @param account The account to set.
191     */
192    public void setAccount(Account account) {
193        this.account = account;
194    }
195
196
197    /**
198     * Gets the chart attribute.
199     *
200     * @return Returns the chart
201     */
202
203    public Chart getChart() {
204        return chart;
205    }
206
207    /**
208     * Sets the chart attribute.
209     *
210     * @param chart The chart to set.
211     */
212    public void setChart(Chart chart) {
213        this.chart = chart;
214    }
215
216    /**
217     * Gets the chartOfAccountsCode attribute.
218     *
219     * @return Returns the chartOfAccountsCode
220     */
221
222    public String getChartOfAccountsCode() {
223        return chartOfAccountsCode;
224    }
225
226    /**
227     * Sets the chartOfAccountsCode attribute.
228     *
229     * @param chartOfAccountsCode The chartOfAccountsCode to set.
230     */
231    public void setChartOfAccountsCode(String chartOfAccountsCode) {
232        this.chartOfAccountsCode = chartOfAccountsCode;
233    }
234
235    /**
236     * @see org.kuali.rice.krad.bo.BusinessObjectBase#toStringMapper()
237     */
238    protected LinkedHashMap toStringMapper_RICE20_REFACTORME() {
239        LinkedHashMap m = new LinkedHashMap();
240        if (this.proposalNumber != null) {
241            m.put(KFSPropertyConstants.PROPOSAL_NUMBER, this.proposalNumber.toString());
242        }
243        if (this.milestoneNumber != null) {
244            m.put("milestoneNumber", this.milestoneNumber.toString());
245        }
246        if (this.milestoneAmount != null) {
247            m.put("milestoneAmount", this.milestoneAmount.toString());
248        }
249        if (this.milestoneExpectedCompletionDate != null) {
250            m.put("milestoneExpectedCompletionDate", this.milestoneExpectedCompletionDate.toString());
251        }
252        m.put(KFSPropertyConstants.ACCOUNT_NUMBER, this.accountNumber);
253        m.put("billed", this.billed);
254        return m;
255    }
256
257
258}