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 package org.kuali.kfs.fp.businessobject;
018
019 import java.sql.Date;
020 import java.util.LinkedHashMap;
021
022 import org.kuali.kfs.fp.document.AdvanceDepositDocument;
023 import org.kuali.kfs.sys.KFSPropertyConstants;
024 import org.kuali.kfs.sys.businessobject.Bank;
025 import org.kuali.kfs.sys.context.SpringContext;
026 import org.kuali.kfs.sys.service.BankService;
027 import org.kuali.rice.kns.bo.PersistableBusinessObjectBase;
028 import org.kuali.rice.kns.service.DataDictionaryService;
029 import org.kuali.rice.kns.util.KualiDecimal;
030
031 /**
032 * This business object represents the advance deposit detail business object that is used by the Advance Deposit Document.
033 */
034 public class AdvanceDepositDetail extends PersistableBusinessObjectBase {
035 private String documentNumber;
036 private String financialDocumentTypeCode;
037 private String financialDocumentColumnTypeCode;
038 private Integer financialDocumentLineNumber;
039 private Date financialDocumentAdvanceDepositDate;
040 private String financialDocumentAdvanceDepositReferenceNumber;
041 private String financialDocumentAdvanceDepositDescription;
042 private KualiDecimal financialDocumentAdvanceDepositAmount;
043 private String financialDocumentBankCode;
044
045 private AdvanceDepositDocument advanceDepositDocument;
046 private Bank bank;
047
048 /**
049 * Default constructor.
050 */
051 public AdvanceDepositDetail() {
052 bank = new Bank();
053 }
054
055 /**
056 * Sets the bank code for a new AdvanceDepositDetail to the setup default for the Advance Deposit document.
057 */
058 public void setDefautBankCode() {
059 Bank defaultBank = SpringContext.getBean(BankService.class).getDefaultBankByDocType(AdvanceDepositDocument.ADVANCE_DEPOSIT_DOCUMENT_TYPE_CODE);
060 if (defaultBank != null) {
061 this.financialDocumentBankCode = defaultBank.getBankCode();
062 this.bank = defaultBank;
063 }
064 }
065
066 /**
067 * Gets the documentNumber attribute.
068 *
069 * @return Returns the documentNumber
070 */
071 public String getDocumentNumber() {
072 return documentNumber;
073 }
074
075 /**
076 * Sets the documentNumber attribute.
077 *
078 * @param documentNumber The documentNumber to set.
079 */
080 public void setDocumentNumber(String documentNumber) {
081 this.documentNumber = documentNumber;
082 }
083
084 /**
085 * Gets the financialDocumentTypeCode attribute.
086 *
087 * @return Returns the financialDocumentTypeCode
088 */
089 public String getFinancialDocumentTypeCode() {
090 return financialDocumentTypeCode;
091 }
092
093 /**
094 * Sets the financialDocumentTypeCode attribute.
095 *
096 * @param financialDocumentTypeCode The financialDocumentTypeCode to set.
097 */
098 public void setFinancialDocumentTypeCode(String financialDocumentTypeCode) {
099 this.financialDocumentTypeCode = financialDocumentTypeCode;
100 }
101
102
103 /**
104 * Gets the financialDocumentColumnTypeCode attribute.
105 *
106 * @return Returns the financialDocumentColumnTypeCode
107 */
108 public String getFinancialDocumentColumnTypeCode() {
109 return financialDocumentColumnTypeCode;
110 }
111
112 /**
113 * Sets the financialDocumentColumnTypeCode attribute.
114 *
115 * @param financialDocumentColumnTypeCode The financialDocumentColumnTypeCode to set.
116 */
117 public void setFinancialDocumentColumnTypeCode(String financialDocumentColumnTypeCode) {
118 this.financialDocumentColumnTypeCode = financialDocumentColumnTypeCode;
119 }
120
121
122 /**
123 * Gets the financialDocumentLineNumber attribute.
124 *
125 * @return Returns the financialDocumentLineNumber
126 */
127 public Integer getFinancialDocumentLineNumber() {
128 return financialDocumentLineNumber;
129 }
130
131 /**
132 * Sets the financialDocumentLineNumber attribute.
133 *
134 * @param financialDocumentLineNumber The financialDocumentLineNumber to set.
135 */
136 public void setFinancialDocumentLineNumber(Integer financialDocumentLineNumber) {
137 this.financialDocumentLineNumber = financialDocumentLineNumber;
138 }
139
140
141 /**
142 * Gets the financialDocumentAdvanceDepositDate attribute.
143 *
144 * @return Returns the financialDocumentAdvanceDepositDate
145 */
146 public Date getFinancialDocumentAdvanceDepositDate() {
147 return financialDocumentAdvanceDepositDate;
148 }
149
150 /**
151 * Sets the financialDocumentAdvanceDepositDate attribute.
152 *
153 * @param financialDocumentAdvanceDepositDate The financialDocumentAdvanceDepositDate to set.
154 */
155 public void setFinancialDocumentAdvanceDepositDate(Date financialDocumentAdvanceDepositDate) {
156 this.financialDocumentAdvanceDepositDate = financialDocumentAdvanceDepositDate;
157 }
158
159 /**
160 * Gets the financialDocumentAdvanceDepositReferenceNumber attribute.
161 *
162 * @return Returns the financialDocumentAdvanceDepositReferenceNumber
163 */
164 public String getFinancialDocumentAdvanceDepositReferenceNumber() {
165 return financialDocumentAdvanceDepositReferenceNumber;
166 }
167
168 /**
169 * Sets the financialDocumentAdvanceDepositReferenceNumber attribute.
170 *
171 * @param financialDocumentAdvanceDepositReferenceNumber The financialDocumentAdvanceDepositReferenceNumber to set.
172 */
173 public void setFinancialDocumentAdvanceDepositReferenceNumber(String financialDocumentAdvanceDepositReferenceNumber) {
174 this.financialDocumentAdvanceDepositReferenceNumber = financialDocumentAdvanceDepositReferenceNumber;
175 }
176
177
178 /**
179 * Gets the financialDocumentAdvanceDepositDescription attribute.
180 *
181 * @return Returns the financialDocumentAdvanceDepositDescription
182 */
183 public String getFinancialDocumentAdvanceDepositDescription() {
184 return financialDocumentAdvanceDepositDescription;
185 }
186
187 /**
188 * Sets the financialDocumentAdvanceDepositDescription attribute.
189 *
190 * @param financialDocumentAdvanceDepositDescription The financialDocumentAdvanceDepositDescription to set.
191 */
192 public void setFinancialDocumentAdvanceDepositDescription(String financialDocumentAdvanceDepositDescription) {
193 this.financialDocumentAdvanceDepositDescription = financialDocumentAdvanceDepositDescription;
194 }
195
196
197 /**
198 * Gets the financialDocumentAdvanceDepositAmount attribute.
199 *
200 * @return Returns the financialDocumentAdvanceDepositAmount
201 */
202 public KualiDecimal getFinancialDocumentAdvanceDepositAmount() {
203 return financialDocumentAdvanceDepositAmount;
204 }
205
206 /**
207 * Sets the financialDocumentAdvanceDepositAmount attribute.
208 *
209 * @param financialDocumentAdvanceDepositAmount The financialDocumentAdvanceDepositAmount to set.
210 */
211 public void setFinancialDocumentAdvanceDepositAmount(KualiDecimal financialDocumentAdvanceDepositAmount) {
212 this.financialDocumentAdvanceDepositAmount = financialDocumentAdvanceDepositAmount;
213 }
214
215
216 /**
217 * Gets the financialDocumentBankCode attribute.
218 *
219 * @return Returns the financialDocumentBankCode
220 */
221 public String getFinancialDocumentBankCode() {
222 return financialDocumentBankCode;
223 }
224
225 /**
226 * Sets the financialDocumentBankCode attribute.
227 *
228 * @param financialDocumentBankCode The financialDocumentBankCode to set.
229 */
230 public void setFinancialDocumentBankCode(String financialDocumentBankCode) {
231 this.financialDocumentBankCode = financialDocumentBankCode;
232 }
233
234 /**
235 * @return AdvanceDepositDocument
236 */
237 public AdvanceDepositDocument getAdvanceDepositDocument() {
238 return advanceDepositDocument;
239 }
240
241 /**
242 * @param advanceDepositDocument
243 */
244 public void setAdvanceDepositDocument(AdvanceDepositDocument advanceDepositDocument) {
245 this.advanceDepositDocument = advanceDepositDocument;
246 }
247
248 /**
249 * @return Bank
250 */
251 public Bank getBank() {
252 return bank;
253 }
254
255 /**
256 * @param bank
257 */
258 public void setBank(Bank bank) {
259 this.bank = bank;
260 }
261
262 /**
263 * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper()
264 */
265 @Override
266 protected LinkedHashMap toStringMapper() {
267 LinkedHashMap m = new LinkedHashMap();
268 m.put(KFSPropertyConstants.DOCUMENT_NUMBER, this.documentNumber);
269 m.put("financialDocumentTypeCode", this.financialDocumentTypeCode);
270 m.put("financialDocumentColumnTypeCode", this.financialDocumentColumnTypeCode);
271 if (this.financialDocumentLineNumber != null) {
272 m.put("financialDocumentLineNumber", this.financialDocumentLineNumber.toString());
273 }
274 return m;
275 }
276 }