Package org.compiere.model
Class MOrder
- java.lang.Object
-
- org.compiere.model.PO
-
- org.compiere.model.X_C_Order
-
- org.compiere.model.MOrder
-
- All Implemented Interfaces:
Serializable
,Cloneable
,Comparator<Object>
,I_C_Order
,I_Persistent
,DocAction
,Evaluatee
public class MOrder extends X_C_Order implements DocAction
Order Model. Please do not set DocStatus and C_DocType_ID directly. They are set in the process() method. Use DocAction and C_DocTypeTarget_ID instead.- Version:
- $Id: MOrder.java,v 1.5 2006/10/06 00:42:24 jjanke Exp $
- Author:
- Jorg Janke, victor.perez@e-evolution.com, e-Evolution http://www.e-evolution.com
- FR [ 2520591 ] Support multiples calendar for Org, Teo Sarca, www.arhipac.ro
- BF [ 2419978 ] Voiding PO, requisition don't set on NULL
- BF [ 2892578 ] Order should autoset only active price lists https://sourceforge.net/p/adempiere/feature-requests/873/, Michael Judd, www.akunagroup.com
- BF [ 2804888 ] Incorrect reservation of products with attributes
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static String
DocSubTypeSO_OnCredit
Sales Order Sub Type - WIstatic String
DocSubTypeSO_POS
Sales Order Sub Type - WRstatic String
DocSubTypeSO_Prepay
Sales Order Sub Type - PRstatic String
DocSubTypeSO_Proposal
Sales Order Sub Type - ONstatic String
DocSubTypeSO_Quotation
Sales Order Sub Type - OBstatic String
DocSubTypeSO_RMA
Sales Order Sub Type - RMstatic String
DocSubTypeSO_Standard
Sales Order Sub Type - SOstatic String
DocSubTypeSO_Warehouse
Sales Order Sub Type - WPprotected boolean
m_forceCreation
Force Creation of orderprotected boolean
m_justPrepared
Just Prepared Flagprotected MOrderLine[]
m_lines
Order Linesprotected String
m_processMsg
Process Messageprotected MOrderTax[]
m_taxes
Tax Lines-
Fields inherited from class org.compiere.model.X_C_Order
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, FREIGHTCOSTRULE_AD_Reference_ID, FREIGHTCOSTRULE_Calculated, FREIGHTCOSTRULE_FixPrice, FREIGHTCOSTRULE_FreightIncluded, FREIGHTCOSTRULE_Line, INVOICERULE_AD_Reference_ID, INVOICERULE_AfterDelivery, INVOICERULE_AfterOrderDelivered, INVOICERULE_CustomerScheduleAfterDelivery, INVOICERULE_Immediate, PAYMENTRULE_AD_Reference_ID, PAYMENTRULE_Cash, PAYMENTRULE_Check, PAYMENTRULE_CreditCard, PAYMENTRULE_DirectDebit, PAYMENTRULE_DirectDeposit, PAYMENTRULE_MixedPOSPayment, PAYMENTRULE_OnCredit, 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, 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_C_Order
accessLevel, COLUMNNAME_AD_Client_ID, COLUMNNAME_AD_Org_ID, COLUMNNAME_AD_OrgTrx_ID, COLUMNNAME_AD_User_ID, COLUMNNAME_AmountRefunded, COLUMNNAME_AmountTendered, COLUMNNAME_Bill_BPartner_ID, COLUMNNAME_Bill_Location_ID, COLUMNNAME_Bill_User_ID, COLUMNNAME_C_Activity_ID, COLUMNNAME_C_BPartner_ID, COLUMNNAME_C_BPartner_Location_ID, COLUMNNAME_C_Campaign_ID, COLUMNNAME_C_CashLine_ID, COLUMNNAME_C_CashPlanLine_ID, COLUMNNAME_C_Charge_ID, COLUMNNAME_C_ConversionType_ID, COLUMNNAME_C_Currency_ID, COLUMNNAME_C_DocType_ID, COLUMNNAME_C_DocTypeTarget_ID, COLUMNNAME_C_Opportunity_ID, COLUMNNAME_C_Order_ID, COLUMNNAME_C_Order_UU, COLUMNNAME_C_OrderSource_ID, COLUMNNAME_C_Payment_ID, COLUMNNAME_C_PaymentTerm_ID, COLUMNNAME_C_POS_ID, COLUMNNAME_C_Project_ID, COLUMNNAME_ChargeAmt, COLUMNNAME_CopyFrom, COLUMNNAME_Created, COLUMNNAME_CreatedBy, COLUMNNAME_DateAcct, COLUMNNAME_DateOrdered, COLUMNNAME_DatePrinted, COLUMNNAME_DatePromised, 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_FreightAmt, COLUMNNAME_FreightCostRule, COLUMNNAME_GrandTotal, COLUMNNAME_InvoiceRule, COLUMNNAME_IsActive, COLUMNNAME_IsApproved, COLUMNNAME_IsCreditApproved, COLUMNNAME_IsDelivered, COLUMNNAME_IsDiscountPrinted, COLUMNNAME_IsDropShip, COLUMNNAME_IsInvoiced, COLUMNNAME_IsPayScheduleValid, COLUMNNAME_IsPrinted, COLUMNNAME_IsPriviledgedRate, COLUMNNAME_IsSelected, COLUMNNAME_IsSelfService, COLUMNNAME_IsSOTrx, COLUMNNAME_IsTaxIncluded, COLUMNNAME_IsTransferred, COLUMNNAME_Link_Order_ID, COLUMNNAME_M_FreightCategory_ID, COLUMNNAME_M_PriceList_ID, COLUMNNAME_M_Shipper_ID, COLUMNNAME_M_Warehouse_ID, COLUMNNAME_Pay_BPartner_ID, COLUMNNAME_Pay_Location_ID, COLUMNNAME_PaymentRule, COLUMNNAME_POReference, COLUMNNAME_Posted, COLUMNNAME_PriorityRule, COLUMNNAME_Processed, COLUMNNAME_ProcessedOn, COLUMNNAME_Processing, COLUMNNAME_PromotionCode, COLUMNNAME_QuotationOrder_ID, COLUMNNAME_Ref_Order_ID, COLUMNNAME_SalesRep_ID, COLUMNNAME_SendEMail, COLUMNNAME_ShippingRateInquiry, COLUMNNAME_TotalLines, COLUMNNAME_Updated, COLUMNNAME_UpdatedBy, COLUMNNAME_User1_ID, COLUMNNAME_User2_ID, COLUMNNAME_Volume, COLUMNNAME_Weight, Model, Table_ID, Table_Name
-
-
Constructor Summary
Constructors Constructor Description MOrder(Properties ctx, int C_Order_ID, String trxName)
Default ConstructorMOrder(Properties ctx, ResultSet rs, String trxName)
Load ConstructorMOrder(MProject project, boolean IsSOTrx, String DocSubTypeSO)
Project Constructor
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addDescription(String description)
Add to Descriptionprotected boolean
afterSave(boolean newRecord, boolean success)
After Saveboolean
approveIt()
Approve Documentprotected boolean
beforeDelete()
Before Deleteprotected boolean
beforeSave(boolean newRecord)
Before Saveprotected boolean
calculateFreightCharge()
boolean
calculateTaxTotal()
Calculate Tax and Totalboolean
closeIt()
Close Document.String
completeIt()
Complete Documentstatic MOrder
copyFrom(MOrder from, Timestamp dateDoc, int C_DocTypeTarget_ID, boolean isSOTrx, boolean counter, boolean copyASI, String trxName)
Create new Order by copyingint
copyLinesFrom(MOrder otherOrder, boolean counter, boolean copyASI)
Copy Lines From other Orderprotected MOrder
createCounterDoc()
Create Counter Documentprotected MInvoice
createInvoice(MDocType dt, MInOut shipment, Timestamp invoiceDate)
Create Invoiceprotected boolean
createPaySchedule()
(Re) Create Pay ScheduleFile
createPDF()
Create PDFFile
createPDF(File file)
Create PDF fileprotected String
createPOSPayments()
protected boolean
createReversals()
Create Shipment/Invoice Reversalsprotected MInOut
createShipment(MDocType dt, Timestamp movementDate)
Create Shipmentprotected String
deleteMatchPOCostDetail(MOrderLine line)
protected boolean
explodeBOM()
Explode non stocked BOM.BigDecimal
getApprovalAmt()
Get Document Approval Amountint
getC_Invoice_ID()
Get latest Invoice of OrderString
getCurrencyISO()
Get ISO Code of Currencyint
getDoc_User_ID()
Get Document Owner (Responsible)String
getDocStatusName()
Get Document Statusint
getDocTypeID()
Returns C_DocType_ID (or C_DocTypeTarget_ID if C_DocType_ID is not set)String
getDocumentInfo()
Get Document InfoMInvoice[]
getInvoices()
Get Invoices of OrderMOrderLine[]
getLines()
Get Lines of Order.MOrderLine[]
getLines(boolean requery, String orderBy)
Get Lines of OrderMOrderLine[]
getLines(String whereClause, String orderClause)
Get Lines of OrderBigDecimal
getPaymentAmt()
int
getPrecision()
Get Currency PrecisionString
getProcessMsg()
Get Process MessageMInOut[]
getShipments()
Get Shipments of OrderString
getSummary()
Get SummaryMOrderTax[]
getTaxes(boolean requery)
Get Taxes of OrderMTaxProvider[]
getTaxProviders()
Get tax providersboolean
invalidateIt()
Invalidate Documentboolean
isComplete()
Document Status is Complete or Closedboolean
isOrderLine(int C_OrderLine_ID)
Does the Order Line belong to this Orderprotected String
landedCostAllocation()
String
prepareIt()
Prepare Documentboolean
processIt(String processAction)
Process documentboolean
reActivateIt()
Re-activate.boolean
rejectIt()
Reject Approvalvoid
renumberLines(int step)
Renumber LinesString
reopenIt()
protected boolean
reserveStock(MDocType dt, MOrderLine[] lines)
Reserve Inventory.boolean
reverseAccrualIt()
Reverse Accrual - noneboolean
reverseCorrectIt()
Reverse Correction - same voidvoid
setAD_User_ID(int AD_User_ID)
Set Business Partner Contact (Ship+Bill)void
setBPartner(MBPartner bp)
Set Business Partner Defaults and Details.void
setC_BPartner_ID(int C_BPartner_ID)
Set Business Partner (Ship+Bill)void
setC_BPartner_Location_ID(int C_BPartner_Location_ID)
Set Business Partner Location (Ship+Bill)void
setC_DocTypeTarget_ID()
Set Target Document Type.void
setC_DocTypeTarget_ID(String DocSubTypeSO_x)
Set Target Sales Document Typevoid
setClientOrg(int AD_Client_ID, int AD_Org_ID)
Overwrite Client/Org if requiredprotected void
setDefiniteDocumentNo()
Set the definite document number after completedvoid
setDocAction(String DocAction)
Set DocActionvoid
setDocAction(String DocAction, boolean forceCreation)
Set DocActionvoid
setIsDropShip(boolean IsDropShip)
Set Drop Shipvoid
setM_PriceList_ID(int M_PriceList_ID)
Set Price List (and Currency, TaxIncluded) when validvoid
setM_Warehouse_ID(int M_Warehouse_ID)
Set Warehousevoid
setProcessed(boolean processed)
Set Processed.void
setProcessMessage(String processMsg)
Set process messagevoid
setShip_BPartner_ID(int C_BPartner_ID)
Set Ship Business Partnervoid
setShip_Location_ID(int C_BPartner_Location_ID)
Set Ship Business Partner Locationvoid
setShip_User_ID(int AD_User_ID)
Set Ship Business Partner ContactString
toString()
String Representationboolean
unlockIt()
Unlock Document.boolean
validatePaySchedule()
Validate Order Pay Scheduleboolean
voidIt()
Void Document.-
Methods inherited from class org.compiere.model.X_C_Order
get_AccessLevel, getAD_OrgTrx_ID, getAD_User, getAD_User_ID, getAmountRefunded, getAmountTendered, getBill_BPartner, getBill_BPartner_ID, getBill_Location, getBill_Location_ID, getBill_User, getBill_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_CashLine, getC_CashLine_ID, getC_CashPlanLine, getC_CashPlanLine_ID, getC_Charge, getC_Charge_ID, getC_ConversionType, getC_ConversionType_ID, getC_Currency, getC_Currency_ID, getC_DocType, getC_DocType_ID, getC_DocTypeTarget, getC_DocTypeTarget_ID, getC_Opportunity, getC_Opportunity_ID, getC_Order_ID, getC_Order_UU, getC_OrderSource, getC_OrderSource_ID, getC_Payment, getC_Payment_ID, getC_PaymentTerm, getC_PaymentTerm_ID, getC_POS, getC_POS_ID, getC_Project, getC_Project_ID, getChargeAmt, getCopyFrom, getDateAcct, getDateOrdered, getDatePrinted, getDatePromised, getDeliveryRule, getDeliveryViaRule, getDescription, getDocAction, getDocStatus, getDocumentNo, getDropShip_BPartner, getDropShip_BPartner_ID, getDropShip_Location, getDropShip_Location_ID, getDropShip_User, getDropShip_User_ID, getFreightAmt, getFreightCostRule, getGrandTotal, getInvoiceRule, getKeyNamePair, getLink_Order, getLink_Order_ID, getM_FreightCategory, getM_FreightCategory_ID, getM_PriceList, getM_PriceList_ID, getM_Shipper, getM_Shipper_ID, getM_Warehouse, getM_Warehouse_ID, getPay_BPartner_ID, getPay_Location_ID, getPaymentRule, getPOReference, getPriorityRule, getProcessedOn, getPromotionCode, getQuotationOrder, getQuotationOrder_ID, getRef_Order, getRef_Order_ID, getSalesRep, getSalesRep_ID, getShippingRateInquiry, getTotalLines, getUser1, getUser1_ID, getUser2, getUser2_ID, getVolume, getWeight, initPO, isApproved, isCreditApproved, isDelivered, isDiscountPrinted, isDropShip, isInvoiced, isPayScheduleValid, isPosted, isPrinted, isPriviledgedRate, isProcessed, isProcessing, isSelected, isSelfService, isSendEMail, isSOTrx, isTaxIncluded, isTransferred, setAD_OrgTrx_ID, setAmountRefunded, setAmountTendered, setBill_BPartner_ID, setBill_Location_ID, setBill_User_ID, setC_Activity_ID, setC_Campaign_ID, setC_CashLine_ID, setC_CashPlanLine_ID, setC_Charge_ID, setC_ConversionType_ID, setC_Currency_ID, setC_DocType_ID, setC_DocTypeTarget_ID, setC_Opportunity_ID, setC_Order_ID, setC_Order_UU, setC_OrderSource_ID, setC_Payment_ID, setC_PaymentTerm_ID, setC_POS_ID, setC_Project_ID, setChargeAmt, setCopyFrom, setDateAcct, setDateOrdered, setDatePrinted, setDatePromised, setDeliveryRule, setDeliveryViaRule, setDescription, setDocStatus, setDocumentNo, setDropShip_BPartner_ID, setDropShip_Location_ID, setDropShip_User_ID, setFreightAmt, setFreightCostRule, setGrandTotal, setInvoiceRule, setIsApproved, setIsCreditApproved, setIsDelivered, setIsDiscountPrinted, setIsInvoiced, setIsPayScheduleValid, setIsPrinted, setIsPriviledgedRate, setIsSelected, setIsSelfService, setIsSOTrx, setIsTaxIncluded, setIsTransferred, setLink_Order_ID, setM_FreightCategory_ID, setM_Shipper_ID, setPay_BPartner_ID, setPay_Location_ID, setPaymentRule, setPOReference, setPosted, setPriorityRule, setProcessedOn, setProcessing, setPromotionCode, setQuotationOrder_ID, setRef_Order_ID, setSalesRep_ID, setSendEMail, setShippingRateInquiry, setTotalLines, setUser1_ID, setUser2_ID, setVolume, setWeight
-
Methods inherited from class org.compiere.model.PO
afterDelete, 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, 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.process.DocAction
get_ID, get_Logger, get_Table_ID, get_TrxName, getAD_Client_ID, getAD_Org_ID, getC_Currency_ID, getCtx, getDocAction, getDocStatus, getDocumentNo, save, saveEx, setDocStatus
-
Methods inherited from interface org.compiere.model.I_C_Order
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_lines
protected MOrderLine[] m_lines
Order Lines
-
m_taxes
protected MOrderTax[] m_taxes
Tax Lines
-
m_forceCreation
protected boolean m_forceCreation
Force Creation of order
-
DocSubTypeSO_Standard
public static final String DocSubTypeSO_Standard
Sales Order Sub Type - SO- See Also:
- Constant Field Values
-
DocSubTypeSO_Quotation
public static final String DocSubTypeSO_Quotation
Sales Order Sub Type - OB- See Also:
- Constant Field Values
-
DocSubTypeSO_Proposal
public static final String DocSubTypeSO_Proposal
Sales Order Sub Type - ON- See Also:
- Constant Field Values
-
DocSubTypeSO_Prepay
public static final String DocSubTypeSO_Prepay
Sales Order Sub Type - PR- See Also:
- Constant Field Values
-
DocSubTypeSO_POS
public static final String DocSubTypeSO_POS
Sales Order Sub Type - WR- See Also:
- Constant Field Values
-
DocSubTypeSO_Warehouse
public static final String DocSubTypeSO_Warehouse
Sales Order Sub Type - WP- See Also:
- Constant Field Values
-
DocSubTypeSO_OnCredit
public static final String DocSubTypeSO_OnCredit
Sales Order Sub Type - WI- See Also:
- Constant Field Values
-
DocSubTypeSO_RMA
public static final String DocSubTypeSO_RMA
Sales Order Sub Type - RM- See Also:
- Constant Field Values
-
m_processMsg
protected String m_processMsg
Process Message
-
m_justPrepared
protected boolean m_justPrepared
Just Prepared Flag
-
-
Constructor Detail
-
MOrder
public MOrder(Properties ctx, int C_Order_ID, String trxName)
Default Constructor- Parameters:
ctx
- contextC_Order_ID
- order to load, (0 create new order)trxName
- trx name
-
MOrder
public MOrder(MProject project, boolean IsSOTrx, String DocSubTypeSO)
Project Constructor- Parameters:
project
- Project to create Order fromIsSOTrx
- sales orderDocSubTypeSO
- if SO DocType Target (default DocSubTypeSO_OnCredit)
-
MOrder
public MOrder(Properties ctx, ResultSet rs, String trxName)
Load Constructor- Parameters:
ctx
- contextrs
- result set recordtrxName
- transaction
-
-
Method Detail
-
copyFrom
public static MOrder copyFrom(MOrder from, Timestamp dateDoc, int C_DocTypeTarget_ID, boolean isSOTrx, boolean counter, boolean copyASI, String trxName)
Create new Order by copying- Parameters:
from
- orderdateDoc
- date of the document dateC_DocTypeTarget_ID
- target document typeisSOTrx
- sales ordercounter
- create counter linkscopyASI
- copy line attributes Attribute Set Instance, Resaouce AssignmenttrxName
- trx- Returns:
- Order
-
setClientOrg
public void setClientOrg(int AD_Client_ID, int AD_Org_ID)
Overwrite Client/Org if required- Overrides:
setClientOrg
in classPO
- Parameters:
AD_Client_ID
- clientAD_Org_ID
- org
-
addDescription
public void addDescription(String description)
Add to Description- Parameters:
description
- text
-
setC_BPartner_ID
public void setC_BPartner_ID(int C_BPartner_ID)
Set Business Partner (Ship+Bill)- Specified by:
setC_BPartner_ID
in interfaceI_C_Order
- Overrides:
setC_BPartner_ID
in classX_C_Order
- Parameters:
C_BPartner_ID
- bpartner
-
setC_BPartner_Location_ID
public void setC_BPartner_Location_ID(int C_BPartner_Location_ID)
Set Business Partner Location (Ship+Bill)- Specified by:
setC_BPartner_Location_ID
in interfaceI_C_Order
- Overrides:
setC_BPartner_Location_ID
in classX_C_Order
- Parameters:
C_BPartner_Location_ID
- bp location
-
setAD_User_ID
public void setAD_User_ID(int AD_User_ID)
Set Business Partner Contact (Ship+Bill)- Specified by:
setAD_User_ID
in interfaceI_C_Order
- Overrides:
setAD_User_ID
in classX_C_Order
- Parameters:
AD_User_ID
- user
-
setShip_BPartner_ID
public void setShip_BPartner_ID(int C_BPartner_ID)
Set Ship Business Partner- Parameters:
C_BPartner_ID
- bpartner
-
setShip_Location_ID
public void setShip_Location_ID(int C_BPartner_Location_ID)
Set Ship Business Partner Location- Parameters:
C_BPartner_Location_ID
- bp location
-
setShip_User_ID
public void setShip_User_ID(int AD_User_ID)
Set Ship Business Partner Contact- Parameters:
AD_User_ID
- user
-
setM_Warehouse_ID
public void setM_Warehouse_ID(int M_Warehouse_ID)
Set Warehouse- Specified by:
setM_Warehouse_ID
in interfaceI_C_Order
- Overrides:
setM_Warehouse_ID
in classX_C_Order
- Parameters:
M_Warehouse_ID
- warehouse
-
setIsDropShip
public void setIsDropShip(boolean IsDropShip)
Set Drop Ship- Specified by:
setIsDropShip
in interfaceI_C_Order
- Overrides:
setIsDropShip
in classX_C_Order
- Parameters:
IsDropShip
- drop ship
-
setC_DocTypeTarget_ID
public void setC_DocTypeTarget_ID(String DocSubTypeSO_x)
Set Target Sales Document Type- Parameters:
DocSubTypeSO_x
- SO sub type - see DocSubTypeSO_*
-
setC_DocTypeTarget_ID
public void setC_DocTypeTarget_ID()
Set Target Document Type. Standard Order or PO
-
setBPartner
public void setBPartner(MBPartner bp)
Set Business Partner Defaults and Details. SOTrx should be set.- Parameters:
bp
- business partner
-
copyLinesFrom
public int copyLinesFrom(MOrder otherOrder, boolean counter, boolean copyASI)
Copy Lines From other Order- Parameters:
otherOrder
- ordercounter
- set counter infocopyASI
- copy line attributes Attribute Set Instance, Resaouce Assignment- Returns:
- number of lines copied
-
toString
public String toString()
String Representation
-
getDocumentInfo
public String getDocumentInfo()
Get Document Info- Specified by:
getDocumentInfo
in interfaceDocAction
- Returns:
- document info (untranslated)
-
createPDF
public File createPDF()
Create PDF
-
createPDF
public File createPDF(File file)
Create PDF file- Parameters:
file
- output file- Returns:
- file if success
-
setM_PriceList_ID
public void setM_PriceList_ID(int M_PriceList_ID)
Set Price List (and Currency, TaxIncluded) when valid- Specified by:
setM_PriceList_ID
in interfaceI_C_Order
- Overrides:
setM_PriceList_ID
in classX_C_Order
- Parameters:
M_PriceList_ID
- price list
-
getLines
public MOrderLine[] getLines(String whereClause, String orderClause)
Get Lines of Order- Parameters:
whereClause
- where clause or null (starting with AND)orderClause
- order clause- Returns:
- lines
-
getLines
public MOrderLine[] getLines(boolean requery, String orderBy)
Get Lines of Order- Parameters:
requery
- requeryorderBy
- optional order by column- Returns:
- lines
-
getLines
public MOrderLine[] getLines()
Get Lines of Order. (used by web store)- Returns:
- lines
-
renumberLines
public void renumberLines(int step)
Renumber Lines- Parameters:
step
- start and step
-
isOrderLine
public boolean isOrderLine(int C_OrderLine_ID)
Does the Order Line belong to this Order- Parameters:
C_OrderLine_ID
- line- Returns:
- true if part of the order
-
getTaxes
public MOrderTax[] getTaxes(boolean requery)
Get Taxes of Order- Parameters:
requery
- requery- Returns:
- array of taxes
-
getInvoices
public MInvoice[] getInvoices()
Get Invoices of Order- Returns:
- invoices
-
getC_Invoice_ID
public int getC_Invoice_ID()
Get latest Invoice of Order- Returns:
- invoice id or 0
-
getShipments
public MInOut[] getShipments()
Get Shipments of Order- Returns:
- shipments
-
getCurrencyISO
public String getCurrencyISO()
Get ISO Code of Currency- Returns:
- Currency ISO
-
getPrecision
public int getPrecision()
Get Currency Precision- Returns:
- precision
-
getDocStatusName
public String getDocStatusName()
Get Document Status- Returns:
- Document Status Clear Text
-
setDocAction
public void setDocAction(String DocAction)
Set DocAction- Specified by:
setDocAction
in interfaceI_C_Order
- Overrides:
setDocAction
in classX_C_Order
- Parameters:
DocAction
- doc action
-
setDocAction
public void setDocAction(String DocAction, boolean forceCreation)
Set DocAction- Parameters:
DocAction
- doc actionforceCreation
- force creation
-
setProcessed
public void setProcessed(boolean processed)
Set Processed. Propagate to Lines/Taxes- Specified by:
setProcessed
in interfaceI_C_Order
- Overrides:
setProcessed
in classX_C_Order
- Parameters:
processed
- processed
-
validatePaySchedule
public boolean validatePaySchedule()
Validate Order Pay Schedule- Returns:
- pay schedule is valid
-
beforeSave
protected boolean beforeSave(boolean newRecord)
Before Save- Overrides:
beforeSave
in classPO
- Parameters:
newRecord
- new- Returns:
- save
-
afterSave
protected boolean afterSave(boolean newRecord, boolean success)
After Save
-
beforeDelete
protected boolean beforeDelete()
Before Delete- Overrides:
beforeDelete
in classPO
- Returns:
- true of it can be deleted
-
processIt
public boolean processIt(String processAction)
Process document
-
unlockIt
public boolean unlockIt()
Unlock Document.
-
invalidateIt
public boolean invalidateIt()
Invalidate Document- Specified by:
invalidateIt
in interfaceDocAction
- Returns:
- true if success
-
prepareIt
public String prepareIt()
Prepare Document
-
calculateFreightCharge
protected boolean calculateFreightCharge()
-
explodeBOM
protected boolean explodeBOM()
Explode non stocked BOM.- Returns:
- true if bom exploded
-
reserveStock
protected boolean reserveStock(MDocType dt, MOrderLine[] lines)
Reserve Inventory. Counterpart: MInOut.completeIt()- Parameters:
dt
- document type or nulllines
- order lines (ordered by M_Product_ID for deadlock prevention)- Returns:
- true if (un) reserved
-
calculateTaxTotal
public boolean calculateTaxTotal()
Calculate Tax and Total- Returns:
- true if tax total calculated
-
createPaySchedule
protected boolean createPaySchedule()
(Re) Create Pay Schedule- Returns:
- true if valid schedule
-
approveIt
public boolean approveIt()
Approve Document
-
rejectIt
public boolean rejectIt()
Reject Approval
-
completeIt
public String completeIt()
Complete Document- Specified by:
completeIt
in interfaceDocAction
- Returns:
- new status (Complete, In Progress, Invalid, Waiting ..)
-
landedCostAllocation
protected String landedCostAllocation()
-
createPOSPayments
protected String createPOSPayments()
-
setDefiniteDocumentNo
protected void setDefiniteDocumentNo()
Set the definite document number after completed
-
createShipment
protected MInOut createShipment(MDocType dt, Timestamp movementDate)
Create Shipment- Parameters:
dt
- order document typemovementDate
- optional movement date (default today)- Returns:
- shipment or null
-
createInvoice
protected MInvoice createInvoice(MDocType dt, MInOut shipment, Timestamp invoiceDate)
Create Invoice- Parameters:
dt
- order document typeshipment
- optional shipmentinvoiceDate
- invoice date- Returns:
- invoice or null
-
createCounterDoc
protected MOrder createCounterDoc()
Create Counter Document- Returns:
- counter order
-
voidIt
public boolean voidIt()
Void Document. Set Qtys to 0 - Sales: reverse all documents
-
createReversals
protected boolean createReversals()
Create Shipment/Invoice Reversals- Returns:
- true if success
-
closeIt
public boolean closeIt()
Close Document. Cancel not delivered Quantities
-
reopenIt
public String reopenIt()
-
reverseCorrectIt
public boolean reverseCorrectIt()
Reverse Correction - same void- Specified by:
reverseCorrectIt
in interfaceDocAction
- Returns:
- true if success
-
reverseAccrualIt
public boolean reverseAccrualIt()
Reverse Accrual - none- Specified by:
reverseAccrualIt
in interfaceDocAction
- Returns:
- false
-
reActivateIt
public boolean reActivateIt()
Re-activate.- Specified by:
reActivateIt
in interfaceDocAction
- Returns:
- true if success
-
getSummary
public String getSummary()
Get Summary- Specified by:
getSummary
in interfaceDocAction
- Returns:
- Summary of Document
-
getProcessMsg
public String 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
public BigDecimal getApprovalAmt()
Get Document Approval Amount- Specified by:
getApprovalAmt
in interfaceDocAction
- Returns:
- amount
-
deleteMatchPOCostDetail
protected String deleteMatchPOCostDetail(MOrderLine line)
-
isComplete
public boolean isComplete()
Document Status is Complete or Closed- Returns:
- true if CO, CL or RE
-
setProcessMessage
public void setProcessMessage(String processMsg)
Set process message- Parameters:
processMsg
-
-
getTaxProviders
public MTaxProvider[] getTaxProviders()
Get tax providers- Returns:
- array of tax provider
-
getDocTypeID
public int getDocTypeID()
Returns C_DocType_ID (or C_DocTypeTarget_ID if C_DocType_ID is not set)
-
getPaymentAmt
public BigDecimal getPaymentAmt()
- Returns:
- payment amount for order (prepayment + invoice payment)
-
-