Package org.compiere.model
Class MMatchPO
java.lang.Object
org.compiere.model.PO
org.compiere.model.X_M_MatchPO
org.compiere.model.MMatchPO
- All Implemented Interfaces:
Serializable
,Cloneable
,Comparator<Object>
,I_M_MatchPO
,I_Persistent
,Evaluatee
Match PO Model.
Created when processing Shipment or Order - Updates Order (delivered, invoiced) - Creates PPV acct
- Version:
- $Id: MMatchPO.java,v 1.3 2006/07/30 00:51:03 jjanke Exp $
- Author:
- Jorg Janke, Bayu Cahya, Sistematika
- BF [ 2240484 ] Re MatchingPO, MMatchPO doesn't contains Invoice info, Teo Sarca, www.arhipac.ro
- BF [ 2314749 ] MatchPO not considering currency PriceMatchDifference, Armen Rizal, Goodwill Consulting
- BF [ 2215840 ] MatchPO Bug Collection
- BF [ 2858043 ] Correct Included Tax in Average Costing, victor.perez@e-evolution.com, e-Evolution http://www.e-evolution.com
- FR [ 2520591 ] Support multiples calendar for Org
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionprotected MInvoiceLine
Invoice Lineprotected boolean
InOut Line Changedprotected boolean
Invoice Line Changedprotected MMatchInv
protected MOrderLine
Order LineFields 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_M_MatchPO
accessLevel, COLUMNNAME_AD_Client_ID, COLUMNNAME_AD_Org_ID, COLUMNNAME_C_InvoiceLine_ID, COLUMNNAME_C_OrderLine_ID, COLUMNNAME_Created, COLUMNNAME_CreatedBy, COLUMNNAME_DateAcct, COLUMNNAME_DateTrx, COLUMNNAME_Description, COLUMNNAME_DocumentNo, COLUMNNAME_IsActive, COLUMNNAME_IsApproved, COLUMNNAME_M_AttributeSetInstance_ID, COLUMNNAME_M_InOutLine_ID, COLUMNNAME_M_MatchPO_ID, COLUMNNAME_M_MatchPO_UU, COLUMNNAME_M_Product_ID, COLUMNNAME_Posted, COLUMNNAME_PriceMatchDifference, COLUMNNAME_Processed, COLUMNNAME_ProcessedOn, COLUMNNAME_Processing, COLUMNNAME_Qty, COLUMNNAME_Ref_MatchPO_ID, COLUMNNAME_Reversal_ID, COLUMNNAME_Updated, COLUMNNAME_UpdatedBy, Model, Table_ID, Table_Name
-
Constructor Summary
ConstructorDescriptionMMatchPO
(Properties ctx, int M_MatchPO_ID, String trxName) Standard ConstructorMMatchPO
(Properties ctx, String M_MatchPO_UU, String trxName) UUID based ConstructorMMatchPO
(Properties ctx, ResultSet rs, String trxName) Load ConstruorMMatchPO
(MInOutLine sLine, Timestamp dateTrx, BigDecimal qty) Shipment Line ConstructorMMatchPO
(MInvoiceLine iLine, Timestamp dateTrx, BigDecimal qty) Invoice Line Constructor -
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
afterDelete
(boolean success) After Delete.protected boolean
afterSave
(boolean newRecord, boolean success) After Save.protected boolean
Before Deleteprotected boolean
beforeSave
(boolean newRecord) Called before Save for Pre-Save Operationprotected static MMatchPO
create
(Properties ctx, MInvoiceLine iLine, MInOutLine sLine, int C_OrderLine_ID, Timestamp dateTrx, BigDecimal qty, String trxName) Update or create MatchPO record (if needed, create MatchInv too).static MMatchPO
create
(MInvoiceLine iLine, MInOutLine sLine, Timestamp dateTrx, BigDecimal qty) Update or Create Match PO recordprotected static MMatchInv
createMatchInv
(MMatchPO mpo, int C_InvoiceLine_ID, int M_InOutLine_ID, BigDecimal qty, Timestamp dateTrx, String trxName) Create MatchInv recordstatic MMatchPO[]
get
(Properties ctx, int C_OrderLine_ID, int C_InvoiceLine_ID, String trxName) Get PO Match with order/invoicestatic MMatchPO[]
get
(Properties ctx, int M_InOutLine_ID, String trxName) Get PO Match of Receipt Linestatic MMatchPO[]
getInOut
(Properties ctx, int M_InOut_ID, String trxName) Get PO Matches of receiptstatic MMatchPO[]
getInvoice
(Properties ctx, int C_Invoice_ID, String trxName) Get PO Matches of InvoiceGet Invoice LineGet PriceActual from Invoice and convert it to Order Currency.Get the match inv created for immediate accounting posting.Get the newer Date Acct between invoice and shipmentstatic MMatchPO
getOrCreate
(int C_OrderLine_ID, BigDecimal qty, MInOutLine sLine, String trxName) Get or create Match PO record for order line.Get Order Linestatic MMatchPO[]
getOrderLine
(Properties ctx, int C_OrderLine_ID, String trxName) Get PO Matches for OrderLineboolean
boolean
Reverse this MatchPO document.boolean
Reverse this MatchPO document.void
setC_InvoiceLine_ID
(int C_InvoiceLine_ID) Set C_InvoiceLine_IDvoid
Set C_InvoiceLine_IDvoid
setC_OrderLine_ID
(MOrderLine line) Set C_OrderLine_IDvoid
setM_InOutLine_ID
(int M_InOutLine_ID) Set M_InOutLine_IDprotected void
setMatchInvCreated
(MMatchInv matchInv) Register the match inv created for immediate accounting postingtoString()
String RepresentationMethods inherited from class org.compiere.model.X_M_MatchPO
get_AccessLevel, getC_InvoiceLine, getC_InvoiceLine_ID, getC_OrderLine, getC_OrderLine_ID, getDateAcct, getDateTrx, getDescription, getDocumentNo, getKeyNamePair, getM_AttributeSetInstance, getM_AttributeSetInstance_ID, getM_InOutLine, getM_InOutLine_ID, getM_MatchPO_ID, getM_MatchPO_UU, getM_Product, getM_Product_ID, getPriceMatchDifference, getProcessedOn, getQty, getRef_MatchPO, getRef_MatchPO_ID, getReversal, getReversal_ID, initPO, isApproved, isPosted, isProcessed, isProcessing, setC_OrderLine_ID, setDateAcct, setDateTrx, setDescription, setDocumentNo, setIsApproved, setM_AttributeSetInstance_ID, setM_MatchPO_ID, setM_MatchPO_UU, setM_Product_ID, setPosted, setPriceMatchDifference, setProcessed, setProcessedOn, setProcessing, setQty, setRef_MatchPO_ID, setReversal_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_M_MatchPO
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
-
m_matchInv
-
m_isInvoiceLineChange
protected boolean m_isInvoiceLineChangeInvoice Line Changed -
m_isInOutLineChange
protected boolean m_isInOutLineChangeInOut Line Changed -
m_oLine
Order Line -
m_iLine
Invoice Line
-
-
Constructor Details
-
MMatchPO
UUID based Constructor- Parameters:
ctx
- ContextM_MatchPO_UU
- UUID keytrxName
- Transaction
-
MMatchPO
Standard Constructor- Parameters:
ctx
- contextM_MatchPO_ID
- idtrxName
- transaction
-
MMatchPO
Load Construor- Parameters:
ctx
- contextrs
- result settrxName
- transaction
-
MMatchPO
Shipment Line Constructor- Parameters:
sLine
- shipment linedateTrx
- optional dateqty
- matched quantity
-
MMatchPO
Invoice Line Constructor- Parameters:
iLine
- invoice linedateTrx
- optional dateqty
- matched quantity
-
-
Method Details
-
get
public static MMatchPO[] get(Properties ctx, int C_OrderLine_ID, int C_InvoiceLine_ID, String trxName) Get PO Match with order/invoice- Parameters:
ctx
- contextC_OrderLine_ID
- orderC_InvoiceLine_ID
- invoicetrxName
- transaction- Returns:
- array of matches
-
get
Get PO Match of Receipt Line- Parameters:
ctx
- contextM_InOutLine_ID
- receipttrxName
- transaction- Returns:
- array of matches
-
getInOut
Get PO Matches of receipt- Parameters:
ctx
- contextM_InOut_ID
- receipttrxName
- transaction- Returns:
- array of matches
-
getInvoice
Get PO Matches of Invoice- Parameters:
ctx
- contextC_Invoice_ID
- invoicetrxName
- transaction- Returns:
- array of matches
-
getOrderLine
Get PO Matches for OrderLine- Parameters:
ctx
- contextC_OrderLine_ID
- ordertrxName
- transaction- Returns:
- array of matches
-
create
public static MMatchPO create(MInvoiceLine iLine, MInOutLine sLine, Timestamp dateTrx, BigDecimal qty) Update or Create Match PO record- Parameters:
iLine
- invoice linesLine
- receipt linedateTrx
- transaction dateqty
- qty to match- Returns:
- Match PO Record
-
create
protected static MMatchPO create(Properties ctx, MInvoiceLine iLine, MInOutLine sLine, int C_OrderLine_ID, Timestamp dateTrx, BigDecimal qty, String trxName) Update or create MatchPO record (if needed, create MatchInv too).- Parameters:
ctx
-iLine
-sLine
-C_OrderLine_ID
-dateTrx
-qty
-trxName
-- Returns:
- Match PO record
-
createMatchInv
protected static MMatchInv createMatchInv(MMatchPO mpo, int C_InvoiceLine_ID, int M_InOutLine_ID, BigDecimal qty, Timestamp dateTrx, String trxName) Create MatchInv record- Parameters:
mpo
-C_InvoiceLine_ID
-M_InOutLine_ID
-qty
-dateTrx
-trxName
-- Returns:
- Match Inv record
-
setMatchInvCreated
Register the match inv created for immediate accounting posting- Parameters:
matchInv
-
-
getMatchInvCreated
Get the match inv created for immediate accounting posting.
The Match Inv record reference is set to null after call, so if you call this method twice, the second call will returns null.- Returns:
- Match Inv record or null
-
setC_InvoiceLine_ID
Set C_InvoiceLine_ID- Parameters:
line
- line
-
setC_InvoiceLine_ID
public void setC_InvoiceLine_ID(int C_InvoiceLine_ID) Set C_InvoiceLine_ID- Specified by:
setC_InvoiceLine_ID
in interfaceI_M_MatchPO
- Overrides:
setC_InvoiceLine_ID
in classX_M_MatchPO
- Parameters:
C_InvoiceLine_ID
- id
-
getInvoiceLine
Get Invoice Line- Returns:
- invoice line or null
-
setM_InOutLine_ID
public void setM_InOutLine_ID(int M_InOutLine_ID) Set M_InOutLine_ID- Specified by:
setM_InOutLine_ID
in interfaceI_M_MatchPO
- Overrides:
setM_InOutLine_ID
in classX_M_MatchPO
- Parameters:
M_InOutLine_ID
- id
-
setC_OrderLine_ID
Set C_OrderLine_ID- Parameters:
line
- line
-
getOrderLine
Get Order Line- Returns:
- order line or null
-
getInvoicePriceActual
Get PriceActual from Invoice and convert it to Order Currency.- Returns:
- Price Actual in Order Currency
-
beforeSave
protected boolean beforeSave(boolean newRecord) Description copied from class:PO
Called before Save for Pre-Save Operation- Overrides:
beforeSave
in classPO
- Parameters:
newRecord
- new record- Returns:
- true if record can be saved
-
afterSave
protected boolean afterSave(boolean newRecord, boolean success) After Save. Set Order Qty Delivered/Invoiced -
getNewerDateAcct
Get the newer Date Acct between invoice and shipment- Returns:
- date or null
-
beforeDelete
protected boolean beforeDelete()Before Delete- Overrides:
beforeDelete
in classPO
- Returns:
- true if acct was deleted
-
afterDelete
protected boolean afterDelete(boolean success) After Delete. Update Order Line Qty Delivered/Invoiced .- Overrides:
afterDelete
in classPO
- Parameters:
success
- success- Returns:
- success
-
toString
String Representation- Overrides:
toString
in classX_M_MatchPO
- Returns:
- info
-
reverse
Reverse this MatchPO document.- Parameters:
reversalDate
-- Returns:
- true if reversed
- Throws:
Exception
-
reverse
Reverse this MatchPO document.- Parameters:
reversalDate
-reverseMatchingOnly
- true if MR is not reverse- Returns:
- true if reversed
- Throws:
Exception
-
isReversal
public boolean isReversal()- Returns:
- true if this is created to reverse another match po document
-
getOrCreate
public static MMatchPO getOrCreate(int C_OrderLine_ID, BigDecimal qty, MInOutLine sLine, String trxName) Get or create Match PO record for order line.- Parameters:
C_OrderLine_ID
-qty
-sLine
-trxName
-- Returns:
- new or existing MMatchPO record
-