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
FieldsModifier and TypeFieldDescriptionprotected intprotected intprotected booleanJust Prepared Flagprotected static CLoggerLogprotected StringProcess 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_YesFields 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_IDFields 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_WaitingPaymentFields 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_CostCenter_ID, COLUMNNAME_C_Department_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
ConstructorsConstructorDescriptionMProduction(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 TypeMethodDescriptionvoidaddDescription(String description) Add to DescriptionbooleanApprove Documentprotected booleanExecute before Delete operations.
Default implementation is nop, to be implemented in sub-classes that needed it.protected booleanbeforeSave(boolean newRecord) Called before Save for Pre-Save Operation.
Default implementation is nop, to be implemented in sub-classes that needed it.booleancloseIt()Close DocumentComplete Documentprotected MProductionCreate new production from this production (including lines)protected booleancostsOK(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.intcreateLines(boolean mustBeStocked) Create production linesintcreateLines(boolean mustBeStocked, int PP_Product_BOM_ID) Create production lineprotected intcreateLines(boolean mustBeStocked, MProduct finishedProduct, BigDecimal requiredQty, int PP_Product_BOM_ID) Create production lineCreate PDFvoiddeleteLines(String trxName) Delete all production linesGet Document Approval AmountintGet Document CurrencyintGet Document OwnerGet Document InfogetLines()Get production linesGet Process Message from last execution of a document actionGet SummarybooleanInvalidate Documentprotected StringisBom(int M_Product_ID) Validate product has valid BOMbooleanDocument Status is Complete, Closed or ReversedPrepare Document for a document actionbooleanProcess document with document actionprotected ObjectprocessLines(MProductionLine[] lines) Process production lines - create material transactionbooleanRe-activate (typically from Complete to In Progress)booleanrejectIt()Reject Approvalprotected MProductionreverse(boolean accrual) Reverse this production documentbooleanReverse AccrualbooleanReverse Correctionprotected voidSet the definite document number after completedbooleanunlockIt()Unlock Document.validateEndProduct(int M_Product_ID) booleanvoidIt()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_CostCenter, getC_CostCenter_ID, getC_Department, getC_Department_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_CostCenter_ID, setC_Department_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, toStringMethods 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_TableAttribute, get_TableAttributeAsBoolean, get_TableAttributeAsInt, get_TableAttributes, 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, validForeignKeysExMethods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface java.util.Comparator
reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLongMethods 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, setDocStatusMethods inherited from interface org.compiere.model.I_M_Production
getAD_Client_ID, getAD_Org_ID, getCreated, getCreatedBy, getUpdated, getUpdatedBy, isActive, setAD_Org_ID, setIsActiveMethods 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:DocActionComplete Document- Specified by:
completeItin 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:POExecute before Delete operations.
Default implementation is nop, to be implemented in sub-classes that needed it.- Overrides:
beforeDeletein classPO- Returns:
- true if record can be deleted
-
processIt
Description copied from interface:DocActionProcess document with document action -
unlockIt
public boolean unlockIt()Description copied from interface:DocActionUnlock Document. -
invalidateIt
public boolean invalidateIt()Description copied from interface:DocActionInvalidate Document- Specified by:
invalidateItin interfaceDocAction- Returns:
- true if success
-
prepareIt
Description copied from interface:DocActionPrepare 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:DocActionApprove Document -
rejectIt
public boolean rejectIt()Description copied from interface:DocActionReject Approval -
voidIt
public boolean voidIt()Description copied from interface:DocActionVoid Document -
closeIt
public boolean closeIt()Description copied from interface:DocActionClose Document -
reverseCorrectIt
public boolean reverseCorrectIt()Description copied from interface:DocActionReverse Correction- Specified by:
reverseCorrectItin 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:DocActionReverse Accrual- Specified by:
reverseAccrualItin interfaceDocAction- Returns:
- true if success
-
reActivateIt
public boolean reActivateIt()Description copied from interface:DocActionRe-activate (typically from Complete to In Progress)- Specified by:
reActivateItin interfaceDocAction- Returns:
- true if success
-
getSummary
Description copied from interface:DocActionGet Summary- Specified by:
getSummaryin interfaceDocAction- Returns:
- Summary of Document
-
getDocumentInfo
Description copied from interface:DocActionGet Document Info- Specified by:
getDocumentInfoin interfaceDocAction- Returns:
- Type and Document No
-
createPDF
Description copied from interface:DocActionCreate PDF -
getProcessMsg
Description copied from interface:DocActionGet Process Message from last execution of a document action- Specified by:
getProcessMsgin interfaceDocAction- Returns:
- clear text message
-
getDoc_User_ID
public int getDoc_User_ID()Description copied from interface:DocActionGet Document Owner- Specified by:
getDoc_User_IDin interfaceDocAction- Returns:
- AD_User_ID
-
getC_Currency_ID
public int getC_Currency_ID()Description copied from interface:DocActionGet Document Currency- Specified by:
getC_Currency_IDin interfaceDocAction- Returns:
- C_Currency_ID
-
getApprovalAmt
Description copied from interface:DocActionGet Document Approval Amount- Specified by:
getApprovalAmtin interfaceDocAction- Returns:
- amount
-
beforeSave
protected boolean beforeSave(boolean newRecord) Description copied from class:POCalled before Save for Pre-Save Operation.
Default implementation is nop, to be implemented in sub-classes that needed it.- Overrides:
beforeSavein 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
-