org.opencrx.kernel.backend
Class Contracts
java.lang.Object
org.opencrx.kernel.backend.Contracts
public class Contracts
- extends Object
|
Method Summary |
boolean |
allowPositionCreation(org.openmdx.base.naming.Path contractIdentity,
org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 product,
org.openmdx.base.naming.Path parentPositionIdentity,
List positions)
|
boolean |
allowPositionRemoval(org.openmdx.base.naming.Path contractIdentity,
org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 productRole,
org.openmdx.base.naming.Path parentPositionIdentity)
|
void |
calculateContractPosition(org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 position,
Set<String> fetchSet)
|
void |
calculateForwardReferences(org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 contract,
Set fetchSet)
calculate forward references, i.e. |
static void |
calculateUserHomeCharts(UserHome userHome,
javax.jdo.PersistenceManager pm)
|
void |
completeContract(org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 contract,
Set<String> fetchSet)
|
int |
countFilteredContract(org.openmdx.base.naming.Path contractFilterIdentity)
|
ContractPosition |
createContractPosition(org.openmdx.base.naming.Path contractIdentity,
Boolean isIgnoreProductConfiguration,
String name,
BigDecimal quantity,
Date pricingDate,
org.openmdx.base.naming.Path productIdentity,
org.openmdx.base.naming.Path uomIdentity,
org.openmdx.base.naming.Path priceUomIdentity,
org.openmdx.base.naming.Path pricingRuleIdentity)
|
Set |
createDepotReferences(org.openmdx.base.naming.Path depotHolderIdentity,
org.openmdx.base.naming.Path positionIdentity,
Set excludeDepotUsage)
Copy depot references from product role to contract position. |
Invoice |
createInvoice(org.openmdx.base.naming.Path salesOrderIdentity)
|
Opportunity |
createOpportunity(org.openmdx.base.naming.Path leadIdentity)
|
Quote |
createQuote(org.openmdx.base.naming.Path opportunityIdentity)
|
SalesOrder |
createSalesOrder(org.openmdx.base.naming.Path quoteIdentity)
|
static CalculationRule |
findCalculationRule(String name,
Segment segment,
javax.jdo.PersistenceManager pm)
|
long |
getAdjustedLineItemNumber(long itemNumber,
long lineItemNumber)
Add itemNumber to lineItemNumber. |
GetContractAmountsResult |
getContractAmounts(CalculationRule calculationRule,
AbstractContract contract,
List<?> lineItemNumbers,
List<?> positionBaseAmounts,
List<?> positionDiscountAmounts,
List<?> positionTaxAmounts,
List<?> positionAmounts,
List<?> salesCommissions,
List<?> salesCommissionIsPercentages)
|
void |
getContractAmounts(org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 calcRule,
org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 params,
org.openmdx.application.dataprovider.cci.DataproviderObject getContractAmountsResult)
|
static GetContractAmountsResult |
getContractAmounts(RefPackage_1_0 rootPkg,
CalculationRule calculationRule,
AbstractContract contract,
Integer[] lineItemNumbers,
BigDecimal[] positionBaseAmounts,
BigDecimal[] positionDiscountAmounts,
BigDecimal[] positionTaxAmounts,
BigDecimal[] positionAmounts,
BigDecimal[] salesCommissions,
Boolean[] salesCommissionIsPercentages)
|
FilterProperty[] |
getContractFilterProperties(org.openmdx.base.naming.Path contractFilterIdentity,
boolean forCounting)
|
static Segment |
getContractSegment(javax.jdo.PersistenceManager pm,
String providerName,
String segmentName)
|
long |
getMaxLineItemNumber(org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 contract,
org.openmdx.base.naming.Path parentPositionIdentity)
|
int |
getNumberPositionsBasedOnProduct(org.openmdx.base.naming.Path contractIdentity,
org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 product,
org.openmdx.base.naming.Path parentPositionIdentity,
List positions)
|
GetPositionAmountsResult |
getPositionAmounts(CalculationRule calculationRule,
ContractPosition position)
|
void |
getPositionAmounts(org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 calcRule,
org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 params,
org.openmdx.application.dataprovider.cci.DataproviderObject getPositionAmountsResult)
|
static GetPositionAmountsResult |
getPositionAmounts(RefPackage_1_0 rootPkg,
CalculationRule calculationRule,
ContractPosition position,
BigDecimal minMaxAdjustedQuantity,
BigDecimal uomScaleFactor,
BigDecimal salesTaxRate)
|
static CalculationRule |
initCalculationRule(String calculationRuleName,
String description,
String getPositionAmountsScript,
String getContractAmountsScript,
javax.jdo.PersistenceManager pm,
String providerName,
String segmentName)
|
void |
markAsClosed(org.openmdx.base.naming.Path contractIdentity,
short newContractState)
|
void |
markContractAsDirty(org.openmdx.base.naming.Path contractIdentity)
|
void |
removeContractPosition(org.openmdx.application.dataprovider.cci.ServiceHeader header,
org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 position,
boolean checkForMinPositions)
|
CompoundBooking |
removePendingInventoryBookings(org.openmdx.base.naming.Path contractIdentity)
Remove all pending inventory bookings of contract. |
void |
replaceContractPosition(org.openmdx.application.dataprovider.cci.DataproviderRequest request)
|
void |
repriceContract(org.openmdx.base.naming.Path contractIdentity)
|
short |
repriceContractPosition(org.openmdx.base.naming.Path contractPositionIdentity)
|
void |
updateContract(org.openmdx.application.dataprovider.cci.ServiceHeader header,
org.openmdx.application.dataprovider.cci.DataproviderObject object,
org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 oldValues)
|
void |
updateContractPosition(org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 contract,
org.openmdx.application.dataprovider.cci.DataproviderObject position,
org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 oldValues,
org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 product,
boolean reprice)
|
void |
updateContractPosition(org.openmdx.application.dataprovider.cci.DataproviderObject object,
org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 oldValues)
|
void |
updateContractPositionConfigurationProperty(org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 contract,
org.openmdx.application.dataprovider.cci.DataproviderObject property,
org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 oldValues)
|
void |
updateContractPositionPrice(org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 contract,
org.openmdx.application.dataprovider.cci.DataproviderObject position,
org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 oldValues,
org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 product,
boolean priceEnabledOverridesPosition)
|
CompoundBooking |
updateInventory(org.openmdx.base.naming.Path contractIdentity)
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
CALCULATION_RULE_NAME_DEFAULT
public static final String CALCULATION_RULE_NAME_DEFAULT
- See Also:
- Constant Field Values
DEFAULT_GET_POSITION_AMOUNTS_SCRIPT
public static final String DEFAULT_GET_POSITION_AMOUNTS_SCRIPT
- See Also:
- Constant Field Values
DEFAULT_GET_CONTRACT_AMOUNTS_SCRIPT
public static final String DEFAULT_GET_CONTRACT_AMOUNTS_SCRIPT
- See Also:
- Constant Field Values
getContractAmountMethods
protected static final Map<String,Method> getContractAmountMethods
getPositionAmountMethods
protected static final Map<String,Method> getPositionAmountMethods
cloning
protected final Cloneable cloning
cachedObjects
protected final Map cachedObjects
cachedDescriptions
protected final Map cachedDescriptions
Contracts
public Contracts(Backend backend)
findCalculationRule
public static CalculationRule findCalculationRule(String name,
Segment segment,
javax.jdo.PersistenceManager pm)
getContractSegment
public static Segment getContractSegment(javax.jdo.PersistenceManager pm,
String providerName,
String segmentName)
- Returns:
- Returns the contract segment.
initCalculationRule
public static CalculationRule initCalculationRule(String calculationRuleName,
String description,
String getPositionAmountsScript,
String getContractAmountsScript,
javax.jdo.PersistenceManager pm,
String providerName,
String segmentName)
calculateUserHomeCharts
public static void calculateUserHomeCharts(UserHome userHome,
javax.jdo.PersistenceManager pm)
throws ServiceException
- Throws:
ServiceException
markAsClosed
public void markAsClosed(org.openmdx.base.naming.Path contractIdentity,
short newContractState)
throws ServiceException
- Throws:
ServiceException
getPositionAmounts
public void getPositionAmounts(org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 calcRule,
org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 params,
org.openmdx.application.dataprovider.cci.DataproviderObject getPositionAmountsResult)
throws ServiceException
- Throws:
ServiceException
getPositionAmounts
public GetPositionAmountsResult getPositionAmounts(CalculationRule calculationRule,
ContractPosition position)
throws ServiceException
- Throws:
ServiceException
getContractAmounts
public void getContractAmounts(org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 calcRule,
org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 params,
org.openmdx.application.dataprovider.cci.DataproviderObject getContractAmountsResult)
throws ServiceException
- Throws:
ServiceException
getContractAmounts
public GetContractAmountsResult getContractAmounts(CalculationRule calculationRule,
AbstractContract contract,
List<?> lineItemNumbers,
List<?> positionBaseAmounts,
List<?> positionDiscountAmounts,
List<?> positionTaxAmounts,
List<?> positionAmounts,
List<?> salesCommissions,
List<?> salesCommissionIsPercentages)
throws ServiceException
- Throws:
ServiceException
calculateContractPosition
public void calculateContractPosition(org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 position,
Set<String> fetchSet)
throws ServiceException
- Throws:
ServiceException
markContractAsDirty
public void markContractAsDirty(org.openmdx.base.naming.Path contractIdentity)
throws ServiceException
- Throws:
ServiceException
completeContract
public void completeContract(org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 contract,
Set<String> fetchSet)
throws ServiceException
- Throws:
ServiceException
calculateForwardReferences
public void calculateForwardReferences(org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 contract,
Set fetchSet)
throws ServiceException
- calculate forward references, i.e.
Lead --> Opportunity
Opportunity --> Quote
Quote --> SalesOrder
SalesOrder --> Invoice
- Throws:
ServiceException
createInvoice
public Invoice createInvoice(org.openmdx.base.naming.Path salesOrderIdentity)
throws ServiceException
- Throws:
ServiceException
createSalesOrder
public SalesOrder createSalesOrder(org.openmdx.base.naming.Path quoteIdentity)
throws ServiceException
- Throws:
ServiceException
createQuote
public Quote createQuote(org.openmdx.base.naming.Path opportunityIdentity)
throws ServiceException
- Throws:
ServiceException
createOpportunity
public Opportunity createOpportunity(org.openmdx.base.naming.Path leadIdentity)
throws ServiceException
- Throws:
ServiceException
updateContractPositionPrice
public void updateContractPositionPrice(org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 contract,
org.openmdx.application.dataprovider.cci.DataproviderObject position,
org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 oldValues,
org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 product,
boolean priceEnabledOverridesPosition)
throws ServiceException
- Throws:
ServiceException
getMaxLineItemNumber
public long getMaxLineItemNumber(org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 contract,
org.openmdx.base.naming.Path parentPositionIdentity)
throws ServiceException
- Throws:
ServiceException
updateContractPosition
public void updateContractPosition(org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 contract,
org.openmdx.application.dataprovider.cci.DataproviderObject position,
org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 oldValues,
org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 product,
boolean reprice)
updateContractPositionConfigurationProperty
public void updateContractPositionConfigurationProperty(org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 contract,
org.openmdx.application.dataprovider.cci.DataproviderObject property,
org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 oldValues)
createContractPosition
public ContractPosition createContractPosition(org.openmdx.base.naming.Path contractIdentity,
Boolean isIgnoreProductConfiguration,
String name,
BigDecimal quantity,
Date pricingDate,
org.openmdx.base.naming.Path productIdentity,
org.openmdx.base.naming.Path uomIdentity,
org.openmdx.base.naming.Path priceUomIdentity,
org.openmdx.base.naming.Path pricingRuleIdentity)
allowPositionRemoval
public boolean allowPositionRemoval(org.openmdx.base.naming.Path contractIdentity,
org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 productRole,
org.openmdx.base.naming.Path parentPositionIdentity)
throws ServiceException
- Throws:
ServiceException
getNumberPositionsBasedOnProduct
public int getNumberPositionsBasedOnProduct(org.openmdx.base.naming.Path contractIdentity,
org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 product,
org.openmdx.base.naming.Path parentPositionIdentity,
List positions)
throws ServiceException
- Throws:
ServiceException
allowPositionCreation
public boolean allowPositionCreation(org.openmdx.base.naming.Path contractIdentity,
org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 product,
org.openmdx.base.naming.Path parentPositionIdentity,
List positions)
throws ServiceException
- Throws:
ServiceException
removeContractPosition
public void removeContractPosition(org.openmdx.application.dataprovider.cci.ServiceHeader header,
org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 position,
boolean checkForMinPositions)
throws ServiceException
- Throws:
ServiceException
createDepotReferences
public Set createDepotReferences(org.openmdx.base.naming.Path depotHolderIdentity,
org.openmdx.base.naming.Path positionIdentity,
Set excludeDepotUsage)
throws ServiceException
- Copy depot references from product role to contract position.
- Throws:
ServiceException
getAdjustedLineItemNumber
public long getAdjustedLineItemNumber(long itemNumber,
long lineItemNumber)
- Add itemNumber to lineItemNumber. Assert that itemNumber is adjusted
to lineItemNumber.
removePendingInventoryBookings
public CompoundBooking removePendingInventoryBookings(org.openmdx.base.naming.Path contractIdentity)
throws ServiceException
- Remove all pending inventory bookings of contract. Return last
final booking or null if no inventory booking is set on the contract
- Throws:
ServiceException
updateInventory
public CompoundBooking updateInventory(org.openmdx.base.naming.Path contractIdentity)
throws ServiceException
- Throws:
ServiceException
updateContractPosition
public void updateContractPosition(org.openmdx.application.dataprovider.cci.DataproviderObject object,
org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 oldValues)
throws ServiceException
- Throws:
ServiceException
updateContract
public void updateContract(org.openmdx.application.dataprovider.cci.ServiceHeader header,
org.openmdx.application.dataprovider.cci.DataproviderObject object,
org.openmdx.application.dataprovider.cci.DataproviderObject_1_0 oldValues)
throws ServiceException
- Throws:
ServiceException
repriceContractPosition
public short repriceContractPosition(org.openmdx.base.naming.Path contractPositionIdentity)
throws ServiceException
- Returns:
- new pricingState of contract position
- Throws:
ServiceException
repriceContract
public void repriceContract(org.openmdx.base.naming.Path contractIdentity)
throws ServiceException
- Throws:
ServiceException
replaceContractPosition
public void replaceContractPosition(org.openmdx.application.dataprovider.cci.DataproviderRequest request)
throws ServiceException
- Throws:
ServiceException
getContractFilterProperties
public FilterProperty[] getContractFilterProperties(org.openmdx.base.naming.Path contractFilterIdentity,
boolean forCounting)
throws ServiceException
- Throws:
ServiceException
countFilteredContract
public int countFilteredContract(org.openmdx.base.naming.Path contractFilterIdentity)
throws ServiceException
- Throws:
ServiceException
getPositionAmounts
public static GetPositionAmountsResult getPositionAmounts(RefPackage_1_0 rootPkg,
CalculationRule calculationRule,
ContractPosition position,
BigDecimal minMaxAdjustedQuantity,
BigDecimal uomScaleFactor,
BigDecimal salesTaxRate)
getContractAmounts
public static GetContractAmountsResult getContractAmounts(RefPackage_1_0 rootPkg,
CalculationRule calculationRule,
AbstractContract contract,
Integer[] lineItemNumbers,
BigDecimal[] positionBaseAmounts,
BigDecimal[] positionDiscountAmounts,
BigDecimal[] positionTaxAmounts,
BigDecimal[] positionAmounts,
BigDecimal[] salesCommissions,
Boolean[] salesCommissionIsPercentages)
This software is published under the BSD license. Copyright © 2003-2009, CRIXP AG, Switzerland, All rights reserved. Use is subject to license terms.