Adempiere 3.5.2a

org.compiere.model
Class MInOut

java.lang.Object
  extended by org.compiere.model.PO
      extended by org.compiere.model.X_M_InOut
          extended by org.compiere.model.MInOut
All Implemented Interfaces:
Serializable, Comparator, I_M_InOut, I_Persistent, DocAction, Evaluatee

public class MInOut
extends X_M_InOut
implements DocAction

Shipment 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
  • FR [ 1948157 ] Is necessary the reference for document reverse
  • See Also:
    http://sourceforge.net/tracker/?func=detail&atid=879335&aid=1948157&group_id=176962, Serialized Form

    Field Summary
     
    Fields inherited from class org.compiere.model.X_M_InOut
    AD_ORGTRX_ID_AD_Reference_ID, C_CHARGE_ID_AD_Reference_ID, C_DOCTYPE_ID_AD_Reference_ID, DELIVERYRULE_AD_Reference_ID, DELIVERYRULE_AfterReceipt, 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, 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, REVERSAL_ID_AD_Reference_ID, SALESREP_ID_AD_Reference_ID, USER1_ID_AD_Reference_ID, USER2_ID_AD_Reference_ID
     
    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, 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_ReOpen, ACTION_Reverse_Accrual, ACTION_Reverse_Correct, ACTION_Unlock, ACTION_Void, ACTION_WaitComplete, AD_REFERENCE_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_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_CreateFrom, COLUMNNAME_CreatePackage, COLUMNNAME_DateAcct, COLUMNNAME_DateOrdered, COLUMNNAME_DatePrinted, COLUMNNAME_DateReceived, COLUMNNAME_DeliveryRule, COLUMNNAME_DeliveryViaRule, COLUMNNAME_Description, COLUMNNAME_DocAction, COLUMNNAME_DocStatus, COLUMNNAME_DocumentNo, COLUMNNAME_FreightAmt, COLUMNNAME_FreightCostRule, COLUMNNAME_GenerateTo, COLUMNNAME_IsApproved, COLUMNNAME_IsInDispute, COLUMNNAME_IsInTransit, COLUMNNAME_IsPrinted, COLUMNNAME_IsSOTrx, COLUMNNAME_M_InOut_ID, 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_Processing, COLUMNNAME_Ref_InOut_ID, COLUMNNAME_Reversal_ID, COLUMNNAME_SalesRep_ID, COLUMNNAME_SendEMail, COLUMNNAME_ShipDate, COLUMNNAME_TrackingNo, COLUMNNAME_User1_ID, COLUMNNAME_User2_ID, COLUMNNAME_Volume, COLUMNNAME_Weight, Model, Table_ID, Table_Name
     
    Constructor Summary
    MInOut(MInOut original, int C_DocTypeShipment_ID, Timestamp movementDate)
              Copy Constructor - create header only
    MInOut(MInvoice invoice, int C_DocTypeShipment_ID, Timestamp movementDate, int M_Warehouse_ID)
              Invoice Constructor - create header only
    MInOut(MOrder order, int C_DocTypeShipment_ID, Timestamp movementDate)
              Order Constructor - create header only
    MInOut(Properties ctx, int M_InOut_ID, String trxName)
              Standard Constructor
    MInOut(Properties ctx, ResultSet rs, String trxName)
              Load Constructor
     
    Method Summary
     void addDescription(String description)
              Add to Description
    protected  boolean afterSave(boolean newRecord, boolean success)
              After Save
     boolean approveIt()
              Approve Document
    protected  boolean beforeSave(boolean newRecord)
              Before Save
     boolean closeIt()
              Close Document.
     String completeIt()
              Complete Document
    static MInOut copyFrom(MInOut from, Timestamp dateDoc, int C_DocType_ID, boolean isSOTrx, boolean counter, String trxName, boolean setOrder)
              Create new Shipment by copying
     int copyLinesFrom(MInOut otherShipment, boolean counter, boolean setOrder)
              Copy Lines From other Shipment
     void createConfirmation()
              Create the missing next Confirmation
    static MInOut createFrom(MOrder order, Timestamp movementDate, boolean forceDelivery, boolean allAttributeInstances, Timestamp minGuaranteeDate, boolean complete, String trxName)
              Create Shipment From Order
     File createPDF()
              Create PDF
     File createPDF(File file)
              Create PDF file
     BigDecimal getApprovalAmt()
              Get Document Approval Amount
     MBPartner getBPartner()
              Get BPartner
     int getC_Currency_ID()
              Get C_Currency_ID
     MInOutConfirm[] getConfirmations(boolean requery)
              Get Confirmations
     int getDoc_User_ID()
              Get Document Owner (Responsible)
     String getDocStatusName()
              Get Document Status
     String getDocumentInfo()
              Get Document Info
     MInOutLine[] getLines()
              Get Lines of Shipment
     MInOutLine[] getLines(boolean requery)
              Get Lines of Shipment
     String getProcessMsg()
              Get Process Message
     String getSummary()
              Get Summary
     boolean invalidateIt()
              Invalidate Document
     boolean isComplete()
              Document Status is Complete or Closed
     String prepareIt()
              Prepare Document
     boolean processIt(String processAction)
              Process document
     boolean reActivateIt()
              Re-activate
     boolean rejectIt()
              Reject Approval
     boolean reverseAccrualIt()
              Reverse Accrual - none
     boolean reverseCorrectIt()
              Reverse Correction - same date
     void setBPartner(MBPartner bp)
              Set Business Partner Defaults & Details
     void setC_DocType_ID()
              Set Default C_DocType_ID.
     void setC_DocType_ID(String DocBaseType)
              Set Document Type
     void setM_Warehouse_ID(int M_Warehouse_ID)
              Set Warehouse and check/set Organization
     void setProcessed(boolean processed)
              Set Processed.
     String toString()
              String representation
     boolean unlockIt()
              Unlock Document.
     boolean voidIt()
              Void Document.
     
    Methods inherited from class org.compiere.model.X_M_InOut
    get_AccessLevel, getAD_OrgTrx_ID, getAD_User_ID, getAD_User, getC_Activity_ID, getC_Activity, getC_BPartner_ID, getC_BPartner_Location_ID, getC_BPartner_Location, getC_BPartner, getC_Campaign_ID, getC_Campaign, getC_Charge_ID, getC_DocType_ID, getC_Invoice_ID, getC_Invoice, getC_Order_ID, getC_Order, getC_Project_ID, getC_Project, getChargeAmt, getCreateConfirm, getCreateFrom, getCreatePackage, getDateAcct, getDateOrdered, getDatePrinted, getDateReceived, getDeliveryRule, getDeliveryViaRule, getDescription, getDocAction, getDocStatus, getDocumentNo, getFreightAmt, getFreightCostRule, getGenerateTo, getKeyNamePair, getM_InOut_ID, getM_RMA_ID, getM_RMA, getM_Shipper_ID, getM_Shipper, getM_Warehouse_ID, getM_Warehouse, getMovementDate, getMovementType, getNoPackages, getPickDate, getPOReference, getPriorityRule, getRef_InOut_ID, getReversal_ID, getSalesRep_ID, getShipDate, getTrackingNo, getUser1_ID, getUser2_ID, getVolume, getWeight, initPO, isApproved, 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, setCreatePackage, setDateAcct, setDateOrdered, setDatePrinted, setDateReceived, setDeliveryRule, setDeliveryViaRule, setDescription, setDocAction, setDocStatus, setDocumentNo, setFreightAmt, setFreightCostRule, setGenerateTo, setIsApproved, setIsInDispute, setIsInTransit, setIsPrinted, setIsSOTrx, setM_InOut_ID, setM_RMA_ID, setM_Shipper_ID, setMovementDate, setMovementType, setNoPackages, setPickDate, setPOReference, setPosted, setPriorityRule, setProcessing, setRef_InOut_ID, setReversal_ID, setSalesRep_ID, setSendEMail, setShipDate, setTrackingNo, setUser1_ID, setUser2_ID, setVolume, setWeight
     
    Methods inherited from class org.compiere.model.PO
    afterDelete, beforeDelete, compare, copyValues, copyValues, createAttachment, delete_Accounting, delete_Tree, delete, delete, deleteEx, deleteEx, dump, dump, equals, 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_Table_ID, get_TableName, get_Translation, get_TrxName, get_Value, get_Value, get_ValueAsInt, get_ValueAsString, get_ValueDifference, get_ValueDifference, get_ValueE, get_ValueOfColumn, get_ValueOld, get_ValueOld, get_ValueOldAsInt, get_WhereClause, get_xmlDocument, get_xmlString, getAD_Client_ID, getAD_Org_ID, getAllIDs, getAttachment, getAttachment, getAttachmentData, getCreated, getCreatedBy, getCtx, getDoc, getFindParameter, getPdfAttachment, getUpdated, getUpdatedBy, insert_Accounting, insert_Tree, insert_Tree, is_Changed, is_new, is_ValueChanged, is_ValueChanged, isActive, isAttachment, isColumnMandatory, isColumnUpdateable, isMandatoryOK, isPdfAttachment, isReplication, load, load, load, load, loadComplete, loadDefaults, loadSpecial, lock, save, save, saveEx, saveEx, saveNew_getID, saveNewSpecial, saveReplica, saveUpdate, set_ColumnUpdateable, set_CustomColumn, set_TrxName, set_TrxName, set_Value, set_Value, set_ValueE, set_ValueNoCheck, set_ValueNoCheckE, set_ValueOfColumn, set_ValueOfColumn, setAD_Client_ID, setAD_Org_ID, setClientOrg, setClientOrg, setDoc, setDocWorkflowMgr, setIsActive, setReplication, setStandardDefaults, setUpdateable, setUpdatedBy, unlock
     
    Methods inherited from class java.lang.Object
    clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
     
    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, setDocStatus
     
    Methods inherited from interface org.compiere.model.I_Persistent
    save
     

    Constructor Detail

    MInOut

    public MInOut(Properties ctx,
                  int M_InOut_ID,
                  String trxName)
    Standard Constructor

    Parameters:
    ctx - context
    M_InOut_ID -
    trxName - rx name

    MInOut

    public MInOut(Properties ctx,
                  ResultSet rs,
                  String trxName)
    Load Constructor

    Parameters:
    ctx - context
    rs - result set record
    trxName - transaction

    MInOut

    public MInOut(MOrder order,
                  int C_DocTypeShipment_ID,
                  Timestamp movementDate)
    Order Constructor - create header only

    Parameters:
    order - order
    movementDate - 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 - invoice
    C_DocTypeShipment_ID - document type or 0
    movementDate - optional movement date (default today)
    M_Warehouse_ID - warehouse

    MInOut

    public MInOut(MInOut original,
                  int C_DocTypeShipment_ID,
                  Timestamp movementDate)
    Copy Constructor - create header only

    Parameters:
    original - original
    movementDate - optional movement date (default today)
    C_DocTypeShipment_ID - document type or 0
    Method Detail

    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 - order
    movementDate - optional movement date
    forceDelivery - ignore order delivery rule
    allAttributeInstances - if true, all attribute set instances
    minGuaranteeDate - optional minimum guarantee date if all attribute instances
    complete - complete document (Process if false, Complete if true)
    trxName - transaction
    Returns:
    Shipment or null

    copyFrom

    public static MInOut copyFrom(MInOut from,
                                  Timestamp dateDoc,
                                  int C_DocType_ID,
                                  boolean isSOTrx,
                                  boolean counter,
                                  String trxName,
                                  boolean setOrder)
    Create new Shipment by copying

    Parameters:
    from - shipment
    dateDoc - date of the document date
    C_DocType_ID - doc type
    isSOTrx - sales order
    counter - create counter links
    trxName - trx
    setOrder - set the order link
    Returns:
    Shipment

    getDocStatusName

    public String getDocStatusName()
    Get Document Status

    Returns:
    Document Status Clear Text

    addDescription

    public void addDescription(String description)
    Add to Description

    Parameters:
    description - text

    toString

    public String toString()
    String representation

    Overrides:
    toString in class X_M_InOut
    Returns:
    info

    getDocumentInfo

    public String getDocumentInfo()
    Get Document Info

    Specified by:
    getDocumentInfo in interface DocAction
    Returns:
    document info (untranslated)

    createPDF

    public File createPDF()
    Create PDF

    Specified by:
    createPDF in interface DocAction
    Returns:
    File or null

    createPDF

    public File createPDF(File file)
    Create PDF file

    Parameters:
    file - output file
    Returns:
    file if success

    getLines

    public MInOutLine[] getLines(boolean requery)
    Get Lines of Shipment

    Parameters:
    requery - refresh from db
    Returns:
    lines

    getLines

    public MInOutLine[] getLines()
    Get Lines of Shipment

    Returns:
    lines

    getConfirmations

    public MInOutConfirm[] getConfirmations(boolean requery)
    Get Confirmations

    Parameters:
    requery - requery
    Returns:
    array of Confirmations

    copyLinesFrom

    public int copyLinesFrom(MInOut otherShipment,
                             boolean counter,
                             boolean setOrder)
    Copy Lines From other Shipment

    Parameters:
    otherShipment - shipment
    counter - set counter info
    setOrder - set order link
    Returns:
    number of lines copied

    setProcessed

    public void setProcessed(boolean processed)
    Set Processed. Propergate to Lines/Taxes

    Specified by:
    setProcessed in interface I_M_InOut
    Overrides:
    setProcessed in class X_M_InOut
    Parameters:
    processed - processed

    getBPartner

    public MBPartner getBPartner()
    Get BPartner

    Returns:
    partner

    setC_DocType_ID

    public void setC_DocType_ID(String DocBaseType)
    Set Document Type

    Parameters:
    DocBaseType - doc type MDocType.DOCBASETYPE_

    setC_DocType_ID

    public void setC_DocType_ID()
    Set Default C_DocType_ID. Based on SO flag


    setBPartner

    public void setBPartner(MBPartner bp)
    Set Business Partner Defaults & Details

    Parameters:
    bp - business partner

    createConfirmation

    public void createConfirmation()
    Create the missing next Confirmation


    setM_Warehouse_ID

    public void setM_Warehouse_ID(int M_Warehouse_ID)
    Set Warehouse and check/set Organization

    Specified by:
    setM_Warehouse_ID in interface I_M_InOut
    Overrides:
    setM_Warehouse_ID in class X_M_InOut
    Parameters:
    M_Warehouse_ID - id

    beforeSave

    protected boolean beforeSave(boolean newRecord)
    Before Save

    Overrides:
    beforeSave in class PO
    Parameters:
    newRecord - new
    Returns:
    true or false

    afterSave

    protected boolean afterSave(boolean newRecord,
                                boolean success)
    After Save

    Overrides:
    afterSave in class PO
    Parameters:
    newRecord - new
    success - success
    Returns:
    success

    processIt

    public boolean processIt(String processAction)
    Process document

    Specified by:
    processIt in interface DocAction
    Parameters:
    processAction - document action
    Returns:
    true if performed

    unlockIt

    public boolean unlockIt()
    Unlock Document.

    Specified by:
    unlockIt in interface DocAction
    Returns:
    true if success

    invalidateIt

    public boolean invalidateIt()
    Invalidate Document

    Specified by:
    invalidateIt in interface DocAction
    Returns:
    true if success

    prepareIt

    public String prepareIt()
    Prepare Document

    Specified by:
    prepareIt in interface DocAction
    Returns:
    new status (In Progress or Invalid)

    approveIt

    public boolean approveIt()
    Approve Document

    Specified by:
    approveIt in interface DocAction
    Returns:
    true if success

    rejectIt

    public boolean rejectIt()
    Reject Approval

    Specified by:
    rejectIt in interface DocAction
    Returns:
    true if success

    completeIt

    public String completeIt()
    Complete Document

    Specified by:
    completeIt in interface DocAction
    Returns:
    new status (Complete, In Progress, Invalid, Waiting ..)

    voidIt

    public boolean voidIt()
    Void Document.

    Specified by:
    voidIt in interface DocAction
    Returns:
    true if success

    closeIt

    public boolean closeIt()
    Close Document.

    Specified by:
    closeIt in interface DocAction
    Returns:
    true if success

    reverseCorrectIt

    public boolean reverseCorrectIt()
    Reverse Correction - same date

    Specified by:
    reverseCorrectIt in interface DocAction
    Returns:
    true if success

    reverseAccrualIt

    public boolean reverseAccrualIt()
    Reverse Accrual - none

    Specified by:
    reverseAccrualIt in interface DocAction
    Returns:
    false

    reActivateIt

    public boolean reActivateIt()
    Re-activate

    Specified by:
    reActivateIt in interface DocAction
    Returns:
    false

    getSummary

    public String getSummary()
    Get Summary

    Specified by:
    getSummary in interface DocAction
    Returns:
    Summary of Document

    getProcessMsg

    public String getProcessMsg()
    Get Process Message

    Specified by:
    getProcessMsg in interface DocAction
    Returns:
    clear text error message

    getDoc_User_ID

    public int getDoc_User_ID()
    Get Document Owner (Responsible)

    Specified by:
    getDoc_User_ID in interface DocAction
    Returns:
    AD_User_ID

    getApprovalAmt

    public BigDecimal getApprovalAmt()
    Get Document Approval Amount

    Specified by:
    getApprovalAmt in interface DocAction
    Returns:
    amount

    getC_Currency_ID

    public int getC_Currency_ID()
    Get C_Currency_ID

    Specified by:
    getC_Currency_ID in interface DocAction
    Returns:
    Accounting Currency

    isComplete

    public boolean isComplete()
    Document Status is Complete or Closed

    Returns:
    true if CO, CL or RE

    Adempiere 3.5.2a

    Adempiere® is a registered trademark of ADempiere Business Inc. ©2004-2008 HumanFlash.com All rights reserved.