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    /*
017     * Created on Jul 12, 2004
018     *
019     */
020    package org.kuali.kfs.pdp.businessobject;
021    
022    import java.util.ArrayList;
023    import java.util.LinkedHashMap;
024    import java.util.List;
025    
026    import org.kuali.kfs.coa.businessobject.Account;
027    import org.kuali.kfs.coa.businessobject.Chart;
028    import org.kuali.kfs.coa.businessobject.ObjectCodeCurrent;
029    import org.kuali.kfs.coa.businessobject.ProjectCode;
030    import org.kuali.kfs.coa.businessobject.SubAccount;
031    import org.kuali.kfs.sys.KFSPropertyConstants;
032    import org.kuali.kfs.sys.businessobject.TimestampedBusinessObjectBase;
033    import org.kuali.rice.kns.util.KualiDecimal;
034    import org.kuali.rice.kns.util.KualiInteger;
035    
036    public class PaymentAccountDetail extends TimestampedBusinessObjectBase {
037    
038        private KualiInteger id; // PMT_ACCT_DTL_ID
039        private String finChartCode; // FIN_COA_CD
040        private String accountNbr; // ACCOUNT_NBR
041        private String subAccountNbr; // SUB_ACCT_NBR
042        private String finObjectCode; // FIN_OBJECT_CD
043        private String finSubObjectCode; // FIN_SUB_OBJ_CD
044        private String orgReferenceId; // ORG_REFERENCE_ID
045        private String projectCode; // PROJECT_CD
046        private KualiDecimal accountNetAmount; // ACCT_NET_AMT
047    
048        private KualiInteger paymentDetailId;
049        private PaymentDetail paymentDetail; // PMT_DTL_ID
050    
051        private List<PaymentAccountHistory> accountHistory = new ArrayList<PaymentAccountHistory>();
052    
053        private Chart chartOfAccounts;
054        private Account account;
055        private SubAccount subAccount;
056        private ProjectCode project;
057        private ObjectCodeCurrent objectCode;
058    
059        /**
060         * Constructs a PaymentAccountDetail.java.
061         */
062        public PaymentAccountDetail() {
063            super();
064        }
065    
066        /**
067         * This method gets the accountHistory list.
068         * 
069         * @return the accountHistory list
070         */
071        public List<PaymentAccountHistory> getAccountHistory() {
072            return accountHistory;
073        }
074    
075        /**
076         * This method sets the accountHistory list
077         * 
078         * @param ah
079         */
080        public void setAccountHistory(List<PaymentAccountHistory> ah) {
081            accountHistory = ah;
082        }
083    
084        /**
085         * This method add a new PaymentAccountHistory.
086         * 
087         * @param pah
088         */
089        public void addAccountHistory(PaymentAccountHistory pah) {
090            pah.setPaymentAccountDetail(this);
091            accountHistory.add(pah);
092        }
093    
094        /**
095         * This method deletes a PaymentAccountHistory.
096         * 
097         * @param pah
098         */
099        public void deleteAccountDetail(PaymentAccountHistory pah) {
100            accountHistory.remove(pah);
101        }
102    
103        /**
104         * @hibernate.id column="PMT_ACCT_DTL_ID" generator-class="sequence"
105         * @hibernate.generator-param name="sequence" value="PDP.PDP_PMT_ACCT_DTL_ID_SEQ"
106         * @return
107         */
108        public KualiInteger getId() {
109            return id;
110        }
111    
112        /**
113         * @return
114         * @hibernate.many-to-one column="PMT_DTL_ID" class="edu.iu.uis.pdp.bo.PaymentDetail"
115         */
116        public PaymentDetail getPaymentDetail() {
117            return this.paymentDetail;
118        }
119    
120        /**
121         * @return
122         * @hibernate.property column="ACCOUNT_NBR" length="7"
123         */
124        public String getAccountNbr() {
125            return accountNbr;
126        }
127    
128        /**
129         * @return
130         * @hibernate.property column="ACCT_NET_AMT" length="14"
131         */
132        public KualiDecimal getAccountNetAmount() {
133            return accountNetAmount;
134        }
135    
136        /**
137         * @return
138         * @hibernate.property column="FIN_COA_CD" length="2"
139         */
140        public String getFinChartCode() {
141            return finChartCode;
142        }
143    
144        /**
145         * @return
146         * @hibernate.property column="FIN_OBJECT_CD" length="4"
147         */
148        public String getFinObjectCode() {
149            return finObjectCode;
150        }
151    
152        /**
153         * @return
154         * @hibernate.property column="FIN_SUB_OBJ_CD" length="3"
155         */
156        public String getFinSubObjectCode() {
157            return finSubObjectCode;
158        }
159    
160        /**
161         * @return
162         * @hibernate.property column="ORG_REFERENCE_ID" length="8"
163         */
164        public String getOrgReferenceId() {
165            return orgReferenceId;
166        }
167    
168        /**
169         * @return
170         * @hibernate.property column="PROJECT_CD" length="10"
171         */
172        public String getProjectCode() {
173            return projectCode;
174        }
175    
176        /**
177         * @return
178         * @hibernate.property column="SUB_ACCT_NBR" length="5"
179         */
180        public String getSubAccountNbr() {
181            return subAccountNbr;
182        }
183    
184        /**
185         * @param string
186         */
187        public void setAccountNbr(String string) {
188            accountNbr = string;
189        }
190    
191        /**
192         * @param string
193         */
194        public void setAccountNetAmount(KualiDecimal bigdecimal) {
195            accountNetAmount = bigdecimal;
196        }
197    
198        public void setAccountNetAmount(String bigdecimal) {
199            accountNetAmount = new KualiDecimal(bigdecimal);
200        }
201    
202        /**
203         * @param integer
204         */
205        public void setPaymentDetail(PaymentDetail pd) {
206            paymentDetail = pd;
207        }
208    
209        /**
210         * @param string
211         */
212        public void setFinChartCode(String string) {
213            finChartCode = string;
214        }
215    
216        /**
217         * @param string
218         */
219        public void setFinObjectCode(String string) {
220            finObjectCode = string;
221        }
222    
223        /**
224         * @param string
225         */
226        public void setFinSubObjectCode(String string) {
227            finSubObjectCode = string;
228        }
229    
230        /**
231         * @param integer
232         */
233        public void setId(KualiInteger integer) {
234            id = integer;
235        }
236    
237        /**
238         * @param string
239         */
240        public void setOrgReferenceId(String string) {
241            orgReferenceId = string;
242        }
243    
244        /**
245         * @param string
246         */
247        public void setProjectCode(String string) {
248            projectCode = string;
249        }
250    
251        /**
252         * @param string
253         */
254        public void setSubAccountNbr(String string) {
255            subAccountNbr = string;
256        }
257    
258        /**
259         * Gets the paymentDetailId attribute.
260         * 
261         * @return Returns the paymentDetailId.
262         */
263        public KualiInteger getPaymentDetailId() {
264            return paymentDetailId;
265        }
266    
267        /**
268         * Sets the paymentDetailId attribute value.
269         * 
270         * @param paymentDetailId The paymentDetailId to set.
271         */
272        public void setPaymentDetailId(KualiInteger paymentDetailId) {
273            this.paymentDetailId = paymentDetailId;
274        }
275    
276        /**
277         * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper()
278         */
279        @Override
280        protected LinkedHashMap toStringMapper() {
281            LinkedHashMap m = new LinkedHashMap();
282    
283            m.put(KFSPropertyConstants.ID, this.id);
284    
285            return m;
286        }
287    
288        /**
289         * This method gets the account.
290         * 
291         * @return the account
292         */
293        public Account getAccount() {
294            return account;
295        }
296    
297        /**
298         * This method sets the account.
299         * 
300         * @param account
301         */
302        public void setAccount(Account account) {
303            this.account = account;
304        }
305    
306        /**
307         * This method gets the subAccount.
308         * 
309         * @return the subAccount
310         */
311        public SubAccount getSubAccount() {
312            return subAccount;
313        }
314    
315        /**
316         * This method sets the subAccount.
317         * 
318         * @param subAccount
319         */
320        public void setSubAccount(SubAccount subAccount) {
321            this.subAccount = subAccount;
322        }
323    
324        /**
325         * This method gets the chart of accounts.
326         * 
327         * @return the chart of accounts
328         */
329        public Chart getChartOfAccounts() {
330            return chartOfAccounts;
331        }
332    
333        /**
334         * This method sets the chart of accounts.
335         * 
336         * @param chartOfAccounts
337         */
338        public void setChartOfAccounts(Chart chartOfAccounts) {
339            this.chartOfAccounts = chartOfAccounts;
340        }
341    
342        /**
343         * This method gets the project.
344         * 
345         * @return the project
346         */
347        public ProjectCode getProject() {
348            return project;
349        }
350    
351        /**
352         * This method sets the project.
353         * 
354         * @param project
355         */
356        public void setProject(ProjectCode project) {
357            this.project = project;
358        }
359    
360        /**
361         * This method gets the cuttent object code.
362         * 
363         * @return the current object code
364         */
365        public ObjectCodeCurrent getObjectCode() {
366            return objectCode;
367        }
368    
369        /**
370         * This method sets the cuttent object code.
371         * 
372         * @param objectCode
373         */
374        public void setObjectCode(ObjectCodeCurrent objectCode) {
375            this.objectCode = objectCode;
376        }
377    }