View Javadoc
1   /*
2    * Copyright 2007 The Kuali Foundation
3    * 
4    * Licensed under the Educational Community License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    * 
8    * http://www.opensource.org/licenses/ecl2.php
9    * 
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  
17  package org.kuali.ole.sys.businessobject;
18  
19  import java.io.Serializable;
20  import java.sql.Date;
21  import java.sql.Timestamp;
22  import java.util.LinkedHashMap;
23  
24  import org.apache.commons.lang.StringUtils;
25  import org.kuali.ole.coa.businessobject.A21SubAccount;
26  import org.kuali.ole.coa.businessobject.Account;
27  import org.kuali.ole.coa.businessobject.AccountingPeriod;
28  import org.kuali.ole.coa.businessobject.BalanceType;
29  import org.kuali.ole.coa.businessobject.Chart;
30  import org.kuali.ole.coa.businessobject.ObjectCode;
31  import org.kuali.ole.coa.businessobject.ObjectType;
32  import org.kuali.ole.coa.businessobject.ProjectCode;
33  import org.kuali.ole.coa.businessobject.SubAccount;
34  import org.kuali.ole.coa.businessobject.SubObjectCode;
35  import org.kuali.ole.gl.businessobject.Transaction;
36  import org.kuali.ole.gl.businessobject.TransientBalanceInquiryAttributes;
37  import org.kuali.ole.sys.OLEPropertyConstants;
38  import org.kuali.ole.sys.context.SpringContext;
39  import org.kuali.ole.sys.document.validation.impl.AccountingDocumentRuleBaseConstants.GENERAL_LEDGER_PENDING_ENTRY_CODE;
40  import org.kuali.rice.core.api.util.type.KualiDecimal;
41  import org.kuali.rice.core.web.format.CurrencyFormatter;
42  import org.kuali.rice.kew.api.doctype.DocumentTypeService;
43  import org.kuali.rice.kew.doctype.bo.DocumentType;
44  import org.kuali.rice.kew.doctype.bo.DocumentTypeEBO;
45  import org.kuali.rice.krad.bo.PersistableBusinessObjectBase;
46  
47  /**
48   * The general ledger pending entry structure holds financial transaction info that will post to the general ledger as an entry.
49   */
50  public class GeneralLedgerPendingEntry extends PersistableBusinessObjectBase implements Transaction, Serializable, Cloneable {
51      private static final long serialVersionUID = 4041748389323105932L;
52      private String financialSystemOriginationCode;
53      private String documentNumber;
54      private Integer transactionLedgerEntrySequenceNumber;
55      private String chartOfAccountsCode;
56      private String accountNumber;
57      private String subAccountNumber;
58      private String financialObjectCode;
59      private String financialSubObjectCode;
60      private String financialBalanceTypeCode;
61      private String financialObjectTypeCode;
62      private Integer universityFiscalYear;
63      private String universityFiscalPeriodCode;
64      private String transactionLedgerEntryDescription;
65      private KualiDecimal transactionLedgerEntryAmount;
66      private String transactionDebitCreditCode;
67      private Date transactionDate;
68      private String financialDocumentTypeCode;
69      private String organizationDocumentNumber;
70      private String projectCode;
71      private String organizationReferenceId;
72      private String referenceFinancialDocumentTypeCode;
73      private String referenceFinancialSystemOriginationCode;
74      private String referenceFinancialDocumentNumber;
75      private Date financialDocumentReversalDate;
76      private String transactionEncumbranceUpdateCode;
77      private String financialDocumentApprovedCode;
78      private String acctSufficientFundsFinObjCd;
79      private boolean transactionEntryOffsetIndicator;
80      private Timestamp transactionEntryProcessedTs;
81  
82      private DocumentTypeEBO financialSystemDocumentTypeCode;
83      private FinancialSystemDocumentHeader documentHeader;
84  
85      private SystemOptions option;
86      private Chart chart;
87      private Account account;
88      private SubAccount subAccount;
89      private ObjectCode financialObject;
90      private SubObjectCode financialSubObject;
91      private BalanceType balanceType;
92      private ObjectType objectType;
93      private A21SubAccount a21SubAccount;
94      private TransientBalanceInquiryAttributes dummyBusinessObject;
95      private OriginationCode originationCode;
96      private ProjectCode project;
97      private OriginationCode referenceOriginationCode;
98      private DocumentTypeEBO referenceFinancialSystemDocumentTypeCode;
99      
100     @Deprecated
101     private transient AccountingPeriod accountingPeriod;
102 
103     /**
104      * Default no-arg constructor.
105      */
106     public GeneralLedgerPendingEntry() {
107         this.objectType = new ObjectType();
108         this.balanceType = new BalanceType();
109         this.dummyBusinessObject = new TransientBalanceInquiryAttributes();
110         this.financialObject = new ObjectCode();
111     }
112 
113     /**
114      * Copy constructor Constructs a GeneralLedgerPendingEntry.java.
115      * 
116      * @param original entry to copy
117      */
118     public GeneralLedgerPendingEntry(GeneralLedgerPendingEntry original) {
119         financialSystemOriginationCode = original.getFinancialSystemOriginationCode();
120         documentNumber = original.getDocumentNumber();
121         transactionLedgerEntrySequenceNumber = original.getTransactionLedgerEntrySequenceNumber();
122         chartOfAccountsCode = original.getChartOfAccountsCode();
123         accountNumber = original.getAccountNumber();
124         subAccountNumber = original.getSubAccountNumber();
125         financialObjectCode = original.getFinancialObjectCode();
126         financialSubObjectCode = original.getFinancialSubObjectCode();
127         financialBalanceTypeCode = original.getFinancialBalanceTypeCode();
128         financialObjectTypeCode = original.getFinancialObjectTypeCode();
129         universityFiscalYear = original.getUniversityFiscalYear();
130         universityFiscalPeriodCode = original.getUniversityFiscalPeriodCode();
131         transactionLedgerEntryDescription = original.getTransactionLedgerEntryDescription();
132         transactionLedgerEntryAmount = original.getTransactionLedgerEntryAmount();
133         transactionDebitCreditCode = original.getTransactionDebitCreditCode();
134         transactionDate = original.getTransactionDate();
135         financialDocumentTypeCode = original.getFinancialDocumentTypeCode();
136         organizationDocumentNumber = original.getOrganizationDocumentNumber();
137         projectCode = original.getProjectCode();
138         organizationReferenceId = original.getOrganizationReferenceId();
139         referenceFinancialDocumentTypeCode = original.getReferenceFinancialDocumentTypeCode();
140         referenceFinancialSystemOriginationCode = original.getReferenceFinancialSystemOriginationCode();
141         referenceFinancialDocumentNumber = original.getReferenceFinancialDocumentNumber();
142         financialDocumentReversalDate = original.getFinancialDocumentReversalDate();
143         transactionEncumbranceUpdateCode = original.getTransactionEncumbranceUpdateCode();
144         financialDocumentApprovedCode = original.getFinancialDocumentApprovedCode();
145         acctSufficientFundsFinObjCd = original.getAcctSufficientFundsFinObjCd();
146         transactionEntryOffsetIndicator = original.isTransactionEntryOffsetIndicator();
147         transactionEntryProcessedTs = original.getTransactionEntryProcessedTs();
148         
149         financialSystemDocumentTypeCode = original.getFinancialSystemDocumentTypeCode();
150         documentHeader = original.getDocumentHeader();
151 
152         option = original.getOption();
153         chart = original.getChart();
154         account = original.getAccount();
155         subAccount = original.getSubAccount();
156         financialObject = original.getFinancialObject();
157         financialSubObject = original.getFinancialSubObject();
158         balanceType = original.getBalanceType();
159         a21SubAccount = original.getA21SubAccount();
160         dummyBusinessObject = original.getDummyBusinessObject();
161         originationCode = original.getOriginationCode();
162         project = original.getProject();
163         referenceOriginationCode = original.getReferenceOriginationCode();
164         referenceFinancialSystemDocumentTypeCode = original.getReferenceFinancialSystemDocumentTypeCode();
165     }
166 
167     public DocumentTypeEBO getReferenceFinancialSystemDocumentTypeCode() {
168         if ( StringUtils.isBlank( referenceFinancialDocumentTypeCode ) ) {
169             referenceFinancialSystemDocumentTypeCode = null;
170         } else {
171             if ( referenceFinancialSystemDocumentTypeCode == null || !StringUtils.equals(referenceFinancialDocumentTypeCode, referenceFinancialSystemDocumentTypeCode.getName() ) ) {
172                 org.kuali.rice.kew.api.doctype.DocumentType temp = SpringContext.getBean(DocumentTypeService.class).getDocumentTypeByName(referenceFinancialDocumentTypeCode);
173                 if ( temp != null ) {
174                     referenceFinancialSystemDocumentTypeCode = DocumentType.from( temp );
175                 } else {
176                     referenceFinancialSystemDocumentTypeCode = null;
177                 }
178             }
179         }
180         return referenceFinancialSystemDocumentTypeCode;
181     }
182 
183     public OriginationCode getReferenceOriginationCode() {
184         return referenceOriginationCode;
185     }
186 
187     public void setReferenceOriginationCode(OriginationCode referenceOriginationCode) {
188         this.referenceOriginationCode = referenceOriginationCode;
189     }
190 
191     public ProjectCode getProject() {
192         return project;
193     }
194 
195     public void setProject(ProjectCode project) {
196         this.project = project;
197     }
198 
199     public OriginationCode getOriginationCode() {
200         return originationCode;
201     }
202 
203     public void setOriginationCode(OriginationCode originationCode) {
204         this.originationCode = originationCode;
205     }
206 
207     @Override
208     public void setOption(SystemOptions option) {
209         this.option = option;
210     }
211 
212     @Override
213     public SystemOptions getOption() {
214         return option;
215     }
216 
217     /**
218      * Gets the documentNumber attribute.
219      * 
220      * @return Returns the documentNumber
221      */
222     @Override
223     public String getDocumentNumber() {
224         return documentNumber;
225     }
226 
227     /**
228      * Sets the documentNumber attribute.
229      * 
230      * @param documentNumber The documentNumber to set.
231      */
232     public void setDocumentNumber(String documentNumber) {
233         this.documentNumber = documentNumber;
234     }
235 
236     /**
237      * Gets the transactionLedgerEntrySequenceNumber attribute.
238      * 
239      * @return Returns the transactionLedgerEntrySequenceNumber
240      */
241     @Override
242     public Integer getTransactionLedgerEntrySequenceNumber() {
243         return transactionLedgerEntrySequenceNumber;
244     }
245 
246     /**
247      * Sets the transactionLedgerEntrySequenceNumber attribute.
248      * 
249      * @param transactionLedgerEntrySequenceNumber The transactionLedgerEntrySequenceNumber to set.
250      */
251     public void setTransactionLedgerEntrySequenceNumber(Integer transactionLedgerEntrySequenceNumber) {
252         this.transactionLedgerEntrySequenceNumber = transactionLedgerEntrySequenceNumber;
253     }
254 
255     /**
256      * Gets the chartOfAccountsCode attribute.
257      * 
258      * @return Returns the chartOfAccountsCode
259      */
260     @Override
261     public String getChartOfAccountsCode() {
262         return chartOfAccountsCode;
263     }
264 
265     /**
266      * Sets the chartOfAccountsCode attribute.
267      * 
268      * @param chartOfAccountsCode The chartOfAccountsCode to set.
269      */
270     public void setChartOfAccountsCode(String chartOfAccountsCode) {
271         this.chartOfAccountsCode = chartOfAccountsCode;
272     }
273 
274     /**
275      * Gets the accountNumber attribute.
276      * 
277      * @return Returns the accountNumber
278      */
279     @Override
280     public String getAccountNumber() {
281         return accountNumber;
282     }
283 
284     /**
285      * Sets the accountNumber attribute.
286      * 
287      * @param accountNumber The accountNumber to set.
288      */
289     public void setAccountNumber(String accountNumber) {
290         this.accountNumber = accountNumber;
291     }
292 
293     /**
294      * Gets the subAccountNumber attribute.
295      * 
296      * @return Returns the subAccountNumber
297      */
298     @Override
299     public String getSubAccountNumber() {
300         return subAccountNumber;
301     }
302 
303     /**
304      * Sets the subAccountNumber attribute.
305      * 
306      * @param subAccountNumber The subAccountNumber to set.
307      */
308     public void setSubAccountNumber(String subAccountNumber) {
309         this.subAccountNumber = subAccountNumber;
310     }
311 
312     /**
313      * Gets the financialObjectCode attribute.
314      * 
315      * @return Returns the financialObjectCode
316      */
317     @Override
318     public String getFinancialObjectCode() {
319         return financialObjectCode;
320     }
321 
322     /**
323      * Sets the financialObjectCode attribute.
324      * 
325      * @param financialObjectCode The financialObjectCode to set.
326      */
327     public void setFinancialObjectCode(String financialObjectCode) {
328         this.financialObjectCode = financialObjectCode;
329     }
330 
331     /**
332      * Gets the financialSubObjectCode attribute.
333      * 
334      * @return Returns the financialSubObjectCode
335      */
336     @Override
337     public String getFinancialSubObjectCode() {
338         return financialSubObjectCode;
339     }
340 
341     /**
342      * Sets the financialSubObjectCode attribute.
343      * 
344      * @param financialSubObjectCode The financialSubObjectCode to set.
345      */
346     public void setFinancialSubObjectCode(String financialSubObjectCode) {
347         this.financialSubObjectCode = financialSubObjectCode;
348     }
349 
350     /**
351      * Gets the financialBalanceTypeCode attribute.
352      * 
353      * @return Returns the financialBalanceTypeCode
354      */
355     @Override
356     public String getFinancialBalanceTypeCode() {
357         return financialBalanceTypeCode;
358     }
359 
360     /**
361      * Sets the financialBalanceTypeCode attribute.
362      * 
363      * @param financialBalanceTypeCode The financialBalanceTypeCode to set.
364      */
365     public void setFinancialBalanceTypeCode(String financialBalanceTypeCode) {
366         this.financialBalanceTypeCode = financialBalanceTypeCode;
367     }
368 
369     /**
370      * Gets the financialObjectTypeCode attribute.
371      * 
372      * @return Returns the financialObjectTypeCode
373      */
374     @Override
375     public String getFinancialObjectTypeCode() {
376         return financialObjectTypeCode;
377     }
378 
379 
380     /**
381      * Sets the financialObjectTypeCode attribute.
382      * 
383      * @param financialObjectTypeCode The financialObjectTypeCode to set.
384      */
385     public void setFinancialObjectTypeCode(String financialObjectTypeCode) {
386         this.financialObjectTypeCode = financialObjectTypeCode;
387     }
388 
389     /**
390      * Gets the universityFiscalYear attribute.
391      * 
392      * @return Returns the universityFiscalYear
393      */
394     @Override
395     public Integer getUniversityFiscalYear() {
396         return universityFiscalYear;
397     }
398 
399 
400     /**
401      * Sets the universityFiscalYear attribute.
402      * 
403      * @param universityFiscalYear The universityFiscalYear to set.
404      */
405     public void setUniversityFiscalYear(Integer universityFiscalYear) {
406         this.universityFiscalYear = universityFiscalYear;
407     }
408 
409     /**
410      * Gets the universityFiscalPeriodCode attribute.
411      * 
412      * @return Returns the universityFiscalPeriodCode
413      */
414     @Override
415     public String getUniversityFiscalPeriodCode() {
416         return universityFiscalPeriodCode;
417     }
418 
419     /**
420      * Sets the universityFiscalPeriodCode attribute.
421      * 
422      * @param universityFiscalPeriodCode The universityFiscalPeriodCode to set.
423      */
424     public void setUniversityFiscalPeriodCode(String universityFiscalPeriodCode) {
425         this.universityFiscalPeriodCode = universityFiscalPeriodCode;
426     }
427 
428     /**
429      * Gets the transactionLedgerEntryDescription attribute.
430      * 
431      * @return Returns the transactionLedgerEntryDescription
432      */
433     @Override
434     public String getTransactionLedgerEntryDescription() {
435         return transactionLedgerEntryDescription;
436     }
437 
438     /**
439      * Sets the transactionLedgerEntryDescription attribute.
440      * 
441      * @param transactionLedgerEntryDescription The transactionLedgerEntryDescription to set.
442      */
443     public void setTransactionLedgerEntryDescription(String transactionLedgerEntryDescription) {
444         this.transactionLedgerEntryDescription = transactionLedgerEntryDescription;
445     }
446 
447     /**
448      * Gets the transactionLedgerEntryAmount attribute.
449      * 
450      * @return Returns the transactionLedgerEntryAmount
451      */
452     @Override
453     public KualiDecimal getTransactionLedgerEntryAmount() {
454         return transactionLedgerEntryAmount;
455     }
456 
457     /**
458      * Sets the transactionLedgerEntryAmount attribute.
459      * 
460      * @param transactionLedgerEntryAmount The transactionLedgerEntryAmount to set.
461      */
462     public void setTransactionLedgerEntryAmount(KualiDecimal transactionLedgerEntryAmount) {
463         this.transactionLedgerEntryAmount = transactionLedgerEntryAmount;
464     }
465 
466     /**
467      * Gets the transactionDebitCreditCode attribute.
468      * 
469      * @return Returns the transactionDebitCreditCode
470      */
471     @Override
472     public String getTransactionDebitCreditCode() {
473         return transactionDebitCreditCode;
474     }
475 
476     /**
477      * Sets the transactionDebitCreditCode attribute.
478      * 
479      * @param transactionDebitCreditCode The transactionDebitCreditCode to set.
480      */
481     public void setTransactionDebitCreditCode(String transactionDebitCreditCode) {
482         this.transactionDebitCreditCode = transactionDebitCreditCode;
483     }
484 
485     /**
486      * Gets the transactionDate attribute.
487      * 
488      * @return Returns the transactionDate
489      */
490     @Override
491     public Date getTransactionDate() {
492         return transactionDate;
493     }
494 
495     /**
496      * Sets the transactionDate attribute.
497      * 
498      * @param transactionDate The transactionDate to set.
499      */
500     public void setTransactionDate(Date transactionDate) {
501         this.transactionDate = transactionDate;
502     }
503 
504     /**
505      * Gets the financialDocumentTypeCode attribute.
506      * 
507      * @return Returns the financialDocumentTypeCode
508      */
509     @Override
510     public String getFinancialDocumentTypeCode() {
511         return financialDocumentTypeCode;
512     }
513 
514     /**
515      * Sets the financialDocumentTypeCode attribute.
516      * 
517      * @param financialDocumentTypeCode The financialDocumentTypeCode to set.
518      */
519     public void setFinancialDocumentTypeCode(String financialDocumentTypeCode) {
520         this.financialDocumentTypeCode = financialDocumentTypeCode;
521     }
522 
523     /**
524      * Gets the organizationDocumentNumber attribute.
525      * 
526      * @return Returns the organizationDocumentNumber
527      */
528     @Override
529     public String getOrganizationDocumentNumber() {
530         return organizationDocumentNumber;
531     }
532 
533     /**
534      * Sets the organizationDocumentNumber attribute.
535      * 
536      * @param organizationDocumentNumber The organizationDocumentNumber to set.
537      */
538     public void setOrganizationDocumentNumber(String organizationDocumentNumber) {
539         this.organizationDocumentNumber = organizationDocumentNumber;
540     }
541 
542     /**
543      * Gets the projectCode attribute.
544      * 
545      * @return Returns the projectCode
546      */
547     @Override
548     public String getProjectCode() {
549         return projectCode;
550     }
551 
552     /**
553      * Sets the projectCode attribute.
554      * 
555      * @param projectCode The projectCode to set.
556      */
557     public void setProjectCode(String projectCode) {
558         this.projectCode = projectCode;
559     }
560 
561     /**
562      * Gets the organizationReferenceId attribute.
563      * 
564      * @return Returns the organizationReferenceId
565      */
566     @Override
567     public String getOrganizationReferenceId() {
568         return organizationReferenceId;
569     }
570 
571     /**
572      * Sets the organizationReferenceId attribute.
573      * 
574      * @param organizationReferenceId The organizationReferenceId to set.
575      */
576     public void setOrganizationReferenceId(String organizationReferenceId) {
577         this.organizationReferenceId = organizationReferenceId;
578     }
579 
580     /**
581      * Gets the referenceFinancialDocumentTypeCode attribute.
582      * 
583      * @return Returns the referenceFinancialDocumentTypeCode
584      */
585     @Override
586     public String getReferenceFinancialDocumentTypeCode() {
587         return referenceFinancialDocumentTypeCode;
588     }
589 
590     /**
591      * Sets the referenceFinancialDocumentTypeCode attribute.
592      * 
593      * @param referenceFinancialDocumentTypeCode The referenceFinancialDocumentTypeCode to set.
594      */
595     public void setReferenceFinancialDocumentTypeCode(String referenceFinancialDocumentTypeCode) {
596         this.referenceFinancialDocumentTypeCode = referenceFinancialDocumentTypeCode;
597     }
598 
599     /**
600      * Gets the referenceFinancialSystemOriginationCode attribute.
601      * 
602      * @return Returns the referenceFinancialSystemOriginationCode
603      */
604     @Override
605     public String getReferenceFinancialSystemOriginationCode() {
606         return referenceFinancialSystemOriginationCode;
607     }
608 
609     /**
610      * Sets the referenceFinancialSystemOriginationCode attribute.
611      * 
612      * @param referenceFinancialSystemOriginationCode The referenceFinancialSystemOriginationCode to set.
613      */
614     public void setReferenceFinancialSystemOriginationCode(String referenceFinancialSystemOriginationCode) {
615         this.referenceFinancialSystemOriginationCode = referenceFinancialSystemOriginationCode;
616     }
617 
618     /**
619      * Gets the referenceFinancialDocumentNumber attribute.
620      * 
621      * @return Returns the referenceFinancialDocumentNumber
622      */
623     @Override
624     public String getReferenceFinancialDocumentNumber() {
625         return referenceFinancialDocumentNumber;
626     }
627 
628     /**
629      * Sets the referenceFinancialDocumentNumber attribute.
630      * 
631      * @param referenceFinancialDocumentNumber The referenceFinancialDocumentNumber to set.
632      */
633     public void setReferenceFinancialDocumentNumber(String referenceFinancialDocumentNumber) {
634         this.referenceFinancialDocumentNumber = referenceFinancialDocumentNumber;
635     }
636 
637     /**
638      * Gets the financialDocumentReversalDate attribute.
639      * 
640      * @return Returns the financialDocumentReversalDate
641      */
642     @Override
643     public Date getFinancialDocumentReversalDate() {
644         return financialDocumentReversalDate;
645     }
646 
647     /**
648      * Sets the financialDocumentReversalDate attribute.
649      * 
650      * @param financialDocumentReversalDate The financialDocumentReversalDate to set.
651      */
652     public void setFinancialDocumentReversalDate(Date financialDocumentReversalDate) {
653         this.financialDocumentReversalDate = financialDocumentReversalDate;
654     }
655 
656     /**
657      * Gets the transactionEncumbranceUpdateCode attribute.
658      * 
659      * @return Returns the transactionEncumbranceUpdateCode
660      */
661     @Override
662     public String getTransactionEncumbranceUpdateCode() {
663         return transactionEncumbranceUpdateCode;
664     }
665 
666     /**
667      * Sets the transactionEncumbranceUpdateCode attribute.
668      * 
669      * @param transactionEncumbranceUpdateCode The transactionEncumbranceUpdateCode to set.
670      */
671     public void setTransactionEncumbranceUpdateCode(String transactionEncumbranceUpdateCode) {
672         this.transactionEncumbranceUpdateCode = transactionEncumbranceUpdateCode;
673     }
674 
675     /**
676      * Gets the financialDocumentApprovedCode attribute.
677      * 
678      * @return Returns the financialDocumentApprovedCode
679      */
680     public String getFinancialDocumentApprovedCode() {
681         return financialDocumentApprovedCode;
682     }
683 
684 
685     /**
686      * Sets the financialDocumentApprovedCode attribute.
687      * 
688      * @param financialDocumentApprovedCode The financialDocumentApprovedCode to set.
689      */
690     public void setFinancialDocumentApprovedCode(String financialDocumentApprovedCode) {
691         this.financialDocumentApprovedCode = financialDocumentApprovedCode;
692     }
693 
694     /**
695      * Gets the acctSufficientFundsFinObjCd attribute.
696      * 
697      * @return Returns the acctSufficientFundsFinObjCd
698      */
699     public String getAcctSufficientFundsFinObjCd() {
700         return acctSufficientFundsFinObjCd;
701     }
702 
703     /**
704      * Sets the acctSufficientFundsFinObjCd attribute.
705      * 
706      * @param acctSufficientFundsFinObjCd The acctSufficientFundsFinObjCd to set.
707      */
708     public void setAcctSufficientFundsFinObjCd(String acctSufficientFundsFinObjCd) {
709         this.acctSufficientFundsFinObjCd = acctSufficientFundsFinObjCd;
710     }
711 
712     /**
713      * Gets the transactionEntryOffsetIndicator attribute.
714      * 
715      * @return Returns the transactionEntryOffsetIndicator
716      */
717     public boolean isTransactionEntryOffsetIndicator() {
718         return transactionEntryOffsetIndicator;
719     }
720 
721     /**
722      * Sets the transactionEntryOffsetIndicator attribute.
723      * 
724      * @param transactionEntryOffsetIndicator The transactionEntryOffsetIndicator to set.
725      */
726     public void setTransactionEntryOffsetIndicator(boolean transactionEntryOffsetIndicator) {
727         this.transactionEntryOffsetIndicator = transactionEntryOffsetIndicator;
728     }
729 
730     /**
731      * Gets the transactionEntryProcessedTs attribute.
732      * 
733      * @return Returns the transactionEntryProcessedTs
734      */
735     public Timestamp getTransactionEntryProcessedTs() {
736         return transactionEntryProcessedTs;
737     }
738 
739     /**
740      * Sets the transactionEntryProcessedTs attribute.
741      * 
742      * @param transactionEntryProcessedTs The transactionEntryProcessedTs to set.
743      */
744     public void setTransactionEntryProcessedTs(Timestamp transactionEntryProcessedTs) {
745         this.transactionEntryProcessedTs = transactionEntryProcessedTs;
746     }
747 
748     /**
749      * @return Returns the financialSystemOriginationCode.
750      */
751     @Override
752     public String getFinancialSystemOriginationCode() {
753         return financialSystemOriginationCode;
754     }
755 
756     /**
757      * @param financialSystemOriginationCode The financialSystemOriginationCode to set.
758      */
759     public void setFinancialSystemOriginationCode(String financialSystemOriginationCode) {
760         this.financialSystemOriginationCode = financialSystemOriginationCode;
761     }
762 
763     /**
764      * @see org.kuali.rice.krad.bo.BusinessObjectBase#toStringMapper()
765      */
766     protected LinkedHashMap toStringMapper_RICE20_REFACTORME() {
767         LinkedHashMap m = new LinkedHashMap();
768         m.put("financialSystemOriginationCode", this.financialSystemOriginationCode);
769         m.put(OLEPropertyConstants.DOCUMENT_NUMBER, this.documentNumber);
770         if (transactionLedgerEntrySequenceNumber == null) {
771             m.put("transactionLedgerEntrySequenceNumber", null);
772         }
773         else {
774             m.put("transactionLedgerEntrySequenceNumber", this.transactionLedgerEntrySequenceNumber.toString());
775         }
776         return m;
777     }
778 
779     /**
780      * Gets the financialSystemDocumentTypeCode attribute. 
781      * @return Returns the financialSystemDocumentTypeCode.
782      */
783     @Override
784     public DocumentTypeEBO getFinancialSystemDocumentTypeCode() {
785         if ( StringUtils.isBlank( financialDocumentTypeCode ) ) {
786             financialSystemDocumentTypeCode = null;
787         } else {
788             if ( financialSystemDocumentTypeCode == null || !StringUtils.equals(financialDocumentTypeCode, financialSystemDocumentTypeCode.getName() ) ) {
789                 org.kuali.rice.kew.api.doctype.DocumentType temp = SpringContext.getBean(DocumentTypeService.class).getDocumentTypeByName(financialDocumentTypeCode);
790                 if ( temp != null ) {
791                     financialSystemDocumentTypeCode = DocumentType.from( temp );
792                 } else {
793                     financialSystemDocumentTypeCode = null;
794                 }
795             }
796         }
797         return financialSystemDocumentTypeCode;
798     }
799 
800     /**
801      * Gets the documentHeader attribute.
802      * 
803      * @return Returns the documentHeader.
804      */
805     public FinancialSystemDocumentHeader getDocumentHeader() {
806         return documentHeader;
807     }
808 
809     /**
810      * Sets the documentHeader attribute value.
811      * 
812      * @param documentHeader The documentHeader to set.
813      */
814     public void setDocumentHeader(FinancialSystemDocumentHeader documentHeader) {
815         this.documentHeader = documentHeader;
816     }
817 
818     /**
819      * Gets the account attribute.
820      * 
821      * @return Returns the account.
822      */
823     @Override
824     public Account getAccount() {
825         return account;
826     }
827 
828     /**
829      * Sets the account attribute value.
830      * 
831      * @param account The account to set.
832      */
833     @Override
834     public void setAccount(Account account) {
835         this.account = account;
836     }
837 
838     /**
839      * Gets the balanceType attribute.
840      * 
841      * @return Returns the balanceType.
842      */
843     @Override
844     public BalanceType getBalanceType() {
845         return balanceType;
846     }
847 
848     /**
849      * Sets the balanceType attribute value.
850      * 
851      * @param balanceType The balanceType to set.
852      */
853     @Override
854     public void setBalanceType(BalanceType balanceType) {
855         this.balanceType = balanceType;
856     }
857 
858     /**
859      * Gets the chart attribute.
860      * 
861      * @return Returns the chart.
862      */
863     @Override
864     public Chart getChart() {
865         return chart;
866     }
867 
868     /**
869      * Sets the chart attribute value.
870      * 
871      * @param chart The chart to set.
872      */
873     @Override
874     public void setChart(Chart chart) {
875         this.chart = chart;
876     }
877 
878     /**
879      * Gets the financialObject attribute.
880      * 
881      * @return Returns the financialObject.
882      */
883     @Override
884     public ObjectCode getFinancialObject() {
885         return financialObject;
886     }
887 
888     /**
889      * Sets the financialObject attribute value.
890      * 
891      * @param financialObject The financialObject to set.
892      */
893     @Override
894     public void setFinancialObject(ObjectCode financialObject) {
895         this.financialObject = financialObject;
896     }
897 
898     /**
899      * Gets the objectType attribute.
900      * 
901      * @return Returns the objectType.
902      */
903     @Override
904     public ObjectType getObjectType() {
905         return objectType;
906     }
907 
908     /**
909      * Sets the objectType attribute value.
910      * 
911      * @param objectType The objectType to set.
912      */
913     @Override
914     public void setObjectType(ObjectType objectType) {
915         this.objectType = objectType;
916     }
917 
918     /**
919      * Gets the a21SubAccount attribute.
920      * 
921      * @return Returns the a21SubAccount.
922      */
923     public A21SubAccount getA21SubAccount() {
924         return this.a21SubAccount;
925     }
926 
927     /**
928      * Sets the a21SubAccount attribute value.
929      * 
930      * @param a21SubAccount The a21SubAccount to set.
931      */
932     public void setA21SubAccount(A21SubAccount a21SubAccount) {
933         this.a21SubAccount = a21SubAccount;
934     }
935 
936     /**
937      * Gets the dummyBusinessObject attribute.
938      * 
939      * @return Returns the dummyBusinessObject.
940      */
941     public TransientBalanceInquiryAttributes getDummyBusinessObject() {
942         return this.dummyBusinessObject;
943     }
944 
945     /**
946      * Sets the dummyBusinessObject attribute value.
947      * 
948      * @param dummyBusinessObject The dummyBusinessObject to set.
949      */
950     public void setDummyBusinessObject(TransientBalanceInquiryAttributes dummyBusinessObject) {
951         this.dummyBusinessObject = dummyBusinessObject;
952     }
953 
954     @Override
955     public SubAccount getSubAccount() {
956         return subAccount;
957     }
958 
959     public void setSubAccount(SubAccount subAccount) {
960         this.subAccount = subAccount;
961     }
962 
963     @Override
964     public SubObjectCode getFinancialSubObject() {
965         return financialSubObject;
966     }
967 
968     public void setFinancialSubObject(SubObjectCode financialSubObject) {
969         this.financialSubObject = financialSubObject;
970     }
971 
972     public boolean isSubAccountNumberBlank() {
973         return subAccountNumber == null || GENERAL_LEDGER_PENDING_ENTRY_CODE.getBlankSubAccountNumber().equals(subAccountNumber);
974     }
975 
976     public boolean isFinancialObjectCodeBlank() {
977         return financialObjectCode == null || GENERAL_LEDGER_PENDING_ENTRY_CODE.getBlankFinancialObjectCode().equals(financialObjectCode);
978     }
979 
980     public boolean isFinancialSubObjectCodeBlank() {
981         return financialSubObjectCode == null || GENERAL_LEDGER_PENDING_ENTRY_CODE.getBlankFinancialSubObjectCode().equals(financialSubObjectCode);
982     }
983 
984     public boolean isProjectCodeBlank() {
985         return projectCode == null || GENERAL_LEDGER_PENDING_ENTRY_CODE.getBlankProjectCode().equals(projectCode);
986     }
987 
988     public boolean isFinancialObjectTypeCodeBlank() {
989         return financialObjectTypeCode == null || GENERAL_LEDGER_PENDING_ENTRY_CODE.getBlankFinancialObjectType().equals(financialObjectTypeCode);
990     }
991 
992     @Deprecated
993     public AccountingPeriod getAccountingPeriod() {
994         return accountingPeriod;
995     }
996 
997     @Deprecated
998     public void setAccountingPeriod(AccountingPeriod accountingPeriod) {
999         this.accountingPeriod = accountingPeriod;
1000     }
1001     
1002     /**
1003      * @return the amount formatted as a currency number
1004      */
1005     public String getCurrencyFormattedTransactionLedgerEntryAmount() {
1006         return (String) new CurrencyFormatter().format(getTransactionLedgerEntryAmount());
1007     }
1008 }