001    /*
002     * Copyright 2011 The Kuali Foundation.
003     * 
004     * Licensed under the Educational Community License, Version 2.0 (the "License");
005     * you may not use this file except in compliance with the License.
006     * You may obtain a copy of the License at
007     * 
008     * http://www.opensource.org/licenses/ecl2.php
009     * 
010     * Unless required by applicable law or agreed to in writing, software
011     * distributed under the License is distributed on an "AS IS" BASIS,
012     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013     * See the License for the specific language governing permissions and
014     * limitations under the License.
015     */
016    package org.kuali.kfs.module.ar.businessobject;
017    
018    import java.util.ArrayList;
019    import java.util.LinkedHashMap;
020    import java.util.List;
021    
022    import org.kuali.kfs.coa.businessobject.Account;
023    import org.kuali.kfs.coa.businessobject.Chart;
024    import org.kuali.kfs.coa.businessobject.ObjectCode;
025    import org.kuali.kfs.coa.businessobject.ProjectCode;
026    import org.kuali.kfs.coa.businessobject.SubAccount;
027    import org.kuali.kfs.coa.businessobject.SubObjectCode;
028    import org.kuali.rice.kns.bo.PersistableBusinessObjectBase;
029    import org.kuali.rice.kns.util.KualiDecimal;
030    
031    /**
032     * @author Kuali Nervous System Team (kualidev@oncourse.iu.edu)
033     */
034    public class NonInvoiced extends PersistableBusinessObjectBase {
035    
036            private String documentNumber;
037            private Integer financialDocumentLineNumber;
038            private Integer financialDocumentPostingYear;
039            private String chartOfAccountsCode;
040            private String accountNumber;
041            private String subAccountNumber;
042            private String financialObjectCode;
043            private String financialSubObjectCode;
044            private String projectCode;
045            private KualiDecimal financialDocumentLineAmount;
046            private String financialDocumentOverrideCode;
047        private KualiDecimal nonInvoicedDistributionAmount = KualiDecimal.ZERO;
048    
049        private AccountsReceivableDocumentHeader accountsReceivableDocumentHeader;
050        private ObjectCode financialObject;
051            private SubAccount subAccount;
052            private Chart chartOfAccounts;
053            private SubObjectCode financialSubObject;
054            private Account account;
055            private ProjectCode project;
056    
057    
058        List<NonInvoicedDistribution> nonInvoicedDistributions;
059        
060            /**
061             * Default constructor.
062             */
063            public NonInvoiced() {
064            nonInvoicedDistributions = new ArrayList<NonInvoicedDistribution>();
065            
066            }
067    
068            /**
069             * Gets the documentNumber attribute.
070             * 
071             * @return Returns the documentNumber
072             * 
073             */
074            public String getDocumentNumber() { 
075                    return documentNumber;
076            }
077    
078            /**
079             * Sets the documentNumber attribute.
080             * 
081             * @param documentNumber The documentNumber to set.
082             * 
083             */
084            public void setDocumentNumber(String documentNumber) {
085                    this.documentNumber = documentNumber;
086            }
087    
088    
089            /**
090             * Gets the financialDocumentLineNumber attribute.
091             * 
092             * @return Returns the financialDocumentLineNumber
093             * 
094             */
095            public Integer getFinancialDocumentLineNumber() { 
096                    return financialDocumentLineNumber;
097            }
098    
099            /**
100             * Sets the financialDocumentLineNumber attribute.
101             * 
102             * @param financialDocumentLineNumber The financialDocumentLineNumber to set.
103             * 
104             */
105            public void setFinancialDocumentLineNumber(Integer financialDocumentLineNumber) {
106                    this.financialDocumentLineNumber = financialDocumentLineNumber;
107            }
108    
109    
110            /**
111             * Gets the financialDocumentPostingYear attribute.
112             * 
113             * @return Returns the financialDocumentPostingYear
114             * 
115             */
116            public Integer getFinancialDocumentPostingYear() { 
117                    return financialDocumentPostingYear;
118            }
119    
120            /**
121             * Sets the financialDocumentPostingYear attribute.
122             * 
123             * @param financialDocumentPostingYear The financialDocumentPostingYear to set.
124             * 
125             */
126            public void setFinancialDocumentPostingYear(Integer financialDocumentPostingYear) {
127                    this.financialDocumentPostingYear = financialDocumentPostingYear;
128            }
129    
130    
131            /**
132             * Gets the chartOfAccountsCode attribute.
133             * 
134             * @return Returns the chartOfAccountsCode
135             * 
136             */
137            public String getChartOfAccountsCode() { 
138                    return chartOfAccountsCode;
139            }
140    
141            /**
142             * Sets the chartOfAccountsCode attribute.
143             * 
144             * @param chartOfAccountsCode The chartOfAccountsCode to set.
145             * 
146             */
147            public void setChartOfAccountsCode(String chartOfAccountsCode) {
148                    this.chartOfAccountsCode = chartOfAccountsCode;
149            }
150    
151    
152            /**
153             * Gets the accountNumber attribute.
154             * 
155             * @return Returns the accountNumber
156             * 
157             */
158            public String getAccountNumber() { 
159                    return accountNumber;
160            }
161    
162            /**
163             * Sets the accountNumber attribute.
164             * 
165             * @param accountNumber The accountNumber to set.
166             * 
167             */
168            public void setAccountNumber(String accountNumber) {
169                    this.accountNumber = accountNumber;
170            }
171    
172    
173            /**
174             * Gets the subAccountNumber attribute.
175             * 
176             * @return Returns the subAccountNumber
177             * 
178             */
179            public String getSubAccountNumber() { 
180                    return subAccountNumber;
181            }
182    
183            /**
184             * Sets the subAccountNumber attribute.
185             * 
186             * @param subAccountNumber The subAccountNumber to set.
187             * 
188             */
189            public void setSubAccountNumber(String subAccountNumber) {
190                    this.subAccountNumber = subAccountNumber;
191            }
192    
193    
194            /**
195             * Gets the financialObjectCode attribute.
196             * 
197             * @return Returns the financialObjectCode
198             * 
199             */
200            public String getFinancialObjectCode() { 
201                    return financialObjectCode;
202            }
203    
204            /**
205             * Sets the financialObjectCode attribute.
206             * 
207             * @param financialObjectCode The financialObjectCode to set.
208             * 
209             */
210            public void setFinancialObjectCode(String financialObjectCode) {
211                    this.financialObjectCode = financialObjectCode;
212            }
213    
214    
215            /**
216             * Gets the financialSubObjectCode attribute.
217             * 
218             * @return Returns the financialSubObjectCode
219             * 
220             */
221            public String getFinancialSubObjectCode() { 
222                    return financialSubObjectCode;
223            }
224    
225            /**
226             * Sets the financialSubObjectCode attribute.
227             * 
228             * @param financialSubObjectCode The financialSubObjectCode to set.
229             * 
230             */
231            public void setFinancialSubObjectCode(String financialSubObjectCode) {
232                    this.financialSubObjectCode = financialSubObjectCode;
233            }
234    
235    
236            /**
237             * Gets the projectCode attribute.
238             * 
239             * @return Returns the projectCode
240             * 
241             */
242            public String getProjectCode() { 
243                    return projectCode;
244            }
245    
246            /**
247             * Sets the projectCode attribute.
248             * 
249             * @param projectCode The projectCode to set.
250             * 
251             */
252            public void setProjectCode(String projectCode) {
253                    this.projectCode = projectCode;
254            }
255    
256    
257            /**
258             * Gets the financialDocumentLineAmount attribute.
259             * 
260             * @return Returns the financialDocumentLineAmount
261             * 
262             */
263            public KualiDecimal getFinancialDocumentLineAmount() { 
264                    return financialDocumentLineAmount;
265            }
266    
267            /**
268             * Sets the financialDocumentLineAmount attribute.
269             * 
270             * @param financialDocumentLineAmount The financialDocumentLineAmount to set.
271             * 
272             */
273            public void setFinancialDocumentLineAmount(KualiDecimal financialDocumentLineAmount) {
274                    this.financialDocumentLineAmount = financialDocumentLineAmount;
275            }
276    
277    
278            /**
279             * Gets the financialDocumentOverrideCode attribute.
280             * 
281             * @return Returns the financialDocumentOverrideCode
282             * 
283             */
284            public String getFinancialDocumentOverrideCode() { 
285                    return financialDocumentOverrideCode;
286            }
287    
288            /**
289             * Sets the financialDocumentOverrideCode attribute.
290             * 
291             * @param financialDocumentOverrideCode The financialDocumentOverrideCode to set.
292             * 
293             */
294            public void setFinancialDocumentOverrideCode(String financialDocumentOverrideCode) {
295                    this.financialDocumentOverrideCode = financialDocumentOverrideCode;
296            }
297    
298        /**
299         * Gets the accountsReceivableDocumentHeader attribute. 
300         * @return Returns the accountsReceivableDocumentHeader.
301         */
302        public AccountsReceivableDocumentHeader getAccountsReceivableDocumentHeader() {
303            return accountsReceivableDocumentHeader;
304        }
305    
306        /**
307         * Sets the accountsReceivableDocumentHeader attribute value.
308         * @param accountsReceivableDocumentHeader The accountsReceivableDocumentHeader to set.
309         * @deprecated
310         */
311        public void setAccountsReceivableDocumentHeader(AccountsReceivableDocumentHeader accountsReceivableDocumentHeader) {
312            this.accountsReceivableDocumentHeader = accountsReceivableDocumentHeader;
313        }    
314    
315            /**
316             * Gets the financialObject attribute.
317             * 
318             * @return Returns the financialObject
319             * 
320             */
321            public ObjectCode getFinancialObject() { 
322                    return financialObject;
323            }
324    
325            /**
326             * Sets the financialObject attribute.
327             * 
328             * @param financialObject The financialObject to set.
329             * @deprecated
330             */
331            public void setFinancialObject(ObjectCode financialObject) {
332                    this.financialObject = financialObject;
333            }
334    
335            /**
336             * Gets the subAccount attribute.
337             * 
338             * @return Returns the subAccount
339             * 
340             */
341            public SubAccount getSubAccount() { 
342                    return subAccount;
343            }
344    
345            /**
346             * Sets the subAccount attribute.
347             * 
348             * @param subAccount The subAccount to set.
349             * @deprecated
350             */
351            public void setSubAccount(SubAccount subAccount) {
352                    this.subAccount = subAccount;
353            }
354    
355            /**
356             * Gets the chartOfAccounts attribute.
357             * 
358             * @return Returns the chartOfAccounts
359             * 
360             */
361            public Chart getChartOfAccounts() { 
362                    return chartOfAccounts;
363            }
364    
365            /**
366             * Sets the chartOfAccounts attribute.
367             * 
368             * @param chartOfAccounts The chartOfAccounts to set.
369             * @deprecated
370             */
371            public void setChartOfAccounts(Chart chartOfAccounts) {
372                    this.chartOfAccounts = chartOfAccounts;
373            }
374    
375            /**
376             * Gets the financialSubObject attribute.
377             * 
378             * @return Returns the financialSubObject
379             * 
380             */
381            public SubObjectCode getFinancialSubObject() { 
382                    return financialSubObject;
383            }
384    
385            /**
386             * Sets the financialSubObject attribute.
387             * 
388             * @param financialSubObject The financialSubObject to set.
389             * @deprecated
390             */
391            public void setFinancialSubObject(SubObjectCode financialSubObject) {
392                    this.financialSubObject = financialSubObject;
393            }
394    
395            /**
396             * Gets the account attribute.
397             * 
398             * @return Returns the account
399             * 
400             */
401            public Account getAccount() { 
402                    return account;
403            }
404    
405            /**
406             * Sets the account attribute.
407             * 
408             * @param account The account to set.
409             * @deprecated
410             */
411            public void setAccount(Account account) {
412                    this.account = account;
413            }
414    
415            /**
416             * Gets the project attribute.
417             * 
418             * @return Returns the project
419             * 
420             */
421            public ProjectCode getProject() { 
422                    return project;
423            }
424    
425            /**
426             * Sets the project attribute.
427             * 
428             * @param project The project to set.
429             * @deprecated
430             */
431            public void setProject(ProjectCode project) {
432                    this.project = project;
433            }
434    
435            /**
436         * Gets the nonInvoicedDistributions attribute. 
437         * @return Returns the nonInvoicedDistributions.
438         */
439        public List<NonInvoicedDistribution> getNonInvoicedDistributions() {
440            return nonInvoicedDistributions;
441        }
442    
443        /**
444         * Sets the nonInvoicedDistributions attribute value.
445         * @param nonInvoicedDistributions The nonInvoicedDistributions to set.
446         */
447        public void setNonInvoicedDistributions(List<NonInvoicedDistribution> nonInvoicedDistributions) {
448            this.nonInvoicedDistributions = nonInvoicedDistributions;
449        }
450    
451        /**
452             * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper()
453             */
454            protected LinkedHashMap toStringMapper() {
455                LinkedHashMap m = new LinkedHashMap();          
456            m.put("documentNumber", this.documentNumber);
457            if (this.financialDocumentLineNumber != null) {
458                m.put("financialDocumentLineNumber", this.financialDocumentLineNumber.toString());
459            }
460                return m;
461        }
462    
463        /**
464         * Gets the nonInvoicedDistributionAmount attribute.
465         * 
466         * @return Returns the nonInvoicedDistributionAmount
467         * 
468         */
469        public KualiDecimal getNonInvoicedDistributionAmount() { 
470            return nonInvoicedDistributionAmount;
471        }
472    
473        /**
474         * Sets the remainingAmountForDistribution attribute.
475         * 
476         * @param remainingAmountForDistribution The remainingAmountForDistribution to set.
477         * 
478         */
479        public void setNonInvoicedDistributionAmount(KualiDecimal nonInvoicedDistributionAmount) {
480            this.nonInvoicedDistributionAmount = nonInvoicedDistributionAmount;
481        }
482    
483    }