public class VATCalculationRuleCombineCmdImpl extends CalculationCmdImpl implements VATCalculationRuleCombineCmd
The default implementation of VATCalculationRuleCombineCmd.
This command only handle the sales tax and shipping tax when VAT(Value-Added-Tax) feature is enabled.
Its behavior is as follows:
Commands used:
Access beans used:Modifier and Type | Field and Description |
---|---|
static java.lang.String | COPYRIGHT
The copy right.
|
Constructor and Description |
---|
VATCalculationRuleCombineCmdImpl()
The constructor.
|
Modifier and Type | Method and Description |
---|---|
protected void | calculateRules()
This method calculates the tax for the rules.
|
protected void | calculateRulesInFastMode()
This method calculates the rules for tax in fast mode.
|
protected java.math.BigDecimal[] | calculateTaxBasedOnAmountAndRate(java.math.BigDecimal grossAmount, java.math.BigDecimal[] rates)
This method calculates the tax amount using the tax-included amount and tax rate.
|
protected Item[] | callRuleQualify(CalculationRuleAccessBean aabRule, Item[] aItems)
This method is called by performExecute() to invoke the CalculationRuleQualify command.
|
protected CalculationScaleLookupCmd | callScaleLookup(CalculationRuleAccessBean abRule, CalculationScaleAccessBean aabScale, Item[] items)
Invokes the calculation method of type "CalculationScaleLookup" referenced by the calculation scale (see CALSCALE.CALMETHOD_ID, CalculationScaleLookupCmd) to determine a lookup number, a base monetary value, a result multiplier and a list of mathematical weights.
|
protected void | composeTaxInfoIntoCustomProperty()
This method calculates the tax info into calculation command's custom property.
|
protected CalculationCodeAccessBean | getCode()
This method gets the calculation code.
|
protected Item[] | getItems()
This method gets the Item objects.
|
CalculationRuleAccessBean[] | getRules()
This method gets the calculation rules.
|
protected java.lang.Integer[] | getTaxCategoryIds()
This method gets the tax category ids.
|
java.util.HashMap | getTaxInfoForRule(java.lang.Integer anRuleId)
This method gets the tax info for the specified calculation rule.
|
java.math.BigDecimal[] | getValues(java.lang.Integer anRuleId)
This method gets values for the specified calculation rule.
|
protected boolean | isEffective(CalculationScaleAccessBean aabScale)
Returns whether a calculation scale is effective.
|
protected boolean | isRestricted(CalculationRuleAccessBean aabRule)
This method returns the flag to indicate whether the calculation rule is restricted.
|
void | performExecute()
The main logic.
|
protected java.util.HashMap | retrieveTaxInfoFromRule(CalculationRuleAccessBean aabRule, Item[] aItems)
This method retrieves tax information defined for the specified calculation rule.
|
protected java.math.BigDecimal | retrieveTaxRateFromScale(CalculationScaleAccessBean aabScale)
Calculates the resulting list of values of a calculation scale.
|
void | setCode(CalculationCodeAccessBean aabCode)
This method sets the calculaiton code.
|
void | setItems(Item[] aItems)
This method sets the Item objects.
|
protected void | setRules(CalculationRuleAccessBean[] aabRules)
This method sets the calculation rules.
|
void | setTaxCategoryIds(java.lang.Integer[] anTaxCategoryIds)
This method sets the tax categories
|
protected void | setTaxInfo(java.lang.Integer anRuleId, java.util.HashMap hshTaxInfo)
This method sets the result of a particular calculation rule.
|
protected void | setValues(java.lang.Integer anRuleId, java.math.BigDecimal[] adValues)
This method sets the result of a particular calculation rule.
|
public static final java.lang.String COPYRIGHT
public VATCalculationRuleCombineCmdImpl()
public void performExecute() throws ECException
protected Item[] callRuleQualify(CalculationRuleAccessBean aabRule, Item[] aItems) throws ECException
protected java.util.HashMap retrieveTaxInfoFromRule(CalculationRuleAccessBean aabRule, Item[] aItems) throws ECException
protected java.math.BigDecimal retrieveTaxRateFromScale(CalculationScaleAccessBean aabScale) throws ECException
protected boolean isEffective(CalculationScaleAccessBean aabScale) throws ECException
public CalculationRuleAccessBean[] getRules()
protected java.lang.Integer[] getTaxCategoryIds()
public java.math.BigDecimal[] getValues(java.lang.Integer anRuleId)
public java.util.HashMap getTaxInfoForRule(java.lang.Integer anRuleId)
protected boolean isRestricted(CalculationRuleAccessBean aabRule) throws ECException
public void setCode(CalculationCodeAccessBean aabCode)
protected CalculationCodeAccessBean getCode()
public void setItems(Item[] aItems)
protected Item[] getItems()
protected void setRules(CalculationRuleAccessBean[] aabRules)
public void setTaxCategoryIds(java.lang.Integer[] anTaxCategoryIds)
protected void calculateRulesInFastMode() throws ECException
protected void calculateRules() throws ECException
protected java.math.BigDecimal[] calculateTaxBasedOnAmountAndRate(java.math.BigDecimal grossAmount, java.math.BigDecimal[] rates)
protected void composeTaxInfoIntoCustomProperty() throws ECException
protected CalculationScaleLookupCmd callScaleLookup(CalculationRuleAccessBean abRule, CalculationScaleAccessBean aabScale, Item[] items) throws ECException
protected void setTaxInfo(java.lang.Integer anRuleId, java.util.HashMap hshTaxInfo)
protected void setValues(java.lang.Integer anRuleId, java.math.BigDecimal[] adValues)