Package org.compiere.model
Class MProduction
java.lang.Object
org.compiere.model.PO
org.compiere.model.X_M_Production
org.compiere.model.MProduction
- All Implemented Interfaces:
Serializable
,Cloneable
,Comparator<Object>
,I_M_Production
,I_Persistent
,DocAction
,Evaluatee
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionprotected int
protected int
protected boolean
Just Prepared Flagprotected static CLogger
Logprotected String
Process MessageFields inherited from class org.compiere.model.X_M_Production
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, ISCREATED_AD_Reference_ID, ISCREATED_No, ISCREATED_Yes
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_Production
accessLevel, COLUMNNAME_AD_Client_ID, COLUMNNAME_AD_Org_ID, COLUMNNAME_AD_OrgTrx_ID, COLUMNNAME_C_Activity_ID, COLUMNNAME_C_BPartner_ID, COLUMNNAME_C_Campaign_ID, COLUMNNAME_C_DocType_ID, COLUMNNAME_C_OrderLine_ID, COLUMNNAME_C_Project_ID, COLUMNNAME_C_ProjectPhase_ID, COLUMNNAME_C_ProjectTask_ID, COLUMNNAME_Created, COLUMNNAME_CreatedBy, COLUMNNAME_CreateFrom, COLUMNNAME_DatePromised, COLUMNNAME_Description, COLUMNNAME_DocAction, COLUMNNAME_DocStatus, COLUMNNAME_DocumentNo, COLUMNNAME_IsActive, COLUMNNAME_IsComplete, COLUMNNAME_IsCreated, COLUMNNAME_IsUseProductionPlan, COLUMNNAME_M_InOutLine_ID, COLUMNNAME_M_Locator_ID, COLUMNNAME_M_Product_ID, COLUMNNAME_M_Production_ID, COLUMNNAME_M_Production_UU, COLUMNNAME_MovementDate, COLUMNNAME_Name, COLUMNNAME_Posted, COLUMNNAME_PP_Product_BOM_ID, COLUMNNAME_Processed, COLUMNNAME_ProcessedOn, COLUMNNAME_Processing, COLUMNNAME_ProductionQty, COLUMNNAME_Reversal_ID, COLUMNNAME_Updated, COLUMNNAME_UpdatedBy, COLUMNNAME_User1_ID, COLUMNNAME_User2_ID, Model, Table_ID, Table_Name
-
Constructor Summary
ConstructorDescriptionMProduction
(Properties ctx, int M_Production_ID, String trxName) MProduction
(Properties ctx, int M_Production_ID, String trxName, String... virtualColumns) MProduction
(Properties ctx, String M_Production_UU, String trxName) UUID based ConstructorMProduction
(Properties ctx, ResultSet rs, String trxName) MProduction
(MOrderLine line) Create new production with client, organization and date promised (as movement date) from order line.MProduction
(MProjectLine line) Create new production for project line -
Method Summary
Modifier and TypeMethodDescriptionvoid
addDescription
(String description) Add to Descriptionboolean
Approve Documentprotected boolean
Execute before Delete operations.
Default implementation is nop, to be implemented in sub-classes that needed it.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.boolean
closeIt()
Close DocumentComplete Documentprotected MProduction
Create new production from this production (including lines)protected boolean
costsOK
(int M_Product_ID) Cost validation for BOM product using standard costing method.
- has cost
- difference between current product cost and sum of component cost is less than 0.005.int
createLines
(boolean mustBeStocked) Create production linesint
createLines
(boolean mustBeStocked, int PP_Product_BOM_ID) Create production lineprotected int
createLines
(boolean mustBeStocked, MProduct finishedProduct, BigDecimal requiredQty, int PP_Product_BOM_ID) Create production lineCreate PDFvoid
deleteLines
(String trxName) Delete all production linesGet Document Approval Amountint
Get Document Currencyint
Get Document OwnerGet Document InfogetLines()
Get production linesGet Process Message from last execution of a document actionGet Summaryboolean
Invalidate Documentprotected String
isBom
(int M_Product_ID) Validate product has valid BOMboolean
Document Status is Complete, Closed or ReversedPrepare Document for a document actionboolean
Process document with document actionprotected Object
processLines
(MProductionLine[] lines) Process production lines - create material transactionboolean
Re-activate (typically from Complete to In Progress)boolean
rejectIt()
Reject Approvalprotected MProduction
reverse
(boolean accrual) Reverse this production documentboolean
Reverse Accrualboolean
Reverse Correctionprotected void
Set the definite document number after completedboolean
unlockIt()
Unlock Document.validateEndProduct
(int M_Product_ID) boolean
voidIt()
Void DocumentMethods inherited from class org.compiere.model.X_M_Production
get_AccessLevel, getAD_OrgTrx_ID, getC_Activity, getC_Activity_ID, getC_BPartner, getC_BPartner_ID, getC_Campaign, getC_Campaign_ID, getC_DocType, getC_DocType_ID, getC_OrderLine, getC_OrderLine_ID, getC_Project, getC_Project_ID, getC_ProjectPhase, getC_ProjectPhase_ID, getC_ProjectTask, getC_ProjectTask_ID, getCreateFrom, getDatePromised, getDescription, getDocAction, getDocStatus, getDocumentNo, getIsCreated, getKeyNamePair, getM_InOutLine, getM_InOutLine_ID, getM_Locator, getM_Locator_ID, getM_Product, getM_Product_ID, getM_Production_ID, getM_Production_UU, getMovementDate, getName, getPP_Product_BOM, getPP_Product_BOM_ID, getProcessedOn, getProductionQty, getReversal, getReversal_ID, getUser1, getUser1_ID, getUser2, getUser2_ID, initPO, isComplete, isPosted, isProcessed, isProcessing, isUseProductionPlan, setAD_OrgTrx_ID, setC_Activity_ID, setC_BPartner_ID, setC_Campaign_ID, setC_DocType_ID, setC_OrderLine_ID, setC_Project_ID, setC_ProjectPhase_ID, setC_ProjectTask_ID, setCreateFrom, setDatePromised, setDescription, setDocAction, setDocStatus, setDocumentNo, setIsComplete, setIsCreated, setIsUseProductionPlan, setM_InOutLine_ID, setM_Locator_ID, setM_Product_ID, setM_Production_ID, setM_Production_UU, setMovementDate, setName, setPosted, setPP_Product_BOM_ID, setProcessed, setProcessedOn, setProcessing, setProductionQty, setReversal_ID, setUser1_ID, setUser2_ID, toString
Methods inherited from class org.compiere.model.PO
afterDelete, afterSave, 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_Production
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
-
m_log
Log -
lineno
protected int lineno -
count
protected int count -
m_processMsg
Process Message -
m_justPrepared
protected boolean m_justPreparedJust Prepared Flag
-
-
Constructor Details
-
MProduction
UUID based Constructor- Parameters:
ctx
- ContextM_Production_UU
- UUID keytrxName
- Transaction
-
MProduction
- Parameters:
ctx
-M_Production_ID
-trxName
-
-
MProduction
- Parameters:
ctx
-M_Production_ID
-trxName
-virtualColumns
-
-
MProduction
- Parameters:
ctx
-rs
-trxName
-
-
MProduction
Create new production with client, organization and date promised (as movement date) from order line.- Parameters:
line
- order line
-
MProduction
Create new production for project line- Parameters:
line
- project line
-
-
Method Details
-
completeIt
Description copied from interface:DocAction
Complete Document- Specified by:
completeIt
in interfaceDocAction
- Returns:
- new status (Complete, In Progress, Invalid, Waiting ..)
-
setDefiniteDocumentNo
protected void setDefiniteDocumentNo()Set the definite document number after completed -
processLines
Process production lines - create material transaction- Parameters:
lines
-- Returns:
- error message or empty string
-
getLines
Get production lines- Returns:
- array of MProductionLine
-
deleteLines
Delete all production lines- Parameters:
trxName
-
-
createLines
public int createLines(boolean mustBeStocked) Create production lines- Parameters:
mustBeStocked
- true to verify BOM component has sufficient on hand- Returns:
- number of line created
-
createLines
public int createLines(boolean mustBeStocked, int PP_Product_BOM_ID) Create production line- Parameters:
mustBeStocked
- true to verify BOM component has sufficient on handPP_Product_BOM_ID
- optional BOM ID. 0 to use default product BOM- Returns:
- number of line created
-
createLines
protected int createLines(boolean mustBeStocked, MProduct finishedProduct, BigDecimal requiredQty, int PP_Product_BOM_ID) Create production line- Parameters:
mustBeStocked
- true to verify BOM component has sufficient on handfinishedProduct
- end productrequiredQty
-PP_Product_BOM_ID
- optional BOM ID. 0 to use default product BOM- Returns:
- number of line created
-
beforeDelete
protected boolean beforeDelete()Description copied from class:PO
Execute before Delete operations.
Default implementation is nop, to be implemented in sub-classes that needed it.- Overrides:
beforeDelete
in classPO
- Returns:
- true if record can be deleted
-
processIt
Description copied from interface:DocAction
Process document with document action -
unlockIt
public boolean unlockIt()Description copied from interface:DocAction
Unlock Document. -
invalidateIt
public boolean invalidateIt()Description copied from interface:DocAction
Invalidate Document- Specified by:
invalidateIt
in interfaceDocAction
- Returns:
- true if success
-
prepareIt
Description copied from interface:DocAction
Prepare Document for a document action -
validateEndProduct
- Parameters:
M_Product_ID
-- Returns:
- error message (if any) or null
-
isBom
Validate product has valid BOM- Parameters:
M_Product_ID
-- Returns:
- error message or null
-
costsOK
Cost validation for BOM product using standard costing method.
- has cost
- difference between current product cost and sum of component cost is less than 0.005.- Parameters:
M_Product_ID
-- Returns:
- true if cost is ok
- Throws:
AdempiereUserError
-
approveIt
public boolean approveIt()Description copied from interface:DocAction
Approve Document -
rejectIt
public boolean rejectIt()Description copied from interface:DocAction
Reject Approval -
voidIt
public boolean voidIt()Description copied from interface:DocAction
Void Document -
closeIt
public boolean closeIt()Description copied from interface:DocAction
Close Document -
reverseCorrectIt
public boolean reverseCorrectIt()Description copied from interface:DocAction
Reverse Correction- Specified by:
reverseCorrectIt
in interfaceDocAction
- Returns:
- true if success
-
reverse
Reverse this production document- Parameters:
accrual
- true to use current date, false to use this production's movement date- Returns:
- reversal production record
-
copyFrom
Create new production from this production (including lines)- Parameters:
reversalDate
- movement date- Returns:
- new production record
-
addDescription
Add to Description- Parameters:
description
- text
-
reverseAccrualIt
public boolean reverseAccrualIt()Description copied from interface:DocAction
Reverse Accrual- Specified by:
reverseAccrualIt
in interfaceDocAction
- Returns:
- true if success
-
reActivateIt
public boolean reActivateIt()Description copied from interface:DocAction
Re-activate (typically from Complete to In Progress)- Specified by:
reActivateIt
in interfaceDocAction
- Returns:
- true if success
-
getSummary
Description copied from interface:DocAction
Get Summary- Specified by:
getSummary
in interfaceDocAction
- Returns:
- Summary of Document
-
getDocumentInfo
Description copied from interface:DocAction
Get Document Info- Specified by:
getDocumentInfo
in interfaceDocAction
- Returns:
- Type and Document No
-
createPDF
Description copied from interface:DocAction
Create PDF -
getProcessMsg
Description copied from interface:DocAction
Get Process Message from last execution of a document action- Specified by:
getProcessMsg
in interfaceDocAction
- Returns:
- clear text message
-
getDoc_User_ID
public int getDoc_User_ID()Description copied from interface:DocAction
Get Document Owner- Specified by:
getDoc_User_ID
in interfaceDocAction
- Returns:
- AD_User_ID
-
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
-
getApprovalAmt
Description copied from interface:DocAction
Get Document Approval Amount- Specified by:
getApprovalAmt
in interfaceDocAction
- Returns:
- amount
-
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
-
isStatusComplete
public boolean isStatusComplete()Document Status is Complete, Closed or Reversed- Returns:
- true if CO, CL or RE
-