diff --git a/src/main/java/com/fanruan/api/cal/ParameterKit.java b/src/main/java/com/fanruan/api/cal/ParameterKit.java index d399884..e2fc4a8 100644 --- a/src/main/java/com/fanruan/api/cal/ParameterKit.java +++ b/src/main/java/com/fanruan/api/cal/ParameterKit.java @@ -2,16 +2,19 @@ package com.fanruan.api.cal; import com.fanruan.api.util.ArrayKit; import com.fanruan.api.util.AssistKit; +import com.fr.base.DataSetFunctionParameterMapNameSpace; import com.fr.base.Parameter; import com.fr.base.ParameterHelper; import com.fr.base.ParameterMapNameSpace; import com.fr.base.ParameterTypeHandler; +import com.fr.base.TemplateUtils; import com.fr.data.impl.TableColumn; import com.fr.general.DateUtils; import com.fr.json.JSON; import com.fr.json.JSONArray; import com.fr.json.JSONFactory; import com.fr.json.JSONObject; +import com.fr.script.Calculator; import com.fr.stable.ArrayUtils; import com.fr.stable.ParameterProvider; import com.fr.stable.script.NameSpace; @@ -144,6 +147,22 @@ public class ParameterKit { return parameters; } + /** + * 增加处理数据集间联系,例如:select * from t where time=${today()} + * + * @param text 原文本字符串 + * @param parameters 参数集合 + * @return 新的文本字符串 + */ + public static String analyzeCurrentContextTableData4Template(String text, ParameterProvider[] parameters) { + Calculator c = Calculator.createCalculator(); + NameSpace ns = DataSetFunctionParameterMapNameSpace.creat(parameters); + c.pushNameSpace(ns); + String str = TemplateUtils.renderTpl(c, text); + c.removeNameSpace(ns); + return str; + } + /** * 从JSON中解析出来参数信息 *