Package org.compiere.model
Class MOrderLine
java.lang.Object
org.compiere.model.PO
org.compiere.model.X_C_OrderLine
org.compiere.model.MOrderLine
- All Implemented Interfaces:
Serializable
,Cloneable
,Comparator<Object>
,I_C_OrderLine
,I_Persistent
,Evaluatee
Order Line Model.
MOrderLine ol = new MOrderLine(m_order); ol.setM_Product_ID(wbl.getM_Product_ID()); ol.setQtyOrdered(wbl.getQuantity()); ol.setPrice(); ol.setPriceActual(wbl.getPrice()); ol.setTax(); ol.saveEx();
- Version:
- $Id: MOrderLine.java,v 1.6 2006/10/02 05:18:39 jjanke Exp $
- Author:
- Jorg Janke, Teo Sarca, SC ARHIPAC SERVICE SRL
- BF [ 2588043 ] Insufficient message ProductNotOnPriceList
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionprotected MCharge
Chargeprotected boolean
protected int
protected MOrder
Parentprotected Integer
Cached Currency Precisionprotected MProduct
Productprotected IProductPricing
protected MTax
Taxprotected static CLogger
LoggerFields inherited from class org.compiere.model.PO
ACCESSLEVEL_ALL, ACCESSLEVEL_CLIENT, ACCESSLEVEL_CLIENTORG, ACCESSLEVEL_ORG, ACCESSLEVEL_SYSTEM, ACCESSLEVEL_SYSTEMCLIENT, ENTITYTYPE_Dictionary, ENTITYTYPE_UserMaintained, I_ZERO, LOCAL_TRX_PREFIX, log, p_ctx, p_info, UUID_NEW_RECORD, XML_ATTRIBUTE_AD_Table_ID, XML_ATTRIBUTE_Record_ID
Fields inherited from interface org.compiere.model.I_C_OrderLine
accessLevel, COLUMNNAME_AD_Client_ID, COLUMNNAME_AD_Org_ID, COLUMNNAME_AD_OrgTrx_ID, COLUMNNAME_C_Activity_ID, COLUMNNAME_C_BPartner_ID, COLUMNNAME_C_BPartner_Location_ID, COLUMNNAME_C_Campaign_ID, COLUMNNAME_C_Charge_ID, COLUMNNAME_C_Currency_ID, COLUMNNAME_C_Order_ID, COLUMNNAME_C_OrderLine_ID, COLUMNNAME_C_OrderLine_UU, COLUMNNAME_C_Project_ID, COLUMNNAME_C_ProjectPhase_ID, COLUMNNAME_C_ProjectTask_ID, COLUMNNAME_C_Tax_ID, COLUMNNAME_C_UOM_ID, COLUMNNAME_Created, COLUMNNAME_CreatedBy, COLUMNNAME_CreateProduction, COLUMNNAME_CreateShipment, COLUMNNAME_DateDelivered, COLUMNNAME_DateInvoiced, COLUMNNAME_DateOrdered, COLUMNNAME_DatePromised, COLUMNNAME_Description, COLUMNNAME_Discount, COLUMNNAME_FreightAmt, COLUMNNAME_IsActive, COLUMNNAME_IsDescription, COLUMNNAME_Line, COLUMNNAME_LineNetAmt, COLUMNNAME_Link_OrderLine_ID, COLUMNNAME_M_AttributeSetInstance_ID, COLUMNNAME_M_Product_ID, COLUMNNAME_M_Shipper_ID, COLUMNNAME_M_Warehouse_ID, COLUMNNAME_PP_Cost_Collector_ID, COLUMNNAME_PriceActual, COLUMNNAME_PriceCost, COLUMNNAME_PriceEntered, COLUMNNAME_PriceLimit, COLUMNNAME_PriceList, COLUMNNAME_Processed, COLUMNNAME_QtyDelivered, COLUMNNAME_QtyEntered, COLUMNNAME_QtyInvoiced, COLUMNNAME_QtyLostSales, COLUMNNAME_QtyOrdered, COLUMNNAME_QtyReserved, COLUMNNAME_Ref_OrderLine_ID, COLUMNNAME_RRAmt, COLUMNNAME_RRStartDate, COLUMNNAME_S_ResourceAssignment_ID, COLUMNNAME_Updated, COLUMNNAME_UpdatedBy, COLUMNNAME_User1_ID, COLUMNNAME_User2_ID, Model, Table_ID, Table_Name
-
Constructor Summary
ConstructorDescriptionMOrderLine
(Properties ctx, int C_OrderLine_ID, String trxName) Default ConstructorMOrderLine
(Properties ctx, int C_OrderLine_ID, String trxName, String... virtualColumns) MOrderLine
(Properties ctx, String C_OrderLine_UU, String trxName) UUID based ConstructorMOrderLine
(Properties ctx, ResultSet rs, String trxName) Load ConstructorMOrderLine
(MOrder order) Parent Constructor. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addDescription
(String description) Add to Descriptionprotected boolean
afterDelete
(boolean success) Execute after Delete operations.protected boolean
afterSave
(boolean newRecord, boolean success) Called after Save for Post-Save Operation.
Default implementation is nop, to be implemented in sub-classes that needed it.protected boolean
Execute before Delete operations.
Default implementation is nop, to be implemented in sub-classes that needed it.protected boolean
beforeSave
(boolean newRecord) Called before Save for Pre-Save Operation.
Default implementation is nop, to be implemented in sub-classes that needed it.boolean
Can Change Warehousevoid
Resetm_parent
to nullint
Get AD_OrgTrx_IDGet Base value for Cost Distributionint
Get C_Activity_IDint
Get C_Campaign_IDint
Get C_Project_IDGet ChargeGet the description stripping the Close tag that was created when closing the orderGet Description Text.getName()
Get Namestatic BigDecimal
getNotReserved
(Properties ctx, int M_Warehouse_ID, int M_Product_ID, int M_AttributeSetInstance_ID, int excludeC_OrderLine_ID) Get Order Qty that have not been reservedGet Parentint
Get Currency Precision from CurrencyGet Productprotected IProductPricing
getProductPricing
(int M_PriceList_ID) Get and calculate Product Pricingprotected MTax
getTax()
Get Tax (immutable)int
Get User1_IDint
Get User2_IDboolean
Is Tax Included in Amountvoid
setC_Charge_ID
(int C_Charge_ID) Set C_Charge_IDvoid
Calculate discount percentage (actual vs list)void
setHeaderInfo
(MOrder order) Set Header Infovoid
Calculate Extended Amt.void
setM_AttributeSetInstance_ID
(int M_AttributeSetInstance_ID) Set M_AttributeSetInstance_IDvoid
setM_Product_ID
(int M_Product_ID, boolean setUOM) Set M_Product_IDvoid
setM_Product_ID
(int M_Product_ID, int C_UOM_ID) Set Product and UOMvoid
setM_Warehouse_ID
(int M_Warehouse_ID) Set Warehousevoid
Set Defaults from Order.void
setPrice()
Set Price for Product and PriceList.void
setPrice
(int M_PriceList_ID) Set Price for Product and PriceListvoid
setPrice
(BigDecimal PriceActual) Set Price Entered/Actual.void
setPriceActual
(BigDecimal PriceActual) Set Price Actual.void
setProduct
(MProduct product) Set Productvoid
setQty
(BigDecimal Qty) Set Qty Entered/Ordered.void
setQtyEntered
(BigDecimal QtyEntered) Set Qty Entered - enforce entered UOM precision.void
setQtyOrdered
(BigDecimal QtyOrdered) Set Qty Ordered - enforce Product UOM precision.boolean
setTax()
Set TaxtoString()
String Representationboolean
Update Tax and Headerboolean
updateOrderTax
(boolean oldTax) Recalculate order taxMethods inherited from class org.compiere.model.X_C_OrderLine
get_AccessLevel, getC_Activity, getC_BPartner, getC_BPartner_ID, getC_BPartner_Location, getC_BPartner_Location_ID, getC_Campaign, getC_Charge, getC_Charge_ID, getC_Currency, getC_Currency_ID, getC_Order, getC_Order_ID, getC_OrderLine_ID, getC_OrderLine_UU, getC_Project, getC_ProjectPhase, getC_ProjectPhase_ID, getC_ProjectTask, getC_ProjectTask_ID, getC_Tax, getC_Tax_ID, getC_UOM, getC_UOM_ID, getCreateProduction, getCreateShipment, getDateDelivered, getDateInvoiced, getDateOrdered, getDatePromised, getDescription, getDiscount, getFreightAmt, getKeyNamePair, getLine, getLineNetAmt, getLink_OrderLine, getLink_OrderLine_ID, getM_AttributeSetInstance, getM_AttributeSetInstance_ID, getM_Product, getM_Product_ID, getM_Shipper, getM_Shipper_ID, getM_Warehouse, getM_Warehouse_ID, getPP_Cost_Collector, getPP_Cost_Collector_ID, getPriceActual, getPriceCost, getPriceEntered, getPriceLimit, getPriceList, getQtyDelivered, getQtyEntered, getQtyInvoiced, getQtyLostSales, getQtyOrdered, getQtyReserved, getRef_OrderLine, getRef_OrderLine_ID, getRRAmt, getRRStartDate, getS_ResourceAssignment_ID, getUser1, getUser2, initPO, isDescription, isProcessed, setAD_OrgTrx_ID, setC_Activity_ID, setC_BPartner_ID, setC_BPartner_Location_ID, setC_Campaign_ID, setC_Currency_ID, setC_Order_ID, setC_OrderLine_ID, setC_OrderLine_UU, setC_Project_ID, setC_ProjectPhase_ID, setC_ProjectTask_ID, setC_Tax_ID, setC_UOM_ID, setCreateProduction, setCreateShipment, setDateDelivered, setDateInvoiced, setDateOrdered, setDatePromised, setDescription, setDiscount, setFreightAmt, setIsDescription, setLine, setLineNetAmt, setLink_OrderLine_ID, setM_Product_ID, setM_Shipper_ID, setPP_Cost_Collector_ID, setPriceCost, setPriceEntered, setPriceLimit, setPriceList, setProcessed, setQtyDelivered, setQtyInvoiced, setQtyLostSales, setQtyReserved, setRef_OrderLine_ID, setRRAmt, setRRStartDate, setS_ResourceAssignment_ID, setUser1_ID, setUser2_ID
Methods inherited from class org.compiere.model.PO
buildInsertSQL, checkImmutable, clearCrossTenantSafe, clone, columnExists, columnExists, compare, copyPO, copyValues, copyValues, createAttachment, delete, delete, delete_Accounting, delete_Tree, deleteEx, deleteEx, dump, dump, equals, get_Attribute, get_Attributes, get_ColumnCount, get_ColumnDescription, get_ColumnDisplayType, get_ColumnIndex, get_ColumnLabel, get_ColumnLookup, get_ColumnName, get_DisplayValue, get_HashMap, get_ID, get_IDOld, get_KeyColumns, get_Logger, get_OptimisticLockingColumns, get_Table_ID, get_TableName, get_Translation, get_Translation, get_Translation, get_Translation, get_Translation, get_TrxName, get_UUID, get_Value, get_Value, get_ValueAsBoolean, get_ValueAsInt, get_ValueAsInt, get_ValueAsString, get_ValueAsString, get_ValueDifference, get_ValueDifference, get_ValueE, get_ValueOfColumn, get_ValueOld, get_ValueOld, get_ValueOldAsInt, get_WhereClause, get_WhereClause, get_xmlDocument, get_xmlString, getAD_Client_ID, getAD_Org_ID, getAllIDs, getAttachment, getAttachment, getAttachmentData, getCreated, getCreatedBy, getCtx, getDoc, getFindParameter, getPdfAttachment, getUpdated, getUpdatedBy, getUUIDColumnName, getUUIDColumnName, hashCode, insert_Accounting, insert_Tree, insert_Tree, is_Changed, is_Immutable, is_new, is_UseOptimisticLocking, is_ValueChanged, is_ValueChanged, isActive, isAttachment, isColumnMandatory, isColumnUpdateable, isMandatoryOK, isPdfAttachment, isReplication, load, load, load, load, loadByUU, loadComplete, loadDefaults, loadPO, loadSpecial, lock, makeImmutable, postDelete, retrieveIdOfParentValue, retrieveIdOfParentValue, save, save, saveCrossTenantSafe, saveCrossTenantSafeEx, saveCrossTenantSafeEx, saveEx, saveEx, saveNew_afterSetID, saveNew_getID, saveNewSpecial, saveReplica, saveUpdate, set_Attribute, set_ColumnUpdateable, set_CustomColumn, set_CustomColumnReturningBoolean, set_OptimisticLockingColumns, set_TrxName, set_TrxName, set_UseOptimisticLocking, set_Value, set_Value, set_Value, set_Value, set_ValueE, set_ValueNoCheck, set_ValueNoCheckE, set_ValueOfColumn, set_ValueOfColumn, set_ValueOfColumnReturningBoolean, set_ValueOfColumnReturningBoolean, setAD_Client_ID, setAD_Org_ID, setClientOrg, setClientOrg, setCrossTenantSafe, setDoc, setDocWorkflowMgr, setIsActive, setProcessedOn, setReplication, setStandardDefaults, setUpdateable, setUpdatedBy, toInsertSQL, unlock, update_Tree, validForeignKeys
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Comparator
reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
Methods inherited from interface org.compiere.model.I_C_OrderLine
getAD_Client_ID, getAD_Org_ID, getCreated, getCreatedBy, getUpdated, getUpdatedBy, isActive, setAD_Org_ID, setIsActive
Methods inherited from interface org.compiere.model.I_Persistent
save
-
Field Details
-
s_log
Logger -
m_M_PriceList_ID
protected int m_M_PriceList_ID -
m_IsSOTrx
protected boolean m_IsSOTrx -
m_productPrice
-
m_tax
Tax -
m_precision
Cached Currency Precision -
m_product
Product -
m_charge
Charge -
m_parent
Parent
-
-
Constructor Details
-
MOrderLine
UUID based Constructor- Parameters:
ctx
- ContextC_OrderLine_UU
- UUID keytrxName
- Transaction
-
MOrderLine
Default Constructor- Parameters:
ctx
- contextC_OrderLine_ID
- order line to loadtrxName
- trx name
-
MOrderLine
- Parameters:
ctx
-C_OrderLine_ID
-trxName
-virtualColumns
-
-
MOrderLine
Parent Constructor.- Parameters:
order
- parent order
-
MOrderLine
Load Constructor- Parameters:
ctx
- contextrs
- result set recordtrxName
- transaction
-
-
Method Details
-
getNotReserved
public static BigDecimal getNotReserved(Properties ctx, int M_Warehouse_ID, int M_Product_ID, int M_AttributeSetInstance_ID, int excludeC_OrderLine_ID) Get Order Qty that have not been reserved- Parameters:
ctx
- contextM_Warehouse_ID
- whM_Product_ID
- productM_AttributeSetInstance_ID
- asiexcludeC_OrderLine_ID
- exclude C_OrderLine_ID- Returns:
- Order Qty that have not been reserved
-
setOrder
Set Defaults from Order.- Parameters:
order
- order
-
setHeaderInfo
Set Header Info- Parameters:
order
- order
-
getParent
Get Parent- Returns:
- parent
-
setPrice
Set Price Entered/Actual. Use this Method if the Line UOM is the Product UOM.- Parameters:
PriceActual
- price
-
setPriceActual
Set Price Actual. (actual price is not updateable)- Specified by:
setPriceActual
in interfaceI_C_OrderLine
- Overrides:
setPriceActual
in classX_C_OrderLine
- Parameters:
PriceActual
- actual price
-
setPrice
public void setPrice()Set Price for Product and PriceList. -
setPrice
public void setPrice(int M_PriceList_ID) Set Price for Product and PriceList- Parameters:
M_PriceList_ID
- price list
-
getProductPricing
Get and calculate Product Pricing- Parameters:
M_PriceList_ID
- id- Returns:
- product pricing
-
setTax
public boolean setTax()Set Tax- Returns:
- true if tax is set
-
setLineNetAmt
public void setLineNetAmt()Calculate Extended Amt. May or may not include tax. -
getCharge
Get Charge- Returns:
- charge or null
-
getTax
Get Tax (immutable)- Returns:
- tax
-
getPrecision
public int getPrecision()Get Currency Precision from Currency- Returns:
- precision
-
setProduct
Set Product- Parameters:
product
- product
-
setM_Product_ID
public void setM_Product_ID(int M_Product_ID, boolean setUOM) Set M_Product_ID- Parameters:
M_Product_ID
- productsetUOM
- true to set also UOM
-
setM_Product_ID
public void setM_Product_ID(int M_Product_ID, int C_UOM_ID) Set Product and UOM- Parameters:
M_Product_ID
- productC_UOM_ID
- uom
-
getProduct
Get Product- Returns:
- product or null
-
setM_AttributeSetInstance_ID
public void setM_AttributeSetInstance_ID(int M_AttributeSetInstance_ID) Set M_AttributeSetInstance_ID- Specified by:
setM_AttributeSetInstance_ID
in interfaceI_C_OrderLine
- Overrides:
setM_AttributeSetInstance_ID
in classX_C_OrderLine
- Parameters:
M_AttributeSetInstance_ID
- id
-
setM_Warehouse_ID
public void setM_Warehouse_ID(int M_Warehouse_ID) Set Warehouse- Specified by:
setM_Warehouse_ID
in interfaceI_C_OrderLine
- Overrides:
setM_Warehouse_ID
in classX_C_OrderLine
- Parameters:
M_Warehouse_ID
- warehouse
-
canChangeWarehouse
public boolean canChangeWarehouse()Can Change Warehouse- Returns:
- true if warehouse can be changed
-
getC_Project_ID
public int getC_Project_ID()Get C_Project_ID- Specified by:
getC_Project_ID
in interfaceI_C_OrderLine
- Overrides:
getC_Project_ID
in classX_C_OrderLine
- Returns:
- C_Project_ID
-
getC_Activity_ID
public int getC_Activity_ID()Get C_Activity_ID- Specified by:
getC_Activity_ID
in interfaceI_C_OrderLine
- Overrides:
getC_Activity_ID
in classX_C_OrderLine
- Returns:
- C_Activity_ID
-
getC_Campaign_ID
public int getC_Campaign_ID()Get C_Campaign_ID- Specified by:
getC_Campaign_ID
in interfaceI_C_OrderLine
- Overrides:
getC_Campaign_ID
in classX_C_OrderLine
- Returns:
- C_Campaign_ID
-
getUser1_ID
public int getUser1_ID()Get User1_ID- Specified by:
getUser1_ID
in interfaceI_C_OrderLine
- Overrides:
getUser1_ID
in classX_C_OrderLine
- Returns:
- User1_ID
-
getUser2_ID
public int getUser2_ID()Get User2_ID- Specified by:
getUser2_ID
in interfaceI_C_OrderLine
- Overrides:
getUser2_ID
in classX_C_OrderLine
- Returns:
- User2_ID
-
getAD_OrgTrx_ID
public int getAD_OrgTrx_ID()Get AD_OrgTrx_ID- Specified by:
getAD_OrgTrx_ID
in interfaceI_C_OrderLine
- Overrides:
getAD_OrgTrx_ID
in classX_C_OrderLine
- Returns:
- AD_OrgTrx_ID
-
toString
String Representation- Overrides:
toString
in classX_C_OrderLine
- Returns:
- info
-
addDescription
Add to Description- Parameters:
description
- text
-
getDescriptionText
Get Description Text.- Returns:
- description
-
getName
Get Name- Returns:
- get the name of the line (from Product or Charge)
-
setC_Charge_ID
public void setC_Charge_ID(int C_Charge_ID) Set C_Charge_ID- Specified by:
setC_Charge_ID
in interfaceI_C_OrderLine
- Overrides:
setC_Charge_ID
in classX_C_OrderLine
- Parameters:
C_Charge_ID
- charge
-
setDiscount
public void setDiscount()Calculate discount percentage (actual vs list) -
isTaxIncluded
public boolean isTaxIncluded()Is Tax Included in Amount- Returns:
- true if tax calculated
-
setQty
Set Qty Entered/Ordered. Use this Method if the Line UOM is the Product UOM.- Parameters:
Qty
- QtyOrdered/Entered
-
setQtyEntered
Set Qty Entered - enforce entered UOM precision.- Specified by:
setQtyEntered
in interfaceI_C_OrderLine
- Overrides:
setQtyEntered
in classX_C_OrderLine
- Parameters:
QtyEntered
-
-
setQtyOrdered
Set Qty Ordered - enforce Product UOM precision.- Specified by:
setQtyOrdered
in interfaceI_C_OrderLine
- Overrides:
setQtyOrdered
in classX_C_OrderLine
- Parameters:
QtyOrdered
-
-
getBase
Get Base value for Cost Distribution- Parameters:
CostDistribution
- cost Distribution (MLandedCost.LANDEDCOSTDISTRIBUTION_*)- Returns:
- base number
-
beforeSave
protected boolean beforeSave(boolean newRecord) Description copied from class:PO
Called before Save for Pre-Save Operation.
Default implementation is nop, to be implemented in sub-classes that needed it.- Overrides:
beforeSave
in classPO
- Parameters:
newRecord
- true if it is a new record- Returns:
- true if record can be saved
-
beforeDelete
protected boolean beforeDelete()Description copied from class:PO
Execute before Delete operations.
Default implementation is nop, to be implemented in sub-classes that needed it.- Overrides:
beforeDelete
in classPO
- Returns:
- true if record can be deleted
-
afterSave
protected boolean afterSave(boolean newRecord, boolean success) Description copied from class:PO
Called after Save for Post-Save Operation.
Default implementation is nop, to be implemented in sub-classes that needed it. -
afterDelete
protected boolean afterDelete(boolean success) Description copied from class:PO
Execute after Delete operations.
Default implementation is nop, to be implemented in sub-classes that needed it.- Overrides:
afterDelete
in classPO
- Parameters:
success
- true if record deleted- Returns:
- true if delete is a success
-
updateOrderTax
public boolean updateOrderTax(boolean oldTax) Recalculate order tax- Parameters:
oldTax
- true if the old C_Tax_ID should be used- Returns:
- true if success, false otherwise author teo_sarca [ 1583825 ]
-
updateHeaderTax
public boolean updateHeaderTax()Update Tax and Header- Returns:
- true if header updated
-
clearParent
public void clearParent()Resetm_parent
to null -
getDescriptionStrippingCloseTag
Get the description stripping the Close tag that was created when closing the order- Returns:
- stripped description text
-