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
public class MMatchPO extends X_M_MatchPO
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:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected MInvoiceLine
m_iLine
Invoice Lineprotected boolean
m_isInOutLineChange
InOut Changedprotected boolean
m_isInvoiceLineChange
Invoice Changedprotected MMatchInv
m_matchInv
protected MOrderLine
m_oLine
Order Line-
Fields 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, 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
Constructors Constructor Description MMatchPO(Properties ctx, int M_MatchPO_ID, String trxName)
Standard 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
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean
afterDelete(boolean success)
After Delete.protected boolean
afterSave(boolean newRecord, boolean success)
After Save.protected boolean
beforeDelete()
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)
static MMatchPO
create(MInvoiceLine iLine, MInOutLine sLine, Timestamp dateTrx, BigDecimal qty)
Find/Create PO(Inv) Matchprotected static MMatchInv
createMatchInv(MMatchPO mpo, int C_InvoiceLine_ID, int M_InOutLine_ID, BigDecimal qty, Timestamp dateTrx, String trxName)
static 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 InvoiceMInvoiceLine
getInvoiceLine()
Get Invoice LineBigDecimal
getInvoicePriceActual()
Get PriceActual from Invoice and convert it to Order CurrencyMMatchInv
getMatchInvCreated()
Get the match inv created for immediate accounting purposes Is cleared after read, so if you read twice second time it returns nullTimestamp
getNewerDateAcct()
Get the later Date Acct from invoice or shipmentMOrderLine
getOrderLine()
Get Order Linestatic MMatchPO[]
getOrderLine(Properties ctx, int C_OrderLine_ID, String trxName)
Get PO Matches for OrderLineboolean
reverse(Timestamp reversalDate)
Reverse MatchPO.boolean
reverse(Timestamp reversalDate, boolean reverseMatchingOnly)
Reverse MatchPO.void
setC_InvoiceLine_ID(int C_InvoiceLine_ID)
Set C_InvoiceLine_IDvoid
setC_InvoiceLine_ID(MInvoiceLine line)
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 purposesString
toString()
String Representation-
Methods 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
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_Value, get_Value, get_ValueAsBoolean, get_ValueAsInt, get_ValueAsInt, 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, load, loadByUU, loadComplete, loadDefaults, loadSpecial, lock, makeImmutable, postDelete, retrieveIdOfParentValue, retrieveIdOfParentValue, save, save, 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, 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 Detail
-
m_matchInv
protected MMatchInv m_matchInv
-
m_isInvoiceLineChange
protected boolean m_isInvoiceLineChange
Invoice Changed
-
m_isInOutLineChange
protected boolean m_isInOutLineChange
InOut Changed
-
m_oLine
protected MOrderLine m_oLine
Order Line
-
m_iLine
protected MInvoiceLine m_iLine
Invoice Line
-
-
Constructor Detail
-
MMatchPO
public MMatchPO(Properties ctx, int M_MatchPO_ID, String trxName)
Standard Constructor- Parameters:
ctx
- contextM_MatchPO_ID
- idtrxName
- transaction
-
MMatchPO
public MMatchPO(Properties ctx, ResultSet rs, String trxName)
Load Construor- Parameters:
ctx
- contextrs
- result settrxName
- transaction
-
MMatchPO
public MMatchPO(MInOutLine sLine, Timestamp dateTrx, BigDecimal qty)
Shipment Line Constructor- Parameters:
sLine
- shipment linedateTrx
- optional dateqty
- matched quantity
-
MMatchPO
public MMatchPO(MInvoiceLine iLine, Timestamp dateTrx, BigDecimal qty)
Invoice Line Constructor- Parameters:
iLine
- invoice linedateTrx
- optional dateqty
- matched quantity
-
-
Method Detail
-
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
public static MMatchPO[] get(Properties ctx, int M_InOutLine_ID, String trxName)
Get PO Match of Receipt Line- Parameters:
ctx
- contextM_InOutLine_ID
- receipttrxName
- transaction- Returns:
- array of matches
-
getInOut
public static MMatchPO[] getInOut(Properties ctx, int M_InOut_ID, String trxName)
Get PO Matches of receipt- Parameters:
ctx
- contextM_InOut_ID
- receipttrxName
- transaction- Returns:
- array of matches
-
getInvoice
public static MMatchPO[] getInvoice(Properties ctx, int C_Invoice_ID, String trxName)
Get PO Matches of Invoice- Parameters:
ctx
- contextC_Invoice_ID
- invoicetrxName
- transaction- Returns:
- array of matches
-
getOrderLine
public static MMatchPO[] getOrderLine(Properties ctx, int C_OrderLine_ID, String trxName)
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)
Find/Create PO(Inv) Match- Parameters:
iLine
- invoice linesLine
- receipt linedateTrx
- dateqty
- qty- Returns:
- Match Record
-
create
protected static MMatchPO create(Properties ctx, MInvoiceLine iLine, MInOutLine sLine, int C_OrderLine_ID, Timestamp dateTrx, BigDecimal qty, String trxName)
-
createMatchInv
protected static MMatchInv createMatchInv(MMatchPO mpo, int C_InvoiceLine_ID, int M_InOutLine_ID, BigDecimal qty, Timestamp dateTrx, String trxName)
-
setMatchInvCreated
protected void setMatchInvCreated(MMatchInv matchInv)
Register the match inv created for immediate accounting purposes- Parameters:
matchInv
-
-
getMatchInvCreated
public MMatchInv getMatchInvCreated()
Get the match inv created for immediate accounting purposes Is cleared after read, so if you read twice second time it returns null
-
setC_InvoiceLine_ID
public void setC_InvoiceLine_ID(MInvoiceLine line)
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
public MInvoiceLine 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
public void setC_OrderLine_ID(MOrderLine line)
Set C_OrderLine_ID- Parameters:
line
- line
-
getOrderLine
public MOrderLine getOrderLine()
Get Order Line- Returns:
- order line or null
-
getInvoicePriceActual
public BigDecimal 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
public Timestamp getNewerDateAcct()
Get the later Date Acct from invoice or 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. Set Order Qty Delivered/Invoiced- Overrides:
afterDelete
in classPO
- Parameters:
success
- success- Returns:
- success
-
toString
public String toString()
String Representation- Overrides:
toString
in classX_M_MatchPO
- Returns:
- info
-
reverse
public boolean reverse(Timestamp reversalDate)
Reverse MatchPO.- Parameters:
reversalDate
-- Returns:
- boolean
- Throws:
Exception
-
-