|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--com.ibm.commerce.command.AbstractECCommand | +--com.ibm.commerce.command.TaskCommandImpl | +--com.ibm.commerce.price.commands.CalculateContractPricesCmdImpl
This CalculateContractPricesCmd
Task Command Implementation
retrieves all the qualified contract prices and calculates the price adjustment
specified by the contract for one or more catalog entries.
If the command is successful in retreiving offers, it will return a list of qualified offers that provide the offer prices which have been adjusted according the corresponding Ts&Cs defined in the trading agreements.
If unsuccessful, it wil return an empty list.
Behaviour
Obtain all the qualified offers for each catalog entries, each offer to be retrieved to find the price of a catalog entry must satisfy certain criteria.
If no valid offer can be found, the parent product offers will be searched providing the catalog entry and the parent product is not excluded from the trading agreements.
Select the best adjustments for each of the offers. The price adjustments are retrieved from those Ts&Cs which references the price list containing the offer.
Calculate the price adjustments for each of the offers.
Field Summary | |
static java.lang.String |
COPYRIGHT
|
Fields inherited from class com.ibm.commerce.command.AbstractECCommand |
commandContext |
Fields inherited from interface com.ibm.commerce.price.commands.CalculateContractPricesCmd |
defaultCommandClassName, NAME |
Constructor Summary | |
CalculateContractPricesCmdImpl()
|
Method Summary | |
protected QualifyingOfferInfo |
calculatePriceAdjustment(QualifyingOfferInfo aOfferInfo,
PriceTC aBestPriceTC)
Calculates the result price by applying the best T&C price adjustment to the offer price. |
protected java.lang.String |
getCurrency()
Returns the currency to be used for the price. |
ItemPriceInfo[] |
getItemPriceInfo()
Returns the internal item info structure. |
void |
performExecute()
Executes main business logic of the command. |
protected PriceTC |
selectPriceAdjustment(java.lang.Long aItem,
java.util.Vector aTcInfoVec)
Selects the best adjustments for a catalog entry. |
void |
setCurrency(java.lang.String astrCurrency)
Sets the currency to be used for finding the price (Optional). |
void |
setErrorMode(boolean aErrorMode)
Sets the flag to indicate if exception will be thrown when the price cannot be found for the input catentry (Optional). |
void |
setItemPriceInfo(ItemPriceInfo[] aItemPriceInfo)
Sets the item info structure for internal use on calculating the prices. |
void |
setMasterCatalogPriceListIds(java.lang.Long[] aMasterpriceListIds)
Sets the ids the price list associated with the Master Catalog (Optional). |
void |
setPriceListIds(java.lang.Long[] aPriceListIds)
Sets the ids of the input price lists to be used for retrieving the offers. |
void |
setStoreId(java.lang.Integer aStoreId)
Sets the id of the input store to be used for calculating the price (Optional). |
void |
setTradingABs(TradingAgreementAccessBean[] aTradingABs)
Sets the input trading agreement access beans for determining the contract prices. |
void |
setUseGlobalPriceList(boolean aUseGlobalPriceList)
Sets the flag to indicate if the list of input price lists can be used globally for retrieving the offers for all of the input catentries (Optional). |
void |
validateParameters()
Checks mandatory parameters. |
Methods inherited from class com.ibm.commerce.command.AbstractECCommand |
accessControlCheck, checkIsAllowed, checkResourcePermission, execute, finalize, getAccCheck, getCommandContext, getCommandIfName, getCommandName, getDefaultProperties, getResources, getStoreId, getUser, getUserId, isReadyToCallExecute, reset, setAccCheck, setCommandContext, setCommandIfName, setDefaultProperties |
Methods inherited from class java.lang.Object |
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface com.ibm.commerce.command.ECCommand |
checkIsAllowed, checkResourcePermission, execute, getAccCheck, getCommandContext, getCommandIfName, getCommandName, getDefaultProperties, getResources, getStoreId, getUser, getUserId, setAccCheck, setCommandContext, setCommandIfName, setDefaultProperties |
Field Detail |
public static final java.lang.String COPYRIGHT
Constructor Detail |
public CalculateContractPricesCmdImpl()
Method Detail |
protected QualifyingOfferInfo calculatePriceAdjustment(QualifyingOfferInfo aOfferInfo, PriceTC aBestPriceTC) throws ECException
aOfferInfo
- the offer info structure providing the offer id and
saving the result price.aBestPriceTC
- the T&C providing the best price adjustment.protected java.lang.String getCurrency()
public ItemPriceInfo[] getItemPriceInfo()
getItemPriceInfo
in interface CalculateContractPricesCmd
com.ibm.commerce.price.commands.CalculateContractPricesCmd
public void performExecute() throws ECException
performExecute
in interface ECCommand
performExecute
in class AbstractECCommand
com.ibm.commerce.command.ECCommand
com.ibm.commerce.command.CommandException
- The superclass for all ECExceptions.protected PriceTC selectPriceAdjustment(java.lang.Long aItem, java.util.Vector aTcInfoVec) throws ECException
aItem
- the catalog entry for searching the adjustment product set.aTcInfoVec
- Ts&Cs containing the adjustment and adjustment product set.
public void setCurrency(java.lang.String astrCurrency)
setCurrency
in interface CalculateContractPricesCmd
com.ibm.commerce.price.commands.CalculateContractPricesCmd
astrCurrency
- The currency to look up the price.
If the currency is not specified then the "negotiated" currency is used for
the store Id and shopper's preferred currency. (The negotiated currency is
the currency returned from the getCurrency() method of the currency manager).public void setErrorMode(boolean aErrorMode)
setErrorMode
in interface CalculateContractPricesCmd
com.ibm.commerce.price.commands.CalculateContractPricesCmd
aErrorMode
- The indicator to decide if an exception will be thrown when the
price cannot be found.
A true value (default) means throw exception.
A false value means do not throw exception and returns a null value pricepublic void setItemPriceInfo(ItemPriceInfo[] aItemPriceInfo)
setItemPriceInfo
in interface CalculateContractPricesCmd
com.ibm.commerce.price.commands.CalculateContractPricesCmd
aItemPriceInfo
- the item info structure for storing information
such as the trading agreements, price lists that will be used for
calculating the prices of the items.public void setMasterCatalogPriceListIds(java.lang.Long[] aMasterpriceListIds)
setMasterCatalogPriceListIds
in interface CalculateContractPricesCmd
com.ibm.commerce.price.commands.CalculateContractPricesCmd
aPriceListIds
- the price list ids for the Master Catalog.public void setPriceListIds(java.lang.Long[] aPriceListIds)
setPriceListIds
in interface CalculateContractPricesCmd
com.ibm.commerce.price.commands.CalculateContractPricesCmd
aPriceListIds
- The reference number of one or more price lists that are
to be used for retrieving the offers.public void setStoreId(java.lang.Integer aStoreId)
setStoreId
in interface CalculateContractPricesCmd
com.ibm.commerce.price.commands.CalculateContractPricesCmd
aStoreId
- The reference number of a store to be used for calculating the
price. If the store id is not specified then the store id of the command context
will be used.public void setTradingABs(TradingAgreementAccessBean[] aTradingABs)
setTradingABs
in interface CalculateContractPricesCmd
com.ibm.commerce.price.commands.CalculateContractPricesCmd
aTradingABs
- The access beans of a list of trading agreements to be used
to determine the price lists and to obtain the Ts&Cs information such as the
price adjustment that is to be applied to the offers retrieved from the price
lists.public void setUseGlobalPriceList(boolean aUseGlobalPriceList)
setUseGlobalPriceList
in interface CalculateContractPricesCmd
com.ibm.commerce.price.commands.CalculateContractPricesCmd
aUseGlobalPriceList
- The indicator to decide if the price lists can
be used globally.
A true value (default) means apply the price lists globally.
A false value means individual set of price lists should be obtained for each catentry
(Future Support).public void validateParameters() throws ECException
validateParameters
in interface ECCommand
validateParameters
in class AbstractECCommand
com.ibm.commerce.command.ECCommand
ECException.
-
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |