1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.kuali.kfs.fp.document;
20
21 import java.util.ArrayList;
22 import java.util.List;
23
24 import org.kuali.kfs.fp.businessobject.CapitalAssetAccountsGroupDetails;
25 import org.kuali.kfs.fp.businessobject.CapitalAssetInformation;
26 import org.kuali.kfs.fp.businessobject.CapitalAssetInformationDetail;
27 import org.kuali.kfs.integration.cab.CapitalAssetBuilderModuleService;
28 import org.kuali.kfs.sys.businessobject.AccountingLine;
29 import org.kuali.kfs.sys.businessobject.GeneralLedgerPendingEntrySourceDetail;
30 import org.kuali.kfs.sys.context.SpringContext;
31 import org.kuali.kfs.sys.document.AccountingDocumentBase;
32 import org.kuali.kfs.sys.document.service.DebitDeterminerService;
33 import org.kuali.rice.kew.framework.postprocessor.DocumentRouteStatusChange;
34 import org.kuali.rice.krad.util.ObjectUtils;
35
36
37
38
39 public class CapitalAssetInformationDocumentBase extends AccountingDocumentBase implements CapitalAssetEditable {
40 protected static org.apache.log4j.Logger LOG = org.apache.log4j.Logger.getLogger(CapitalAssetInformationDocumentBase.class);
41 protected Integer nextCapitalAssetLineNumber;
42
43
44 protected List<CapitalAssetInformation> capitalAssetInformation;
45
46
47
48
49 public CapitalAssetInformationDocumentBase() {
50 super();
51
52 this.setCapitalAssetInformation(new ArrayList());
53 this.setNextCapitalAssetLineNumber(1);
54 }
55
56
57
58
59 @Override
60 public void doRouteStatusChange(DocumentRouteStatusChange statusChangeEvent) {
61 super.doRouteStatusChange(statusChangeEvent);
62
63 String documentNumber = getDocumentHeader().getDocumentNumber();
64
65 SpringContext.getBean(CapitalAssetBuilderModuleService.class).markProcessedGLEntryLine(documentNumber);
66 }
67
68
69
70
71 @Override
72 public List buildListOfDeletionAwareLists() {
73 List<List> managedLists = super.buildListOfDeletionAwareLists();
74
75 List<CapitalAssetInformation> capitalAssets = new ArrayList<CapitalAssetInformation>();
76 capitalAssets.addAll(this.getCapitalAssetInformation());
77
78 managedLists.add(capitalAssets);
79
80 return managedLists;
81 }
82
83
84
85
86
87
88
89
90
91
92
93 public boolean isDebit(GeneralLedgerPendingEntrySourceDetail postable) {
94 DebitDeterminerService isDebitUtils = SpringContext.getBean(DebitDeterminerService.class);
95 return isDebitUtils.isDebitConsideringSectionAndTypePositiveOnly(this, (AccountingLine) postable);
96 }
97
98
99
100
101 public List<CapitalAssetInformation> getCapitalAssetInformation() {
102 return ObjectUtils.isNull(capitalAssetInformation) ? null : capitalAssetInformation;
103 }
104
105
106
107
108 public void setCapitalAssetInformation(List<CapitalAssetInformation> capitalAssetInformation) {
109 this.capitalAssetInformation = capitalAssetInformation;
110 }
111
112
113
114
115
116
117
118 public Integer getNextCapitalAssetLineNumber() {
119 return nextCapitalAssetLineNumber;
120 }
121
122
123
124
125
126
127 public void setNextCapitalAssetLineNumber(Integer nextCapitalAssetLineNumber) {
128 this.nextCapitalAssetLineNumber = nextCapitalAssetLineNumber;
129 }
130 }