001/* 002 * Copyright 2006 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 017package org.kuali.ole.fp.businessobject; 018 019import java.util.LinkedHashMap; 020 021import org.kuali.ole.sys.OLEConstants; 022import org.kuali.ole.sys.OLEPropertyConstants; 023import org.kuali.rice.core.api.util.type.KualiDecimal; 024import org.kuali.rice.krad.bo.PersistableBusinessObjectBase; 025 026/** 027 * Represents a breakdown of currency amounts (i.e. $100, $50, $20, etc.) 028 */ 029public class CurrencyDetail extends PersistableBusinessObjectBase { 030 031 private String documentNumber; 032 private String financialDocumentTypeCode; 033 private String cashieringStatus; 034 private KualiDecimal financialDocumentHundredDollarAmount; 035 private KualiDecimal financialDocumentFiftyDollarAmount; 036 private KualiDecimal financialDocumentTwentyDollarAmount; 037 private KualiDecimal financialDocumentTenDollarAmount; 038 private KualiDecimal financialDocumentFiveDollarAmount; 039 private KualiDecimal financialDocumentTwoDollarAmount; 040 private KualiDecimal financialDocumentOneDollarAmount; 041 private KualiDecimal financialDocumentOtherDollarAmount; 042 043 /** 044 * Default constructor. 045 */ 046 public CurrencyDetail() { 047 048 } 049 050 /** 051 * Gets the documentNumber attribute. 052 * 053 * @return Returns the documentNumber 054 */ 055 public String getDocumentNumber() { 056 return documentNumber; 057 } 058 059 /** 060 * Sets the documentNumber attribute. 061 * 062 * @param documentNumber The documentNumber to set. 063 */ 064 public void setDocumentNumber(String documentNumber) { 065 this.documentNumber = documentNumber; 066 } 067 068 069 /** 070 * Gets the financialDocumentTypeCode attribute. 071 * 072 * @return Returns the financialDocumentTypeCode 073 */ 074 public String getFinancialDocumentTypeCode() { 075 return financialDocumentTypeCode; 076 } 077 078 /** 079 * Sets the financialDocumentTypeCode attribute. 080 * 081 * @param financialDocumentTypeCode The financialDocumentTypeCode to set. 082 */ 083 public void setFinancialDocumentTypeCode(String financialDocumentTypeCode) { 084 this.financialDocumentTypeCode = financialDocumentTypeCode; 085 } 086 087 088 /** 089 * Gets the cashieringStatus attribute. 090 * 091 * @return Returns the cashieringStatus 092 */ 093 public String getCashieringStatus() { 094 return cashieringStatus; 095 } 096 097 /** 098 * Sets the cashieringStatus attribute. 099 * 100 * @param cashieringStatus The cashieringStatus to set. 101 */ 102 public void setCashieringStatus(String financialDocumentColumnTypeCode) { 103 this.cashieringStatus = financialDocumentColumnTypeCode; 104 } 105 106 107 /** 108 * Gets the financialDocumentHundredDollarAmount attribute. 109 * 110 * @return Returns the financialDocumentHundredDollarAmount 111 */ 112 public KualiDecimal getFinancialDocumentHundredDollarAmount() { 113 return financialDocumentHundredDollarAmount; 114 } 115 116 /** 117 * Sets the financialDocumentHundredDollarAmount attribute. 118 * 119 * @param financialDocumentHundredDollarAmount The financialDocumentHundredDollarAmount to set. 120 */ 121 public void setFinancialDocumentHundredDollarAmount(KualiDecimal financialDocumentHundredDollarAmount) { 122 this.financialDocumentHundredDollarAmount = financialDocumentHundredDollarAmount; 123 } 124 125 /** 126 * Returns the actual count of hundred dollar bills 127 * 128 * @return the number of hundred dollar bills present in the drawer 129 */ 130 public Integer getHundredDollarCount() { 131 return (financialDocumentHundredDollarAmount == null) ? new Integer(0) : new Integer(financialDocumentHundredDollarAmount.divide(OLEConstants.CurrencyTypeAmounts.HUNDRED_DOLLAR_AMOUNT).intValue()); 132 } 133 134 /** 135 * This sets the count of hundred dollar bills present in the drawer 136 * 137 * @param count the number of hundred dollar bills present in the drawer 138 */ 139 public void setHundredDollarCount(Integer count) { 140 if (count != null) { 141 this.financialDocumentHundredDollarAmount = new KualiDecimal(count.intValue()).multiply(OLEConstants.CurrencyTypeAmounts.HUNDRED_DOLLAR_AMOUNT); 142 } 143 } 144 145 /** 146 * Gets the financialDocumentFiftyDollarAmount attribute. 147 * 148 * @return Returns the financialDocumentFiftyDollarAmount 149 */ 150 public KualiDecimal getFinancialDocumentFiftyDollarAmount() { 151 return financialDocumentFiftyDollarAmount; 152 } 153 154 /** 155 * Sets the financialDocumentFiftyDollarAmount attribute. 156 * 157 * @param financialDocumentFiftyDollarAmount The financialDocumentFiftyDollarAmount to set. 158 */ 159 public void setFinancialDocumentFiftyDollarAmount(KualiDecimal financialDocumentFiftyDollarAmount) { 160 this.financialDocumentFiftyDollarAmount = financialDocumentFiftyDollarAmount; 161 } 162 163 /** 164 * Returns the actual count of fifty dollar bills 165 * 166 * @return the number of fifty dollar bills present in the drawer 167 */ 168 public Integer getFiftyDollarCount() { 169 return (financialDocumentFiftyDollarAmount == null) ? new Integer(0) : new Integer(financialDocumentFiftyDollarAmount.divide(OLEConstants.CurrencyTypeAmounts.FIFTY_DOLLAR_AMOUNT).intValue()); 170 } 171 172 /** 173 * This sets the count of hundred dollar bills present in the drawer 174 * 175 * @param count the number of hundred dollar bills present in the drawer 176 */ 177 public void setFiftyDollarCount(Integer count) { 178 if (count != null) { 179 this.financialDocumentFiftyDollarAmount = new KualiDecimal(count.intValue()).multiply(OLEConstants.CurrencyTypeAmounts.FIFTY_DOLLAR_AMOUNT); 180 } 181 } 182 183 /** 184 * Gets the financialDocumentTwentyDollarAmount attribute. 185 * 186 * @return Returns the financialDocumentTwentyDollarAmount 187 */ 188 public KualiDecimal getFinancialDocumentTwentyDollarAmount() { 189 return financialDocumentTwentyDollarAmount; 190 } 191 192 /** 193 * Sets the financialDocumentTwentyDollarAmount attribute. 194 * 195 * @param financialDocumentTwentyDollarAmount The financialDocumentTwentyDollarAmount to set. 196 */ 197 public void setFinancialDocumentTwentyDollarAmount(KualiDecimal financialDocumentTwentyDollarAmount) { 198 this.financialDocumentTwentyDollarAmount = financialDocumentTwentyDollarAmount; 199 } 200 201 /** 202 * Returns the actual count of twenty dollar bills 203 * 204 * @return the number of twenty dollar bills present in the drawer 205 */ 206 public Integer getTwentyDollarCount() { 207 return (financialDocumentTwentyDollarAmount == null) ? new Integer(0) : new Integer(financialDocumentTwentyDollarAmount.divide(OLEConstants.CurrencyTypeAmounts.TWENTY_DOLLAR_AMOUNT).intValue()); 208 } 209 210 /** 211 * This sets the count of twenty dollar bills present in the drawer 212 * 213 * @param count the number of twenty dollar bills present in the drawer 214 */ 215 public void setTwentyDollarCount(Integer count) { 216 if (count != null) { 217 this.financialDocumentTwentyDollarAmount = new KualiDecimal(count.intValue()).multiply(OLEConstants.CurrencyTypeAmounts.TWENTY_DOLLAR_AMOUNT); 218 } 219 } 220 221 /** 222 * Gets the financialDocumentTenDollarAmount attribute. 223 * 224 * @return Returns the financialDocumentTenDollarAmount 225 */ 226 public KualiDecimal getFinancialDocumentTenDollarAmount() { 227 return financialDocumentTenDollarAmount; 228 } 229 230 /** 231 * Sets the financialDocumentTenDollarAmount attribute. 232 * 233 * @param financialDocumentTenDollarAmount The financialDocumentTenDollarAmount to set. 234 */ 235 public void setFinancialDocumentTenDollarAmount(KualiDecimal financialDocumentTenDollarAmount) { 236 this.financialDocumentTenDollarAmount = financialDocumentTenDollarAmount; 237 } 238 239 /** 240 * Returns the actual count of ten dollar bills 241 * 242 * @return the number of ten dollar bills present in the drawer 243 */ 244 public Integer getTenDollarCount() { 245 return (financialDocumentTenDollarAmount == null) ? new Integer(0) : new Integer(financialDocumentTenDollarAmount.divide(OLEConstants.CurrencyTypeAmounts.TEN_DOLLAR_AMOUNT).intValue()); 246 } 247 248 /** 249 * This sets the count of ten dollar bills present in the drawer 250 * 251 * @param count the number of ten dollar bills present in the drawer 252 */ 253 public void setTenDollarCount(Integer count) { 254 if (count != null) { 255 this.financialDocumentTenDollarAmount = new KualiDecimal(count.intValue()).multiply(OLEConstants.CurrencyTypeAmounts.TEN_DOLLAR_AMOUNT); 256 } 257 } 258 259 /** 260 * Gets the financialDocumentFiveDollarAmount attribute. 261 * 262 * @return Returns the financialDocumentFiveDollarAmount 263 */ 264 public KualiDecimal getFinancialDocumentFiveDollarAmount() { 265 return financialDocumentFiveDollarAmount; 266 } 267 268 /** 269 * Sets the financialDocumentFiveDollarAmount attribute. 270 * 271 * @param financialDocumentFiveDollarAmount The financialDocumentFiveDollarAmount to set. 272 */ 273 public void setFinancialDocumentFiveDollarAmount(KualiDecimal financialDocumentFiveDollarAmount) { 274 this.financialDocumentFiveDollarAmount = financialDocumentFiveDollarAmount; 275 } 276 277 /** 278 * Returns the actual count of five dollar bills 279 * 280 * @return the number of five dollar bills present in the drawer 281 */ 282 public Integer getFiveDollarCount() { 283 return (financialDocumentFiveDollarAmount == null) ? new Integer(0) : new Integer(financialDocumentFiveDollarAmount.divide(OLEConstants.CurrencyTypeAmounts.FIVE_DOLLAR_AMOUNT).intValue()); 284 } 285 286 /** 287 * This sets the count of five dollar bills present in the drawer 288 * 289 * @param count the number of five dollar bills present in the drawer 290 */ 291 public void setFiveDollarCount(Integer count) { 292 if (count != null) { 293 this.financialDocumentFiveDollarAmount = new KualiDecimal(count.intValue()).multiply(OLEConstants.CurrencyTypeAmounts.FIVE_DOLLAR_AMOUNT); 294 } 295 } 296 297 /** 298 * Gets the financialDocumentTwoDollarAmount attribute. 299 * 300 * @return Returns the financialDocumentTwoDollarAmount 301 */ 302 public KualiDecimal getFinancialDocumentTwoDollarAmount() { 303 return financialDocumentTwoDollarAmount; 304 } 305 306 /** 307 * Sets the financialDocumentTwoDollarAmount attribute. 308 * 309 * @param financialDocumentTwoDollarAmount The financialDocumentTwoDollarAmount to set. 310 */ 311 public void setFinancialDocumentTwoDollarAmount(KualiDecimal financialDocumentTwoDollarAmount) { 312 this.financialDocumentTwoDollarAmount = financialDocumentTwoDollarAmount; 313 } 314 315 /** 316 * Returns the actual count of two dollar bills 317 * 318 * @return the number of two dollar bills present in the drawer 319 */ 320 public Integer getTwoDollarCount() { 321 return (financialDocumentTwoDollarAmount == null) ? new Integer(0) : new Integer(financialDocumentTwoDollarAmount.divide(OLEConstants.CurrencyTypeAmounts.TWO_DOLLAR_AMOUNT).intValue()); 322 } 323 324 /** 325 * This sets the count of two dollar bills present in the drawer 326 * 327 * @param count the number of two dollar bills present in the drawer 328 */ 329 public void setTwoDollarCount(Integer count) { 330 if (count != null) { 331 this.financialDocumentTwoDollarAmount = new KualiDecimal(count.intValue()).multiply(OLEConstants.CurrencyTypeAmounts.TWO_DOLLAR_AMOUNT); 332 } 333 } 334 335 /** 336 * Gets the financialDocumentOneDollarAmount attribute. 337 * 338 * @return Returns the financialDocumentOneDollarAmount 339 */ 340 public KualiDecimal getFinancialDocumentOneDollarAmount() { 341 return financialDocumentOneDollarAmount; 342 } 343 344 /** 345 * Sets the financialDocumentOneDollarAmount attribute. 346 * 347 * @param financialDocumentOneDollarAmount The financialDocumentOneDollarAmount to set. 348 */ 349 public void setFinancialDocumentOneDollarAmount(KualiDecimal financialDocumentOneDollarAmount) { 350 this.financialDocumentOneDollarAmount = financialDocumentOneDollarAmount; 351 } 352 353 /** 354 * Returns the actual count of one dollar bills 355 * 356 * @return the number of one dollar bills present in the drawer 357 */ 358 public Integer getOneDollarCount() { 359 return (financialDocumentOneDollarAmount == null) ? new Integer(0) : new Integer(financialDocumentOneDollarAmount.divide(OLEConstants.CurrencyTypeAmounts.ONE_DOLLAR_AMOUNT).intValue()); 360 } 361 362 /** 363 * This sets the count of one dollar bills present in the drawer 364 * 365 * @param count the number of one dollar bills present in the drawer 366 */ 367 public void setOneDollarCount(Integer count) { 368 if (count != null) { 369 this.financialDocumentOneDollarAmount = new KualiDecimal(count.intValue()).multiply(OLEConstants.CurrencyTypeAmounts.ONE_DOLLAR_AMOUNT); 370 } 371 } 372 373 /** 374 * Gets the financialDocumentOtherDollarAmount attribute. 375 * 376 * @return Returns the financialDocumentOtherDollarAmount 377 */ 378 public KualiDecimal getFinancialDocumentOtherDollarAmount() { 379 return financialDocumentOtherDollarAmount; 380 } 381 382 /** 383 * Sets the financialDocumentOtherDollarAmount attribute. 384 * 385 * @param financialDocumentOtherDollarAmount The financialDocumentOtherDollarAmount to set. 386 */ 387 public void setFinancialDocumentOtherDollarAmount(KualiDecimal financialDocumentOtherDollarAmount) { 388 this.financialDocumentOtherDollarAmount = financialDocumentOtherDollarAmount; 389 } 390 391 /** 392 * This method calculates the total amount represented by all the currency listed in this detail record 393 * 394 * @return total amount of this detail 395 */ 396 public KualiDecimal getTotalAmount() { 397 KualiDecimal result = KualiDecimal.ZERO; 398 if (this.financialDocumentHundredDollarAmount != null) { 399 result = result.add(this.financialDocumentHundredDollarAmount); 400 } 401 if (this.financialDocumentFiftyDollarAmount != null) { 402 result = result.add(this.financialDocumentFiftyDollarAmount); 403 } 404 if (this.financialDocumentTwentyDollarAmount != null) { 405 result = result.add(this.financialDocumentTwentyDollarAmount); 406 } 407 if (this.financialDocumentTenDollarAmount != null) { 408 result = result.add(this.financialDocumentTenDollarAmount); 409 } 410 if (this.financialDocumentFiveDollarAmount != null) { 411 result = result.add(this.financialDocumentFiveDollarAmount); 412 } 413 if (this.financialDocumentTwoDollarAmount != null) { 414 result = result.add(this.financialDocumentTwoDollarAmount); 415 } 416 if (this.financialDocumentOneDollarAmount != null) { 417 result = result.add(this.financialDocumentOneDollarAmount); 418 } 419 if (this.financialDocumentOtherDollarAmount != null) { 420 result = result.add(this.financialDocumentOtherDollarAmount); 421 } 422 return result; 423 } 424 425 /** 426 * This method sets all the amounts to zero 427 */ 428 public void zeroOutAmounts() { 429 this.financialDocumentHundredDollarAmount = KualiDecimal.ZERO; 430 this.financialDocumentFiftyDollarAmount = KualiDecimal.ZERO; 431 this.financialDocumentTwentyDollarAmount = KualiDecimal.ZERO; 432 this.financialDocumentTenDollarAmount = KualiDecimal.ZERO; 433 this.financialDocumentFiveDollarAmount = KualiDecimal.ZERO; 434 this.financialDocumentTwoDollarAmount = KualiDecimal.ZERO; 435 this.financialDocumentOneDollarAmount = KualiDecimal.ZERO; 436 this.financialDocumentOtherDollarAmount = KualiDecimal.ZERO; 437 } 438 439 /** 440 * This method sets all amounts that are null to zero 441 */ 442 public void zeroOutUnpopulatedAmounts() { 443 if (financialDocumentHundredDollarAmount == null) { 444 this.financialDocumentHundredDollarAmount = KualiDecimal.ZERO; 445 } 446 if (financialDocumentFiftyDollarAmount == null) { 447 this.financialDocumentFiftyDollarAmount = KualiDecimal.ZERO; 448 } 449 if (financialDocumentTwentyDollarAmount == null) { 450 this.financialDocumentTwentyDollarAmount = KualiDecimal.ZERO; 451 } 452 if (financialDocumentTenDollarAmount == null) { 453 this.financialDocumentTenDollarAmount = KualiDecimal.ZERO; 454 } 455 if (financialDocumentFiveDollarAmount == null) { 456 this.financialDocumentFiveDollarAmount = KualiDecimal.ZERO; 457 } 458 if (financialDocumentTwoDollarAmount == null) { 459 this.financialDocumentTwoDollarAmount = KualiDecimal.ZERO; 460 } 461 if (financialDocumentOneDollarAmount == null) { 462 this.financialDocumentOneDollarAmount = KualiDecimal.ZERO; 463 } 464 if (financialDocumentOtherDollarAmount == null) { 465 this.financialDocumentOtherDollarAmount = KualiDecimal.ZERO; 466 } 467 } 468 469 /** 470 * This method adds the amounts from the given currency detail record to this one 471 * 472 * @param detail the currency detail to add onto this 473 */ 474 public void add(CurrencyDetail detail) { 475 if (detail.financialDocumentHundredDollarAmount != null) { 476 if (this.financialDocumentHundredDollarAmount == null) { 477 this.financialDocumentHundredDollarAmount = KualiDecimal.ZERO.add(detail.financialDocumentHundredDollarAmount); 478 } 479 else { 480 this.financialDocumentHundredDollarAmount = this.financialDocumentHundredDollarAmount.add(detail.financialDocumentHundredDollarAmount); 481 } 482 } 483 if (detail.financialDocumentFiftyDollarAmount != null) { 484 if (this.financialDocumentFiftyDollarAmount == null) { 485 this.financialDocumentFiftyDollarAmount = KualiDecimal.ZERO.add(detail.financialDocumentFiftyDollarAmount); 486 } 487 else { 488 this.financialDocumentFiftyDollarAmount = this.financialDocumentFiftyDollarAmount.add(detail.financialDocumentFiftyDollarAmount); 489 } 490 } 491 if (detail.financialDocumentTwentyDollarAmount != null) { 492 if (this.financialDocumentTwentyDollarAmount == null) { 493 this.financialDocumentTwentyDollarAmount = KualiDecimal.ZERO.add(detail.financialDocumentTwentyDollarAmount); 494 } 495 else { 496 this.financialDocumentTwentyDollarAmount = this.financialDocumentTwentyDollarAmount.add(detail.financialDocumentTwentyDollarAmount); 497 } 498 } 499 if (detail.financialDocumentTenDollarAmount != null) { 500 if (this.financialDocumentTenDollarAmount == null) { 501 this.financialDocumentTenDollarAmount = KualiDecimal.ZERO.add(detail.financialDocumentTenDollarAmount); 502 } 503 else { 504 this.financialDocumentTenDollarAmount = this.financialDocumentTenDollarAmount.add(detail.financialDocumentTenDollarAmount); 505 } 506 } 507 if (detail.financialDocumentFiveDollarAmount != null) { 508 if (this.financialDocumentFiveDollarAmount == null) { 509 this.financialDocumentFiveDollarAmount = KualiDecimal.ZERO.add(detail.financialDocumentFiveDollarAmount); 510 } 511 else { 512 this.financialDocumentFiveDollarAmount = this.financialDocumentFiveDollarAmount.add(detail.financialDocumentFiveDollarAmount); 513 } 514 } 515 if (detail.financialDocumentTwoDollarAmount != null) { 516 if (this.financialDocumentTwoDollarAmount == null) { 517 this.financialDocumentTwoDollarAmount = KualiDecimal.ZERO.add(detail.financialDocumentTwoDollarAmount); 518 } 519 else { 520 this.financialDocumentTwoDollarAmount = this.financialDocumentTwoDollarAmount.add(detail.financialDocumentTwoDollarAmount); 521 } 522 } 523 if (detail.financialDocumentOneDollarAmount != null) { 524 if (this.financialDocumentOneDollarAmount == null) { 525 this.financialDocumentOneDollarAmount = KualiDecimal.ZERO.add(detail.financialDocumentOneDollarAmount); 526 } 527 else { 528 this.financialDocumentOneDollarAmount = this.financialDocumentOneDollarAmount.add(detail.financialDocumentOneDollarAmount); 529 } 530 } 531 if (detail.financialDocumentOtherDollarAmount != null) { 532 if (this.financialDocumentOtherDollarAmount == null) { 533 this.financialDocumentOtherDollarAmount = KualiDecimal.ZERO.add(detail.financialDocumentOtherDollarAmount); 534 } 535 else { 536 this.financialDocumentOtherDollarAmount = this.financialDocumentOtherDollarAmount.add(detail.financialDocumentOtherDollarAmount); 537 } 538 } 539 } 540 541 /** 542 * This method subtracts the given currency detail from this one 543 * 544 * @param detail the detail to subtract 545 */ 546 public void subtract(CurrencyDetail detail) { 547 if (detail.financialDocumentHundredDollarAmount != null) { 548 if (this.financialDocumentHundredDollarAmount == null) { 549 this.financialDocumentHundredDollarAmount = KualiDecimal.ZERO.subtract(detail.financialDocumentHundredDollarAmount); 550 } 551 else { 552 this.financialDocumentHundredDollarAmount = this.financialDocumentHundredDollarAmount.subtract(detail.financialDocumentHundredDollarAmount); 553 } 554 } 555 if (detail.financialDocumentFiftyDollarAmount != null) { 556 if (this.financialDocumentFiftyDollarAmount == null) { 557 this.financialDocumentFiftyDollarAmount = KualiDecimal.ZERO.subtract(detail.financialDocumentFiftyDollarAmount); 558 } 559 else { 560 this.financialDocumentFiftyDollarAmount = this.financialDocumentFiftyDollarAmount.subtract(detail.financialDocumentFiftyDollarAmount); 561 } 562 } 563 if (detail.financialDocumentTwentyDollarAmount != null) { 564 if (this.financialDocumentTwentyDollarAmount == null) { 565 this.financialDocumentTwentyDollarAmount = KualiDecimal.ZERO.subtract(detail.financialDocumentTwentyDollarAmount); 566 } 567 else { 568 this.financialDocumentTwentyDollarAmount = this.financialDocumentTwentyDollarAmount.subtract(detail.financialDocumentTwentyDollarAmount); 569 } 570 } 571 if (detail.financialDocumentTenDollarAmount != null) { 572 if (this.financialDocumentTenDollarAmount == null) { 573 this.financialDocumentTenDollarAmount = KualiDecimal.ZERO.subtract(detail.financialDocumentTenDollarAmount); 574 } 575 else { 576 this.financialDocumentTenDollarAmount = this.financialDocumentTenDollarAmount.subtract(detail.financialDocumentTenDollarAmount); 577 } 578 } 579 if (detail.financialDocumentFiveDollarAmount != null) { 580 if (this.financialDocumentFiveDollarAmount == null) { 581 this.financialDocumentFiveDollarAmount = KualiDecimal.ZERO.subtract(detail.financialDocumentFiveDollarAmount); 582 } 583 else { 584 this.financialDocumentFiveDollarAmount = this.financialDocumentFiveDollarAmount.subtract(detail.financialDocumentFiveDollarAmount); 585 } 586 } 587 if (detail.financialDocumentTwoDollarAmount != null) { 588 if (this.financialDocumentTwoDollarAmount == null) { 589 this.financialDocumentTwoDollarAmount = KualiDecimal.ZERO.subtract(detail.financialDocumentTwoDollarAmount); 590 } 591 else { 592 this.financialDocumentTwoDollarAmount = this.financialDocumentTwoDollarAmount.subtract(detail.financialDocumentTwoDollarAmount); 593 } 594 } 595 if (detail.financialDocumentOneDollarAmount != null) { 596 if (this.financialDocumentOneDollarAmount == null) { 597 this.financialDocumentOneDollarAmount = KualiDecimal.ZERO.subtract(detail.financialDocumentOneDollarAmount); 598 } 599 else { 600 this.financialDocumentOneDollarAmount = this.financialDocumentOneDollarAmount.subtract(detail.financialDocumentOneDollarAmount); 601 } 602 } 603 if (detail.financialDocumentOtherDollarAmount != null) { 604 if (this.financialDocumentOtherDollarAmount == null) { 605 this.financialDocumentOtherDollarAmount = KualiDecimal.ZERO.subtract(detail.financialDocumentOtherDollarAmount); 606 } 607 else { 608 this.financialDocumentOtherDollarAmount = this.financialDocumentOtherDollarAmount.subtract(detail.financialDocumentOtherDollarAmount); 609 } 610 } 611 } 612 613 /** 614 * Does this currency detail actually have any information in it? 615 * 616 * @return true if any field at all is not null and not zero, false if otherwise 617 */ 618 public boolean isEmpty() { 619 return ((this.financialDocumentHundredDollarAmount == null || this.financialDocumentHundredDollarAmount.equals(KualiDecimal.ZERO)) && (this.financialDocumentFiftyDollarAmount == null || this.financialDocumentFiftyDollarAmount.equals(KualiDecimal.ZERO)) && (this.financialDocumentTwentyDollarAmount == null || this.financialDocumentTwentyDollarAmount.equals(KualiDecimal.ZERO)) && (this.financialDocumentTenDollarAmount == null || this.financialDocumentTenDollarAmount.equals(KualiDecimal.ZERO)) && (this.financialDocumentFiveDollarAmount == null || this.financialDocumentFiveDollarAmount.equals(KualiDecimal.ZERO)) && (this.financialDocumentTwoDollarAmount == null || this.financialDocumentTwoDollarAmount.equals(KualiDecimal.ZERO)) && (this.financialDocumentOneDollarAmount == null || this.financialDocumentOneDollarAmount.equals(KualiDecimal.ZERO)) && (this.financialDocumentOtherDollarAmount == null || this.financialDocumentOtherDollarAmount.equals(KualiDecimal.ZERO))); 620 } 621 622 /** 623 * @see org.kuali.rice.krad.bo.BusinessObjectBase#toStringMapper() 624 */ 625 protected LinkedHashMap toStringMapper_RICE20_REFACTORME() { 626 LinkedHashMap m = new LinkedHashMap(); 627 m.put(OLEPropertyConstants.DOCUMENT_NUMBER, this.documentNumber); 628 m.put("financialDocumentTypeCode", this.financialDocumentTypeCode); 629 m.put("cashieringStatus", this.cashieringStatus); 630 return m; 631 } 632}