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 }