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.module.bc.businessobject; 018 019 import java.util.ArrayList; 020 import java.util.HashMap; 021 import java.util.LinkedHashMap; 022 import java.util.List; 023 import java.util.Map; 024 025 import org.kuali.kfs.coa.businessobject.Account; 026 import org.kuali.kfs.coa.businessobject.Chart; 027 import org.kuali.kfs.coa.businessobject.Organization; 028 import org.kuali.kfs.coa.businessobject.SubAccount; 029 import org.kuali.kfs.sys.KFSPropertyConstants; 030 import org.kuali.kfs.sys.context.SpringContext; 031 import org.kuali.rice.kns.bo.DocumentHeader; 032 import org.kuali.rice.kns.bo.PersistableBusinessObjectBase; 033 import org.kuali.rice.kim.bo.Person; 034 import org.kuali.rice.kim.service.PersonService; 035 036 /** 037 * 038 */ 039 public class BudgetConstructionHeader extends PersistableBusinessObjectBase { 040 041 private String documentNumber; 042 private Integer universityFiscalYear; 043 private String chartOfAccountsCode; 044 private String accountNumber; 045 private String subAccountNumber; 046 private Integer organizationLevelCode; 047 private String organizationLevelChartOfAccountsCode; 048 private String organizationLevelOrganizationCode; 049 private String budgetLockUserIdentifier; 050 private String budgetTransactionLockUserIdentifier; 051 052 private Chart chartOfAccounts; 053 private Account account; 054 private SubAccount subAccount; 055 private Person budgetLockUser; 056 private Person budgetTransactionLockUser; 057 private Organization organizationLevelOrganization; 058 private DocumentHeader financialDocument; 059 private BudgetConstructionAccountReports budgetConstructionAccountReports; 060 061 private List budgetConstructionAccountSelect; 062 063 /** 064 * Default constructor. 065 */ 066 public BudgetConstructionHeader() { 067 budgetConstructionAccountSelect = new ArrayList(); 068 069 } 070 071 /** 072 * Gets the documentNumber attribute. 073 * 074 * @return Returns the documentNumber 075 */ 076 public String getDocumentNumber() { 077 return documentNumber; 078 } 079 080 /** 081 * Sets the documentNumber attribute. 082 * 083 * @param documentNumber The documentNumber to set. 084 */ 085 public void setDocumentNumber(String documentNumber) { 086 this.documentNumber = documentNumber; 087 } 088 089 090 /** 091 * Gets the universityFiscalYear attribute. 092 * 093 * @return Returns the universityFiscalYear 094 */ 095 public Integer getUniversityFiscalYear() { 096 return universityFiscalYear; 097 } 098 099 /** 100 * Sets the universityFiscalYear attribute. 101 * 102 * @param universityFiscalYear The universityFiscalYear to set. 103 */ 104 public void setUniversityFiscalYear(Integer universityFiscalYear) { 105 this.universityFiscalYear = universityFiscalYear; 106 } 107 108 109 /** 110 * Gets the chartOfAccountsCode attribute. 111 * 112 * @return Returns the chartOfAccountsCode 113 */ 114 public String getChartOfAccountsCode() { 115 return chartOfAccountsCode; 116 } 117 118 /** 119 * Sets the chartOfAccountsCode attribute. 120 * 121 * @param chartOfAccountsCode The chartOfAccountsCode to set. 122 */ 123 public void setChartOfAccountsCode(String chartOfAccountsCode) { 124 this.chartOfAccountsCode = chartOfAccountsCode; 125 } 126 127 128 /** 129 * Gets the accountNumber attribute. 130 * 131 * @return Returns the accountNumber 132 */ 133 public String getAccountNumber() { 134 return accountNumber; 135 } 136 137 /** 138 * Sets the accountNumber attribute. 139 * 140 * @param accountNumber The accountNumber to set. 141 */ 142 public void setAccountNumber(String accountNumber) { 143 this.accountNumber = accountNumber; 144 } 145 146 147 /** 148 * Gets the subAccountNumber attribute. 149 * 150 * @return Returns the subAccountNumber 151 */ 152 public String getSubAccountNumber() { 153 return subAccountNumber; 154 } 155 156 /** 157 * Sets the subAccountNumber attribute. 158 * 159 * @param subAccountNumber The subAccountNumber to set. 160 */ 161 public void setSubAccountNumber(String subAccountNumber) { 162 this.subAccountNumber = subAccountNumber; 163 } 164 165 166 /** 167 * Gets the organizationLevelCode attribute. 168 * 169 * @return Returns the organizationLevelCode 170 */ 171 public Integer getOrganizationLevelCode() { 172 return organizationLevelCode; 173 } 174 175 /** 176 * Sets the organizationLevelCode attribute. 177 * 178 * @param organizationLevelCode The organizationLevelCode to set. 179 */ 180 public void setOrganizationLevelCode(Integer organizationLevelCode) { 181 this.organizationLevelCode = organizationLevelCode; 182 } 183 184 185 /** 186 * Gets the organizationLevelChartOfAccountsCode attribute. 187 * 188 * @return Returns the organizationLevelChartOfAccountsCode 189 */ 190 public String getOrganizationLevelChartOfAccountsCode() { 191 return organizationLevelChartOfAccountsCode; 192 } 193 194 /** 195 * Sets the organizationLevelChartOfAccountsCode attribute. 196 * 197 * @param organizationLevelChartOfAccountsCode The organizationLevelChartOfAccountsCode to set. 198 */ 199 public void setOrganizationLevelChartOfAccountsCode(String organizationLevelChartOfAccountsCode) { 200 this.organizationLevelChartOfAccountsCode = organizationLevelChartOfAccountsCode; 201 } 202 203 204 /** 205 * Gets the organizationLevelOrganizationCode attribute. 206 * 207 * @return Returns the organizationLevelOrganizationCode 208 */ 209 public String getOrganizationLevelOrganizationCode() { 210 return organizationLevelOrganizationCode; 211 } 212 213 /** 214 * Sets the organizationLevelOrganizationCode attribute. 215 * 216 * @param organizationLevelOrganizationCode The organizationLevelOrganizationCode to set. 217 */ 218 public void setOrganizationLevelOrganizationCode(String organizationLevelOrganizationCode) { 219 this.organizationLevelOrganizationCode = organizationLevelOrganizationCode; 220 } 221 222 223 /** 224 * Gets the budgetLockUserIdentifier attribute. 225 * 226 * @return Returns the budgetLockUserIdentifier 227 */ 228 public String getBudgetLockUserIdentifier() { 229 return budgetLockUserIdentifier; 230 } 231 232 /** 233 * Sets the budgetLockUserIdentifier attribute. 234 * 235 * @param budgetLockUserIdentifier The budgetLockUserIdentifier to set. 236 */ 237 public void setBudgetLockUserIdentifier(String budgetLockUserIdentifier) { 238 this.budgetLockUserIdentifier = budgetLockUserIdentifier; 239 } 240 241 242 /** 243 * Gets the budgetTransactionLockUserIdentifier attribute. 244 * 245 * @return Returns the budgetTransactionLockUserIdentifier 246 */ 247 public String getBudgetTransactionLockUserIdentifier() { 248 return budgetTransactionLockUserIdentifier; 249 } 250 251 /** 252 * Sets the budgetTransactionLockUserIdentifier attribute. 253 * 254 * @param budgetTransactionLockUserIdentifier The budgetTransactionLockUserIdentifier to set. 255 */ 256 public void setBudgetTransactionLockUserIdentifier(String budgetTransactionLockUserIdentifier) { 257 this.budgetTransactionLockUserIdentifier = budgetTransactionLockUserIdentifier; 258 } 259 260 261 /** 262 * Gets the chartOfAccounts attribute. 263 * 264 * @return Returns the chartOfAccounts 265 */ 266 public Chart getChartOfAccounts() { 267 return chartOfAccounts; 268 } 269 270 /** 271 * Sets the chartOfAccounts attribute. 272 * 273 * @param chartOfAccounts The chartOfAccounts to set. 274 * @deprecated 275 */ 276 public void setChartOfAccounts(Chart chartOfAccounts) { 277 this.chartOfAccounts = chartOfAccounts; 278 } 279 280 /** 281 * Gets the account attribute. 282 * 283 * @return Returns the account 284 */ 285 public Account getAccount() { 286 return account; 287 } 288 289 /** 290 * Sets the account attribute. 291 * 292 * @param account The account to set. 293 * @deprecated 294 */ 295 public void setAccount(Account account) { 296 this.account = account; 297 } 298 299 public Person getBudgetLockUser() { 300 if (budgetLockUserIdentifier != null){ 301 budgetLockUser = SpringContext.getBean(org.kuali.rice.kim.service.PersonService.class).updatePersonIfNecessary(budgetLockUserIdentifier, budgetLockUser); 302 } 303 return budgetLockUser; 304 } 305 306 /** 307 * Sets the budgetLockUser attribute. 308 * 309 * @param budgetLockUser The budgetLockUser to set. 310 * @deprecated 311 */ 312 public void setBudgetLockUser(Person budgetLockUser) { 313 this.budgetLockUser = budgetLockUser; 314 } 315 316 /** 317 * Gets the budgetConstructionAccountSelect list. 318 * 319 * @return Returns the budgetConstructionAccountSelect list 320 */ 321 public List getBudgetConstructionAccountSelect() { 322 return budgetConstructionAccountSelect; 323 } 324 325 /** 326 * Sets the budgetConstructionAccountSelect list. 327 * 328 * @param budgetConstructionAccountSelect The budgetConstructionAccountSelect list to set. 329 */ 330 public void setBudgetConstructionAccountSelect(List budgetConstructionAccountSelect) { 331 this.budgetConstructionAccountSelect = budgetConstructionAccountSelect; 332 } 333 334 public Person getBudgetTransactionLockUser() { 335 if (budgetTransactionLockUserIdentifier != null){ 336 budgetTransactionLockUser = SpringContext.getBean(org.kuali.rice.kim.service.PersonService.class).updatePersonIfNecessary(budgetTransactionLockUserIdentifier, budgetTransactionLockUser); 337 } 338 return budgetTransactionLockUser; 339 } 340 341 /** 342 * Sets the budgetTransactionLockUser attribute value. 343 * 344 * @param budgetTransactionLockUser The budgetTransactionLockUser to set. 345 * @deprecated 346 */ 347 public void setBudgetTransactionLockUser(Person budgetTransactionLockUser) { 348 this.budgetTransactionLockUser = budgetTransactionLockUser; 349 } 350 351 /** 352 * Gets the organizationLevelOrganization attribute. 353 * 354 * @return Returns the organizationLevelOrganization. 355 */ 356 public Organization getOrganizationLevelOrganization() { 357 return organizationLevelOrganization; 358 } 359 360 /** 361 * Sets the organizationLevelOrganization attribute value. 362 * 363 * @param organizationLevelOrganization The organizationLevelOrganization to set. 364 * @deprecated 365 */ 366 public void setOrganizationLevelOrganization(Organization organizationLevelOrganization) { 367 this.organizationLevelOrganization = organizationLevelOrganization; 368 } 369 370 /** 371 * Gets the subAccount attribute. 372 * 373 * @return Returns the subAccount. 374 */ 375 public SubAccount getSubAccount() { 376 return subAccount; 377 } 378 379 /** 380 * Sets the subAccount attribute value. 381 * 382 * @param subAccount The subAccount to set. 383 */ 384 public void setSubAccount(SubAccount subAccount) { 385 this.subAccount = subAccount; 386 } 387 388 /** 389 * Gets the financialDocument attribute. 390 * 391 * @return Returns the financialDocument. 392 */ 393 public DocumentHeader getFinancialDocument() { 394 return financialDocument; 395 } 396 397 /** 398 * Sets the financialDocument attribute value. 399 * 400 * @param financialDocument The financialDocument to set. 401 * @deprecated 402 */ 403 public void setFinancialDocument(DocumentHeader financialDocument) { 404 this.financialDocument = financialDocument; 405 } 406 407 /** 408 * Gets the budgetConstructionAccountReports attribute. 409 * 410 * @return Returns the budgetConstructionAccountReports. 411 */ 412 public BudgetConstructionAccountReports getBudgetConstructionAccountReports() { 413 return budgetConstructionAccountReports; 414 } 415 416 /** 417 * Sets the budgetConstructionAccountReports attribute value. 418 * 419 * @param budgetConstructionAccountReports The budgetConstructionAccountReports to set. 420 */ 421 public void setBudgetConstructionAccountReports(BudgetConstructionAccountReports budgetConstructionAccountReports) { 422 this.budgetConstructionAccountReports = budgetConstructionAccountReports; 423 } 424 425 /** 426 * Returns a map with the primitive field names as the key and the primitive values as the map value. 427 * 428 * @return Map 429 */ 430 public Map getValuesMap() { 431 Map simpleValues = new HashMap(); 432 433 simpleValues.put("documentNumber", getDocumentNumber()); 434 simpleValues.put("universityFiscalYear", getUniversityFiscalYear()); 435 simpleValues.put("chartOfAccountsCode", getChartOfAccountsCode()); 436 simpleValues.put("accountNumber", getAccountNumber()); 437 simpleValues.put("subAccountNumber", getSubAccountNumber()); 438 439 return simpleValues; 440 } 441 442 /** 443 * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper() 444 */ 445 protected LinkedHashMap toStringMapper() { 446 LinkedHashMap m = new LinkedHashMap(); 447 m.put(KFSPropertyConstants.DOCUMENT_NUMBER, this.documentNumber); 448 if (this.universityFiscalYear != null) { 449 m.put("universityFiscalYear", this.universityFiscalYear.toString()); 450 } 451 m.put("chartOfAccountsCode", this.chartOfAccountsCode); 452 m.put("accountNumber", this.accountNumber); 453 m.put("subAccountNumber", this.subAccountNumber); 454 return m; 455 } 456 457 } 458