Package org.compiere.model
Class MInOut
java.lang.Object
org.compiere.model.PO
org.compiere.model.X_M_InOut
org.compiere.model.MInOut
- All Implemented Interfaces:
Serializable
,Cloneable
,Comparator<Object>
,I_M_InOut
,I_Persistent
,DocAction
,IDocsPostProcess
,Evaluatee
Shipment/Receipt Model
- Version:
- $Id: MInOut.java,v 1.4 2006/07/30 00:51:03 jjanke Exp $ Modifications: Added the RMA functionality (Ashley Ramdass)
- Author:
- Jorg Janke, Karsten Thiemann, Schaeffer AG
- Bug [ 1759431 ] Problems with VCreateFrom, victor.perez@e-evolution.com, e-Evolution http://www.e-evolution.com
- FR [ 1948157 ] Is necessary the reference for document reverse
- FR [ 2520591 ] Support multiples calendar for Org, Armen Rizal, Goodwill Consulting
- BF [ 1745154 ] Cost in Reversing Material Related Docs, Teo Sarca, teo.sarca@gmail.com
- BF [ 2993853 ] Voiding/Reversing Receipt should void confirmations https://sourceforge.net/p/adempiere/bugs/2395/
- See Also:
-
Nested Class Summary
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
static final String
static final String
static final String
protected MInOutConfirm[]
Confirmationsprotected boolean
Just Prepared Flagprotected MInOutLine[]
Linesprotected MBPartner
BPartnerprotected String
Process Messageprotected boolean
Reversal Flagstatic final String
static final String
static final String
static final String
Fields inherited from class org.compiere.model.X_M_InOut
DELIVERYRULE_AD_Reference_ID, DELIVERYRULE_AfterPayment, DELIVERYRULE_Availability, DELIVERYRULE_CompleteLine, DELIVERYRULE_CompleteOrder, DELIVERYRULE_Force, DELIVERYRULE_Manual, DELIVERYVIARULE_AD_Reference_ID, DELIVERYVIARULE_Delivery, DELIVERYVIARULE_Pickup, DELIVERYVIARULE_Shipper, DOCACTION_AD_Reference_ID, DOCACTION_Approve, DOCACTION_Close, DOCACTION_Complete, DOCACTION_Invalidate, DOCACTION_None, DOCACTION_Post, DOCACTION_Prepare, DOCACTION_Re_Activate, DOCACTION_Reject, DOCACTION_Reverse_Accrual, DOCACTION_Reverse_Correct, DOCACTION_Unlock, DOCACTION_Void, DOCACTION_WaitComplete, DOCSTATUS_AD_Reference_ID, DOCSTATUS_Approved, DOCSTATUS_Closed, DOCSTATUS_Completed, DOCSTATUS_Drafted, DOCSTATUS_InProgress, DOCSTATUS_Invalid, DOCSTATUS_NotApproved, DOCSTATUS_Reversed, DOCSTATUS_Unknown, DOCSTATUS_Voided, DOCSTATUS_WaitingConfirmation, DOCSTATUS_WaitingPayment, FOB_AD_Reference_ID, FOB_CFR_CostAndFreight, FOB_CIF_CostInsuranceAndFreightFedEx, FOB_CIP_CarriageAndInsurancePaidToFedEx, FOB_CPT_CarriagePaidTo, FOB_DAF_DeliveredAtFrontier, FOB_DDP_DeliveredDutyPaidFedEx, FOB_DDU_DeliveredDutyUnpaidFedEx, FOB_DEQ_DeliveredExQuay, FOB_DES_DeliveredExShip, FOB_DomesticFOBDestination, FOB_EXW_ExWorksFedEx, FOB_ExWorks, FOB_FAS_FreeAlongsideShip, FOB_FCA_FreeCarrierFedEx, FOB_FOB_FreeOnBoardFedEx, FOB_FOBOrigin, FREIGHTCHARGES_3rdParty, FREIGHTCHARGES_AD_Reference_ID, FREIGHTCHARGES_Collect, FREIGHTCHARGES_Consignee, FREIGHTCHARGES_Prepaid, FREIGHTCHARGES_PrepaidAndBill, FREIGHTCOSTRULE_AD_Reference_ID, FREIGHTCOSTRULE_Calculated, FREIGHTCOSTRULE_CustomerAccount, FREIGHTCOSTRULE_FixPrice, FREIGHTCOSTRULE_FreightIncluded, FREIGHTCOSTRULE_Line, INSURANCE_AD_Reference_ID, INSURANCE_DoNotInsure, INSURANCE_Insure, MOVEMENTTYPE_AD_Reference_ID, MOVEMENTTYPE_CustomerReturns, MOVEMENTTYPE_CustomerShipment, MOVEMENTTYPE_InventoryIn, MOVEMENTTYPE_InventoryOut, MOVEMENTTYPE_MovementFrom, MOVEMENTTYPE_MovementTo, MOVEMENTTYPE_Production_, MOVEMENTTYPE_ProductionPlus, MOVEMENTTYPE_VendorReceipts, MOVEMENTTYPE_VendorReturns, MOVEMENTTYPE_WorkOrder_, MOVEMENTTYPE_WorkOrderPlus, PRIORITYRULE_AD_Reference_ID, PRIORITYRULE_High, PRIORITYRULE_Low, PRIORITYRULE_Medium, PRIORITYRULE_Minor, PRIORITYRULE_Urgent
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, UUID_NEW_RECORD, XML_ATTRIBUTE_AD_Table_ID, XML_ATTRIBUTE_Record_ID
Fields inherited from interface org.compiere.process.DocAction
ACTION_Approve, ACTION_Close, ACTION_Complete, ACTION_Invalidate, ACTION_None, ACTION_Post, ACTION_Prepare, ACTION_ReActivate, ACTION_Reject, ACTION_Reverse_Accrual, ACTION_Reverse_Correct, ACTION_Unlock, ACTION_Void, ACTION_WaitComplete, AD_REFERENCE_ID, DOC_COLUMNNAME_AD_User_ID, DOC_COLUMNNAME_C_Currency_ID, DOC_COLUMNNAME_C_DocType_ID, DOC_COLUMNNAME_C_DocTypeTarget_ID, DOC_COLUMNNAME_DateAcct, DOC_COLUMNNAME_DateTrx, DOC_COLUMNNAME_Description, DOC_COLUMNNAME_DocAction, DOC_COLUMNNAME_DocStatus, DOC_COLUMNNAME_DocumentNo, DOC_COLUMNNAME_IsApproved, DOC_COLUMNNAME_Processed, DOC_COLUMNNAME_Processing, DOC_COLUMNNAME_SalesRep_ID, STATUS_Approved, STATUS_Closed, STATUS_Completed, STATUS_Drafted, STATUS_InProgress, STATUS_Invalid, STATUS_NotApproved, STATUS_Reversed, STATUS_Unknown, STATUS_Voided, STATUS_WaitingConfirmation, STATUS_WaitingPayment
Fields inherited from interface org.compiere.model.I_M_InOut
accessLevel, COLUMNNAME_AD_Client_ID, COLUMNNAME_AD_Org_ID, COLUMNNAME_AD_OrgTrx_ID, COLUMNNAME_AD_User_ID, COLUMNNAME_C_Activity_ID, COLUMNNAME_C_BPartner_ID, COLUMNNAME_C_BPartner_Location_ID, COLUMNNAME_C_Campaign_ID, COLUMNNAME_C_Charge_ID, COLUMNNAME_C_DocType_ID, COLUMNNAME_C_Invoice_ID, COLUMNNAME_C_Order_ID, COLUMNNAME_C_Project_ID, COLUMNNAME_ChargeAmt, COLUMNNAME_CreateConfirm, COLUMNNAME_Created, COLUMNNAME_CreatedBy, COLUMNNAME_CreateFrom, COLUMNNAME_CreateLinesFrom, COLUMNNAME_CreatePackage, COLUMNNAME_DateAcct, COLUMNNAME_DateOrdered, COLUMNNAME_DatePrinted, COLUMNNAME_DateReceived, COLUMNNAME_DeliveryRule, COLUMNNAME_DeliveryViaRule, COLUMNNAME_Description, COLUMNNAME_DocAction, COLUMNNAME_DocStatus, COLUMNNAME_DocumentNo, COLUMNNAME_DropShip_BPartner_ID, COLUMNNAME_DropShip_Location_ID, COLUMNNAME_DropShip_User_ID, COLUMNNAME_FOB, COLUMNNAME_FreightAmt, COLUMNNAME_FreightCharges, COLUMNNAME_FreightCostRule, COLUMNNAME_GenerateTo, COLUMNNAME_Insurance, COLUMNNAME_IsActive, COLUMNNAME_IsAlternateReturnAddress, COLUMNNAME_IsApproved, COLUMNNAME_IsDropShip, COLUMNNAME_IsInDispute, COLUMNNAME_IsInTransit, COLUMNNAME_IsPrinted, COLUMNNAME_IsSOTrx, COLUMNNAME_M_InOut_ID, COLUMNNAME_M_InOut_UU, COLUMNNAME_M_RMA_ID, COLUMNNAME_M_Shipper_ID, COLUMNNAME_M_Warehouse_ID, COLUMNNAME_MovementDate, COLUMNNAME_MovementType, COLUMNNAME_NoPackages, COLUMNNAME_PickDate, COLUMNNAME_POReference, COLUMNNAME_Posted, COLUMNNAME_PriorityRule, COLUMNNAME_Processed, COLUMNNAME_ProcessedOn, COLUMNNAME_Processing, COLUMNNAME_Ref_InOut_ID, COLUMNNAME_ReturnBPartner_ID, COLUMNNAME_ReturnLocation_ID, COLUMNNAME_ReturnUser_ID, COLUMNNAME_Reversal_ID, COLUMNNAME_SalesRep_ID, COLUMNNAME_SendEMail, COLUMNNAME_ShipDate, COLUMNNAME_ShipperAccount, COLUMNNAME_TrackingNo, COLUMNNAME_Updated, COLUMNNAME_UpdatedBy, COLUMNNAME_User1_ID, COLUMNNAME_User2_ID, COLUMNNAME_Volume, COLUMNNAME_Weight, Model, Table_ID, Table_Name
-
Constructor Summary
ConstructorDescriptionMInOut
(Properties ctx, int M_InOut_ID, String trxName) Standard ConstructorMInOut
(Properties ctx, int M_InOut_ID, String trxName, String... virtualColumns) MInOut
(Properties ctx, String M_InOut_UU, String trxName) UUID based ConstructorMInOut
(Properties ctx, ResultSet rs, String trxName) Load ConstructorCopy Constructor - create header onlyInvoice Constructor - create header onlyOrder Constructor - create header only -
Method Summary
Modifier and TypeMethodDescriptionvoid
addDescription
(String description) Add to Descriptionprotected void
addDocsPostProcess
(PO doc) Add doc for post processing (after processing of document action)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.boolean
Approve Documentprotected BigDecimal
autoBalanceNegative
(MInOutLine line, MProduct product, BigDecimal qtyToReceive) 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.protected void
checkMaterialPolicy
(MInOutLine line, BigDecimal qty) Check Material Policy.boolean
closeIt()
Close Document.Complete Documentstatic MInOut
copyFrom
(MInOut from, Timestamp dateDoc, int C_DocType_ID, boolean isSOTrx, boolean counter, String trxName, boolean setOrder) Deprecated.static MInOut
copyFrom
(MInOut from, Timestamp dateDoc, Timestamp dateAcct, int C_DocType_ID, boolean isSOTrx, boolean counter, String trxName, boolean setOrder) Create new Shipment by copyingint
copyLinesFrom
(MInOut otherShipment, boolean counter, boolean setOrder) Copy Lines From other Shipmentvoid
Create the missing next Confirmationprotected MInOut
Create Counter Documentprotected MInOut
Automatically creates a customer shipment for any drop shipment material receipt.static MInOut
createFrom
(MOrder order, Timestamp movementDate, boolean forceDelivery, boolean allAttributeInstances, Timestamp minGuaranteeDate, boolean complete, String trxName) Create Shipment From Ordervoid
createLineFrom
(int C_OrderLine_ID, int C_InvoiceLine_ID, int M_RMALine_ID, int M_Product_ID, int C_UOM_ID, BigDecimal Qty, int M_Locator_ID) Create Line from orderline/invoiceline/rmalineCreate PDFCreate PDF fileGet Document Approval AmountGet BPartnerint
Get C_Currency_IDgetConfirmations
(boolean requery) Get Confirmationsint
Get Document Owner (Responsible)Get documents to process after Complete or after PostingGet Document Status NameGet Document Infostatic List<MInOut.MatchingRecord>
getFullOrPartiallyMatchedToInvoice
(int C_BPartner_ID, int M_Product_ID, int C_InvoiceLine_ID, Timestamp from, Timestamp to, String trxName) static List<MInOut.MatchingRecord>
getFullOrPartiallyMatchedToOrder
(int C_BPartner_ID, int M_Product_ID, int C_OrderLine_ID, Timestamp from, Timestamp to, String trxName) getLines()
Get Lines of ShipmentgetLines
(boolean requery) Get Lines of Shipmentstatic String
getMovementType
(Properties ctx, int C_DocType_ID, boolean issotrx, String trxName) Get Movement Type based on Document Type's DocBaseType and isSOTrxstatic List<MInOut.MatchingRecord>
getNotFullyMatchedToInvoice
(int C_BPartner_ID, int M_Product_ID, int C_InvoiceLine_ID, Timestamp from, Timestamp to, String trxName) static List<MInOut.MatchingRecord>
getNotFullyMatchedToOrder
(int C_BPartner_ID, int M_Product_ID, int C_OrderLine_ID, Timestamp from, Timestamp to, String trxName) Get Process MessageGet Summaryboolean
Invalidate Documentboolean
Document Status is Complete or Closedboolean
Check if Document is Customer Return.boolean
Is Reversalprotected String
moveOnHandToShipmentASI
(MProduct product, int M_Locator_ID, int M_AttributeSetInstance_ID, BigDecimal qty, Timestamp dateMaterialPolicy, int M_InOutLine_ID, boolean reversal, String trxName) For product with mix of No ASI and ASI inventory, this move Non ASI on hand to the new ASI created at shipment line or shipment line maboolean
Outstanding (not processed) Confirmations ?boolean
Outstanding (not processed) Customer Confirmations ?Prepare Documentboolean
Process documentboolean
Re-activateboolean
rejectIt()
Reject Approvalprotected MInOut
reverse
(boolean accrual) Reverse this documentboolean
Reverse Accrual - current dateboolean
Reverse Correction - same dateprotected boolean
reverseMatching
(Timestamp reversalDate) Reverse match invoice and match PO.void
setBPartner
(MBPartner bp) Set Business Partner Defaults and Detailsvoid
Set Default C_DocType_ID.void
setC_DocType_ID
(String DocBaseType) Set Document Typeprotected void
Set the definite document number after completedvoid
setM_Warehouse_ID
(int M_Warehouse_ID) Set Warehouse and check/set Organizationvoid
Sets Movement Type based on Document Type's DocBaseType and isSOTrxvoid
setProcessed
(boolean processed) Set Processed.protected void
setReversal
(boolean reversal) Set reversal state (instance variable)toString()
String representationboolean
unlockIt()
Unlock Document.void
updateFrom
(MOrder order, MInvoice invoice, MRMA rma) Update from order/invoice/rma if linked to another order/invoice/rma - remove link if no link set itprotected void
Void confirmationsboolean
voidIt()
Void Document.Methods inherited from class org.compiere.model.X_M_InOut
get_AccessLevel, getAD_OrgTrx_ID, getAD_User, getAD_User_ID, getC_Activity, getC_Activity_ID, getC_BPartner, getC_BPartner_ID, getC_BPartner_Location, getC_BPartner_Location_ID, getC_Campaign, getC_Campaign_ID, getC_Charge, getC_Charge_ID, getC_DocType, getC_DocType_ID, getC_Invoice, getC_Invoice_ID, getC_Order, getC_Order_ID, getC_Project, getC_Project_ID, getChargeAmt, getCreateConfirm, getCreateFrom, getCreateLinesFrom, getCreatePackage, getDateAcct, getDateOrdered, getDatePrinted, getDateReceived, getDeliveryRule, getDeliveryViaRule, getDescription, getDocAction, getDocStatus, getDocumentNo, getDropShip_BPartner, getDropShip_BPartner_ID, getDropShip_Location, getDropShip_Location_ID, getDropShip_User, getDropShip_User_ID, getFOB, getFreightAmt, getFreightCharges, getFreightCostRule, getGenerateTo, getInsurance, getKeyNamePair, getM_InOut_ID, getM_InOut_UU, getM_RMA, getM_RMA_ID, getM_Shipper, getM_Shipper_ID, getM_Warehouse, getM_Warehouse_ID, getMovementDate, getMovementType, getNoPackages, getPickDate, getPOReference, getPriorityRule, getProcessedOn, getRef_InOut_ID, getReturnBPartner, getReturnBPartner_ID, getReturnLocation, getReturnLocation_ID, getReturnUser, getReturnUser_ID, getReversal, getReversal_ID, getSalesRep, getSalesRep_ID, getShipDate, getShipperAccount, getTrackingNo, getUser1, getUser1_ID, getUser2, getUser2_ID, getVolume, getWeight, initPO, isAlternateReturnAddress, isApproved, isDropShip, isInDispute, isInTransit, isPosted, isPrinted, isProcessed, isProcessing, isSendEMail, isSOTrx, setAD_OrgTrx_ID, setAD_User_ID, setC_Activity_ID, setC_BPartner_ID, setC_BPartner_Location_ID, setC_Campaign_ID, setC_Charge_ID, setC_DocType_ID, setC_Invoice_ID, setC_Order_ID, setC_Project_ID, setChargeAmt, setCreateConfirm, setCreateFrom, setCreateLinesFrom, setCreatePackage, setDateAcct, setDateOrdered, setDatePrinted, setDateReceived, setDeliveryRule, setDeliveryViaRule, setDescription, setDocAction, setDocStatus, setDocumentNo, setDropShip_BPartner_ID, setDropShip_Location_ID, setDropShip_User_ID, setFOB, setFreightAmt, setFreightCharges, setFreightCostRule, setGenerateTo, setInsurance, setIsAlternateReturnAddress, setIsApproved, setIsDropShip, setIsInDispute, setIsInTransit, setIsPrinted, setIsSOTrx, setM_InOut_ID, setM_InOut_UU, setM_RMA_ID, setM_Shipper_ID, setMovementDate, setMovementType, setNoPackages, setPickDate, setPOReference, setPosted, setPriorityRule, setProcessedOn, setProcessing, setRef_InOut_ID, setReturnBPartner_ID, setReturnLocation_ID, setReturnUser_ID, setReversal_ID, setSalesRep_ID, setSendEMail, setShipDate, setShipperAccount, setTrackingNo, setUser1_ID, setUser2_ID, setVolume, setWeight
Methods inherited from class org.compiere.model.PO
afterDelete, beforeDelete, 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.process.DocAction
get_ID, get_Logger, get_Table_ID, get_TrxName, getAD_Client_ID, getAD_Org_ID, getCtx, getDocAction, getDocStatus, getDocumentNo, save, saveEx, setDocStatus
Methods inherited from interface org.compiere.model.I_M_InOut
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
-
NOT_FULLY_MATCHED_TO_ORDER
-
NOT_FULLY_MATCHED_TO_ORDER_GROUP_BY
-
FULL_OR_PARTIALLY_MATCHED_TO_ORDER
-
FULL_OR_PARTIALLY_MATCHED_TO_ORDER_GROUP_BY
-
NOT_FULLY_MATCHED_TO_INVOICE
-
NOT_FULLY_MATCHED_TO_INVOICE_GROUP_BY
-
FULL_OR_PARTIALLY_MATCHED_TO_INVOICE
-
FULL_OR_PARTIALLY_MATCHED_TO_INVOICE_GROUP_BY
-
m_lines
Lines -
m_confirms
Confirmations -
m_partner
BPartner -
m_reversal
protected boolean m_reversalReversal Flag -
m_processMsg
Process Message -
m_justPrepared
protected boolean m_justPreparedJust Prepared Flag -
docsPostProcess
-
-
Constructor Details
-
MInOut
UUID based Constructor- Parameters:
ctx
- ContextM_InOut_UU
- UUID keytrxName
- Transaction
-
MInOut
Standard Constructor- Parameters:
ctx
- contextM_InOut_ID
-trxName
- trx name
-
MInOut
- Parameters:
ctx
-M_InOut_ID
-trxName
-virtualColumns
-
-
MInOut
Load Constructor- Parameters:
ctx
- contextrs
- result set recordtrxName
- transaction
-
MInOut
Order Constructor - create header only- Parameters:
order
- ordermovementDate
- optional movement date (default today)C_DocTypeShipment_ID
- document type or 0
-
MInOut
public MInOut(MInvoice invoice, int C_DocTypeShipment_ID, Timestamp movementDate, int M_Warehouse_ID) Invoice Constructor - create header only- Parameters:
invoice
- invoiceC_DocTypeShipment_ID
- document type or 0movementDate
- optional movement date (default today)M_Warehouse_ID
- warehouse
-
MInOut
Copy Constructor - create header only- Parameters:
original
- originalmovementDate
- optional movement date (default today)C_DocTypeShipment_ID
- document type or 0
-
-
Method Details
-
getNotFullyMatchedToOrder
public static List<MInOut.MatchingRecord> getNotFullyMatchedToOrder(int C_BPartner_ID, int M_Product_ID, int C_OrderLine_ID, Timestamp from, Timestamp to, String trxName) - Parameters:
C_BPartner_ID
-M_Product_ID
-C_OrderLine_ID
-from
-to
-trxName
-- Returns:
- list of material receipts not fully matched to order
-
getFullOrPartiallyMatchedToOrder
public static List<MInOut.MatchingRecord> getFullOrPartiallyMatchedToOrder(int C_BPartner_ID, int M_Product_ID, int C_OrderLine_ID, Timestamp from, Timestamp to, String trxName) - Parameters:
C_BPartner_ID
-M_Product_ID
-C_OrderLine_ID
-from
-to
-trxName
-- Returns:
- list of material receipts full or partially match to order
-
getNotFullyMatchedToInvoice
public static List<MInOut.MatchingRecord> getNotFullyMatchedToInvoice(int C_BPartner_ID, int M_Product_ID, int C_InvoiceLine_ID, Timestamp from, Timestamp to, String trxName) - Parameters:
C_BPartner_ID
-M_Product_ID
-C_InvoiceLine_ID
-from
-to
-trxName
-- Returns:
- list of material receipts not fully match to invoice
-
getFullOrPartiallyMatchedToInvoice
public static List<MInOut.MatchingRecord> getFullOrPartiallyMatchedToInvoice(int C_BPartner_ID, int M_Product_ID, int C_InvoiceLine_ID, Timestamp from, Timestamp to, String trxName) - Parameters:
C_BPartner_ID
-M_Product_ID
-C_InvoiceLine_ID
-from
-to
-trxName
-- Returns:
- list of material receipts full or partially match to invoice
-
createFrom
public static MInOut createFrom(MOrder order, Timestamp movementDate, boolean forceDelivery, boolean allAttributeInstances, Timestamp minGuaranteeDate, boolean complete, String trxName) Create Shipment From Order- Parameters:
order
- ordermovementDate
- optional movement dateforceDelivery
- ignore order delivery ruleallAttributeInstances
- if true, all attribute set instancesminGuaranteeDate
- optional minimum guarantee date if all attribute instancescomplete
- complete document (Process if false, Complete if true)trxName
- transaction- Returns:
- Shipment or null
-
copyFrom
public static MInOut copyFrom(MInOut from, Timestamp dateDoc, Timestamp dateAcct, int C_DocType_ID, boolean isSOTrx, boolean counter, String trxName, boolean setOrder) Create new Shipment by copying- Parameters:
from
- shipmentdateDoc
- date of the document dateC_DocType_ID
- doc typeisSOTrx
- sales ordercounter
- create counter linkstrxName
- trxsetOrder
- set the order link- Returns:
- Shipment
-
copyFrom
@Deprecated public static MInOut copyFrom(MInOut from, Timestamp dateDoc, int C_DocType_ID, boolean isSOTrx, boolean counter, String trxName, boolean setOrder) Deprecated.Create new Shipment by copying- Parameters:
from
- shipmentdateDoc
- date of the document dateC_DocType_ID
- doc typeisSOTrx
- sales ordercounter
- create counter linkstrxName
- trxsetOrder
- set the order link- Returns:
- Shipment
-
getDocStatusName
Get Document Status Name- Returns:
- Document Status Name
-
addDescription
Add to Description- Parameters:
description
- text
-
toString
String representation -
getDocumentInfo
Get Document Info- Specified by:
getDocumentInfo
in interfaceDocAction
- Returns:
- document info (not translated)
-
createPDF
Create PDF -
createPDF
Create PDF file- Parameters:
file
- output file- Returns:
- file if success
-
getLines
Get Lines of Shipment- Parameters:
requery
- refresh from db- Returns:
- lines
-
getLines
Get Lines of Shipment- Returns:
- lines
-
getConfirmations
Get Confirmations- Parameters:
requery
- true to requery from DB- Returns:
- array of Confirmations
-
copyLinesFrom
Copy Lines From other Shipment- Parameters:
otherShipment
- shipmentcounter
- set counter infosetOrder
- set order link- Returns:
- number of lines copied
-
setReversal
protected void setReversal(boolean reversal) Set reversal state (instance variable)- Parameters:
reversal
- reversal
-
isReversal
public boolean isReversal()Is Reversal- Returns:
- true reversal state is set to true
-
setProcessed
public void setProcessed(boolean processed) Set Processed. Propagate to Lines/Taxes- Specified by:
setProcessed
in interfaceI_M_InOut
- Overrides:
setProcessed
in classX_M_InOut
- Parameters:
processed
- processed
-
getBPartner
Get BPartner- Returns:
- business partner
-
setC_DocType_ID
Set Document Type- Parameters:
DocBaseType
- MDocType.DOCBASETYPE_*
-
setC_DocType_ID
public void setC_DocType_ID()Set Default C_DocType_ID. Based on IsSOTrx flag. -
setBPartner
Set Business Partner Defaults and Details- Parameters:
bp
- business partner
-
createConfirmation
public void createConfirmation()Create the missing next Confirmation -
voidConfirmations
protected void voidConfirmations()Void confirmations -
setM_Warehouse_ID
public void setM_Warehouse_ID(int M_Warehouse_ID) Set Warehouse and check/set Organization- Specified by:
setM_Warehouse_ID
in interfaceI_M_InOut
- Overrides:
setM_Warehouse_ID
in classX_M_InOut
- Parameters:
M_Warehouse_ID
- id
-
getMovementType
public static String getMovementType(Properties ctx, int C_DocType_ID, boolean issotrx, String trxName) Get Movement Type based on Document Type's DocBaseType and isSOTrx- Parameters:
ctx
-C_DocType_ID
- Document Type IDissotrx
- is sales transactiontrxName
- transaction name- Returns:
- Movement Type (MOVEMENTTYPE_*)
-
setMovementType
public void setMovementType()Sets Movement Type based on Document Type's DocBaseType and isSOTrx -
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
-
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. -
processIt
Process document -
unlockIt
public boolean unlockIt()Unlock Document. -
invalidateIt
public boolean invalidateIt()Invalidate Document- Specified by:
invalidateIt
in interfaceDocAction
- Returns:
- true if success
-
prepareIt
Prepare Document -
isCustomerReturn
public boolean isCustomerReturn()Check if Document is Customer Return.- Returns:
- True if Document is Customer Return
-
approveIt
public boolean approveIt()Approve Document -
rejectIt
public boolean rejectIt()Reject Approval -
completeIt
Complete Document- Specified by:
completeIt
in interfaceDocAction
- Returns:
- new status (Complete, In Progress, Invalid, Waiting ..)
-
pendingCustomerConfirmations
public boolean pendingCustomerConfirmations()Outstanding (not processed) Customer Confirmations ?- Returns:
- true if there are pending Customer Confirmations (MInOutConfirm.CONFIRMTYPE_CustomerConfirmation)
-
pendingConfirmations
public boolean pendingConfirmations()Outstanding (not processed) Confirmations ?- Returns:
- true if there are pending Confirmations
-
addDocsPostProcess
Add doc for post processing (after processing of document action)- Parameters:
doc
-
-
getDocsPostProcess
Description copied from interface:IDocsPostProcess
Get documents to process after Complete or after Posting- Specified by:
getDocsPostProcess
in interfaceIDocsPostProcess
- Returns:
- List of doc to process after Complete or after Posting
-
createDropShipment
Automatically creates a customer shipment for any drop shipment material receipt. Based on createCounterDoc() by JJ.- Returns:
- shipment if created else null
-
setDefiniteDocumentNo
protected void setDefiniteDocumentNo()Set the definite document number after completed -
checkMaterialPolicy
Check Material Policy. Create MInOutLineMA and set line ASI (if needed).- Parameters:
line
-qty
-
-
autoBalanceNegative
protected BigDecimal autoBalanceNegative(MInOutLine line, MProduct product, BigDecimal qtyToReceive) -
createCounterDoc
Create Counter Document- Returns:
- InOut
-
voidIt
public boolean voidIt()Void Document. -
closeIt
public boolean closeIt()Close Document. -
reverseCorrectIt
public boolean reverseCorrectIt()Reverse Correction - same date- Specified by:
reverseCorrectIt
in interfaceDocAction
- Returns:
- true if success
-
reverse
Reverse this document- Parameters:
accrual
- true to create reversal document using current date, false to use the accounting date of this document- Returns:
- reversal MInOut
-
reverseMatching
Reverse match invoice and match PO.- Parameters:
reversalDate
-- Returns:
- false if there errors, true otherwise
-
reverseAccrualIt
public boolean reverseAccrualIt()Reverse Accrual - current date- Specified by:
reverseAccrualIt
in interfaceDocAction
- Returns:
- false
-
reActivateIt
public boolean reActivateIt()Re-activate- Specified by:
reActivateIt
in interfaceDocAction
- Returns:
- false
-
getSummary
Get Summary- Specified by:
getSummary
in interfaceDocAction
- Returns:
- Summary of Document
-
getProcessMsg
Get Process Message- Specified by:
getProcessMsg
in interfaceDocAction
- Returns:
- clear text error message
-
getDoc_User_ID
public int getDoc_User_ID()Get Document Owner (Responsible)- Specified by:
getDoc_User_ID
in interfaceDocAction
- Returns:
- AD_User_ID
-
getApprovalAmt
Get Document Approval Amount- Specified by:
getApprovalAmt
in interfaceDocAction
- Returns:
- 0
-
getC_Currency_ID
public int getC_Currency_ID()Get C_Currency_ID- Specified by:
getC_Currency_ID
in interfaceDocAction
- Returns:
- Accounting Currency
-
isComplete
public boolean isComplete()Document Status is Complete or Closed- Returns:
- true if CO, CL or RE
-
moveOnHandToShipmentASI
protected String moveOnHandToShipmentASI(MProduct product, int M_Locator_ID, int M_AttributeSetInstance_ID, BigDecimal qty, Timestamp dateMaterialPolicy, int M_InOutLine_ID, boolean reversal, String trxName) For product with mix of No ASI and ASI inventory, this move Non ASI on hand to the new ASI created at shipment line or shipment line ma- Parameters:
product
-M_Locator_ID
- shipment line locator idM_AttributeSetInstance_ID
-qty
-dateMaterialPolicy
-M_InOutLine_ID
-reversal
-trxName
-- Returns:
- error doc status if there are any errors, null otherwise
-
createLineFrom
public void createLineFrom(int C_OrderLine_ID, int C_InvoiceLine_ID, int M_RMALine_ID, int M_Product_ID, int C_UOM_ID, BigDecimal Qty, int M_Locator_ID) Create Line from orderline/invoiceline/rmaline- Parameters:
C_OrderLine_ID
-C_InvoiceLine_ID
-M_RMALine_ID
-M_Product_ID
-C_UOM_ID
-Qty
-M_Locator_ID
-
-
updateFrom
Update from order/invoice/rma- if linked to another order/invoice/rma - remove link
- if no link set it
- Parameters:
order
-invoice
-rma
-
-