1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.kuali.kfs.gl.businessobject;
21
22 import java.sql.Date;
23 import java.sql.Timestamp;
24
25 import org.apache.commons.lang.StringUtils;
26 import org.kuali.kfs.coa.businessobject.Account;
27 import org.kuali.kfs.coa.businessobject.AccountingPeriod;
28 import org.kuali.kfs.coa.businessobject.BalanceType;
29 import org.kuali.kfs.coa.businessobject.Chart;
30 import org.kuali.kfs.coa.businessobject.ObjectCode;
31 import org.kuali.kfs.coa.businessobject.ObjectType;
32 import org.kuali.kfs.coa.businessobject.ProjectCode;
33 import org.kuali.kfs.coa.businessobject.SubAccount;
34 import org.kuali.kfs.coa.businessobject.SubObjectCode;
35 import org.kuali.kfs.sys.businessobject.OriginationCode;
36 import org.kuali.kfs.sys.businessobject.SystemOptions;
37 import org.kuali.kfs.sys.businessobject.UniversityDate;
38 import org.kuali.kfs.sys.context.SpringContext;
39 import org.kuali.rice.core.api.datetime.DateTimeService;
40 import org.kuali.rice.core.api.util.type.KualiDecimal;
41 import org.kuali.rice.kew.api.doctype.DocumentTypeService;
42 import org.kuali.rice.kew.doctype.bo.DocumentType;
43 import org.kuali.rice.kew.doctype.bo.DocumentTypeEBO;
44 import org.kuali.rice.krad.bo.PersistableBusinessObjectBase;
45
46
47
48
49
50 public class Entry extends PersistableBusinessObjectBase implements Transaction {
51 static final long serialVersionUID = -24983129882357448L;
52
53 private Integer universityFiscalYear;
54 private String chartOfAccountsCode;
55 private String accountNumber;
56 private String subAccountNumber;
57 private String financialObjectCode;
58 private String financialSubObjectCode;
59 private String financialBalanceTypeCode;
60 private String financialObjectTypeCode;
61 private String universityFiscalPeriodCode;
62 private String financialDocumentTypeCode;
63 private String financialSystemOriginationCode;
64 private String documentNumber;
65 private Integer transactionLedgerEntrySequenceNumber;
66 private String transactionLedgerEntryDescription;
67 private KualiDecimal transactionLedgerEntryAmount;
68 private String transactionDebitCreditCode;
69 private Date transactionDate;
70 private String organizationDocumentNumber;
71 private String projectCode;
72 private String organizationReferenceId;
73 private String referenceFinancialDocumentTypeCode;
74 private String referenceFinancialSystemOriginationCode;
75 private String referenceFinancialDocumentNumber;
76 private Date financialDocumentReversalDate;
77 private String transactionEncumbranceUpdateCode;
78 private Date transactionPostingDate;
79 private Timestamp transactionDateTimeStamp;
80
81
82 private Account account;
83 private SubAccount subAccount;
84 private BalanceType balanceType;
85 private Chart chart;
86 private ObjectCode financialObject;
87 private SubObjectCode financialSubObject;
88 private ObjectType objectType;
89 private ProjectCode project;
90 private DocumentTypeEBO financialSystemDocumentTypeCode;
91 private DocumentTypeEBO referenceFinancialSystemDocumentTypeCode;
92 private UniversityDate universityDate;
93 private SystemOptions option;
94 private AccountingPeriod accountingPeriod;
95 private UniversityDate reversalDate;
96 private OriginationCode originationCode;
97 private OriginationCode referenceOriginationCode;
98
99 private TransientBalanceInquiryAttributes dummyBusinessObject;
100
101
102
103
104 public Entry() {
105 }
106
107 public Entry(Transaction t) {
108 super();
109
110 setUniversityFiscalYear(t.getUniversityFiscalYear());
111 setChartOfAccountsCode(t.getChartOfAccountsCode());
112 setAccountNumber(t.getAccountNumber());
113 setSubAccountNumber(t.getSubAccountNumber());
114 setFinancialObjectCode(t.getFinancialObjectCode());
115 setFinancialSubObjectCode(t.getFinancialSubObjectCode());
116 setFinancialBalanceTypeCode(t.getFinancialBalanceTypeCode());
117 setFinancialObjectTypeCode(t.getFinancialObjectTypeCode());
118 setUniversityFiscalPeriodCode(t.getUniversityFiscalPeriodCode());
119 setFinancialDocumentTypeCode(t.getFinancialDocumentTypeCode());
120 setFinancialSystemOriginationCode(t.getFinancialSystemOriginationCode());
121 setDocumentNumber(t.getDocumentNumber());
122 setTransactionLedgerEntrySequenceNumber(t.getTransactionLedgerEntrySequenceNumber());
123 setTransactionLedgerEntryDescription(t.getTransactionLedgerEntryDescription());
124 setTransactionLedgerEntryAmount(t.getTransactionLedgerEntryAmount());
125 setTransactionDebitCreditCode(t.getTransactionDebitCreditCode());
126 setTransactionDate(t.getTransactionDate());
127 setOrganizationDocumentNumber(t.getOrganizationDocumentNumber());
128 setProjectCode(t.getProjectCode());
129 setOrganizationReferenceId(t.getOrganizationReferenceId());
130 setReferenceFinancialDocumentTypeCode(t.getReferenceFinancialDocumentTypeCode());
131 setReferenceFinancialSystemOriginationCode(t.getReferenceFinancialSystemOriginationCode());
132 setReferenceFinancialDocumentNumber(t.getReferenceFinancialDocumentNumber());
133 setFinancialDocumentReversalDate(t.getFinancialDocumentReversalDate());
134 setTransactionEncumbranceUpdateCode(t.getTransactionEncumbranceUpdateCode());
135
136 Timestamp now = SpringContext.getBean(DateTimeService.class).getCurrentTimestamp();
137 setTransactionDateTimeStamp(now);
138 }
139
140 public Entry(Transaction t, java.util.Date postDate) {
141 super();
142 this.dummyBusinessObject = new TransientBalanceInquiryAttributes();
143
144 setUniversityFiscalYear(t.getUniversityFiscalYear());
145 setChartOfAccountsCode(t.getChartOfAccountsCode());
146 setAccountNumber(t.getAccountNumber());
147 setSubAccountNumber(t.getSubAccountNumber());
148 setFinancialObjectCode(t.getFinancialObjectCode());
149 setFinancialSubObjectCode(t.getFinancialSubObjectCode());
150 setFinancialBalanceTypeCode(t.getFinancialBalanceTypeCode());
151 setFinancialObjectTypeCode(t.getFinancialObjectTypeCode());
152 setUniversityFiscalPeriodCode(t.getUniversityFiscalPeriodCode());
153 setFinancialDocumentTypeCode(t.getFinancialDocumentTypeCode());
154 setFinancialSystemOriginationCode(t.getFinancialSystemOriginationCode());
155 setDocumentNumber(t.getDocumentNumber());
156 setTransactionLedgerEntrySequenceNumber(t.getTransactionLedgerEntrySequenceNumber());
157 setTransactionLedgerEntryDescription(t.getTransactionLedgerEntryDescription());
158 setTransactionLedgerEntryAmount(t.getTransactionLedgerEntryAmount());
159 setTransactionDebitCreditCode(t.getTransactionDebitCreditCode());
160 setTransactionDate(t.getTransactionDate());
161 setOrganizationDocumentNumber(t.getOrganizationDocumentNumber());
162 setProjectCode(t.getProjectCode());
163 setOrganizationReferenceId(t.getOrganizationReferenceId());
164 setReferenceFinancialDocumentTypeCode(t.getReferenceFinancialDocumentTypeCode());
165 setReferenceFinancialSystemOriginationCode(t.getReferenceFinancialSystemOriginationCode());
166 setReferenceFinancialDocumentNumber(t.getReferenceFinancialDocumentNumber());
167 setFinancialDocumentReversalDate(t.getFinancialDocumentReversalDate());
168 setTransactionEncumbranceUpdateCode(t.getTransactionEncumbranceUpdateCode());
169 if (postDate != null) {
170 setTransactionPostingDate(new Date(postDate.getTime()));
171 }
172
173 Timestamp now = SpringContext.getBean(DateTimeService.class).getCurrentTimestamp();
174 setTransactionDateTimeStamp(now);
175 }
176
177 public OriginationCode getOriginationCode() {
178 return originationCode;
179 }
180
181 public void setOriginationCode(OriginationCode originationCode) {
182 this.originationCode = originationCode;
183 }
184
185 public OriginationCode getReferenceOriginationCode() {
186 return referenceOriginationCode;
187 }
188
189 public void setReferenceOriginationCode(OriginationCode referenceOriginationCode) {
190 this.referenceOriginationCode = referenceOriginationCode;
191 }
192
193
194
195
196
197
198 @Override
199 public Integer getUniversityFiscalYear() {
200 return universityFiscalYear;
201 }
202
203
204
205
206
207
208 public void setUniversityFiscalYear(Integer universityFiscalYear) {
209 this.universityFiscalYear = universityFiscalYear;
210 }
211
212
213
214
215
216
217 @Override
218 public String getChartOfAccountsCode() {
219 return chartOfAccountsCode;
220 }
221
222
223
224
225
226
227 public void setChartOfAccountsCode(String chartOfAccountsCode) {
228 this.chartOfAccountsCode = chartOfAccountsCode;
229 }
230
231
232
233
234
235
236 @Override
237 public DocumentTypeEBO getFinancialSystemDocumentTypeCode() {
238 if ( StringUtils.isBlank( financialDocumentTypeCode ) ) {
239 financialSystemDocumentTypeCode = null;
240 } else {
241 if ( financialSystemDocumentTypeCode == null || !StringUtils.equals(financialDocumentTypeCode, financialSystemDocumentTypeCode.getName() ) ) {
242 org.kuali.rice.kew.api.doctype.DocumentType temp = SpringContext.getBean(DocumentTypeService.class).getDocumentTypeByName(financialDocumentTypeCode);
243 if ( temp != null ) {
244 financialSystemDocumentTypeCode = DocumentType.from( temp );
245 } else {
246 financialSystemDocumentTypeCode = null;
247 }
248 }
249 }
250 return financialSystemDocumentTypeCode;
251 }
252
253
254
255
256
257
258 @Override
259 public String getAccountNumber() {
260 return accountNumber;
261 }
262
263
264
265
266
267
268 public void setAccountNumber(String accountNumber) {
269 this.accountNumber = accountNumber;
270 }
271
272
273
274
275
276
277 @Override
278 public String getSubAccountNumber() {
279 return subAccountNumber;
280 }
281
282
283
284
285
286
287 public void setSubAccountNumber(String subAccountNumber) {
288 this.subAccountNumber = subAccountNumber;
289 }
290
291
292
293
294
295
296 @Override
297 public String getFinancialObjectCode() {
298 return financialObjectCode;
299 }
300
301
302
303
304
305
306 public void setFinancialObjectCode(String financialObjectCode) {
307 this.financialObjectCode = financialObjectCode;
308 }
309
310
311
312
313
314
315 @Override
316 public String getFinancialSubObjectCode() {
317 return financialSubObjectCode;
318 }
319
320
321
322
323
324
325 public void setFinancialSubObjectCode(String financialSubObjectCode) {
326 this.financialSubObjectCode = financialSubObjectCode;
327 }
328
329
330
331
332
333
334 @Override
335 public String getFinancialBalanceTypeCode() {
336 return financialBalanceTypeCode;
337 }
338
339
340
341
342
343
344 public void setFinancialBalanceTypeCode(String financialBalanceTypeCode) {
345 this.financialBalanceTypeCode = financialBalanceTypeCode;
346 }
347
348
349
350
351
352
353 @Override
354 public String getFinancialObjectTypeCode() {
355 return financialObjectTypeCode;
356 }
357
358
359
360
361
362
363 public void setFinancialObjectTypeCode(String financialObjectTypeCode) {
364 this.financialObjectTypeCode = financialObjectTypeCode;
365 }
366
367
368
369
370
371
372 @Override
373 public String getUniversityFiscalPeriodCode() {
374 return universityFiscalPeriodCode;
375 }
376
377
378
379
380
381
382 public void setUniversityFiscalPeriodCode(String universityFiscalPeriodCode) {
383 this.universityFiscalPeriodCode = universityFiscalPeriodCode;
384 }
385
386
387
388
389
390
391 @Override
392 public String getFinancialDocumentTypeCode() {
393 return financialDocumentTypeCode;
394 }
395
396
397
398
399
400
401 public void setFinancialDocumentTypeCode(String financialDocumentTypeCode) {
402 this.financialDocumentTypeCode = financialDocumentTypeCode;
403 }
404
405
406
407
408
409
410 @Override
411 public String getFinancialSystemOriginationCode() {
412 return financialSystemOriginationCode;
413 }
414
415
416
417
418
419
420 public void setFinancialSystemOriginationCode(String financialSystemOriginationCode) {
421 this.financialSystemOriginationCode = financialSystemOriginationCode;
422 }
423
424
425
426
427
428
429 @Override
430 public String getDocumentNumber() {
431 return documentNumber;
432 }
433
434
435
436
437
438
439 public void setDocumentNumber(String documentNumber) {
440 this.documentNumber = documentNumber;
441 }
442
443
444
445
446
447
448 @Override
449 public Integer getTransactionLedgerEntrySequenceNumber() {
450 return transactionLedgerEntrySequenceNumber;
451 }
452
453
454
455
456
457
458 public void setTransactionLedgerEntrySequenceNumber(Integer transactionLedgerEntrySequenceNumber) {
459 this.transactionLedgerEntrySequenceNumber = transactionLedgerEntrySequenceNumber;
460 }
461
462
463
464
465
466
467 @Override
468 public String getTransactionLedgerEntryDescription() {
469 return transactionLedgerEntryDescription;
470 }
471
472
473
474
475
476
477 public void setTransactionLedgerEntryDescription(String transactionLedgerEntryDescription) {
478 this.transactionLedgerEntryDescription = transactionLedgerEntryDescription;
479 }
480
481
482
483
484
485
486 @Override
487 public KualiDecimal getTransactionLedgerEntryAmount() {
488 return transactionLedgerEntryAmount;
489 }
490
491
492
493
494
495
496 public void setTransactionLedgerEntryAmount(KualiDecimal transactionLedgerEntryAmount) {
497 this.transactionLedgerEntryAmount = transactionLedgerEntryAmount;
498 }
499
500
501
502
503
504
505 @Override
506 public String getTransactionDebitCreditCode() {
507 if (transactionDebitCreditCode == null)
508 return " ";
509 else
510 return transactionDebitCreditCode;
511 }
512
513
514
515
516
517
518 public void setTransactionDebitCreditCode(String transactionDebitCreditCode) {
519 this.transactionDebitCreditCode = transactionDebitCreditCode;
520 }
521
522
523
524
525
526
527 @Override
528 public Date getTransactionDate() {
529 return transactionDate;
530 }
531
532
533
534
535
536
537 public void setTransactionDate(Date transactionDate) {
538 this.transactionDate = transactionDate;
539 }
540
541
542
543
544
545
546 @Override
547 public String getOrganizationDocumentNumber() {
548 return organizationDocumentNumber;
549 }
550
551
552
553
554
555
556 public void setOrganizationDocumentNumber(String organizationDocumentNumber) {
557 this.organizationDocumentNumber = organizationDocumentNumber;
558 }
559
560
561
562
563
564
565 @Override
566 public String getProjectCode() {
567 return projectCode;
568 }
569
570
571
572
573
574
575 public void setProjectCode(String projectCode) {
576 this.projectCode = projectCode;
577 }
578
579
580
581
582
583
584 @Override
585 public String getOrganizationReferenceId() {
586 return organizationReferenceId;
587 }
588
589
590
591
592
593
594 public void setOrganizationReferenceId(String organizationReferenceId) {
595 this.organizationReferenceId = organizationReferenceId;
596 }
597
598
599
600
601
602
603 @Override
604 public String getReferenceFinancialDocumentTypeCode() {
605 return referenceFinancialDocumentTypeCode;
606 }
607
608
609
610
611
612
613 public void setReferenceFinancialDocumentTypeCode(String referenceFinancialDocumentTypeCode) {
614 this.referenceFinancialDocumentTypeCode = referenceFinancialDocumentTypeCode;
615 }
616
617
618
619
620
621
622 @Override
623 public String getReferenceFinancialSystemOriginationCode() {
624 return referenceFinancialSystemOriginationCode;
625 }
626
627
628
629
630
631
632 public void setReferenceFinancialSystemOriginationCode(String referenceFinancialSystemOriginationCode) {
633 this.referenceFinancialSystemOriginationCode = referenceFinancialSystemOriginationCode;
634 }
635
636
637
638
639
640
641 @Override
642 public String getReferenceFinancialDocumentNumber() {
643 return referenceFinancialDocumentNumber;
644 }
645
646
647
648
649
650
651 public void setReferenceFinancialDocumentNumber(String referenceFinancialDocumentNumber) {
652 this.referenceFinancialDocumentNumber = referenceFinancialDocumentNumber;
653 }
654
655
656
657
658
659
660 @Override
661 public Date getFinancialDocumentReversalDate() {
662 return financialDocumentReversalDate;
663 }
664
665
666
667
668
669
670 public void setFinancialDocumentReversalDate(Date financialDocumentReversalDate) {
671 this.financialDocumentReversalDate = financialDocumentReversalDate;
672 }
673
674
675
676
677
678
679 @Override
680 public String getTransactionEncumbranceUpdateCode() {
681 return transactionEncumbranceUpdateCode;
682 }
683
684
685
686
687
688
689 public void setTransactionEncumbranceUpdateCode(String transactionEncumbranceUpdateCode) {
690 this.transactionEncumbranceUpdateCode = transactionEncumbranceUpdateCode;
691 }
692
693
694
695
696
697
698 public Date getTransactionPostingDate() {
699 return transactionPostingDate;
700 }
701
702
703
704
705
706
707 public void setTransactionPostingDate(Date transactionPostingDate) {
708 this.transactionPostingDate = transactionPostingDate;
709 }
710
711
712
713
714
715
716 public Timestamp getTransactionDateTimeStamp() {
717 return transactionDateTimeStamp;
718 }
719
720
721
722
723
724
725 public void setTransactionDateTimeStamp(Timestamp transactionDateTimeStamp) {
726 this.transactionDateTimeStamp = transactionDateTimeStamp;
727 }
728
729 @Override
730 public Account getAccount() {
731 return account;
732 }
733
734 @Override
735 public void setAccount(Account account) {
736 this.account = account;
737 }
738
739 public AccountingPeriod getAccountingPeriod() {
740 return accountingPeriod;
741 }
742
743 public void setAccountingPeriod(AccountingPeriod accountingPeriod) {
744 this.accountingPeriod = accountingPeriod;
745 }
746
747 @Override
748 public BalanceType getBalanceType() {
749 return balanceType;
750 }
751
752 @Override
753 public void setBalanceType(BalanceType balanceType) {
754 this.balanceType = balanceType;
755 }
756
757 @Override
758 public Chart getChart() {
759 return chart;
760 }
761
762 @Override
763 public void setChart(Chart chart) {
764 this.chart = chart;
765 }
766
767 @Override
768 public ObjectCode getFinancialObject() {
769 return financialObject;
770 }
771
772 @Override
773 public void setFinancialObject(ObjectCode financialObject) {
774 this.financialObject = financialObject;
775 }
776
777 @Override
778 public SubObjectCode getFinancialSubObject() {
779 return financialSubObject;
780 }
781
782 public void setFinancialSubObject(SubObjectCode financialSubObject) {
783 this.financialSubObject = financialSubObject;
784 }
785
786 @Override
787 public ObjectType getObjectType() {
788 return objectType;
789 }
790
791 @Override
792 public void setObjectType(ObjectType objectType) {
793 this.objectType = objectType;
794 }
795
796 @Override
797 public SystemOptions getOption() {
798 return option;
799 }
800
801 @Override
802 public void setOption(SystemOptions option) {
803 this.option = option;
804 }
805
806 public ProjectCode getProject() {
807 return project;
808 }
809
810 public void setProject(ProjectCode project) {
811 this.project = project;
812 }
813
814 public UniversityDate getReversalDate() {
815 return reversalDate;
816 }
817
818 public void setReversalDate(UniversityDate reversalDate) {
819 this.reversalDate = reversalDate;
820 }
821
822 @Override
823 public SubAccount getSubAccount() {
824 return subAccount;
825 }
826
827 public void setSubAccount(SubAccount subAccount) {
828 this.subAccount = subAccount;
829 }
830
831 public UniversityDate getUniversityDate() {
832 return universityDate;
833 }
834
835 public void setUniversityDate(UniversityDate universityDate) {
836 this.universityDate = universityDate;
837 }
838
839
840
841
842
843
844 public TransientBalanceInquiryAttributes getDummyBusinessObject() {
845 return dummyBusinessObject;
846 }
847
848
849
850
851
852
853 public void setDummyBusinessObject(TransientBalanceInquiryAttributes dummyBusinessObject) {
854 this.dummyBusinessObject = dummyBusinessObject;
855 }
856
857
858
859
860
861
862 public DocumentTypeEBO getReferenceFinancialSystemDocumentTypeCode() {
863 if ( StringUtils.isBlank( referenceFinancialDocumentTypeCode ) ) {
864 referenceFinancialSystemDocumentTypeCode = null;
865 } else {
866 if ( referenceFinancialSystemDocumentTypeCode == null || !StringUtils.equals(referenceFinancialDocumentTypeCode, referenceFinancialSystemDocumentTypeCode.getName() ) ) {
867 org.kuali.rice.kew.api.doctype.DocumentType temp = SpringContext.getBean(DocumentTypeService.class).getDocumentTypeByName(referenceFinancialDocumentTypeCode);
868 if ( temp != null ) {
869 referenceFinancialSystemDocumentTypeCode = DocumentType.from( temp );
870 } else {
871 referenceFinancialSystemDocumentTypeCode = null;
872 }
873 }
874 }
875 return referenceFinancialSystemDocumentTypeCode;
876 }
877
878 }