org.kuali.kfs.module.ar.document.validation.impl
Class CustomerCreditMemoDocumentRule

java.lang.Object
  extended by org.kuali.rice.kns.rules.DocumentRuleBase
      extended by org.kuali.rice.kns.rules.TransactionalDocumentRuleBase
          extended by org.kuali.kfs.module.ar.document.validation.impl.CustomerCreditMemoDocumentRule
All Implemented Interfaces:
ContinueCustomerCreditMemoDocumentRule<org.kuali.rice.kns.document.TransactionalDocument>, CustomerCreditMemoDetailRule, RecalculateCustomerCreditMemoDetailRule<org.kuali.rice.kns.document.TransactionalDocument>, RecalculateCustomerCreditMemoDocumentRule<org.kuali.rice.kns.document.TransactionalDocument>, org.kuali.rice.kns.rule.AddAdHocRoutePersonRule, org.kuali.rice.kns.rule.AddAdHocRouteWorkgroupRule, org.kuali.rice.kns.rule.AddNoteRule, org.kuali.rice.kns.rule.ApproveDocumentRule, org.kuali.rice.kns.rule.BusinessRule, org.kuali.rice.kns.rule.RouteDocumentRule, org.kuali.rice.kns.rule.SaveDocumentRule, org.kuali.rice.kns.rule.SendAdHocRequestsRule

public class CustomerCreditMemoDocumentRule
extends org.kuali.rice.kns.rules.TransactionalDocumentRuleBase
implements RecalculateCustomerCreditMemoDetailRule<org.kuali.rice.kns.document.TransactionalDocument>, RecalculateCustomerCreditMemoDocumentRule<org.kuali.rice.kns.document.TransactionalDocument>, ContinueCustomerCreditMemoDocumentRule<org.kuali.rice.kns.document.TransactionalDocument>

This class holds the business rules for the AR Credit Memo Document


Field Summary
protected static org.kuali.rice.kns.util.KualiDecimal ALLOWED_QTY_DEVIATION
           
 
Constructor Summary
CustomerCreditMemoDocumentRule()
           
 
Method Summary
 boolean checkIfCustomerCreditMemoQtyAndCustomerCreditMemoItemAmountValid(CustomerCreditMemoDetail customerCreditMemoDetail, BigDecimal unitPrice)
           
 boolean checkIfInvoiceNumberIsFinal(String invDocumentNumber)
           
 boolean checkIfThereIsNoAnotherCRMInRouteForTheInvoice(String invoiceDocumentNumber)
          This method checks if there is no another CRM in route for the invoice not in route if CRM status is one of the following: processed, cancelled, or disapproved
 boolean checkInvoiceForErrorCorrection(String invoiceDocumentNumber)
          This method checks if the Invoice has been error corrected or is an error correcting invoice
 boolean isCustomerCreditMemoItemAmountLessThanEqualToInvoiceOpenItemAmount(CustomerCreditMemoDocument customerCreditMemoDocument, CustomerCreditMemoDetail customerCreditMemoDetail)
           
 boolean isCustomerCreditMemoQtyLessThanEqualToInvoiceOpenQty(CustomerCreditMemoDetail customerCreditMemoDetail)
           
 String isQtyOrItemAmountEntered(CustomerCreditMemoDetail customerCreditMemoDetail)
           
 boolean isValueGreaterThanZero(BigDecimal value)
           
 boolean isValueGreaterThanZero(org.kuali.rice.kns.util.KualiDecimal value)
           
 boolean processContinueCustomerCreditMemoDocumentRules(org.kuali.rice.kns.document.TransactionalDocument document)
           
protected  boolean processCustomSaveDocumentBusinessRules(org.kuali.rice.kns.document.Document document)
           
 boolean processRecalculateCustomerCreditMemoDetailRules(org.kuali.rice.kns.document.TransactionalDocument document, CustomerCreditMemoDetail customerCreditMemoDetail)
          Returns true if business rules for recalculating a customer credit memo detail return true
 boolean processRecalculateCustomerCreditMemoDocumentRules(org.kuali.rice.kns.document.TransactionalDocument document, boolean printErrMsgFlag)
           
 
Methods inherited from class org.kuali.rice.kns.rules.DocumentRuleBase
getDataDictionaryService, getDictionaryValidationService, getDocumentHelperService, getIdentityManagementService, getKualiConfigurationService, getMaxDictionaryValidationDepth, getPersonService, getWorkflowInfoService, isAddHocRoutePersonValid, isAddHocRouteWorkgroupValid, isAdHocRouteRecipientsValid, isDocumentAttributesValid, isDocumentOverviewValid, isNoteValid, processAddAdHocRoutePerson, processAddAdHocRouteWorkgroup, processAddNote, processApproveDocument, processCustomAddAdHocRoutePersonBusinessRules, processCustomAddAdHocRouteWorkgroupBusinessRules, processCustomAddNoteBusinessRules, processCustomApproveDocumentBusinessRules, processCustomRouteDocumentBusinessRules, processCustomSendAdHocRequests, processRouteDocument, processSaveDocument, processSendAdHocRequests, setMaxDictionaryValidationDepth, validateSensitiveDataValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ALLOWED_QTY_DEVIATION

protected static final org.kuali.rice.kns.util.KualiDecimal ALLOWED_QTY_DEVIATION
Constructor Detail

CustomerCreditMemoDocumentRule

public CustomerCreditMemoDocumentRule()
Method Detail

processCustomSaveDocumentBusinessRules

protected boolean processCustomSaveDocumentBusinessRules(org.kuali.rice.kns.document.Document document)
Overrides:
processCustomSaveDocumentBusinessRules in class org.kuali.rice.kns.rules.DocumentRuleBase
See Also:
DocumentRuleBase.processCustomSaveDocumentBusinessRules(org.kuali.rice.kns.document.Document)

processRecalculateCustomerCreditMemoDetailRules

public boolean processRecalculateCustomerCreditMemoDetailRules(org.kuali.rice.kns.document.TransactionalDocument document,
                                                               CustomerCreditMemoDetail customerCreditMemoDetail)
Description copied from interface: RecalculateCustomerCreditMemoDetailRule
Returns true if business rules for recalculating a customer credit memo detail return true

Specified by:
processRecalculateCustomerCreditMemoDetailRules in interface RecalculateCustomerCreditMemoDetailRule<org.kuali.rice.kns.document.TransactionalDocument>
Returns:
true if the business rules pass
See Also:
org.kuali.kfs.module.ar.document.validation.RecalculateCustomerCreditMemoDetailRule#processRecalculateCustomerCreditMemoDetailRules(org.kuali.kfs.sys.document.AccountingDocument, org.kuali.kfs.module.ar.businessobject.CustomerCreditMemoDetail)

isQtyOrItemAmountEntered

public String isQtyOrItemAmountEntered(CustomerCreditMemoDetail customerCreditMemoDetail)

isValueGreaterThanZero

public boolean isValueGreaterThanZero(BigDecimal value)

isValueGreaterThanZero

public boolean isValueGreaterThanZero(org.kuali.rice.kns.util.KualiDecimal value)

isCustomerCreditMemoItemAmountLessThanEqualToInvoiceOpenItemAmount

public boolean isCustomerCreditMemoItemAmountLessThanEqualToInvoiceOpenItemAmount(CustomerCreditMemoDocument customerCreditMemoDocument,
                                                                                  CustomerCreditMemoDetail customerCreditMemoDetail)

isCustomerCreditMemoQtyLessThanEqualToInvoiceOpenQty

public boolean isCustomerCreditMemoQtyLessThanEqualToInvoiceOpenQty(CustomerCreditMemoDetail customerCreditMemoDetail)

checkIfCustomerCreditMemoQtyAndCustomerCreditMemoItemAmountValid

public boolean checkIfCustomerCreditMemoQtyAndCustomerCreditMemoItemAmountValid(CustomerCreditMemoDetail customerCreditMemoDetail,
                                                                                BigDecimal unitPrice)

processRecalculateCustomerCreditMemoDocumentRules

public boolean processRecalculateCustomerCreditMemoDocumentRules(org.kuali.rice.kns.document.TransactionalDocument document,
                                                                 boolean printErrMsgFlag)
Specified by:
processRecalculateCustomerCreditMemoDocumentRules in interface RecalculateCustomerCreditMemoDocumentRule<org.kuali.rice.kns.document.TransactionalDocument>
See Also:
org.kuali.kfs.module.ar.document.validation.RecalculateCustomerCreditMemoDocumentRule#processRecalculateCustomerCreditMemoDocumentRules(org.kuali.kfs.sys.document.AccountingDocument)

processContinueCustomerCreditMemoDocumentRules

public boolean processContinueCustomerCreditMemoDocumentRules(org.kuali.rice.kns.document.TransactionalDocument document)
Specified by:
processContinueCustomerCreditMemoDocumentRules in interface ContinueCustomerCreditMemoDocumentRule<org.kuali.rice.kns.document.TransactionalDocument>
See Also:
org.kuali.kfs.module.ar.document.validation.ContinueCustomerCreditMemoDocumentRule#processContinueCustomerCreditMemoDocumentRules(org.kuali.kfs.sys.document.AccountingDocument)

checkIfInvoiceNumberIsFinal

public boolean checkIfInvoiceNumberIsFinal(String invDocumentNumber)

checkIfThereIsNoAnotherCRMInRouteForTheInvoice

public boolean checkIfThereIsNoAnotherCRMInRouteForTheInvoice(String invoiceDocumentNumber)
This method checks if there is no another CRM in route for the invoice not in route if CRM status is one of the following: processed, cancelled, or disapproved

Parameters:
invoice -
Returns:

checkInvoiceForErrorCorrection

public boolean checkInvoiceForErrorCorrection(String invoiceDocumentNumber)
This method checks if the Invoice has been error corrected or is an error correcting invoice

Parameters:
invoice -
Returns:


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