org.kuali.kfs.module.ar.document
Class CustomerCreditMemoDocument

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.module.ar.document.CustomerCreditMemoDocument
All Implemented Interfaces:
Serializable, org.apache.ojb.broker.PersistenceBrokerAware, AmountTotaling, FinancialSystemTransactionalDocument, GeneralLedgerPendingEntrySource, GeneralLedgerPostingDocument, LedgerPostingDocument, org.kuali.rice.kns.bo.BusinessObject, org.kuali.rice.kns.bo.PersistableBusinessObject, org.kuali.rice.kns.document.Document, org.kuali.rice.kns.document.SessionDocument, org.kuali.rice.kns.document.TransactionalDocument

public class CustomerCreditMemoDocument
extends GeneralLedgerPostingDocumentBase
implements GeneralLedgerPendingEntrySource, AmountTotaling

Author:
Kuali Nervous System Team (kualidev@oncourse.iu.edu)
See Also:
Serialized Form

Field Summary
protected  AccountsReceivableDocumentHeader accountsReceivableDocumentHeader
           
protected  AccountsReceivableTaxService arTaxService
           
protected  List<CustomerCreditMemoDetail> creditMemoDetails
           
protected  org.kuali.rice.kns.util.KualiDecimal crmTotalAmount
           
protected  org.kuali.rice.kns.util.KualiDecimal crmTotalItemAmount
           
protected  org.kuali.rice.kns.util.KualiDecimal crmTotalTaxAmount
           
protected  String financialDocumentReferenceInvoiceNumber
           
protected  CustomerInvoiceDocument invoice
           
protected  Integer invOutstandingDays
           
protected static org.apache.log4j.Logger LOG
           
protected  String statusCode
           
protected  TaxService taxService
           
 
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
CustomerCreditMemoDocument()
           
 
Method Summary
protected  void addIncomeGLPEs(GeneralLedgerPendingEntrySequenceHelper sequenceHelper, GeneralLedgerPendingEntrySourceDetail glpeSourceDetail, boolean hasClaimOnCashOffset)
          This method adds pending entry with transaction ledger entry amount set to item price * quantity
 void addPendingEntry(GeneralLedgerPendingEntry entry)
          Adds a GeneralLedgerPendingEntry to this document's list of pending entries
protected  void addReceivableGLPEs(GeneralLedgerPendingEntrySequenceHelper sequenceHelper, GeneralLedgerPendingEntrySourceDetail glpeSourceDetail, boolean hasClaimOnCashOffset)
          This method creates the receivable GLPEs for credit memo detail lines.
protected  void addSalesTaxGLPEs(GeneralLedgerPendingEntrySequenceHelper sequenceHelper, GeneralLedgerPendingEntrySourceDetail glpeSourceDetail, boolean hasClaimOnCashOffset)
          This method add pending entries for every tax detail that exists for a particular postal code
 void clearAnyGeneralLedgerPendingEntries()
          This resets this document's list of general ledger pending etnries, though it does not delete those entries (however, the GeneralLedgerPendingEntryService will in most cases when this method is called).
 void clearInitFields()
          Clear out the initially populated fields.
 void doRouteStatusChange(org.kuali.rice.kew.dto.DocumentRouteStatusChangeDTO statusChangeEvent)
          When document is processed do the following: 1) Apply amounts to writeoff invoice 2) Mark off invoice indiciator
 boolean generateDocumentGeneralLedgerPendingEntries(GeneralLedgerPendingEntrySequenceHelper sequenceHelper)
          Creates any GeneralLedgerPostingEntry's that are based on a document, not those based on GeneralLedgerPendingEntrySourceDetail entries
 boolean generateGeneralLedgerPendingEntries(GeneralLedgerPendingEntrySourceDetail glpeSourceDetail, GeneralLedgerPendingEntrySequenceHelper sequenceHelper)
          This method creates the following GLPE's for the customer credit memo 1.
 AccountsReceivableDocumentHeader getAccountsReceivableDocumentHeader()
           
 AccountsReceivableTaxService getArTaxService()
          Gets the arTaxService attribute.
 List<CustomerCreditMemoDetail> getCreditMemoDetails()
          Gets the creditMemoDetails attribute.
 org.kuali.rice.kns.util.KualiDecimal getCrmTotalAmount()
          Gets the crmTotalAmount attribute.
 org.kuali.rice.kns.util.KualiDecimal getCrmTotalItemAmount()
          Gets the crmTotalItemAmount attribute.
 org.kuali.rice.kns.util.KualiDecimal getCrmTotalTaxAmount()
          Gets the crmTotalTaxAmount attribute.
 String getCurrencyFormattedCrmTotalAmount()
          This method returns the crmTotalAmount as a currency formatted string.
 String getCurrencyFormattedCrmTotalItemAmount()
          This method returns the crmTotalItemAmount as a currency formatted string.
 String getCurrencyFormattedCrmTotalTaxAmount()
          This method returns the crmTotalTaxAmount as a currency formatted string.
protected  org.kuali.rice.kns.util.KualiDecimal getCustomerInvoiceDetailOpenPretaxAmount(org.kuali.rice.kns.util.KualiDecimal openAmount)
           
 String getFinancialDocumentReferenceInvoiceNumber()
          Gets the financialDocumentReferenceInvoiceNumber attribute.
 String getFinancialDocumentTypeCode()
          Returns the general ledger input type code for the given document, using the DataDictionaryService
 org.kuali.rice.kns.util.KualiDecimal getGeneralLedgerPendingEntryAmountForDetail(GeneralLedgerPendingEntrySourceDetail postable)
          A method to determine what the actual amount, based off of a GeneralLedgerPendingEntrySourceDetail, should be for the resultant GeneralLedgerPendingEntry
 List<GeneralLedgerPendingEntrySourceDetail> getGeneralLedgerPendingEntrySourceDetails()
          Returns a list of any GeneralLedgerPostables this helper has, to create GeneralLedgerPendingEntries
 CustomerInvoiceDocument getInvoice()
          Gets the invoice attribute.
 org.kuali.rice.kns.util.KualiDecimal getInvoiceOpenItemQuantity(CustomerCreditMemoDetail customerCreditMemoDetail, CustomerInvoiceDetail customerInvoiceDetail)
           
 Integer getInvOutstandingDays()
          Gets the invOutstandingDays attribute.
 String getPostalCode()
           
 String getStatusCode()
          Gets the statusCode attribute.
 TaxService getTaxService()
          Gets the taxService attribute.
 org.kuali.rice.kns.util.KualiDecimal getTotalDollarAmount()
          This method returns the total dollar amount for the document.
 List<Long> getWorkflowEngineDocumentIdsToLock()
           
 void initiateDocument()
          Initializes the values for a new document.
 boolean isDebit(GeneralLedgerPendingEntrySourceDetail postable)
          This method determines if the passed in GeneralLedgerPendingEntrySourceDetail is a debit or not.
 void populateCustomerCreditMemoDetails()
           
 void populateCustomerCreditMemoDetailsAfterLoad()
          This method populates credit memo details that aren't saved in database
 void prepareForSave(org.kuali.rice.kns.rule.event.KualiDocumentEvent event)
          do all the calculations before the document gets saved gets called for 'Submit', 'Save', and 'Blanket Approved'
protected  void prepareTotalsForUpdate(org.kuali.rice.kns.util.KualiDecimal oldItemAmount, boolean isTaxableItemFlag)
           
 void recalculateTotals(CustomerCreditMemoDetail customerCreditMemoDetail)
           
 void recalculateTotals(org.kuali.rice.kns.util.KualiDecimal itemAmount, boolean isTaxableItemFlag)
           
 void recalculateTotalsBasedOnChangedItemAmount(CustomerCreditMemoDetail customerCreditMemoDetail)
           
 void resetTotals()
           
 void setAccountsReceivableDocumentHeader(AccountsReceivableDocumentHeader accountsReceivableDocumentHeader)
           
 void setCreditMemoDetails(List<CustomerCreditMemoDetail> creditMemoDetails)
          Sets the creditMemoDetails attribute value.
 void setCrmTotalAmount(org.kuali.rice.kns.util.KualiDecimal crmTotalAmount)
          Sets the crmTotalAmount attribute value.
 void setCrmTotalItemAmount(org.kuali.rice.kns.util.KualiDecimal crmTotalItemAmount)
          Sets the crmTotalItemAmount attribute value.
 void setCrmTotalTaxAmount(org.kuali.rice.kns.util.KualiDecimal crmTotalTaxAmount)
          Sets the crmTotalTaxAmount attribute value.
 void setFinancialDocumentReferenceInvoiceNumber(String financialDocumentReferenceInvoiceNumber)
          Sets the financialDocumentReferenceInvoiceNumber attribute value.
 void setInvoice(CustomerInvoiceDocument invoice)
          Sets the invoice attribute value.
 void setInvOutstandingDays(Integer invOutstandingDays)
          Sets the invOutstandingDays attribute value.
 void setStatusCode(String statusCode)
          Sets the statusCode attribute value.
 
Methods inherited from class org.kuali.kfs.sys.document.GeneralLedgerPostingDocumentBase
changeGeneralLedgerPendingEntriesApprovedStatusCode, checkSufficientFunds, documentPerformsSufficientFundsCheck, getGeneralLedgerPendingEntries, getGeneralLedgerPendingEntry, getPendingLedgerEntriesForSufficientFundsChecking, removeGeneralLedgerPendingEntries, setGeneralLedgerPendingEntries, toCopy, toErrorCorrection
 
Methods inherited from class org.kuali.kfs.sys.document.LedgerPostingDocumentBase
createInitialAccountingPeriod, getAccountingPeriod, getAccountingPeriodService, getDataDictionaryService, getDateTimeService, 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, generateSaveEvents, getAdHocRoutePersons, getAdHocRouteWorkgroups, getBasePathToDocumentDuringSerialization, getCustomLockDescriptor, getDocumentBusinessObject, getDocumentNumber, getDocumentPropertySerizabilityEvaluator, getDocumentTitle, getLockClearningMethodNames, getNonLockingActionTakenCodes, getPessimisticLocks, getXmlForRouteReport, logErrors, populateDocumentForRouting, postProcessSave, 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, buildListOfDeletionAwareLists, 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.kfs.sys.document.GeneralLedgerPendingEntrySource
getDocumentHeader, getPostingYear
 
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, generateSaveEvents, getAdHocRoutePersons, getAdHocRouteWorkgroups, getAllowsCopy, getBasePathToDocumentDuringSerialization, getCustomLockDescriptor, getDocumentBusinessObject, getDocumentNumber, getDocumentPropertySerizabilityEvaluator, getDocumentTitle, getLockClearningMethodNames, getPessimisticLocks, getXmlForRouteReport, populateDocumentForRouting, postProcessSave, prepareForSave, processAfterRetrieve, refreshPessimisticLocks, serializeDocumentToXml, setAdHocRoutePersons, setAdHocRouteWorkgroups, setDocumentHeader, setDocumentNumber, useCustomLockDescriptors, validateBusinessRules, wrapDocumentWithMetadataForXmlSerialization
 
Methods inherited from interface org.kuali.rice.kns.bo.PersistableBusinessObject
addNote, buildListOfDeletionAwareLists, 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
 

Field Detail

LOG

protected static org.apache.log4j.Logger LOG

statusCode

protected String statusCode

financialDocumentReferenceInvoiceNumber

protected String financialDocumentReferenceInvoiceNumber

crmTotalItemAmount

protected org.kuali.rice.kns.util.KualiDecimal crmTotalItemAmount

crmTotalTaxAmount

protected org.kuali.rice.kns.util.KualiDecimal crmTotalTaxAmount

crmTotalAmount

protected org.kuali.rice.kns.util.KualiDecimal crmTotalAmount

invOutstandingDays

protected Integer invOutstandingDays

invoice

protected CustomerInvoiceDocument invoice

accountsReceivableDocumentHeader

protected AccountsReceivableDocumentHeader accountsReceivableDocumentHeader

creditMemoDetails

protected List<CustomerCreditMemoDetail> creditMemoDetails

taxService

protected transient TaxService taxService

arTaxService

protected transient AccountsReceivableTaxService arTaxService
Constructor Detail

CustomerCreditMemoDocument

public CustomerCreditMemoDocument()
Method Detail

getCreditMemoDetails

public List<CustomerCreditMemoDetail> getCreditMemoDetails()
Gets the creditMemoDetails attribute.

Returns:
Returns the creditMemoDetails.

setCreditMemoDetails

public void setCreditMemoDetails(List<CustomerCreditMemoDetail> creditMemoDetails)
Sets the creditMemoDetails attribute value.

Parameters:
creditMemoDetails - The creditMemoDetails to set.

getFinancialDocumentReferenceInvoiceNumber

public String getFinancialDocumentReferenceInvoiceNumber()
Gets the financialDocumentReferenceInvoiceNumber attribute.

Returns:
Returns the financialDocumentReferenceInvoiceNumber.

setFinancialDocumentReferenceInvoiceNumber

public void setFinancialDocumentReferenceInvoiceNumber(String financialDocumentReferenceInvoiceNumber)
Sets the financialDocumentReferenceInvoiceNumber attribute value.

Parameters:
financialDocumentReferenceInvoiceNumber - The financialDocumentReferenceInvoiceNumber to set.

getInvoice

public CustomerInvoiceDocument getInvoice()
Gets the invoice attribute.

Returns:
Returns the invoice.

setInvoice

public void setInvoice(CustomerInvoiceDocument invoice)
Sets the invoice attribute value.

Parameters:
invoice - The invoice to set.

getStatusCode

public String getStatusCode()
Gets the statusCode attribute.

Returns:
Returns the statusCode.

setStatusCode

public void setStatusCode(String statusCode)
Sets the statusCode attribute value.

Parameters:
statusCode - The statusCode to set.

initiateDocument

public void initiateDocument()
Initializes the values for a new document.


clearInitFields

public void clearInitFields()
Clear out the initially populated fields.


getCrmTotalAmount

public org.kuali.rice.kns.util.KualiDecimal getCrmTotalAmount()
Gets the crmTotalAmount attribute.

Returns:
Returns the crmTotalAmount.

getCurrencyFormattedCrmTotalAmount

public String getCurrencyFormattedCrmTotalAmount()
This method returns the crmTotalAmount as a currency formatted string.

Returns:
String

setCrmTotalAmount

public void setCrmTotalAmount(org.kuali.rice.kns.util.KualiDecimal crmTotalAmount)
Sets the crmTotalAmount attribute value.

Parameters:
crmTotalAmount - The crmTotalAmount to set.

getCrmTotalItemAmount

public org.kuali.rice.kns.util.KualiDecimal getCrmTotalItemAmount()
Gets the crmTotalItemAmount attribute.

Returns:
Returns the crmTotalItemAmount.

getCurrencyFormattedCrmTotalItemAmount

public String getCurrencyFormattedCrmTotalItemAmount()
This method returns the crmTotalItemAmount as a currency formatted string.

Returns:
String

setCrmTotalItemAmount

public void setCrmTotalItemAmount(org.kuali.rice.kns.util.KualiDecimal crmTotalItemAmount)
Sets the crmTotalItemAmount attribute value.

Parameters:
crmTotalItemAmount - The crmTotalItemAmount to set.

getCrmTotalTaxAmount

public org.kuali.rice.kns.util.KualiDecimal getCrmTotalTaxAmount()
Gets the crmTotalTaxAmount attribute.

Returns:
Returns the crmTotalTaxAmount.

getCurrencyFormattedCrmTotalTaxAmount

public String getCurrencyFormattedCrmTotalTaxAmount()
This method returns the crmTotalTaxAmount as a currency formatted string.

Returns:
String

setCrmTotalTaxAmount

public void setCrmTotalTaxAmount(org.kuali.rice.kns.util.KualiDecimal crmTotalTaxAmount)
Sets the crmTotalTaxAmount attribute value.

Parameters:
crmTotalTaxAmount - The crmTotalTaxAmount to set.

getInvOutstandingDays

public Integer getInvOutstandingDays()
Gets the invOutstandingDays attribute.

Returns:
Returns the invOutstandingDays.

setInvOutstandingDays

public void setInvOutstandingDays(Integer invOutstandingDays)
Sets the invOutstandingDays attribute value.

Parameters:
invOutstandingDays - The invOutstandingDays to set.

recalculateTotalsBasedOnChangedItemAmount

public void recalculateTotalsBasedOnChangedItemAmount(CustomerCreditMemoDetail customerCreditMemoDetail)

recalculateTotals

public void recalculateTotals(CustomerCreditMemoDetail customerCreditMemoDetail)

prepareTotalsForUpdate

protected void prepareTotalsForUpdate(org.kuali.rice.kns.util.KualiDecimal oldItemAmount,
                                      boolean isTaxableItemFlag)

resetTotals

public void resetTotals()

recalculateTotals

public void recalculateTotals(org.kuali.rice.kns.util.KualiDecimal itemAmount,
                              boolean isTaxableItemFlag)

populateCustomerCreditMemoDetails

public void populateCustomerCreditMemoDetails()

populateCustomerCreditMemoDetailsAfterLoad

public void populateCustomerCreditMemoDetailsAfterLoad()
This method populates credit memo details that aren't saved in database


getInvoiceOpenItemQuantity

public org.kuali.rice.kns.util.KualiDecimal getInvoiceOpenItemQuantity(CustomerCreditMemoDetail customerCreditMemoDetail,
                                                                       CustomerInvoiceDetail customerInvoiceDetail)

getCustomerInvoiceDetailOpenPretaxAmount

protected org.kuali.rice.kns.util.KualiDecimal getCustomerInvoiceDetailOpenPretaxAmount(org.kuali.rice.kns.util.KualiDecimal openAmount)

prepareForSave

public void prepareForSave(org.kuali.rice.kns.rule.event.KualiDocumentEvent event)
do all the calculations before the document gets saved gets called for 'Submit', 'Save', and 'Blanket Approved'

Specified by:
prepareForSave in interface org.kuali.rice.kns.document.Document
Overrides:
prepareForSave in class GeneralLedgerPostingDocumentBase
See Also:
Document.prepareForSave(org.kuali.rice.kns.rule.event.KualiDocumentEvent)

generateDocumentGeneralLedgerPendingEntries

public boolean generateDocumentGeneralLedgerPendingEntries(GeneralLedgerPendingEntrySequenceHelper sequenceHelper)
Description copied from interface: GeneralLedgerPendingEntrySource
Creates any GeneralLedgerPostingEntry's that are based on a document, not those based on GeneralLedgerPendingEntrySourceDetail entries

Specified by:
generateDocumentGeneralLedgerPendingEntries in interface GeneralLedgerPendingEntrySource
Parameters:
sequenceHelper - a sequence helper for the method to create more general ledger pending entries
Returns:
true if the pending entries were able to be successfully created and added to this GeneralLedgerPendingEntrySource; false if an error condition occurred with mean that GLPEs were not correctly generated
See Also:
GeneralLedgerPendingEntrySource.generateDocumentGeneralLedgerPendingEntries(org.kuali.kfs.sys.businessobject.GeneralLedgerPendingEntrySequenceHelper)

isDebit

public boolean isDebit(GeneralLedgerPendingEntrySourceDetail postable)
Description copied from interface: GeneralLedgerPendingEntrySource
This method determines if the passed in GeneralLedgerPendingEntrySourceDetail is a debit or not.

Specified by:
isDebit in interface GeneralLedgerPendingEntrySource
Returns:
true if the given GeneralLedgerPendingEntrySourceDetail is a debit, false if it is a credit
See Also:
GeneralLedgerPendingEntrySource.isDebit(org.kuali.kfs.sys.businessobject.GeneralLedgerPendingEntrySourceDetail)

clearAnyGeneralLedgerPendingEntries

public void clearAnyGeneralLedgerPendingEntries()
Description copied from class: GeneralLedgerPostingDocumentBase
This resets this document's list of general ledger pending etnries, though it does not delete those entries (however, the GeneralLedgerPendingEntryService will in most cases when this method is called).

Specified by:
clearAnyGeneralLedgerPendingEntries in interface GeneralLedgerPendingEntrySource
Overrides:
clearAnyGeneralLedgerPendingEntries in class GeneralLedgerPostingDocumentBase
See Also:
GeneralLedgerPendingEntrySource.clearAnyGeneralLedgerPendingEntries()

getGeneralLedgerPendingEntrySourceDetails

public List<GeneralLedgerPendingEntrySourceDetail> getGeneralLedgerPendingEntrySourceDetails()
Description copied from interface: GeneralLedgerPendingEntrySource
Returns a list of any GeneralLedgerPostables this helper has, to create GeneralLedgerPendingEntries

Specified by:
getGeneralLedgerPendingEntrySourceDetails in interface GeneralLedgerPendingEntrySource
Returns:
a list of GeneralLedgerPostables
See Also:
org.kuali.kfs.sys.document.GeneralLedgerPendingEntrySource#getGeneralLedgerPostables()

addPendingEntry

public void addPendingEntry(GeneralLedgerPendingEntry entry)
Description copied from class: GeneralLedgerPostingDocumentBase
Adds a GeneralLedgerPendingEntry to this document's list of pending entries

Specified by:
addPendingEntry in interface GeneralLedgerPendingEntrySource
Overrides:
addPendingEntry in class GeneralLedgerPostingDocumentBase
Parameters:
entry - a pending entry to add
See Also:
GeneralLedgerPendingEntrySource.addPendingEntry(org.kuali.kfs.sys.businessobject.GeneralLedgerPendingEntry)

getGeneralLedgerPendingEntryAmountForDetail

public org.kuali.rice.kns.util.KualiDecimal getGeneralLedgerPendingEntryAmountForDetail(GeneralLedgerPendingEntrySourceDetail postable)
Description copied from interface: GeneralLedgerPendingEntrySource
A method to determine what the actual amount, based off of a GeneralLedgerPendingEntrySourceDetail, should be for the resultant GeneralLedgerPendingEntry

Specified by:
getGeneralLedgerPendingEntryAmountForDetail in interface GeneralLedgerPendingEntrySource
Parameters:
postable - the detail line from the general ledger pending entry source to find an amount for
Returns:
The amount that will be used to populate the amount on the generated general ledger pending entry for the given source detail
See Also:
org.kuali.kfs.sys.document.GeneralLedgerPendingEntrySource#getGeneralLedgerPendingEntryAmountForGeneralLedgerPostable(org.kuali.kfs.sys.businessobject.GeneralLedgerPendingEntrySourceDetail)

getFinancialDocumentTypeCode

public String getFinancialDocumentTypeCode()
Returns the general ledger input type code for the given document, using the DataDictionaryService

Specified by:
getFinancialDocumentTypeCode in interface GeneralLedgerPendingEntrySource
Overrides:
getFinancialDocumentTypeCode in class LedgerPostingDocumentBase
Returns:
the general ledger input type code for the given document

getWorkflowEngineDocumentIdsToLock

public List<Long> getWorkflowEngineDocumentIdsToLock()
Specified by:
getWorkflowEngineDocumentIdsToLock in interface org.kuali.rice.kns.document.Document
Overrides:
getWorkflowEngineDocumentIdsToLock in class org.kuali.rice.kns.document.DocumentBase

doRouteStatusChange

public void doRouteStatusChange(org.kuali.rice.kew.dto.DocumentRouteStatusChangeDTO statusChangeEvent)
When document is processed do the following: 1) Apply amounts to writeoff invoice 2) Mark off invoice indiciator

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()

generateGeneralLedgerPendingEntries

public boolean generateGeneralLedgerPendingEntries(GeneralLedgerPendingEntrySourceDetail glpeSourceDetail,
                                                   GeneralLedgerPendingEntrySequenceHelper sequenceHelper)
This method creates the following GLPE's for the customer credit memo 1. Credit to receivable object for total line amount (excluding sales tax) 2. Debit to income object for total line amount (excluding sales tax) 3. Credit to receivable object in sales tax account(if sales tax exists) 4. Debit to liability object in sales tax account(if sales tax exists) 5. Credit to receivable object in district tax account(if district tax exists) 6. Debit to liability object code in district tax account(if district tax exists)

Specified by:
generateGeneralLedgerPendingEntries in interface GeneralLedgerPendingEntrySource
Parameters:
glpeSourceDetail - the source detail line to generate general ledger pending entries for
sequenceHelper - the sequence helper which will assign sequence number to generated general ledger pending entries
Returns:
true if general ledger pending entry generation was successful; false if an error condition prevented the successful generation of the pending entries
See Also:
org.kuali.kfs.service.impl.GenericGeneralLedgerPendingEntryGenerationProcessImpl#processGenerateGeneralLedgerPendingEntries(org.kuali.kfs.sys.document.GeneralLedgerPendingEntrySource, org.kuali.kfs.sys.businessobject.GeneralLedgerPendingEntrySourceDetail, org.kuali.kfs.sys.businessobject.GeneralLedgerPendingEntrySequenceHelper)

addReceivableGLPEs

protected void addReceivableGLPEs(GeneralLedgerPendingEntrySequenceHelper sequenceHelper,
                                  GeneralLedgerPendingEntrySourceDetail glpeSourceDetail,
                                  boolean hasClaimOnCashOffset)
This method creates the receivable GLPEs for credit memo detail lines.

Parameters:
poster -
sequenceHelper -
postable -
explicitEntry -

addIncomeGLPEs

protected void addIncomeGLPEs(GeneralLedgerPendingEntrySequenceHelper sequenceHelper,
                              GeneralLedgerPendingEntrySourceDetail glpeSourceDetail,
                              boolean hasClaimOnCashOffset)
This method adds pending entry with transaction ledger entry amount set to item price * quantity

Parameters:
poster -
sequenceHelper -
postable -
explicitEntry -

addSalesTaxGLPEs

protected void addSalesTaxGLPEs(GeneralLedgerPendingEntrySequenceHelper sequenceHelper,
                                GeneralLedgerPendingEntrySourceDetail glpeSourceDetail,
                                boolean hasClaimOnCashOffset)
This method add pending entries for every tax detail that exists for a particular postal code

Parameters:
sequenceHelper -
glpeSourceDetail -
hasClaimOnCashOffset -

getTotalDollarAmount

public org.kuali.rice.kns.util.KualiDecimal getTotalDollarAmount()
Description copied from interface: AmountTotaling
This method returns the total dollar amount for the document.

Specified by:
getTotalDollarAmount in interface AmountTotaling
Returns:
The total dollar amount as a KualiDecimal object instance.

getAccountsReceivableDocumentHeader

public AccountsReceivableDocumentHeader getAccountsReceivableDocumentHeader()

setAccountsReceivableDocumentHeader

public void setAccountsReceivableDocumentHeader(AccountsReceivableDocumentHeader accountsReceivableDocumentHeader)

getPostalCode

public String getPostalCode()

getTaxService

public TaxService getTaxService()
Gets the taxService attribute.

Returns:
Returns the taxService.

getArTaxService

public AccountsReceivableTaxService getArTaxService()
Gets the arTaxService attribute.

Returns:
Returns the arTaxService.


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