org.opencrx.kernel.backend
Class Contracts

java.lang.Object
  extended by org.opencrx.kernel.backend.AbstractImpl
      extended by org.opencrx.kernel.backend.Contracts

public class Contracts
extends AbstractImpl


Field Summary
static String BOOKING_TEXT_NAME_DELIVER_GOODS
           
static String BOOKING_TEXT_NAME_RETURN_GOODS
           
static String CALCULATION_RULE_NAME_DEFAULT
           
static String DEFAULT_GET_CONTRACT_AMOUNTS_SCRIPT
           
static String DEFAULT_GET_POSITION_AMOUNTS_SCRIPT
           
protected static Map<String,Method> getContractAmountMethods
           
protected static Map<String,Method> getPositionAmountMethods
           
static int MIN_MAX_QUANTITY_HANDLING_LIMIT
           
static int MIN_MAX_QUANTITY_HANDLING_NA
           
static short PRICING_STATE_DIRTY
           
static short PRICING_STATE_NA
           
static short PRICING_STATE_OK
           
static short STATUS_CODE_ERROR
           
static short STATUS_CODE_OK
           
 
Constructor Summary
protected Contracts()
           
 
Method Summary
 BigDecimal[] calculateAmounts(AbstractContract contract)
           
 BigDecimal[] calculateAmounts(AbstractContractPosition position)
           
 String[] calculatePriceUomDescriptions(AbstractContractPosition position)
           
 String[] calculateProductDescriptions(AbstractContractPosition position)
           
 BigDecimal[] calculateQuantities(AbstractContractPosition position)
           
 String[] calculateSalesTaxTypeDescriptions(AbstractContractPosition position)
           
 String[] calculateUomDescriptions(AbstractContractPosition position)
           
 int countFilteredContract(AbstractFilterContract contractFilter)
           
 AbstractContractPosition createContractPosition(AbstractContract contract, Boolean isIgnoreProductConfiguration, String name, BigDecimal quantity, Date pricingDate, Product product, Uom uom, Uom priceUom, PricingRule pricingRule)
           
 Invoice createInvoice(SalesOrder salesOrder)
           
 Opportunity createOpportunity(Lead lead)
           
 Quote createQuote(Opportunity opportunity)
           
 SalesOrder createSalesOrder(Quote quote)
           
 CalculationRule findCalculationRule(String name, Segment segment, javax.jdo.PersistenceManager pm)
           
protected  Description getAdditionalDescription(DescriptionContainer container, short language)
           
 GetContractAmountsResult getContractAmounts(CalculationRule calculationRule, AbstractContract contract, List<?> lineItemNumbers, List<?> positionBaseAmounts, List<?> positionDiscountAmounts, List<?> positionTaxAmounts, List<?> positionAmounts, List<?> salesCommissions, List<?> salesCommissionIsPercentages)
           
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)
           
 Segment getContractSegment(javax.jdo.PersistenceManager pm, String providerName, String segmentName)
           
protected  CalculationRule getDefaultCalculationRule(Segment contractSegment)
           
 AbstractContractQuery getFilteredContractQuery(AbstractFilterContract contractFilter, boolean forCounting)
           
static Contracts getInstance()
           
 long getMaxLineItemNumber(Collection<AbstractContractPosition> positions)
           
protected  BigDecimal getMinMaxAdjustedQuantity(AbstractContractPosition position)
           
 GetPositionAmountsResult getPositionAmounts(CalculationRule calculationRule, AbstractContractPosition position)
           
 GetPositionAmountsResult getPositionAmounts(CalculationRule calculationRule, AbstractContractPosition position, BigDecimal minMaxAdjustedQuantity, BigDecimal uomScaleFactor, BigDecimal salesTaxRate)
           
static GetPositionAmountsResult getPositionAmounts(RefPackage_1_0 rootPkg, CalculationRule calculationRule, AbstractContractPosition position, BigDecimal minMaxAdjustedQuantity, BigDecimal uomScaleFactor, BigDecimal salesTaxRate)
           
protected  BigDecimal getSalesTaxRate(AbstractContractPosition position)
           
protected  BigDecimal getUomScaleFactor(AbstractContractPosition position)
           
 CalculationRule initCalculationRule(String calculationRuleName, String description, String getPositionAmountsScript, String getContractAmountsScript, javax.jdo.PersistenceManager pm, String providerName, String segmentName)
           
 void markAsClosed(AbstractContract contract, short newContractState)
           
 void markContractAsDirty(AbstractContract contract)
           
static void register()
           
 void removeContract(AbstractContract contract, boolean preDelete)
           
 void removeContractPosition(AbstractContractPosition position, boolean checkForMinPositions, boolean preDelete)
           
 CompoundBooking removePendingInventoryBookings(AbstractContract contract)
          Remove all pending inventory bookings of contract.
 void repriceContract(AbstractContract contract)
           
 short repriceContractPosition(AbstractContractPosition position)
           
 void setPricingState(AbstractContractPosition position, short pricingState)
           
 void setPricingState(AbstractContract contract, short pricingState)
           
 void updateContract(AbstractContract contract)
           
 void updateContractPosition(AbstractContract contract, AbstractContractPosition position, Product product, boolean reprice)
           
 void updateContractPosition(AbstractContractPosition position)
           
 CompoundBooking updateInventory(AbstractContract contract)
           
 void updateListPrice(AbstractContractPosition position, AbstractContract contract, Product product, boolean overrideExistingPrice)
           
 
Methods inherited from class org.opencrx.kernel.backend.AbstractImpl
getInstance, getUidAsString, registerImpl
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

STATUS_CODE_OK

public static final short STATUS_CODE_OK
See Also:
Constant Field Values

STATUS_CODE_ERROR

public static final short STATUS_CODE_ERROR
See Also:
Constant Field Values

MIN_MAX_QUANTITY_HANDLING_NA

public static final int MIN_MAX_QUANTITY_HANDLING_NA
See Also:
Constant Field Values

MIN_MAX_QUANTITY_HANDLING_LIMIT

public static final int MIN_MAX_QUANTITY_HANDLING_LIMIT
See Also:
Constant Field Values

PRICING_STATE_NA

public static final short PRICING_STATE_NA
See Also:
Constant Field Values

PRICING_STATE_DIRTY

public static final short PRICING_STATE_DIRTY
See Also:
Constant Field Values

PRICING_STATE_OK

public static final short PRICING_STATE_OK
See Also:
Constant Field Values

BOOKING_TEXT_NAME_RETURN_GOODS

public static final String BOOKING_TEXT_NAME_RETURN_GOODS
See Also:
Constant Field Values

BOOKING_TEXT_NAME_DELIVER_GOODS

public static final String BOOKING_TEXT_NAME_DELIVER_GOODS
See Also:
Constant Field Values

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
Constructor Detail

Contracts

protected Contracts()
Method Detail

register

public static void register()

getInstance

public static Contracts getInstance()
                             throws ServiceException
Throws:
ServiceException

findCalculationRule

public CalculationRule findCalculationRule(String name,
                                           Segment segment,
                                           javax.jdo.PersistenceManager pm)

getContractSegment

public Segment getContractSegment(javax.jdo.PersistenceManager pm,
                                  String providerName,
                                  String segmentName)
Returns:
Returns the contract segment.

initCalculationRule

public CalculationRule initCalculationRule(String calculationRuleName,
                                           String description,
                                           String getPositionAmountsScript,
                                           String getContractAmountsScript,
                                           javax.jdo.PersistenceManager pm,
                                           String providerName,
                                           String segmentName)

getAdditionalDescription

protected Description getAdditionalDescription(DescriptionContainer container,
                                               short language)
                                        throws ServiceException
Throws:
ServiceException

getDefaultCalculationRule

protected CalculationRule getDefaultCalculationRule(Segment contractSegment)
                                             throws ServiceException
Throws:
ServiceException

markAsClosed

public void markAsClosed(AbstractContract contract,
                         short newContractState)
                  throws ServiceException
Throws:
ServiceException

getUomScaleFactor

protected BigDecimal getUomScaleFactor(AbstractContractPosition position)

getSalesTaxRate

protected BigDecimal getSalesTaxRate(AbstractContractPosition position)

getMinMaxAdjustedQuantity

protected BigDecimal getMinMaxAdjustedQuantity(AbstractContractPosition position)

getPositionAmounts

public GetPositionAmountsResult getPositionAmounts(CalculationRule calculationRule,
                                                   AbstractContractPosition position)
                                            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

calculateAmounts

public BigDecimal[] calculateAmounts(AbstractContractPosition position)
                              throws ServiceException
Throws:
ServiceException

calculateQuantities

public BigDecimal[] calculateQuantities(AbstractContractPosition position)

calculateUomDescriptions

public String[] calculateUomDescriptions(AbstractContractPosition position)

calculatePriceUomDescriptions

public String[] calculatePriceUomDescriptions(AbstractContractPosition position)

calculateProductDescriptions

public String[] calculateProductDescriptions(AbstractContractPosition position)

calculateSalesTaxTypeDescriptions

public String[] calculateSalesTaxTypeDescriptions(AbstractContractPosition position)

markContractAsDirty

public void markContractAsDirty(AbstractContract contract)
                         throws ServiceException
Throws:
ServiceException

calculateAmounts

public BigDecimal[] calculateAmounts(AbstractContract contract)
                              throws ServiceException
Throws:
ServiceException

updateContract

public void updateContract(AbstractContract contract)
                    throws ServiceException
Throws:
ServiceException

createInvoice

public Invoice createInvoice(SalesOrder salesOrder)
                      throws ServiceException
Throws:
ServiceException

createSalesOrder

public SalesOrder createSalesOrder(Quote quote)
                            throws ServiceException
Throws:
ServiceException

createQuote

public Quote createQuote(Opportunity opportunity)
                  throws ServiceException
Throws:
ServiceException

createOpportunity

public Opportunity createOpportunity(Lead lead)
                              throws ServiceException
Throws:
ServiceException

updateListPrice

public void updateListPrice(AbstractContractPosition position,
                            AbstractContract contract,
                            Product product,
                            boolean overrideExistingPrice)
                     throws ServiceException
Throws:
ServiceException

getMaxLineItemNumber

public long getMaxLineItemNumber(Collection<AbstractContractPosition> positions)
                          throws ServiceException
Throws:
ServiceException

updateContractPosition

public void updateContractPosition(AbstractContract contract,
                                   AbstractContractPosition position,
                                   Product product,
                                   boolean reprice)

createContractPosition

public AbstractContractPosition createContractPosition(AbstractContract contract,
                                                       Boolean isIgnoreProductConfiguration,
                                                       String name,
                                                       BigDecimal quantity,
                                                       Date pricingDate,
                                                       Product product,
                                                       Uom uom,
                                                       Uom priceUom,
                                                       PricingRule pricingRule)

removeContractPosition

public void removeContractPosition(AbstractContractPosition position,
                                   boolean checkForMinPositions,
                                   boolean preDelete)
                            throws ServiceException
Throws:
ServiceException

removeContract

public void removeContract(AbstractContract contract,
                           boolean preDelete)
                    throws ServiceException
Throws:
ServiceException

removePendingInventoryBookings

public CompoundBooking removePendingInventoryBookings(AbstractContract contract)
                                               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(AbstractContract contract)
                                throws ServiceException
Throws:
ServiceException

setPricingState

public void setPricingState(AbstractContractPosition position,
                            short pricingState)

setPricingState

public void setPricingState(AbstractContract contract,
                            short pricingState)

updateContractPosition

public void updateContractPosition(AbstractContractPosition position)
                            throws ServiceException
Throws:
ServiceException

repriceContractPosition

public short repriceContractPosition(AbstractContractPosition position)
                              throws ServiceException
Throws:
ServiceException

repriceContract

public void repriceContract(AbstractContract contract)
                     throws ServiceException
Throws:
ServiceException

getFilteredContractQuery

public AbstractContractQuery getFilteredContractQuery(AbstractFilterContract contractFilter,
                                                      boolean forCounting)
                                               throws ServiceException
Throws:
ServiceException

countFilteredContract

public int countFilteredContract(AbstractFilterContract contractFilter)
                          throws ServiceException
Throws:
ServiceException

getPositionAmounts

public static GetPositionAmountsResult getPositionAmounts(RefPackage_1_0 rootPkg,
                                                          CalculationRule calculationRule,
                                                          AbstractContractPosition position,
                                                          BigDecimal minMaxAdjustedQuantity,
                                                          BigDecimal uomScaleFactor,
                                                          BigDecimal salesTaxRate)

getPositionAmounts

public GetPositionAmountsResult getPositionAmounts(CalculationRule calculationRule,
                                                   AbstractContractPosition 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-2010, CRIXP AG, Switzerland, All rights reserved. Use is subject to license terms.