Package org.eevolution.model
Class MDDOrder
- java.lang.Object
-
- org.compiere.model.PO
-
- org.eevolution.model.X_DD_Order
-
- org.eevolution.model.MDDOrder
-
- All Implemented Interfaces:
Serializable
,Cloneable
,Comparator<Object>
,I_Persistent
,DocAction
,Evaluatee
,I_DD_Order
public class MDDOrder extends X_DD_Order implements DocAction
Order Distribution 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.- Author:
- victor.perez@e-evolution.com, e-Evolution http://www.e-evolution.com
- Original contributor of Distribution Functionality
- FR [ 2520591 ] Support multiples calendar for Org
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class org.eevolution.model.X_DD_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, 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.eevolution.model.I_DD_Order
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_CreatePackage, COLUMNNAME_DateOrdered, COLUMNNAME_DatePrinted, COLUMNNAME_DatePromised, COLUMNNAME_DateReceived, COLUMNNAME_DD_Order_ID, COLUMNNAME_DD_Order_UU, COLUMNNAME_DeliveryRule, COLUMNNAME_DeliveryViaRule, COLUMNNAME_Description, COLUMNNAME_DocAction, COLUMNNAME_DocStatus, COLUMNNAME_DocumentNo, COLUMNNAME_FreightAmt, COLUMNNAME_FreightCostRule, COLUMNNAME_GenerateTo, COLUMNNAME_IsActive, COLUMNNAME_IsApproved, COLUMNNAME_IsDelivered, COLUMNNAME_IsDropShip, COLUMNNAME_IsInDispute, COLUMNNAME_IsInTransit, COLUMNNAME_IsPrinted, COLUMNNAME_IsSelected, COLUMNNAME_IsSOTrx, COLUMNNAME_M_Shipper_ID, COLUMNNAME_M_Warehouse_ID, COLUMNNAME_NoPackages, COLUMNNAME_PickDate, COLUMNNAME_POReference, COLUMNNAME_Posted, COLUMNNAME_PriorityRule, COLUMNNAME_Processed, COLUMNNAME_ProcessedOn, COLUMNNAME_Processing, COLUMNNAME_Ref_Order_ID, COLUMNNAME_SalesRep_ID, COLUMNNAME_SendEMail, COLUMNNAME_ShipDate, COLUMNNAME_TrackingNo, COLUMNNAME_Updated, COLUMNNAME_UpdatedBy, COLUMNNAME_User1_ID, COLUMNNAME_User2_ID, COLUMNNAME_Volume, COLUMNNAME_Weight, Model, Table_ID, Table_Name
-
-
Constructor Summary
Constructors Constructor Description MDDOrder(Properties ctx, int DD_Order_ID, String trxName)
Default ConstructorMDDOrder(Properties ctx, ResultSet rs, String trxName)
Load ConstructorMDDOrder(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 Saveboolean
closeIt()
Close Document.String
completeIt()
Complete Documentstatic MDDOrder
copyFrom(MDDOrder from, Timestamp dateDoc, int C_DocTypeTarget_ID, boolean isSOTrx, boolean counter, boolean copyASI, String trxName)
Create new Order by copyingint
copyLinesFrom(MDDOrder otherOrder, boolean counter, boolean copyASI)
Copy Lines From other OrderFile
createPDF()
Create PDFFile
createPDF(File file)
Create PDF fileBigDecimal
getApprovalAmt()
Get Document Approval Amountint
getC_Currency_ID()
Get Document Currencyint
getDoc_User_ID()
Get Document Owner (Responsible)String
getDocStatusName()
Get Document StatusString
getDocumentInfo()
Get Document InfoMDDOrderLine[]
getLines()
Get Lines of Order.MDDOrderLine[]
getLines(boolean requery, String orderBy)
Get Lines of OrderMDDOrderLine[]
getLines(String whereClause, String orderClause)
Get Lines of OrderMMovement[]
getMovement()
Get Shipments of OrderString
getProcessMsg()
Get Process MessageString
getSummary()
Get Summaryboolean
invalidateIt()
Invalidate Documentboolean
isComplete()
Document Status is Complete or ClosedString
prepareIt()
Prepare Documentboolean
processIt(String processAction)
Process documentboolean
reActivateIt()
Re-activate.boolean
rejectIt()
Reject Approvalvoid
renumberLines(int step)
Renumber Linesvoid
reserveStock(MDDOrderLine[] lines)
Reserve Inventory.boolean
reverseAccrualIt()
Reverse Accrual - noneboolean
reverseCorrectIt()
Reverse Correction - same voidvoid
setBPartner(MBPartner bp)
Set Business Partner Defaults and Details.void
setDocAction(String DocAction)
Set DocActionvoid
setDocAction(String DocAction, boolean forceCreation)
Set DocActionvoid
setProcessed(boolean processed)
Set Processed.void
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
voidIt()
Void Document.-
Methods inherited from class org.eevolution.model.X_DD_Order
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, getCreatePackage, getDateOrdered, getDatePrinted, getDatePromised, getDateReceived, getDD_Order_ID, getDD_Order_UU, getDeliveryRule, getDeliveryViaRule, getDescription, getDocAction, getDocStatus, getDocumentNo, getFreightAmt, getFreightCostRule, getGenerateTo, getKeyNamePair, getM_Shipper, getM_Shipper_ID, getM_Warehouse, getM_Warehouse_ID, getNoPackages, getPickDate, getPOReference, getPriorityRule, getProcessedOn, getRef_Order, getRef_Order_ID, getSalesRep, getSalesRep_ID, getShipDate, getTrackingNo, getUser1, getUser1_ID, getUser2, getUser2_ID, getVolume, getWeight, initPO, isApproved, isDelivered, isDropShip, isInDispute, isInTransit, isPosted, isPrinted, isProcessed, isProcessing, isSelected, 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, setCreatePackage, setDateOrdered, setDatePrinted, setDatePromised, setDateReceived, setDD_Order_ID, setDD_Order_UU, setDeliveryRule, setDeliveryViaRule, setDescription, setDocStatus, setDocumentNo, setFreightAmt, setFreightCostRule, setGenerateTo, setIsApproved, setIsDelivered, setIsDropShip, setIsInDispute, setIsInTransit, setIsPrinted, setIsSelected, setIsSOTrx, setM_Shipper_ID, setM_Warehouse_ID, setNoPackages, setPickDate, setPOReference, setPosted, setPriorityRule, setProcessedOn, setProcessing, setRef_Order_ID, setSalesRep_ID, setSendEMail, setShipDate, setTrackingNo, 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, 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, getCtx, getDocAction, getDocStatus, getDocumentNo, save, saveEx, setDocStatus
-
Methods inherited from interface org.eevolution.model.I_DD_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
-
-
-
-
Constructor Detail
-
MDDOrder
public MDDOrder(Properties ctx, int DD_Order_ID, String trxName)
Default Constructor- Parameters:
ctx
- contextDD_Order_ID
- order to load, (0 create new order)trxName
- trx name
-
MDDOrder
public MDDOrder(MProject project, boolean IsSOTrx, String DocSubTypeSO)
Project Constructor- Parameters:
project
- Project to create Order fromIsSOTrx
- sales orderDocSubTypeSO
- if SO DocType Target (default DocSubTypeSO_OnCredit)
-
MDDOrder
public MDDOrder(Properties ctx, ResultSet rs, String trxName)
Load Constructor- Parameters:
ctx
- contextrs
- result set recordtrxName
- transaction
-
-
Method Detail
-
copyFrom
public static MDDOrder copyFrom(MDDOrder 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:
- Distribution Order
-
addDescription
public void addDescription(String description)
Add to Description- Parameters:
description
- text
-
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
-
setBPartner
public void setBPartner(MBPartner bp)
Set Business Partner Defaults and Details. SOTrx should be set.- Parameters:
bp
- business partner
-
copyLinesFrom
public int copyLinesFrom(MDDOrder otherOrder, boolean counter, boolean copyASI)
Copy Lines From other Order- Parameters:
otherOrder
- ordercounter
- set counter infocopyASI
- copy line attributes Attribute Set Instance, Resource Assignment- Returns:
- number of lines copied
-
toString
public String toString()
String Representation- Overrides:
toString
in classX_DD_Order
- Returns:
- info
-
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
-
getLines
public MDDOrderLine[] 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 MDDOrderLine[] getLines(boolean requery, String orderBy)
Get Lines of Order- Parameters:
requery
- requeryorderBy
- optional order by column- Returns:
- lines
-
getLines
public MDDOrderLine[] getLines()
Get Lines of Order. (useb by web store)- Returns:
- lines
-
renumberLines
public void renumberLines(int step)
Renumber Lines- Parameters:
step
- start and step
-
getMovement
public MMovement[] getMovement()
Get Shipments of Order- Returns:
- shipments
-
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_DD_Order
- Overrides:
setDocAction
in classX_DD_Order
- Parameters:
DocAction
- doc action
-
setProcessed
public void setProcessed(boolean processed)
Set Processed. Propergate to Lines/Taxes- Specified by:
setProcessed
in interfaceI_DD_Order
- Overrides:
setProcessed
in classX_DD_Order
- Parameters:
processed
- processed
-
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
-
setDocAction
public void setDocAction(String DocAction, boolean forceCreation)
Set DocAction- Parameters:
DocAction
- doc octionforceCreation
- force creation
-
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
-
reserveStock
public void reserveStock(MDDOrderLine[] lines)
Reserve Inventory. Counterpart: MMovement.completeIt()- Parameters:
lines
- distribution order lines (ordered by M_Product_ID for deadlock prevention)
-
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 ..)
-
voidIt
public boolean voidIt()
Void Document. Set Qtys to 0 - Sales: reverse all documents
-
closeIt
public boolean closeIt()
Close Document. Cancel not delivered Qunatities
-
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()
Description copied from interface:DocAction
Get Document Approval Amount- Specified by:
getApprovalAmt
in interfaceDocAction
- Returns:
- amount
-
getC_Currency_ID
public int getC_Currency_ID()
Description copied from interface:DocAction
Get Document Currency- Specified by:
getC_Currency_ID
in interfaceDocAction
- Returns:
- C_Currency_ID
-
isComplete
public boolean isComplete()
Document Status is Complete or Closed- Returns:
- true if CO, CL or RE
-
-