Package org.brerp.base.model
Class MCOFPPPlanoMestreProd
java.lang.Object
org.compiere.model.PO
org.brerp.base.model.X_COF_PP_PlanoMestreProd
org.brerp.base.model.MCOFPPPlanoMestreProd
- All Implemented Interfaces:
Serializable,Cloneable,Comparator<Object>,I_COF_PP_PlanoMestreProd,I_Persistent,DocAction,DocOptions,Evaluatee
public class MCOFPPPlanoMestreProd
extends X_COF_PP_PlanoMestreProd
implements DocAction, DocOptions
Classe de MOdelo para o Plano Mestre de Produção
Implementa diversas ações/validações relacionadas a ação do documento (Completar, Rejeitar, etc)
- Version:
- $Id: MCOFPPPlanoMestreProd.java, 26 de jan de 2017 18:00:06 coelho
- Author:
- coelho (leonardo.coelho@devcoffee.com.br>, http://www.devcoffee.com.br)
- See Also:
-
Field Summary
FieldsFields inherited from class org.brerp.base.model.X_COF_PP_PlanoMestreProd
COF_PRODUCTIONTYPE_Desmontagem, COF_PRODUCTIONTYPE_IndTerceiros, COF_PRODUCTIONTYPE_Outros, COF_PRODUCTIONTYPE_ProducaoInterna, COF_PRODUCTIONTYPE_Reclassificacao, COF_PRODUCTIONTYPE_ReprocessamentoReparo, 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_WaitingPaymentFields 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.brerp.base.model.I_COF_PP_PlanoMestreProd
accessLevel, COLUMNNAME_AD_Client_ID, COLUMNNAME_AD_Org_ID, COLUMNNAME_C_Activity_ID, COLUMNNAME_C_Campaign_ID, COLUMNNAME_C_DocType_ID, COLUMNNAME_COF_IsConsideradoEmSuprimento, COLUMNNAME_COF_PP_ConsideraHorasSetup, COLUMNNAME_COF_PP_DataAbertura, COLUMNNAME_COF_PP_DataEncerramentoPlano, COLUMNNAME_COF_PP_DataInicioPlano, COLUMNNAME_COF_PP_DataPrevistaEncerramento, COLUMNNAME_COF_PP_DistorcaoProducao, COLUMNNAME_COF_PP_Instrucoes, COLUMNNAME_COF_PP_LoteMinimo, COLUMNNAME_COF_PP_PerdaPorcentagem, COLUMNNAME_COF_PP_PerdaPorcentagemProduzida, COLUMNNAME_COF_PP_PlanoMestreProd_ID, COLUMNNAME_COF_PP_PlanoMestreProd_UU, COLUMNNAME_COF_PP_PMPPredecessor_ID, COLUMNNAME_COF_PP_PorcentagemRealizada, COLUMNNAME_COF_PP_QtdCiclo, COLUMNNAME_COF_PP_QtdHorasApontada, COLUMNNAME_COF_PP_QtdHorasTrabalho, COLUMNNAME_COF_PP_QtdParaConversao, COLUMNNAME_COF_PP_QtdProduzida, COLUMNNAME_COF_PP_QtdTotalHrsTrabalhadas, COLUMNNAME_COF_PP_QuantidadePerdaApontada, COLUMNNAME_COF_PP_QuantidadePlanejada, COLUMNNAME_COF_PP_RoteiroProd_ID, COLUMNNAME_COF_PP_SequenciaLinha, COLUMNNAME_cof_Processed, COLUMNNAME_cof_Processed2, COLUMNNAME_cof_Processing, COLUMNNAME_cof_Processing2, COLUMNNAME_cof_ProductionType, COLUMNNAME_Created, COLUMNNAME_CreatedBy, COLUMNNAME_Description, COLUMNNAME_DocAction, COLUMNNAME_DocStatus, COLUMNNAME_DocumentNo, COLUMNNAME_IsActive, COLUMNNAME_M_Locator_ID, COLUMNNAME_M_Product_ID, COLUMNNAME_Name, COLUMNNAME_PP_Product_BOM_ID, COLUMNNAME_Processed, COLUMNNAME_Processing, COLUMNNAME_Updated, COLUMNNAME_UpdatedBy, COLUMNNAME_User1_ID, Model, Table_ID, Table_Name -
Constructor Summary
ConstructorsConstructorDescriptionMCOFPPPlanoMestreProd(Properties ctx, int COF_PP_PlanoMestreProd_ID, String trxName) MCOFPPPlanoMestreProd(Properties ctx, int COF_PP_PlanoMestreProd_ID, String trxName, String... virtualColumns) MCOFPPPlanoMestreProd(Properties ctx, String COF_PP_PlanoMestreProd_UU, String trxName) MCOFPPPlanoMestreProd(Properties ctx, String COF_PP_PlanoMestreProd_UU, String trxName, String... virtualColumns) MCOFPPPlanoMestreProd(Properties ctx, ResultSet rs, String trxName) -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanafterSave(boolean newRecord, boolean success) Called after Save for Post-Save Operation.
Default implementation is nop, to be implemented in sub-classes that needed it.booleanApprove 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.voidTicket #4927 Calcula perda depois de completar o PMPvoidcalculaPerdaPorcentagem(BigDecimal qtdPerda) Ticket #4829 Calcula e seta o campo PerdaPorcentagem do PMPvoidcalculaPerdaPorcentagemProduzida(BigDecimal qtdPerda) Ticket #4829 Calcula e seta o campo PerdaPorcentagemProduzida do PMPstatic BigDecimalCalcula a quantidade de horas de Setup necessárias para realizar o Plano Mestre de ProduçãovoidCalcula a distorcao da Produção Subtrai a quantidade Planejada pela quantidade Produzida.booleancloseIt()Close DocumentComplete DocumentCreate PDFintcustomizeValidActions(String docStatus, Object processing, String orderType, String isSOTrx, int AD_Table_ID, String[] docAction, String[] options, int index) Customize Valid Document ActionsTraz todos os consumos vinculados ao PMPgetAllConsumoMp(int productId) getAllGestaoMP(int productId) Get Document Approval AmountintGet Document CurrencyintGet Document OwnerGet Document InfoPega todos os apontamento vinculados a este PMP Onde o atributo Record_ID for igual ao COF_PP_PlanoMestreProd_ID deste PMPGet Lines of OrdergetOps()Pega todas as Ops (M_Production) com o campo COF_PP_PlanoMestreProd_ID igual ao ID deste PMPGet Process Message from last execution of a document actionTicket #4829Get SummarybooleanCheca se tem algumas gestão vinculada ao php com uma movimentação de estoque atreladabooleanhasThisProductOnGestaoMP(int productId) booleanInvalidate DocumentPrepare Document for a document actionbooleanProcess documentbooleanRe-activate (typically from Complete to In Progress)booleanrejectIt()Reject ApprovalbooleanReverse AccrualbooleanReverse CorrectionbooleanunlockIt()Just Prepared FlagbooleanvoidIt()Void DocumentMethods inherited from class org.brerp.base.model.X_COF_PP_PlanoMestreProd
get_AccessLevel, getC_Activity, getC_Activity_ID, getC_Campaign, getC_Campaign_ID, getC_DocType, getC_DocType_ID, getCOF_PP_DataAbertura, getCOF_PP_DataEncerramentoPlano, getCOF_PP_DataInicioPlano, getCOF_PP_DataPrevistaEncerramento, getCOF_PP_DistorcaoProducao, getCOF_PP_Instrucoes, getCOF_PP_LoteMinimo, getCOF_PP_PerdaPorcentagem, getCOF_PP_PerdaPorcentagemProduzida, getCOF_PP_PlanoMestreProd_ID, getCOF_PP_PlanoMestreProd_UU, getCOF_PP_PMPPredecessor, getCOF_PP_PMPPredecessor_ID, getCOF_PP_PorcentagemRealizada, getCOF_PP_QtdCiclo, getCOF_PP_QtdHorasApontada, getCOF_PP_QtdHorasTrabalho, getCOF_PP_QtdParaConversao, getCOF_PP_QtdProduzida, getCOF_PP_QtdTotalHrsTrabalhadas, getCOF_PP_QuantidadePerdaApontada, getCOF_PP_QuantidadePlanejada, getCOF_PP_RoteiroProd, getCOF_PP_RoteiroProd_ID, getCOF_PP_SequenciaLinha, getcof_Processed, getcof_Processed2, getcof_Processing, getcof_Processing2, getcof_ProductionType, getDescription, getDocAction, getDocStatus, getDocumentNo, getKeyNamePair, getM_Locator, getM_Locator_ID, getM_Product, getM_Product_ID, getName, getPP_Product_BOM, getPP_Product_BOM_ID, getUser1, getUser1_ID, initPO, isCOF_IsConsideradoEmSuprimento, isCOF_PP_ConsideraHorasSetup, isProcessed, isProcessing, setC_Activity_ID, setC_Campaign_ID, setC_DocType_ID, setCOF_IsConsideradoEmSuprimento, setCOF_PP_ConsideraHorasSetup, setCOF_PP_DataAbertura, setCOF_PP_DataEncerramentoPlano, setCOF_PP_DataInicioPlano, setCOF_PP_DataPrevistaEncerramento, setCOF_PP_DistorcaoProducao, setCOF_PP_Instrucoes, setCOF_PP_LoteMinimo, setCOF_PP_PerdaPorcentagem, setCOF_PP_PerdaPorcentagemProduzida, setCOF_PP_PlanoMestreProd_ID, setCOF_PP_PlanoMestreProd_UU, setCOF_PP_PMPPredecessor_ID, setCOF_PP_PorcentagemRealizada, setCOF_PP_QtdCiclo, setCOF_PP_QtdHorasApontada, setCOF_PP_QtdHorasTrabalho, setCOF_PP_QtdParaConversao, setCOF_PP_QtdProduzida, setCOF_PP_QtdTotalHrsTrabalhadas, setCOF_PP_QuantidadePerdaApontada, setCOF_PP_QuantidadePlanejada, setCOF_PP_RoteiroProd_ID, setCOF_PP_SequenciaLinha, setcof_Processed, setcof_Processed2, setcof_Processing, setcof_Processing2, setcof_ProductionType, setDescription, setDocAction, setDocStatus, setDocumentNo, setM_Locator_ID, setM_Product_ID, setName, setPP_Product_BOM_ID, setProcessed, setProcessing, setUser1_ID, toStringMethods inherited from class org.compiere.model.PO
afterDelete, 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, 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.brerp.base.model.I_COF_PP_PlanoMestreProd
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
-
number60
-
number1000
-
-
Constructor Details
-
MCOFPPPlanoMestreProd
-
MCOFPPPlanoMestreProd
-
MCOFPPPlanoMestreProd
public MCOFPPPlanoMestreProd(Properties ctx, int COF_PP_PlanoMestreProd_ID, String trxName, String... virtualColumns) -
MCOFPPPlanoMestreProd
public MCOFPPPlanoMestreProd(Properties ctx, String COF_PP_PlanoMestreProd_UU, String trxName, String... virtualColumns) -
MCOFPPPlanoMestreProd
-
-
Method Details
-
getLines
Get Lines of Order- Parameters:
whereClause- where clause or null (starting with AND)orderClause- order clause- Returns:
- lines
-
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
-
afterSave
protected boolean afterSave(boolean newRecord, boolean success) Description copied from class:POCalled after Save for Post-Save Operation.
Default implementation is nop, to be implemented in sub-classes that needed it. -
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
Process document -
unlockIt
public boolean unlockIt()Just Prepared Flag -
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 -
approveIt
public boolean approveIt()Description copied from interface:DocActionApprove Document -
rejectIt
public boolean rejectIt()Description copied from interface:DocActionReject Approval -
completeIt
Description copied from interface:DocActionComplete Document- Specified by:
completeItin interfaceDocAction- Returns:
- new status (Complete, In Progress, Invalid, Waiting ..)
-
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
-
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
-
customizeValidActions
public int customizeValidActions(String docStatus, Object processing, String orderType, String isSOTrx, int AD_Table_ID, String[] docAction, String[] options, int index) Description copied from interface:DocOptionsCustomize Valid Document Actions- Specified by:
customizeValidActionsin interfaceDocOptions- Returns:
- End index of valid options[] (exclusive)
-
calcularDistorcaoProducao
public void calcularDistorcaoProducao()Calcula a distorcao da Produção Subtrai a quantidade Planejada pela quantidade Produzida. -
calculaQuantidadeHorasSetup
Calcula a quantidade de horas de Setup necessárias para realizar o Plano Mestre de Produção- Parameters:
roteiro-- Returns:
- (BigDecimal) resultado do cálculo
-
getOps
Pega todas as Ops (M_Production) com o campo COF_PP_PlanoMestreProd_ID igual ao ID deste PMP- Returns:
- ArrayList
-
getLabelEntries
Pega todos os apontamento vinculados a este PMP Onde o atributo Record_ID for igual ao COF_PP_PlanoMestreProd_ID deste PMP- Returns:
- ArrayList
-
calculaPerdaPorcentagem
Ticket #4829 Calcula e seta o campo PerdaPorcentagem do PMP- Parameters:
qtdPerda-
-
calculaPerdaPorcentagemProduzida
Ticket #4829 Calcula e seta o campo PerdaPorcentagemProduzida do PMP- Parameters:
qtdPerda-
-
getQuantidadeDePerdaInOps
Ticket #4829- Returns:
- quantidade de perda apontada no PMP
-
calculaQtdHorasApontadas
-
hasThisProductOnGestaoMP
public boolean hasThisProductOnGestaoMP(int productId) - Parameters:
productId- - ID do produto a ser consultado- Returns:
- verdadeiro se alguma gestaoMP vinculada ao PMP possuir o produto (@param)
-
getAllGestaoMP
- Returns:
- ArrayList
retorna uma lista com todas as gestões de PMP vinculada ao pmp
-
getAllGestaoMPActive
-
getAllGestaoMP
- Returns:
- ArrayList
retorna uma lista com todas as gestões de PMP vinculada ao pmp e a um produto
-
getAllConsumoMp
- Parameters:
productId- (id do produto que deve ser filtrado)- Returns:
- Lista com todos os Consumos e Materia prima vinculados ao PMP que possuem o produto passado por parâmetro
-
hasGestaoMpWithMovimentation
public boolean hasGestaoMpWithMovimentation()Checa se tem algumas gestão vinculada ao php com uma movimentação de estoque atrelada- Returns:
- true se tiver gestao deste pmp com movimentacao, false se não tiver
-
getAllConsumoMp
Traz todos os consumos vinculados ao PMP- Returns:
- ArrayList
-
calculaPerda
public void calculaPerda()Ticket #4927 Calcula perda depois de completar o PMP
-