org.kuali.kfs.fp.document
Class BudgetAdjustmentDocument

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.BudgetAdjustmentDocument
All Implemented Interfaces:
Serializable, org.apache.ojb.broker.PersistenceBrokerAware, AccountingDocument, AmountTotaling, Correctable, 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
Direct Known Subclasses:
YearEndBudgetAdjustmentDocument

public class BudgetAdjustmentDocument
extends AccountingDocumentBase
implements org.kuali.rice.kns.document.Copyable, Correctable, AmountTotaling

This is the business object that represents the BudgetAdjustment document in Kuali.

See Also:
Serialized Form

Field Summary
protected static org.apache.log4j.Logger LOG
           
protected  Integer nextPositionSourceLineNumber
           
protected  Integer nextPositionTargetLineNumber
           
protected static String REQUIRES_FULL_APPROVAL_SPLIT_NODE_NAME
           
 
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
BudgetAdjustmentDocument()
          Default constructor.
 
Method Summary
 boolean answerSplitNodeQuestion(String nodeName)
           
 Map buildIncomeStreamBalanceMapForDocumentBalance()
          Builds a map used for balancing current adjustment amounts.
 Map buildIncomeStreamBalanceMapForTransferOfFundsGeneration()
          Builds a map used for balancing current adjustment amounts.
protected  void createMonthlyBudgetGLPE(AccountingLine accountingLine, GeneralLedgerPendingEntrySequenceHelper sequenceHelper, String fiscalPeriod, org.kuali.rice.kns.util.KualiDecimal monthAmount)
          Helper method for creating monthly budget pending entry lines.
 boolean generateDocumentGeneralLedgerPendingEntries(GeneralLedgerPendingEntrySequenceHelper sequenceHelper)
          Generates any necessary tof entries to transfer funds needed to make the budget adjustments.
 boolean generateGeneralLedgerPendingEntries(GeneralLedgerPendingEntrySourceDetail glpeSourceDetail, GeneralLedgerPendingEntrySequenceHelper sequenceHelper)
          The budget adjustment document creates GL pending entries much differently that common tp-edocs.
 boolean getAllowsCopy()
          The base checks that the posting year is the current year, not a requirement for the ba document.
 String getCurrencyFormattedSourceBaseBudgetTotal()
          This method retrieves the total base budget amount formatted as currency.
 String getCurrencyFormattedSourceCurrentBudgetTotal()
          This method retrieves the total current budget amount formatted as currency.
 String getCurrencyFormattedTargetBaseBudgetTotal()
          This method retrieves the total base budget amount formatted as currency.
 String getCurrencyFormattedTargetCurrentBudgetTotal()
          This method retrieves the total current budget amount formatted as currency.
 GeneralLedgerPendingEntryService getGeneralLedgerPendingEntryService()
          Returns an implementation of the GeneralLedgerPendingEntryService
protected  org.kuali.rice.kns.util.KualiDecimal getIncomeStreamAmount(BudgetAdjustmentAccountingLine budgetAccountingLine, org.kuali.rice.kns.util.KualiDecimal incomeStreamAmount)
          This method calculates the appropriate income stream amount for an account using the value provided and the provided accounting line.
 Integer getNextPositionSourceLineNumber()
           
 Integer getNextPositionTargetLineNumber()
           
 List<GeneralLedgerPendingEntry> getPendingLedgerEntriesForSufficientFundsChecking()
          BA Documents should only do SF checking on PLEs with a Balance Type of 'CB' - not 'BB' or 'MB'.
 String getSourceAccountingLinesSectionTitle()
          This method is used to return the title that a transactional document should give to it's source accounting line section.
 org.kuali.rice.kns.util.KualiInteger getSourceBaseBudgetExpenseTotal()
          Returns the total base budget expense amount from the source lines.
 org.kuali.rice.kns.util.KualiInteger getSourceBaseBudgetIncomeTotal()
          Returns the total base budget income amount from the source lines.
 org.kuali.rice.kns.util.KualiInteger getSourceBaseBudgetTotal()
          Returns the total base budget amount from the source lines.
 org.kuali.rice.kns.util.KualiDecimal getSourceCurrentBudgetExpenseTotal()
          Returns the total current budget expense amount from the source lines.
 org.kuali.rice.kns.util.KualiDecimal getSourceCurrentBudgetIncomeTotal()
          Returns the total current budget income amount from the source lines.
 org.kuali.rice.kns.util.KualiDecimal getSourceCurrentBudgetTotal()
          Returns the total current budget amount from the source lines.
 String getTargetAccountingLinesSectionTitle()
          This method is used to return the title that a transactional document should give to it's source accounting line section.
 org.kuali.rice.kns.util.KualiInteger getTargetBaseBudgetExpenseTotal()
          Returns the total base budget expense amount from the target lines.
 org.kuali.rice.kns.util.KualiInteger getTargetBaseBudgetIncomeTotal()
          Returns the total base budget income amount from the target lines.
 org.kuali.rice.kns.util.KualiInteger getTargetBaseBudgetTotal()
          Returns the total base budget amount from the target lines.
 org.kuali.rice.kns.util.KualiDecimal getTargetCurrentBudgetExpenseTotal()
          Returns the total current budget expense amount from the target lines.
 org.kuali.rice.kns.util.KualiDecimal getTargetCurrentBudgetIncomeTotal()
          Returns the total current budget income amount from the target lines.
 org.kuali.rice.kns.util.KualiDecimal getTargetCurrentBudgetTotal()
          Returns the total current budget amount from the target lines.
 org.kuali.rice.kns.util.KualiDecimal getTotalDollarAmount()
          Same as default implementation but uses getTargetCurrentBudgetTotal and getSourceCurrentBudgetTotal instead.
protected  String getTransferDocumentType()
          Returns the document type code for the Transfer of Funds document
 void initiateDocument()
          generic, shared logic used to iniate a ba document
 boolean isDebit(GeneralLedgerPendingEntrySourceDetail postable)
          Returns true if accounting line is debit
 void populateDocumentForRouting()
           
protected  boolean requiresFullApproval()
          Determines if this document can be auto-approved or not.
 void setNextPositionSourceLineNumber(Integer nextPositionSourceLineNumber)
           
 void setNextPositionTargetLineNumber(Integer nextPositionTargetLineNumber)
           
 void toErrorCorrection()
          Negate accounting line budget amounts.
protected  LinkedHashMap toStringMapper()
           
 
Methods inherited from class org.kuali.kfs.sys.document.AccountingDocumentBase
addSourceAccountingLine, addTargetAccountingLine, buildAccountingLineMap, buildListOfDeletionAwareLists, copyAccountingLines, customizeExplicitGeneralLedgerPendingEntry, customizeOffsetGeneralLedgerPendingEntry, generateEvents, generateSaveEvents, getAccountingLineParser, getDataDictionaryEntry, getDocumentClassForAccountingLineValueAllowedValidation, getEntryValue, getGeneralLedgerPendingEntryAmountForDetail, getGeneralLedgerPendingEntrySourceDetails, getNextSourceLineNumber, getNextTargetLineNumber, getPersistedSourceAccountingLinesForComparison, getPersistedTargetAccountingLinesForComparison, getSourceAccountingLine, getSourceAccountingLineClass, getSourceAccountingLineEntryName, getSourceAccountingLines, getSourceAccountingLinesForComparison, getSourceTotal, getTargetAccountingLine, getTargetAccountingLineClass, getTargetAccountingLineEntryName, getTargetAccountingLines, getTargetAccountingLinesForComparison, getTargetTotal, prepareForSave, processExplicitGeneralLedgerPendingEntry, processOffsetGeneralLedgerPendingEntry, setNextSourceLineNumber, setNextTargetLineNumber, setSourceAccountingLines, setTargetAccountingLines, toCopy, updatePostingYearForAccountingLines
 
Methods inherited from class org.kuali.kfs.sys.document.GeneralLedgerPostingDocumentBase
addPendingEntry, changeGeneralLedgerPendingEntriesApprovedStatusCode, checkSufficientFunds, clearAnyGeneralLedgerPendingEntries, documentPerformsSufficientFundsCheck, doRouteStatusChange, getGeneralLedgerPendingEntries, getGeneralLedgerPendingEntry, 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
getDocumentHeader, prepareForSave, processAfterRetrieve, setDocumentHeader
 
Methods inherited from class org.kuali.rice.kns.document.TransactionalDocumentBase
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, postProcessSave, refresh, refreshIfEmpty, refreshPessimisticLocks, refreshReferenceObject, serializeDocumentToXml, setAdHocRoutePersons, setAdHocRouteWorkgroups, setDocumentNumber, setNewDocumentHeader, setPessimisticLocks, toString, toStringBuilder, 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, 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
getDocumentHeader
 
Methods inherited from interface org.kuali.rice.kns.document.Document
addPessimisticLock, afterWorkflowEngineProcess, beforeWorkflowEngineProcess, doActionTaken, doRouteLevelChange, doRouteStatusChange, getAdHocRoutePersons, getAdHocRouteWorkgroups, getBasePathToDocumentDuringSerialization, getCustomLockDescriptor, getDocumentBusinessObject, getDocumentNumber, getDocumentPropertySerizabilityEvaluator, getDocumentTitle, getLockClearningMethodNames, getPessimisticLocks, getWorkflowEngineDocumentIdsToLock, getXmlForRouteReport, postProcessSave, 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

LOG

protected static org.apache.log4j.Logger LOG

REQUIRES_FULL_APPROVAL_SPLIT_NODE_NAME

protected static final String REQUIRES_FULL_APPROVAL_SPLIT_NODE_NAME
See Also:
Constant Field Values

nextPositionSourceLineNumber

protected Integer nextPositionSourceLineNumber

nextPositionTargetLineNumber

protected Integer nextPositionTargetLineNumber
Constructor Detail

BudgetAdjustmentDocument

public BudgetAdjustmentDocument()
Default constructor.

Method Detail

getPendingLedgerEntriesForSufficientFundsChecking

public List<GeneralLedgerPendingEntry> getPendingLedgerEntriesForSufficientFundsChecking()
BA Documents should only do SF checking on PLEs with a Balance Type of 'CB' - not 'BB' or 'MB'.

Specified by:
getPendingLedgerEntriesForSufficientFundsChecking in interface GeneralLedgerPostingDocument
Overrides:
getPendingLedgerEntriesForSufficientFundsChecking in class GeneralLedgerPostingDocumentBase
Returns:
a list of sufficientfundsitems that do not have sufficient funds. It returns an empty list if there is sufficient funds for the entire document
See Also:
GeneralLedgerPostingDocumentBase.getPendingLedgerEntriesForSufficientFundsChecking()

initiateDocument

public void initiateDocument()
generic, shared logic used to iniate a ba document


getNextPositionSourceLineNumber

public Integer getNextPositionSourceLineNumber()
Returns:
Integer

setNextPositionSourceLineNumber

public void setNextPositionSourceLineNumber(Integer nextPositionSourceLineNumber)
Parameters:
nextPositionSourceLineNumber -

getNextPositionTargetLineNumber

public Integer getNextPositionTargetLineNumber()
Returns:
Integer

setNextPositionTargetLineNumber

public void setNextPositionTargetLineNumber(Integer nextPositionTargetLineNumber)
Parameters:
nextPositionTargetLineNumber -

getSourceCurrentBudgetTotal

public org.kuali.rice.kns.util.KualiDecimal getSourceCurrentBudgetTotal()
Returns the total current budget amount from the source lines.

Returns:
KualiDecimal

getCurrencyFormattedSourceCurrentBudgetTotal

public String getCurrencyFormattedSourceCurrentBudgetTotal()
This method retrieves the total current budget amount formatted as currency.

Returns:
String

getSourceCurrentBudgetIncomeTotal

public org.kuali.rice.kns.util.KualiDecimal getSourceCurrentBudgetIncomeTotal()
Returns the total current budget income amount from the source lines.

Returns:
KualiDecimal

getSourceCurrentBudgetExpenseTotal

public org.kuali.rice.kns.util.KualiDecimal getSourceCurrentBudgetExpenseTotal()
Returns the total current budget expense amount from the source lines.

Returns:
KualiDecimal

getTargetCurrentBudgetTotal

public org.kuali.rice.kns.util.KualiDecimal getTargetCurrentBudgetTotal()
Returns the total current budget amount from the target lines.

Returns:
KualiDecimal

getCurrencyFormattedTargetCurrentBudgetTotal

public String getCurrencyFormattedTargetCurrentBudgetTotal()
This method retrieves the total current budget amount formatted as currency.

Returns:
String

getTargetCurrentBudgetIncomeTotal

public org.kuali.rice.kns.util.KualiDecimal getTargetCurrentBudgetIncomeTotal()
Returns the total current budget income amount from the target lines.

Returns:
KualiDecimal

getTargetCurrentBudgetExpenseTotal

public org.kuali.rice.kns.util.KualiDecimal getTargetCurrentBudgetExpenseTotal()
Returns the total current budget expense amount from the target lines.

Returns:
KualiDecimal

getSourceBaseBudgetTotal

public org.kuali.rice.kns.util.KualiInteger getSourceBaseBudgetTotal()
Returns the total base budget amount from the source lines.

Returns:
KualiDecimal

getCurrencyFormattedSourceBaseBudgetTotal

public String getCurrencyFormattedSourceBaseBudgetTotal()
This method retrieves the total base budget amount formatted as currency.

Returns:
String

getSourceBaseBudgetIncomeTotal

public org.kuali.rice.kns.util.KualiInteger getSourceBaseBudgetIncomeTotal()
Returns the total base budget income amount from the source lines.

Returns:
KualiDecimal

getSourceBaseBudgetExpenseTotal

public org.kuali.rice.kns.util.KualiInteger getSourceBaseBudgetExpenseTotal()
Returns the total base budget expense amount from the source lines.

Returns:
KualiDecimal

getTargetBaseBudgetTotal

public org.kuali.rice.kns.util.KualiInteger getTargetBaseBudgetTotal()
Returns the total base budget amount from the target lines.

Returns:
KualiDecimal

getCurrencyFormattedTargetBaseBudgetTotal

public String getCurrencyFormattedTargetBaseBudgetTotal()
This method retrieves the total base budget amount formatted as currency.

Returns:
String

getTargetBaseBudgetIncomeTotal

public org.kuali.rice.kns.util.KualiInteger getTargetBaseBudgetIncomeTotal()
Returns the total base budget income amount from the target lines.

Returns:
KualiDecimal

getTargetBaseBudgetExpenseTotal

public org.kuali.rice.kns.util.KualiInteger getTargetBaseBudgetExpenseTotal()
Returns the total base budget expense amount from the target lines.

Returns:
KualiDecimal

getTotalDollarAmount

public org.kuali.rice.kns.util.KualiDecimal getTotalDollarAmount()
Same as default implementation but uses getTargetCurrentBudgetTotal and getSourceCurrentBudgetTotal instead.

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

toErrorCorrection

public void toErrorCorrection()
                       throws org.kuali.rice.kew.exception.WorkflowException
Negate accounting line budget amounts.

Specified by:
toErrorCorrection in interface Correctable
Overrides:
toErrorCorrection in class AccountingDocumentBase
Throws:
org.kuali.rice.kew.exception.WorkflowException
See Also:
AccountingDocumentBase.toErrorCorrection()

toStringMapper

protected LinkedHashMap toStringMapper()
Overrides:
toStringMapper in class org.kuali.rice.kns.document.DocumentBase
See Also:
DocumentBase.toStringMapper()

getAllowsCopy

public boolean getAllowsCopy()
The base checks that the posting year is the current year, not a requirement for the ba document.

Specified by:
getAllowsCopy in interface org.kuali.rice.kns.document.Document
Overrides:
getAllowsCopy in class org.kuali.rice.kns.document.TransactionalDocumentBase
See Also:
TransactionalDocumentBase.getAllowsCopy()

getSourceAccountingLinesSectionTitle

public String getSourceAccountingLinesSectionTitle()
Description copied from interface: AccountingDocument
This method is used to return the title that a transactional document should give to it's source accounting line section.

Specified by:
getSourceAccountingLinesSectionTitle in interface AccountingDocument
Overrides:
getSourceAccountingLinesSectionTitle in class AccountingDocumentBase
Returns:
The source accounting line section's title.
See Also:
AccountingDocumentBase.getSourceAccountingLinesSectionTitle()

getTargetAccountingLinesSectionTitle

public String getTargetAccountingLinesSectionTitle()
Description copied from interface: AccountingDocument
This method is used to return the title that a transactional document should give to it's source accounting line section.

Specified by:
getTargetAccountingLinesSectionTitle in interface AccountingDocument
Overrides:
getTargetAccountingLinesSectionTitle in class AccountingDocumentBase
Returns:
The target accounting line section's title.
See Also:
AccountingDocumentBase.getTargetAccountingLinesSectionTitle()

populateDocumentForRouting

public void populateDocumentForRouting()
Specified by:
populateDocumentForRouting in interface org.kuali.rice.kns.document.Document
Overrides:
populateDocumentForRouting in class org.kuali.rice.kns.document.DocumentBase
See Also:
DocumentBase.populateDocumentForRouting()

isDebit

public boolean isDebit(GeneralLedgerPendingEntrySourceDetail postable)
Returns true if accounting line is debit

Specified by:
isDebit in interface GeneralLedgerPendingEntrySource
Specified by:
isDebit in class AccountingDocumentBase
Parameters:
financialDocument - submitted financial document
accountingLine - accounting line being evaluated as a debit or not
Returns:
true if the given GeneralLedgerPendingEntrySourceDetail is a debit, false if it is a credit
See Also:
org.kuali.rice.kns.rule.AccountingLineRule#isDebit(org.kuali.rice.kns.document.FinancialDocument, org.kuali.rice.kns.bo.AccountingLine)

generateGeneralLedgerPendingEntries

public boolean generateGeneralLedgerPendingEntries(GeneralLedgerPendingEntrySourceDetail glpeSourceDetail,
                                                   GeneralLedgerPendingEntrySequenceHelper sequenceHelper)
The budget adjustment document creates GL pending entries much differently that common tp-edocs. The glpes are created for BB, CB, and MB balance types. Up to 14 entries per line can be created. Along with this, the BA will create TOF entries if needed to move funding.

Specified by:
generateGeneralLedgerPendingEntries in interface GeneralLedgerPendingEntrySource
Overrides:
generateGeneralLedgerPendingEntries in class AccountingDocumentBase
Parameters:
financialDocument - submitted accounting document
accountingLine - validated accounting line
sequenceHelper - helper class for keeping track of sequence number
Returns:
true if GLPE entries are successfully created.
See Also:
org.kuali.module.financial.rules.FinancialDocumentRuleBase#processGenerateGeneralLedgerPendingEntries(org.kuali.rice.kns.document.FinancialDocument, org.kuali.rice.kns.bo.AccountingLine, org.kuali.kfs.sys.businessobject.GeneralLedgerPendingEntrySequenceHelper)

createMonthlyBudgetGLPE

protected void createMonthlyBudgetGLPE(AccountingLine accountingLine,
                                       GeneralLedgerPendingEntrySequenceHelper sequenceHelper,
                                       String fiscalPeriod,
                                       org.kuali.rice.kns.util.KualiDecimal monthAmount)
Helper method for creating monthly budget pending entry lines.

Parameters:
financialDocument - submitted accounting document
accountingLine - validated accounting line
sequenceHelper - helper class for keeping track of sequence number
fiscalPeriod - fiscal year period code
monthAmount - ledger entry amount for the month

getGeneralLedgerPendingEntryService

public GeneralLedgerPendingEntryService getGeneralLedgerPendingEntryService()
Returns an implementation of the GeneralLedgerPendingEntryService

Returns:
an implementation of the GeneralLedgerPendingEntryService

generateDocumentGeneralLedgerPendingEntries

public boolean generateDocumentGeneralLedgerPendingEntries(GeneralLedgerPendingEntrySequenceHelper sequenceHelper)
Generates any necessary tof entries to transfer funds needed to make the budget adjustments. Based on income chart and accounts. If there is a difference in funds between an income chart and account, a tof entry needs to be created, along with a budget adjustment entry. Object code used is retrieved by a parameter.

Specified by:
generateDocumentGeneralLedgerPendingEntries in interface GeneralLedgerPendingEntrySource
Overrides:
generateDocumentGeneralLedgerPendingEntries in class AccountingDocumentBase
Parameters:
sequenceHelper - helper class for keeping track of sequence number
Returns:
true general ledger pending entries are generated without any problems
See Also:
org.kuali.rice.kns.rule.GenerateGeneralLedgerDocumentPendingEntriesRule#processGenerateDocumentGeneralLedgerPendingEntries(org.kuali.rice.kns.document.FinancialDocument, org.kuali.kfs.sys.businessobject.GeneralLedgerPendingEntrySequenceHelper)

buildIncomeStreamBalanceMapForTransferOfFundsGeneration

public Map buildIncomeStreamBalanceMapForTransferOfFundsGeneration()
Builds a map used for balancing current adjustment amounts. The map contains income chart and accounts contained on the document as the keys, and transfer amounts as the values. The transfer amount is calculated from (curr_frm_inc - curr_frm_exp) - (curr_to_inc - curr_to_exp)

Parameters:
baDocument - budget adjustment document
Returns:
Map used to balance current amounts

buildIncomeStreamBalanceMapForDocumentBalance

public Map buildIncomeStreamBalanceMapForDocumentBalance()
Builds a map used for balancing current adjustment amounts. The map contains income chart and accounts contained on the document as the keys, and transfer amounts as the values. The transfer amount is calculated from (curr_frm_inc - curr_frm_exp) - (curr_to_inc - curr_to_exp)

Parameters:
baDocument - budget adjustment document
Returns:
Map used to balance current amounts

getIncomeStreamAmount

protected org.kuali.rice.kns.util.KualiDecimal getIncomeStreamAmount(BudgetAdjustmentAccountingLine budgetAccountingLine,
                                                                     org.kuali.rice.kns.util.KualiDecimal incomeStreamAmount)
This method calculates the appropriate income stream amount for an account using the value provided and the provided accounting line.

Parameters:
budgetAccountingLine -
incomeStreamAmount -
Returns:

getTransferDocumentType

protected String getTransferDocumentType()
Returns the document type code for the Transfer of Funds document

Returns:
the document type name to be used for the income stream transfer glpe

answerSplitNodeQuestion

public boolean answerSplitNodeQuestion(String nodeName)
                                throws UnsupportedOperationException
Specified by:
answerSplitNodeQuestion in interface FinancialSystemTransactionalDocument
Overrides:
answerSplitNodeQuestion in class FinancialSystemTransactionalDocumentBase
Throws:
UnsupportedOperationException
See Also:
FinancialSystemTransactionalDocumentBase.answerSplitNodeQuestion(java.lang.String)

requiresFullApproval

protected boolean requiresFullApproval()
Determines if this document can be auto-approved or not. The conditions for auto-approval are: 1) Single account used on document 2) Initiator is fiscal officer or primary delegate for the account 3) Only current adjustments are being made 4) The fund group for the account is not contract and grants 5) current income/expense decrease amount must equal increase amount

Returns:
false if auto-approval can occur (and therefore, full approval is not required); true if a full approval is required


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