📄 mwfnode.java
字号:
else if (ACTION_SubWorkflow.equals(action))
return "Workflow:AD_Workflow_ID=" + getAD_Workflow_ID();
else if (ACTION_UserChoice.equals(action))
return "UserChoice:AD_Column_ID=" + getAD_Column_ID();
else if (ACTION_UserWorkbench.equals(action))
return "Workbench:?";
else if (ACTION_UserForm.equals(action))
return "Form:AD_Form_ID=" + getAD_Form_ID();
else if (ACTION_UserWindow.equals(action))
return "Window:AD_Window_ID=" + getAD_Window_ID();
else if (ACTION_WaitSleep.equals(action))
return "Sleep:WaitTime=" + getWaitTime();
return "??";
} // getActionInfo
/**
* Get Attribute Name
* @see org.compiere.model.X_AD_WF_Node#getAttributeName()
* @return Attribute Name
*/
public String getAttributeName ()
{
if (getAD_Column_ID() == 0)
return super.getAttributeName();
// We have a column
String attribute = super.getAttributeName();
if (attribute != null && attribute.length() > 0)
return attribute;
setAttributeName(getColumn().getColumnName());
return super.getAttributeName ();
} // getAttributeName
/**
* Get Column
* @return column if valid
*/
public M_Column getColumn()
{
if (getAD_Column_ID() == 0)
return null;
if (m_column == null)
m_column = M_Column.get(getCtx(), getAD_Column_ID());
return m_column;
} // getColumn
/**
* Is this an Approval setp?
* @return true if User Approval
*/
public boolean isUserApproval()
{
if (!ACTION_UserChoice.equals(getAction()))
return false;
return getColumn() != null
&& "IsApproved".equals(getColumn().getColumnName());
} // isApproval
/**
* Is this a User Choice step?
* @return true if User Choice
*/
public boolean isUserChoice()
{
return ACTION_UserChoice.equals(getAction());
} // isUserChoice
/**
* Is this a Manual user step?
* @return true if Window/Form/Workbench
*/
public boolean isUserManual()
{
if (ACTION_UserForm.equals(getAction())
|| ACTION_UserWindow.equals(getAction())
|| ACTION_UserWorkbench.equals(getAction()))
return true;
return false;
} // isUserManual
/**
* Get Duration in ms
* @return duration in ms
*/
public long getDurationMS ()
{
long duration = super.getDuration ();
if (duration == 0)
return 0;
if (m_durationBaseMS == -1)
m_durationBaseMS = getWorkflow().getDurationBaseSec() * 1000;
return duration * m_durationBaseMS;
} // getDurationMS
/**
* Get Duration Limit in ms
* @return duration limit in ms
*/
public long getLimitMS ()
{
long limit = super.getLimit ();
if (limit == 0)
return 0;
if (m_durationBaseMS == -1)
m_durationBaseMS = getWorkflow().getDurationBaseSec() * 1000;
return limit * m_durationBaseMS;
} // getLimitMS
/**
* Get Duration CalendarField
* @return Calendar.MINUTE, etc.
*/
public int getDurationCalendarField()
{
return getWorkflow().getDurationCalendarField();
} // getDirationCalendarField
/**
* Calculate Dynamic Priority
* @param seconds second after created
* @return dyn prio
*/
public int calculateDynamicPriority (int seconds)
{
if (seconds == 0 || getDynPriorityUnit() == null
|| getDynPriorityChange() == null
|| Env.ZERO.compareTo(getDynPriorityChange()) == 0)
return 0;
//
BigDecimal divide = Env.ZERO;
if (DYNPRIORITYUNIT_Minute.equals(getDynPriorityUnit()))
divide = new BigDecimal (60);
else if (DYNPRIORITYUNIT_Hour.equals(getDynPriorityUnit()))
divide = new BigDecimal (3600);
else if (DYNPRIORITYUNIT_Day.equals(getDynPriorityUnit()))
divide = new BigDecimal (86400);
else
return 0;
//
BigDecimal change = new BigDecimal (seconds)
.divide(divide, BigDecimal.ROUND_DOWN)
.multiply(getDynPriorityChange());
return change.intValue();
} // calculateDynamicPriority
/**************************************************************************
* Get Parameters
* @return array of parameters
*/
public MWFNodePara[] getParameters()
{
if (m_paras == null)
m_paras = MWFNodePara.getParameters(getCtx(), getAD_WF_Node_ID());
return m_paras;
} // getParameters
/**
* Get Workflow
* @return workflow
*/
public MWorkflow getWorkflow()
{
return MWorkflow.get(getCtx(), getAD_Workflow_ID());
} // getWorkflow
/**
* String Representation
* @return info
*/
public String toString ()
{
StringBuffer sb = new StringBuffer ("MWFNode[");
sb.append(get_ID())
.append("-").append(getName())
.append(",Action=").append(getActionInfo())
.append ("]");
return sb.toString ();
} // toString
/**
* User String Representation
* @return info
*/
public String toStringX ()
{
StringBuffer sb = new StringBuffer ("MWFNode[");
sb.append(getName())
.append("-").append(getActionInfo());
return sb.toString ();
} // toStringX
/**
* Before Save
* @param newRecord new
* @return true if can be saved
*/
protected boolean beforeSave (boolean newRecord)
{
String action = getAction();
if (action.equals(ACTION_WaitSleep))
;
else if (action.equals(ACTION_AppsProcess) || action.equals(ACTION_AppsReport))
{
if (getAD_Process_ID() == 0)
{
log.saveError("FillMandatory", Msg.getElement(getCtx(), "AD_Process_ID"));
return false;
}
}
else if (action.equals(ACTION_AppsTask))
{
if (getAD_Task_ID() == 0)
{
log.saveError("FillMandatory", Msg.getElement(getCtx(), "AD_Task_ID"));
return false;
}
}
else if (action.equals(ACTION_DocumentAction))
{
if (getDocAction() == null || getDocAction().length() == 0)
{
log.saveError("FillMandatory", Msg.getElement(getCtx(), "DocAction"));
return false;
}
}
else if (action.equals(ACTION_EMail))
{
if (getR_MailText_ID() == 0)
{
log.saveError("FillMandatory", Msg.getElement(getCtx(), "R_MailText_ID"));
return false;
}
}
else if (action.equals(ACTION_SetVariable))
{
if (getAttributeValue() == null)
{
log.saveError("FillMandatory", Msg.getElement(getCtx(), "AttributeValue"));
return false;
}
}
else if (action.equals(ACTION_SubWorkflow))
{
if (getAD_Workflow_ID() == 0)
{
log.saveError("FillMandatory", Msg.getElement(getCtx(), "AD_Workflow_ID"));
return false;
}
}
else if (action.equals(ACTION_UserChoice))
{
if (getAD_Column_ID() == 0)
{
log.saveError("FillMandatory", Msg.getElement(getCtx(), "AD_Column_ID"));
return false;
}
}
else if (action.equals(ACTION_UserForm))
{
if (getAD_Form_ID() == 0)
{
log.saveError("FillMandatory", Msg.getElement(getCtx(), "AD_Form_ID"));
return false;
}
}
else if (action.equals(ACTION_UserWindow))
{
if (getAD_Window_ID() == 0)
{
log.saveError("FillMandatory", Msg.getElement(getCtx(), "AD_Window_ID"));
return false;
}
}
// else if (action.equals(ACTION_UserWorkbench))
// {
// && getAD_Workbench_ID() == 0)
// log.saveError("FillMandatory", Msg.getElement(getCtx(), "AD_Workbench_ID"));
// return false;
// }
return true;
} // beforeSave
/**
* After Save
* @param newRecord new
* @param success success
* @return saved
*/
protected boolean afterSave (boolean newRecord, boolean success)
{
if (!success)
return success;
TranslationTable.save(this, newRecord);
return true;
} // afterSave
/**
* After Delete
* @param success success
* @return deleted
*/
protected boolean afterDelete (boolean success)
{
if (TranslationTable.isActiveLanguages(false))
TranslationTable.delete(this);
return success;
} // afterDelete
} // M_WFNext
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -