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.util.Date;
022import java.util.LinkedHashMap;
023
024import org.kuali.kfs.coa.businessobject.Account;
025import org.kuali.kfs.coa.businessobject.Chart;
026import org.kuali.kfs.coa.businessobject.Organization;
027import org.kuali.kfs.integration.cg.ContractsAndGrantsBillingAward;
028import org.kuali.kfs.module.ar.ArConstants;
029import org.kuali.kfs.sys.KFSConstants;
030import org.kuali.kfs.sys.context.SpringContext;
031import org.kuali.rice.core.api.util.type.KualiDecimal;
032import org.kuali.rice.kim.api.identity.Person;
033import org.kuali.rice.krad.bo.TransientBusinessObjectBase;
034
035/**
036 * This class is an empty derived class
037 */
038public class ContractsAndGrantsAgingReport extends TransientBusinessObjectBase {
039    private String reportOption = ArConstants.ReportOptionFieldValues.PROCESSING_ORG;
040    private String organizationCode;
041    private String processingOrBillingChartCode;
042
043    private String customerName;
044    private String customerNumber;
045    private String accountChartOfAccountsCode;
046    private String accountNumber;
047    private String fundManager;
048    private Long proposalNumber;
049    private String awardDocumentNumber;
050    private boolean markedAsFinal;
051    private Date awardEndDate;
052    private KualiDecimal invoiceAmountTo;
053    private KualiDecimal invoiceAmountFrom;
054    private String invoiceNumber;
055    private Date reportRunDate;
056    private String reportingName;
057    private String agencyNumber;
058    private Date invoiceDate;
059    private String contractsAndGrantsAccountResponsibilityId;
060
061
062
063    private KualiDecimal unpaidBalance0to30 = KualiDecimal.ZERO;
064    private KualiDecimal unpaidBalance31to60 = KualiDecimal.ZERO;
065    private KualiDecimal unpaidBalance61to90 = KualiDecimal.ZERO;
066    private KualiDecimal unpaidBalance91toSYSPR = KualiDecimal.ZERO;
067    private KualiDecimal unpaidBalanceSYSPRplus1orMore = KualiDecimal.ZERO;
068
069
070    private KualiDecimal totalOpenInvoices = KualiDecimal.ZERO;
071    private KualiDecimal totalCredits = KualiDecimal.ZERO;
072    private KualiDecimal totalWriteOff = KualiDecimal.ZERO;
073
074    private String principalId;
075    private Person collector;
076
077    private final String userLookupRoleNamespaceCode = KFSConstants.OptionalModuleNamespaces.ACCOUNTS_RECEIVABLE;
078    private final String userLookupRoleName = KFSConstants.SysKimApiConstants.ACCOUNTS_RECEIVABLE_COLLECTOR;
079    private Person lookupFundMgrPerson;
080    private Customer customer;
081    private Account account;
082    private Chart chart;
083    private ContractsAndGrantsBillingAward award;
084    private Organization organization;
085
086    /**
087     * @see org.kuali.rice.krad.bo.BusinessObjectBase#toStringMapper()
088     */
089
090    protected LinkedHashMap toStringMapper_RICE20_REFACTORME() {
091        LinkedHashMap m = new LinkedHashMap();
092        m.put("customerNumber", this.customerNumber);
093        m.put("customerName", this.customerName);
094        m.put("accountNumber", this.accountNumber);
095        return m;
096    }
097
098    /**
099     * Gets the customerName attribute.
100     *
101     * @return Returns the customerName.
102     */
103    public String getCustomerName() {
104        return customerName;
105    }
106
107    /**
108     * Sets the customerName attribute value.
109     *
110     * @param customerName The customerName to set.
111     */
112    public void setCustomerName(String customerName) {
113        this.customerName = customerName;
114    }
115
116    /**
117     * Gets the customerNumber attribute.
118     *
119     * @return Returns the customerNumber.
120     */
121    public String getCustomerNumber() {
122        return customerNumber;
123    }
124
125    /**
126     * Sets the customerNumber attribute value.
127     *
128     * @param customerNumber The customerNumber to set.
129     */
130    public void setCustomerNumber(String customerNumber) {
131        this.customerNumber = customerNumber;
132    }
133
134    /**
135     * Gets the accountChartOfAccountsCode attribute.
136     *
137     * @return Returns the accountChartOfAccountsCode.
138     */
139    public String getAccountChartOfAccountsCode() {
140        return accountChartOfAccountsCode;
141    }
142
143    /**
144     * Sets the accountChartOfAccountsCode attribute value.
145     *
146     * @param accountChartOfAccountsCode The accountChartOfAccountsCode to set.
147     */
148    public void setAccountChartOfAccountsCode(String accountChartOfAccountsCode) {
149        this.accountChartOfAccountsCode = accountChartOfAccountsCode;
150    }
151
152    /**
153     * Gets the accountNumber attribute.
154     *
155     * @return Returns the accountNumber.
156     */
157    public String getAccountNumber() {
158        return accountNumber;
159    }
160
161    /**
162     * Sets the accountNumber attribute value.
163     *
164     * @param accountNumber The accountNumber to set.
165     */
166    public void setAccountNumber(String accountNumber) {
167        this.accountNumber = accountNumber;
168    }
169
170    /**
171     * Gets the fundManager attribute.
172     *
173     * @return Returns the fundManager.
174     */
175    public String getFundManager() {
176        return fundManager;
177    }
178
179    /**
180     * Sets the fundManager attribute value.
181     *
182     * @param fundManager The fundManager to set.
183     */
184    public void setFundManager(String fundManager) {
185        this.fundManager = fundManager;
186    }
187
188
189    /**
190     * Gets the proposalNumber attribute.
191     *
192     * @return Returns the proposalNumber
193     */
194
195    public Long getProposalNumber() {
196        return proposalNumber;
197    }
198
199    /**
200     * Sets the proposalNumber attribute.
201     *
202     * @param proposalNumber The proposalNumber to set.
203     */
204    public void setProposalNumber(Long proposalNumber) {
205        this.proposalNumber = proposalNumber;
206    }
207
208    /**
209     * Gets the collector attribute.
210     *
211     * @return Returns the collector.
212     */
213    public Person getCollector() {
214        collector = SpringContext.getBean(org.kuali.rice.kim.api.identity.PersonService.class).updatePersonIfNecessary(principalId, collector);
215        return collector;
216    }
217
218    /**
219     * Sets the collector attribute value.
220     *
221     * @param collector The collector to set.
222     */
223    public void setCollector(Person collector) {
224        this.collector = collector;
225    }
226
227    /**
228     * Gets the awardDocumentNumber attribute.
229     *
230     * @return Returns the awardDocumentNumber.
231     */
232    public String getAwardDocumentNumber() {
233        return awardDocumentNumber;
234    }
235
236    /**
237     * Sets the awardDocumentNumber attribute value.
238     *
239     * @param awardDocumentNumber The awardDocumentNumber to set.
240     */
241    public void setAwardDocumentNumber(String awardDocumentNumber) {
242        this.awardDocumentNumber = awardDocumentNumber;
243    }
244
245    /**
246     * Gets the markedAsFinal attribute.
247     *
248     * @return Returns the markedAsFinal.
249     */
250    public boolean isMarkedAsFinal() {
251        return markedAsFinal;
252    }
253
254    /**
255     * Sets the markedAsFinal attribute value.
256     *
257     * @param markedAsFinal The markedAsFinal to set.
258     */
259    public void setMarkedAsFinal(boolean markedAsFinal) {
260        this.markedAsFinal = markedAsFinal;
261    }
262
263    /**
264     * Gets the awardEndDate attribute.
265     *
266     * @return Returns the awardEndDate.
267     */
268    public Date getAwardEndDate() {
269        return awardEndDate;
270    }
271
272    /**
273     * Sets the awardEndDate attribute value.
274     *
275     * @param awardEndDate The awardEndDate to set.
276     */
277    public void setAwardEndDate(Date awardEndDate) {
278        this.awardEndDate = awardEndDate;
279    }
280
281    /**
282     * Gets the invoiceAmountTo attribute.
283     *
284     * @return Returns the invoiceAmountTo.
285     */
286    public KualiDecimal getInvoiceAmountTo() {
287        return invoiceAmountTo;
288    }
289
290    /**
291     * Sets the invoiceAmountTo attribute value.
292     *
293     * @param invoiceAmountTo The invoiceAmountTo to set.
294     */
295    public void setInvoiceAmountTo(KualiDecimal invoiceAmountTo) {
296        this.invoiceAmountTo = invoiceAmountTo;
297    }
298
299    /**
300     * Gets the invoiceAmountFrom attribute.
301     *
302     * @return Returns the invoiceAmountFrom.
303     */
304    public KualiDecimal getInvoiceAmountFrom() {
305        return invoiceAmountFrom;
306    }
307
308    /**
309     * Sets the invoiceAmountFrom attribute value.
310     *
311     * @param invoiceAmountFrom The invoiceAmountFrom to set.
312     */
313    public void setInvoiceAmountFrom(KualiDecimal invoiceAmountFrom) {
314        this.invoiceAmountFrom = invoiceAmountFrom;
315    }
316
317    /**
318     * Gets the invoiceNumber attribute.
319     *
320     * @return Returns the invoiceNumber.
321     */
322    public String getInvoiceNumber() {
323        return invoiceNumber;
324    }
325
326    /**
327     * Sets the invoiceNumber attribute value.
328     *
329     * @param invoiceNumber The invoiceNumber to set.
330     */
331    public void setInvoiceNumber(String invoiceNumber) {
332        this.invoiceNumber = invoiceNumber;
333    }
334
335    /**
336     * Gets the reportRunDate attribute.
337     *
338     * @return Returns the reportRunDate.
339     */
340    public Date getReportRunDate() {
341        return reportRunDate;
342    }
343
344    /**
345     * Sets the reportRunDate attribute value.
346     *
347     * @param reportRunDate The reportRunDate to set.
348     */
349    public void setReportRunDate(Date reportRunDate) {
350        this.reportRunDate = reportRunDate;
351    }
352
353    /**
354     * Gets the unpaidBalance0to30 attribute.
355     *
356     * @return Returns the unpaidBalance0to30.
357     */
358    public KualiDecimal getUnpaidBalance0to30() {
359        return unpaidBalance0to30;
360    }
361
362    /**
363     * Sets the unpaidBalance0to30 attribute value.
364     *
365     * @param unpaidBalance0to30 The unpaidBalance0to30 to set.
366     */
367    public void setUnpaidBalance0to30(KualiDecimal unpaidBalance0to30) {
368        this.unpaidBalance0to30 = unpaidBalance0to30;
369    }
370
371    /**
372     * Gets the unpaidBalance31to60 attribute.
373     *
374     * @return Returns the unpaidBalance31to60.
375     */
376    public KualiDecimal getUnpaidBalance31to60() {
377        return unpaidBalance31to60;
378    }
379
380    /**
381     * Sets the unpaidBalance31to60 attribute value.
382     *
383     * @param reportRunDate The unpaidBalance31to60 to set.
384     */
385    public void setUnpaidBalance31to60(KualiDecimal unpaidBalance31to60) {
386        this.unpaidBalance31to60 = unpaidBalance31to60;
387    }
388
389    /**
390     * Gets the unpaidBalance61to90 attribute.
391     *
392     * @return Returns the unpaidBalance61to90.
393     */
394    public KualiDecimal getUnpaidBalance61to90() {
395        return unpaidBalance61to90;
396    }
397
398    /**
399     * Sets the unpaidBalance61to90 attribute value.
400     *
401     * @param unpaidBalance61to90 The unpaidBalance61to90 to set.
402     */
403    public void setUnpaidBalance61to90(KualiDecimal unpaidBalance61to90) {
404        this.unpaidBalance61to90 = unpaidBalance61to90;
405    }
406
407    /**
408     * Gets the unpaidBalance91toSYSPR attribute.
409     *
410     * @return Returns the unpaidBalance91toSYSPR.
411     */
412    public KualiDecimal getUnpaidBalance91toSYSPR() {
413        return unpaidBalance91toSYSPR;
414    }
415
416    /**
417     * Sets the unpaidBalance91toSYSPR attribute value.
418     *
419     * @param unpaidBalance91toSYSPR The unpaidBalance91toSYSPR to set.
420     */
421    public void setUnpaidBalance91toSYSPR(KualiDecimal unpaidBalance91toSYSPR) {
422        this.unpaidBalance91toSYSPR = unpaidBalance91toSYSPR;
423    }
424
425    /**
426     * Gets the unpaidBalanceSYSPRplus1orMore attribute.
427     *
428     * @return Returns the unpaidBalanceSYSPRplus1orMore.
429     */
430    public KualiDecimal getUnpaidBalanceSYSPRplus1orMore() {
431        return unpaidBalanceSYSPRplus1orMore;
432    }
433
434    /**
435     * Sets the unpaidBalanceSYSPRplus1orMore attribute value.
436     *
437     * @param unpaidBalanceSYSPRplus1orMore The unpaidBalanceSYSPRplus1orMore to set.
438     */
439    public void setUnpaidBalanceSYSPRplus1orMore(KualiDecimal unpaidBalanceSYSPRplus1orMore) {
440        this.unpaidBalanceSYSPRplus1orMore = unpaidBalanceSYSPRplus1orMore;
441    }
442
443    /**
444     * Gets the reportingName attribute.
445     *
446     * @return Returns the reportingName.
447     */
448    public String getReportingName() {
449        return reportingName;
450    }
451
452    /**
453     * Sets the reportingName attribute value.
454     *
455     * @param reportingName The reportingName to set.
456     */
457    public void setReportingName(String reportingName) {
458        this.reportingName = reportingName;
459    }
460
461    /**
462     * Gets the totalOpenInvoices attribute.
463     *
464     * @return Returns the totalOpenInvoices.
465     */
466    public KualiDecimal getTotalOpenInvoices() {
467        return totalOpenInvoices;
468    }
469
470    /**
471     * Sets the totalOpenInvoices attribute value.
472     *
473     * @param totalOpenInvoices The totalOpenInvoices to set.
474     */
475    public void setTotalOpenInvoices(KualiDecimal totalOpenInvoices) {
476        this.totalOpenInvoices = totalOpenInvoices;
477    }
478
479    /**
480     * Gets the totalCredits attribute.
481     *
482     * @return Returns the totalCredits.
483     */
484    public KualiDecimal getTotalCredits() {
485        return totalCredits;
486    }
487
488    /**
489     * Sets the totalCredits attribute value.
490     *
491     * @param totalCredits The totalCredits to set.
492     */
493    public void setTotalCredits(KualiDecimal totalCredits) {
494        this.totalCredits = totalCredits;
495    }
496
497    /**
498     * Gets the totalWriteOff attribute.
499     *
500     * @return Returns the totalWriteOff.
501     */
502    public KualiDecimal getTotalWriteOff() {
503        return totalWriteOff;
504    }
505
506    /**
507     * Sets the totalWriteOff attribute value.
508     *
509     * @param totalWriteOff The totalWriteOff to set.
510     */
511    public void setTotalWriteOff(KualiDecimal totalWriteOff) {
512        this.totalWriteOff = totalWriteOff;
513    }
514
515    /**
516     * Gets the agencyNumber attribute.
517     *
518     * @return Returns the agencyNumber.
519     */
520    public String getAgencyNumber() {
521        return agencyNumber;
522    }
523
524    /**
525     * Sets the agencyNumber attribute value.
526     *
527     * @param agencyNumber The agencyNumber to set.
528     */
529    public void setAgencyNumber(String agencyNumber) {
530        this.agencyNumber = agencyNumber;
531    }
532
533    /**
534     * Gets the principalId attribute.
535     *
536     * @return Returns the principalId.
537     */
538    public String getPrincipalId() {
539        return principalId;
540    }
541
542    /**
543     * Sets the principalId attribute value.
544     *
545     * @param principalId The principalId to set.
546     */
547    public void setPrincipalId(String principalId) {
548        this.principalId = principalId;
549    }
550
551    /**
552     * Gets the userLookupRoleNamespaceCode attribute.
553     *
554     * @return Returns the userLookupRoleNamespaceCode.
555     */
556    public String getUserLookupRoleNamespaceCode() {
557        return userLookupRoleNamespaceCode;
558    }
559
560    /**
561     * Gets the userLookupRoleName attribute.
562     *
563     * @return Returns the userLookupRoleName.
564     */
565    public String getUserLookupRoleName() {
566        return userLookupRoleName;
567    }
568
569    /**
570     * Gets the organizationCode attribute.
571     *
572     * @return Returns the organizationCode.
573     */
574    public String getOrganizationCode() {
575        return organizationCode;
576    }
577
578    /**
579     * Sets the organizationCode attribute value.
580     *
581     * @param organizationCode The organizationCode to set.
582     */
583    public void setOrganizationCode(String organizationCode) {
584        this.organizationCode = organizationCode;
585    }
586
587
588    /**
589     * Gets the lookupFundMgrPerson attribute.
590     *
591     * @return Returns the lookupFundMgrPerson.
592     */
593    public Person getLookupFundMgrPerson() {
594        lookupFundMgrPerson = SpringContext.getBean(org.kuali.rice.kim.api.identity.PersonService.class).updatePersonIfNecessary(fundManager, lookupFundMgrPerson);
595        return lookupFundMgrPerson;
596    }
597
598    /**
599     * Sets the lookupFundMgrPerson attribute value.
600     *
601     * @param lookupFundMgrPerson The lookupFundMgrPerson to set.
602     */
603    public void setLookupFundMgrPerson(Person lookupFundMgrPerson) {
604        this.lookupFundMgrPerson = lookupFundMgrPerson;
605    }
606
607    /**
608     * Gets the invoiceDate attribute.
609     *
610     * @return Returns the invoiceDate.
611     */
612    public Date getInvoiceDate() {
613        return invoiceDate;
614    }
615
616    /**
617     * Sets the invoiceDate attribute value.
618     *
619     * @param invoiceDate The invoiceDate to set.
620     */
621    public void setInvoiceDate(Date invoiceDate) {
622        this.invoiceDate = invoiceDate;
623    }
624
625    /**
626     * Gets the customer attribute.
627     *
628     * @return Returns the customer.
629     */
630    public Customer getCustomer() {
631        return customer;
632    }
633
634    /**
635     * Sets the customer attribute value.
636     *
637     * @param customer The customer to set.
638     */
639    public void setCustomer(Customer customer) {
640        this.customer = customer;
641    }
642
643    /**
644     * Gets the account attribute.
645     *
646     * @return Returns the account.
647     */
648    public Account getAccount() {
649        return account;
650    }
651
652    /**
653     * Sets the account attribute value.
654     *
655     * @param account The account to set.
656     */
657    public void setAccount(Account account) {
658        this.account = account;
659    }
660
661    /**
662     * Gets the contractsAndGrantsAccountResponsibilityId attribute.
663     *
664     * @return Returns the contractsAndGrantsAccountResponsibilityId.
665     */
666    public String getContractsAndGrantsAccountResponsibilityId() {
667        return contractsAndGrantsAccountResponsibilityId;
668    }
669
670    /**
671     * Sets the contractsAndGrantsAccountResponsibilityId attribute value.
672     *
673     * @param contractsAndGrantsAccountResponsibilityId The contractsAndGrantsAccountResponsibilityId to set.
674     */
675    public void setContractsAndGrantsAccountResponsibilityId(String contractsAndGrantsAccountResponsibilityId) {
676        this.contractsAndGrantsAccountResponsibilityId = contractsAndGrantsAccountResponsibilityId;
677    }
678
679    /**
680     * Gets the reportOption attribute.
681     *
682     * @return Returns the reportOption
683     */
684
685    public String getReportOption() {
686        return reportOption;
687    }
688
689    /**
690     * Sets the reportOption attribute.
691     *
692     * @param reportOption The reportOption to set.
693     */
694    public void setReportOption(String reportOption) {
695        this.reportOption = reportOption;
696    }
697
698    /**
699     * Gets the processingOrBillingChartCode attribute.
700     *
701     * @return Returns the processingOrBillingChartCode
702     */
703
704    public String getProcessingOrBillingChartCode() {
705        return processingOrBillingChartCode;
706    }
707
708    /**
709     * Sets the processingOrBillingChartCode attribute.
710     *
711     * @param processingOrBillingChartCode The processingOrBillingChartCode to set.
712     */
713    public void setProcessingOrBillingChartCode(String processingOrBillingChartCode) {
714        this.processingOrBillingChartCode = processingOrBillingChartCode;
715    }
716
717    /**
718     * Gets the chart attribute.
719     *
720     * @return Returns the chart
721     */
722
723    public Chart getChart() {
724        return chart;
725    }
726
727    /**
728     * Sets the chart attribute.
729     *
730     * @param chart The chart to set.
731     */
732    public void setChart(Chart chart) {
733        this.chart = chart;
734    }
735
736    /**
737     * Gets the organization attribute.
738     *
739     * @return Returns the organization
740     */
741
742    public Organization getOrganization() {
743        return organization;
744    }
745
746    /**
747     * Sets the organization attribute.
748     *
749     * @param organization The organization to set.
750     */
751    public void setOrganization(Organization organization) {
752        this.organization = organization;
753    }
754
755    /**
756     * Gets the award attribute.
757     *
758     * @return Returns the award
759     */
760
761    public ContractsAndGrantsBillingAward getAward() {
762        return award;
763    }
764
765    /**
766     * Sets the award attribute.
767     *
768     * @param award The award to set.
769     */
770    public void setAward(ContractsAndGrantsBillingAward award) {
771        this.award = award;
772    }
773
774
775}