org.kuali.kfs.fp.document
Class AdvanceDepositDocument

java.lang.Object
  extended by org.kuali.rice.kns.bo.BusinessObjectBase
      extended by org.kuali.rice.kns.bo.PersistableBusinessObjectBase
          extended by org.kuali.rice.kns.document.DocumentBase
              extended by org.kuali.rice.kns.document.TransactionalDocumentBase
                  extended by org.kuali.kfs.sys.document.FinancialSystemTransactionalDocumentBase
                      extended by org.kuali.kfs.sys.document.LedgerPostingDocumentBase
                          extended by org.kuali.kfs.sys.document.GeneralLedgerPostingDocumentBase
                              extended by org.kuali.kfs.sys.document.AccountingDocumentBase
                                  extended by org.kuali.kfs.fp.document.CashReceiptFamilyBase
                                      extended by org.kuali.kfs.fp.document.AdvanceDepositDocument
All Implemented Interfaces:
Serializable, org.apache.ojb.broker.PersistenceBrokerAware, CapitalAssetEditable, AccountingDocument, AmountTotaling, FinancialSystemTransactionalDocument, GeneralLedgerPendingEntrySource, GeneralLedgerPostingDocument, LedgerPostingDocument, org.kuali.rice.kns.bo.BusinessObject, org.kuali.rice.kns.bo.PersistableBusinessObject, org.kuali.rice.kns.document.Copyable, org.kuali.rice.kns.document.Document, org.kuali.rice.kns.document.SessionDocument, org.kuali.rice.kns.document.TransactionalDocument

public class AdvanceDepositDocument
extends CashReceiptFamilyBase
implements org.kuali.rice.kns.document.Copyable, AmountTotaling

This is the business object that represents the AdvanceDeposit document in Kuali. This is a transactional document that will eventually post transactions to the G/L. It integrates with workflow. Since an Advance Deposit document is a one sided transactional document, only accepting funds into the university, the accounting line data will be held in the source accounting line data structure only.

See Also:
Serialized Form

Field Summary
static String ADVANCE_DEPOSIT_DOCUMENT_TYPE_CODE
           
protected  List<AdvanceDepositDetail> advanceDeposits
           
protected  Integer nextAdvanceDepositLineNumber
           
protected  org.kuali.rice.kns.util.KualiDecimal totalAdvanceDepositAmount
           
 
Fields inherited from class org.kuali.kfs.fp.document.CashReceiptFamilyBase
campusLocationCode, capitalAssetInformation, depositDate, LOG
 
Fields inherited from class org.kuali.kfs.sys.document.AccountingDocumentBase
dataDictionaryEntry, nextSourceLineNumber, nextTargetLineNumber, sourceAccountingLineClass, sourceAccountingLines, targetAccountingLineClass, targetAccountingLines
 
Fields inherited from class org.kuali.kfs.sys.document.GeneralLedgerPostingDocumentBase
generalLedgerPendingEntries
 
Fields inherited from class org.kuali.kfs.sys.document.LedgerPostingDocumentBase
accountingPeriod, accountingPeriodService, checkPostingYearForCopy, dataDictionaryService, dateTimeService, postingPeriodCode, postingYear
 
Fields inherited from class org.kuali.kfs.sys.document.FinancialSystemTransactionalDocumentBase
documentHeader
 
Fields inherited from class org.kuali.rice.kns.document.DocumentBase
documentBusinessObject, documentNumber
 
Fields inherited from class org.kuali.rice.kns.bo.PersistableBusinessObjectBase
extension, versionNumber
 
Constructor Summary
AdvanceDepositDocument()
          Default constructor that calls super.
 
Method Summary
 void addAdvanceDeposit(AdvanceDepositDetail advanceDepositDetail)
          Adds a new advance deposit to the list.
 List buildListOfDeletionAwareLists()
          Overrides super to call super and then also add in the new list of advance deposits that have to be managed.
 void doRouteStatusChange(org.kuali.rice.kew.dto.DocumentRouteStatusChangeDTO statusChangeEvent)
          This method defers to its parent's version of handleRouteStatusChange, but then, if the document is processed, it creates ElectronicPaymentClaim records for any qualifying accountings lines in the document.
 boolean generateDocumentGeneralLedgerPendingEntries(GeneralLedgerPendingEntrySequenceHelper sequenceHelper)
          Generates bank offset GLPEs for deposits, if enabled.
 AdvanceDepositDetail getAdvanceDepositDetail(int index)
          Retrieve a particular advance deposit at a given index in the list of advance deposits.
 List<AdvanceDepositDetail> getAdvanceDeposits()
          Gets the list of advance deposits which is a list of AdvanceDepositDetail business objects.
 String getCurrencyFormattedTotalAdvanceDepositAmount()
          This method returns the advance deposit total amount as a currency formatted string.
 Integer getNextAdvanceDepositLineNumber()
           
 org.kuali.rice.kns.util.KualiDecimal getTotalAdvanceDepositAmount()
          Gets the total advance deposit amount.
 org.kuali.rice.kns.util.KualiDecimal getTotalDollarAmount()
          This method returns the overall total of the document - the advance deposit total.
 void postProcessSave(org.kuali.rice.kns.rule.event.KualiDocumentEvent event)
           
 void prepareNewAdvanceDeposit(AdvanceDepositDetail advanceDepositDetail)
          This is a helper method that automatically populates document specfic information into the advance deposit (AdvanceDepositDetail) instance.
 void removeAdvanceDeposit(int index)
          This method removes an advance deposit from the list and updates the total appropriately.
 void setAdvanceDeposits(List<AdvanceDepositDetail> advanceDeposits)
          Sets the advance deposits list.
 void setNextAdvanceDepositLineNumber(Integer nextAdvanceDepositLineNumber)
           
 void setTotalAdvanceDepositAmount(org.kuali.rice.kns.util.KualiDecimal advanceDepositAmount)
          Sets the total advance deposit amount which is the sum of all advance deposits on this document.
 
Methods inherited from class org.kuali.kfs.fp.document.CashReceiptFamilyBase
customizeExplicitGeneralLedgerPendingEntry, documentPerformsSufficientFundsCheck, getCampusLocationCode, getCapitalAssetInformation, getCapitalAssetManagementModuleService, getDepositDate, getSourceAccountingLinesSectionTitle, getSourceTotal, getTargetAccountingLinesSectionTitle, getTargetTotal, isDebit, setCampusLocationCode, setCapitalAssetInformation, setDepositDate
 
Methods inherited from class org.kuali.kfs.sys.document.AccountingDocumentBase
addSourceAccountingLine, addTargetAccountingLine, buildAccountingLineMap, copyAccountingLines, customizeOffsetGeneralLedgerPendingEntry, generateEvents, generateGeneralLedgerPendingEntries, generateSaveEvents, getAccountingLineParser, getDataDictionaryEntry, getDocumentClassForAccountingLineValueAllowedValidation, getEntryValue, getGeneralLedgerPendingEntryAmountForDetail, getGeneralLedgerPendingEntrySourceDetails, getNextSourceLineNumber, getNextTargetLineNumber, getPersistedSourceAccountingLinesForComparison, getPersistedTargetAccountingLinesForComparison, getSourceAccountingLine, getSourceAccountingLineClass, getSourceAccountingLineEntryName, getSourceAccountingLines, getSourceAccountingLinesForComparison, getTargetAccountingLine, getTargetAccountingLineClass, getTargetAccountingLineEntryName, getTargetAccountingLines, getTargetAccountingLinesForComparison, prepareForSave, processExplicitGeneralLedgerPendingEntry, processOffsetGeneralLedgerPendingEntry, setNextSourceLineNumber, setNextTargetLineNumber, setSourceAccountingLines, setTargetAccountingLines, toCopy, toErrorCorrection, updatePostingYearForAccountingLines
 
Methods inherited from class org.kuali.kfs.sys.document.GeneralLedgerPostingDocumentBase
addPendingEntry, changeGeneralLedgerPendingEntriesApprovedStatusCode, checkSufficientFunds, clearAnyGeneralLedgerPendingEntries, getGeneralLedgerPendingEntries, getGeneralLedgerPendingEntry, getPendingLedgerEntriesForSufficientFundsChecking, removeGeneralLedgerPendingEntries, setGeneralLedgerPendingEntries
 
Methods inherited from class org.kuali.kfs.sys.document.LedgerPostingDocumentBase
createInitialAccountingPeriod, getAccountingPeriod, getAccountingPeriodService, getDataDictionaryService, getDateTimeService, getFinancialDocumentTypeCode, getPostingPeriodCode, getPostingYear, retrieveCurrentAccountingPeriod, setAccountingPeriod, setPostingPeriodCode, setPostingYear
 
Methods inherited from class org.kuali.kfs.sys.document.FinancialSystemTransactionalDocumentBase
answerSplitNodeQuestion, getDocumentHeader, prepareForSave, processAfterRetrieve, setDocumentHeader
 
Methods inherited from class org.kuali.rice.kns.document.TransactionalDocumentBase
getAllowsCopy, isSessionDocument
 
Methods inherited from class org.kuali.rice.kns.document.DocumentBase
addCopyErrorDocumentNote, addPessimisticLock, afterLookup, afterWorkflowEngineProcess, beforeWorkflowEngineProcess, createPropertySerializabilityEvaluator, doActionTaken, doRouteLevelChange, getAdHocRoutePersons, getAdHocRouteWorkgroups, getBasePathToDocumentDuringSerialization, getCustomLockDescriptor, getDocumentBusinessObject, getDocumentNumber, getDocumentPropertySerizabilityEvaluator, getDocumentTitle, getLockClearningMethodNames, getNonLockingActionTakenCodes, getPessimisticLocks, getWorkflowEngineDocumentIdsToLock, getXmlForRouteReport, logErrors, populateDocumentForRouting, refresh, refreshIfEmpty, refreshPessimisticLocks, refreshReferenceObject, serializeDocumentToXml, setAdHocRoutePersons, setAdHocRouteWorkgroups, setDocumentNumber, setNewDocumentHeader, setPessimisticLocks, toString, toStringBuilder, toStringMapper, useCustomLockDescriptors, validateBusinessRules, wrapDocumentWithMetadataForXmlSerialization
 
Methods inherited from class org.kuali.rice.kns.bo.PersistableBusinessObjectBase
addNote, afterDelete, afterInsert, afterUpdate, beforeDelete, beforeInsert, beforeInsert, beforeUpdate, beforeUpdate, deleteNote, getAttachmentService, getBoNote, getBoNotes, getExtension, getNoteService, getObjectId, getPersistenceService, getPersistenceStructureService, getVersionNumber, isAutoIncrementSet, isBoNotesSupport, isNewCollectionRecord, linkEditableUserFields, refreshNonUpdateableReferences, setAutoIncrementSet, setBoNotes, setExtension, setNewCollectionRecord, setObjectId, setVersionNumber, supportsBoNotes
 
Methods inherited from class org.kuali.rice.kns.bo.BusinessObjectBase
prepareForWorkflow
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.kuali.rice.kns.document.Copyable
toCopy
 
Methods inherited from interface org.kuali.kfs.sys.document.GeneralLedgerPostingDocument
checkSufficientFunds, getGeneralLedgerPendingEntries, getGeneralLedgerPendingEntry, getPendingLedgerEntriesForSufficientFundsChecking, setGeneralLedgerPendingEntries
 
Methods inherited from interface org.kuali.kfs.sys.document.LedgerPostingDocument
getAccountingPeriod, getPostingPeriodCode, getPostingYear, setAccountingPeriod, setPostingPeriodCode, setPostingYear
 
Methods inherited from interface org.kuali.kfs.sys.document.FinancialSystemTransactionalDocument
answerSplitNodeQuestion, getDocumentHeader
 
Methods inherited from interface org.kuali.rice.kns.document.Document
addPessimisticLock, afterWorkflowEngineProcess, beforeWorkflowEngineProcess, doActionTaken, doRouteLevelChange, getAdHocRoutePersons, getAdHocRouteWorkgroups, getAllowsCopy, getBasePathToDocumentDuringSerialization, getCustomLockDescriptor, getDocumentBusinessObject, getDocumentNumber, getDocumentPropertySerizabilityEvaluator, getDocumentTitle, getLockClearningMethodNames, getPessimisticLocks, getWorkflowEngineDocumentIdsToLock, getXmlForRouteReport, populateDocumentForRouting, prepareForSave, processAfterRetrieve, refreshPessimisticLocks, serializeDocumentToXml, setAdHocRoutePersons, setAdHocRouteWorkgroups, setDocumentHeader, setDocumentNumber, useCustomLockDescriptors, validateBusinessRules, wrapDocumentWithMetadataForXmlSerialization
 
Methods inherited from interface org.kuali.rice.kns.bo.PersistableBusinessObject
addNote, deleteNote, getBoNote, getBoNotes, getExtension, getObjectId, getVersionNumber, isBoNotesSupport, isNewCollectionRecord, linkEditableUserFields, refreshNonUpdateableReferences, refreshReferenceObject, setAutoIncrementSet, setExtension, setNewCollectionRecord, setObjectId, setVersionNumber
 
Methods inherited from interface org.kuali.rice.kns.bo.BusinessObject
prepareForWorkflow, refresh
 
Methods inherited from interface org.apache.ojb.broker.PersistenceBrokerAware
afterDelete, afterInsert, afterLookup, afterUpdate, beforeDelete, beforeInsert, beforeUpdate
 
Methods inherited from interface org.kuali.kfs.sys.document.GeneralLedgerPendingEntrySource
addPendingEntry, clearAnyGeneralLedgerPendingEntries, getDocumentHeader, getFinancialDocumentTypeCode, getPostingYear
 

Field Detail

ADVANCE_DEPOSIT_DOCUMENT_TYPE_CODE

public static final String ADVANCE_DEPOSIT_DOCUMENT_TYPE_CODE
See Also:
Constant Field Values

advanceDeposits

protected List<AdvanceDepositDetail> advanceDeposits

nextAdvanceDepositLineNumber

protected Integer nextAdvanceDepositLineNumber

totalAdvanceDepositAmount

protected org.kuali.rice.kns.util.KualiDecimal totalAdvanceDepositAmount
Constructor Detail

AdvanceDepositDocument

public AdvanceDepositDocument()
Default constructor that calls super.

Method Detail

getTotalAdvanceDepositAmount

public org.kuali.rice.kns.util.KualiDecimal getTotalAdvanceDepositAmount()
Gets the total advance deposit amount.

Returns:
KualiDecimal

getCurrencyFormattedTotalAdvanceDepositAmount

public String getCurrencyFormattedTotalAdvanceDepositAmount()
This method returns the advance deposit total amount as a currency formatted string.

Returns:
String

setTotalAdvanceDepositAmount

public void setTotalAdvanceDepositAmount(org.kuali.rice.kns.util.KualiDecimal advanceDepositAmount)
Sets the total advance deposit amount which is the sum of all advance deposits on this document.

Parameters:
advanceDepositAmount -

getAdvanceDeposits

public List<AdvanceDepositDetail> getAdvanceDeposits()
Gets the list of advance deposits which is a list of AdvanceDepositDetail business objects.

Returns:
List

setAdvanceDeposits

public void setAdvanceDeposits(List<AdvanceDepositDetail> advanceDeposits)
Sets the advance deposits list.

Parameters:
advanceDeposits -

addAdvanceDeposit

public void addAdvanceDeposit(AdvanceDepositDetail advanceDepositDetail)
Adds a new advance deposit to the list.

Parameters:
advanceDepositDetail -

prepareNewAdvanceDeposit

public final void prepareNewAdvanceDeposit(AdvanceDepositDetail advanceDepositDetail)
This is a helper method that automatically populates document specfic information into the advance deposit (AdvanceDepositDetail) instance.

Parameters:
advanceDepositDetail -

getAdvanceDepositDetail

public AdvanceDepositDetail getAdvanceDepositDetail(int index)
Retrieve a particular advance deposit at a given index in the list of advance deposits.

Parameters:
index -
Returns:
AdvanceDepositDetail

removeAdvanceDeposit

public void removeAdvanceDeposit(int index)
This method removes an advance deposit from the list and updates the total appropriately.

Parameters:
index -

getNextAdvanceDepositLineNumber

public Integer getNextAdvanceDepositLineNumber()
Returns:
Integer

setNextAdvanceDepositLineNumber

public void setNextAdvanceDepositLineNumber(Integer nextAdvanceDepositLineNumber)
Parameters:
nextAdvanceDepositLineNumber -

getTotalDollarAmount

public org.kuali.rice.kns.util.KualiDecimal getTotalDollarAmount()
This method returns the overall total of the document - the advance deposit total.

Specified by:
getTotalDollarAmount in interface AmountTotaling
Overrides:
getTotalDollarAmount in class AccountingDocumentBase
Returns:
KualiDecimal
See Also:
AccountingDocumentBase.getTotalDollarAmount()

doRouteStatusChange

public void doRouteStatusChange(org.kuali.rice.kew.dto.DocumentRouteStatusChangeDTO statusChangeEvent)
This method defers to its parent's version of handleRouteStatusChange, but then, if the document is processed, it creates ElectronicPaymentClaim records for any qualifying accountings lines in the document.

Specified by:
doRouteStatusChange in interface org.kuali.rice.kns.document.Document
Overrides:
doRouteStatusChange in class GeneralLedgerPostingDocumentBase
See Also:
org.kuali.kfs.sys.document.GeneralLedgerPostingDocumentBase#doRouteStatusChange()

buildListOfDeletionAwareLists

public List buildListOfDeletionAwareLists()
Overrides super to call super and then also add in the new list of advance deposits that have to be managed.

Specified by:
buildListOfDeletionAwareLists in interface org.kuali.rice.kns.bo.PersistableBusinessObject
Overrides:
buildListOfDeletionAwareLists in class CashReceiptFamilyBase
See Also:
PersistableBusinessObjectBase.buildListOfDeletionAwareLists()

generateDocumentGeneralLedgerPendingEntries

public boolean generateDocumentGeneralLedgerPendingEntries(GeneralLedgerPendingEntrySequenceHelper sequenceHelper)
Generates bank offset GLPEs for deposits, if enabled.

Specified by:
generateDocumentGeneralLedgerPendingEntries in interface GeneralLedgerPendingEntrySource
Overrides:
generateDocumentGeneralLedgerPendingEntries in class AccountingDocumentBase
Parameters:
financialDocument - submitted financial document
sequenceHelper - helper class which will allows us to increment a reference without using an Integer
Returns:
true if there are no issues creating GLPE's
See Also:
org.kuali.rice.kns.rule.GenerateGeneralLedgerDocumentPendingEntriesRule#processGenerateDocumentGeneralLedgerPendingEntries(org.kuali.rice.kns.document.FinancialDocument,org.kuali.kfs.sys.businessobject.GeneralLedgerPendingEntrySequenceHelper)

postProcessSave

public void postProcessSave(org.kuali.rice.kns.rule.event.KualiDocumentEvent event)
Specified by:
postProcessSave in interface org.kuali.rice.kns.document.Document
Overrides:
postProcessSave in class org.kuali.rice.kns.document.DocumentBase


Copyright © 2005-2012 The Kuali Foundation. All Rights Reserved.