BPM:新增 flowable expression 表达式,替代现有 BpmTaskAssignScript,更加灵活

This commit is contained in:
YunaiV
2024-03-14 12:54:16 +08:00
parent cdbcd4d673
commit 797fddfb3d
12 changed files with 59 additions and 90 deletions

View File

@ -14,9 +14,4 @@ public interface BpmnModelConstants {
*/
String NAMESPACE = "http://flowable.org/bpmn";
/**
* 自定义属性 dataType
*/
String PROCESS_CUSTOM_DATA_TYPE = "dataType";
}

View File

@ -1,6 +1,11 @@
package cn.iocoder.yudao.framework.flowable.core.util;
import org.flowable.common.engine.api.delegate.Expression;
import org.flowable.common.engine.api.variable.VariableContainer;
import org.flowable.common.engine.impl.el.ExpressionManager;
import org.flowable.common.engine.impl.identity.Authentication;
import org.flowable.engine.impl.cfg.ProcessEngineConfigurationImpl;
import org.flowable.engine.impl.util.CommandContextUtil;
/**
* Flowable 相关的工具方法
@ -29,4 +34,15 @@ public class FlowableUtils {
return activityId + "_assignee";
}
// ========== Expression 相关的工具方法 ==========
public static Object getExpressionValue(VariableContainer variableContainer, String expressionString) {
ProcessEngineConfigurationImpl processEngineConfiguration = CommandContextUtil.getProcessEngineConfiguration();
assert processEngineConfiguration != null;
ExpressionManager expressionManager = processEngineConfiguration.getExpressionManager();
assert expressionManager != null;
Expression expression = expressionManager.createExpression(expressionString);
return expression.getValue(variableContainer);
}
}