From a7088bfa8fedd38e4484117cf02128190a893983 Mon Sep 17 00:00:00 2001 From: wangshaoping Date: Mon, 26 Jan 2026 09:52:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9F=BA=E7=A1=80=E6=A1=86=E6=9E=B6=E5=8F=91?= =?UTF-8?q?=E5=B8=83:=208.2.47=20=20=201)=20=E8=A7=84=E5=88=99=E5=BC=95?= =?UTF-8?q?=E6=93=8E=E5=8F=82=E6=95=B0=E5=B1=9E=E6=80=A7=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E2=80=9C=E6=98=AF=E5=90=A6=E5=A4=9A=E9=80=89=E6=A1=86=E2=80=9D?= =?UTF-8?q?=20=20=20ALTER=20TABLE=20re=5Fmodel=5Fparameter=20ADD=20IS=5FUI?= =?UTF-8?q?=5FMULTI=5FSELECT=5F=20SMALLINT=20NULL=20COMMENT=20'=E6=98=AF?= =?UTF-8?q?=E5=90=A6=E9=87=87=E7=94=A8=E5=A4=9A=E9=80=89=E6=A1=86';?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 前端核心框架发布: 8.2.141 1) 修复表格内容显示时出现大量警告的问题 --- cips.frontend/.npmrc | 2 +- cips.frontend/package.json | 2 +- erm.frontend/.npmrc | 2 +- erm.frontend/package.json | 2 +- gradle.properties | 2 +- io.sc.engine.mv.frontend/.npmrc | 2 +- io.sc.engine.mv.frontend/package.json | 2 +- .../engine/rule/core/ResourceAbstracts.java | 27 +++ .../impl/processor/DecisionTree.java | 51 ++++- .../engine/rule/core/enums/ModelCategory.java | 1 + .../core/enums/ParameterPropertiesName.java | 3 +- .../mxgraph/parser/DecisionTreeParser.java | 15 ++ .../rule/core/mxgraph/po/GraphNode.java | 1 + .../mxgraph/po/ResourceAbstractsNode.java | 21 ++ .../po/model/parameter/InOptionParameter.java | 8 + .../plugins/rule-engine-dictionary.json | 7 +- .../core/code/java/template/impl/resource.tpl | 4 +- .../core/code/java/template/import_render.tpl | 1 + .../rule/core/code/template/impl/resource.tpl | 4 +- .../rule/core/code/template/import_render.tpl | 1 + .../rule/core/i18n/dictionary.properties | 1 + .../core/i18n/dictionary_tw_CN.properties | 1 + .../core/i18n/dictionary_zh_CN.properties | 1 + .../sc/engine/rule/core/i18n/enums.properties | 2 + .../rule/core/i18n/enums_tw_CN.properties | 2 + .../rule/core/i18n/enums_zh_CN.properties | 2 + io.sc.engine.rule.frontend/.npmrc | 2 +- io.sc.engine.rule.frontend/package.json | 2 +- .../src/i18n/messages.json | 5 + .../src/i18n/messages_tw_CN.json | 4 + .../src/i18n/messages_zh_CN.json | 4 + .../resources/designer/DecisionTreeDialog.vue | 210 +++++++++++++++++- .../views/resources/designer/Parameter.vue | 11 +- .../src/views/shared/SelectResourceDialog.vue | 110 +++++++++ .../src/views/shared/Validator.vue | 4 +- .../converter/ParameterEntityConverter.java | 2 + .../parameter/InOptionParameterEntity.java | 12 + .../vo/parameter/InOptionParameterVo.java | 10 + .../service/impl/ResourceServiceImpl.java | 9 +- ...20515__Rule_Engine_Database_Schema_DDL.xml | 1 + io.sc.engine.st.frontend/.npmrc | 2 +- io.sc.engine.st.frontend/package.json | 2 +- io.sc.platform.ai.frontend/.npmrc | 2 +- io.sc.platform.ai.frontend/package.json | 2 +- io.sc.platform.core.frontend/package.json | 2 +- .../platform/components/grid/TdContent.vue | 30 +-- .../src/views/testcase/form/form.vue | 3 +- .../template-project/.npmrc | 2 +- .../template-project/package.json | 4 +- .../src/views/testcase/form/form.vue | 3 +- io.sc.platform.developer.doc/.npmrc | 2 +- io.sc.platform.developer.doc/package.json | 2 +- io.sc.platform.developer.frontend/.npmrc | 2 +- .../package.json | 2 +- io.sc.platform.lcdp.frontend/.npmrc | 2 +- io.sc.platform.lcdp.frontend/package.json | 2 +- io.sc.platform.license.keygen.frontend/.npmrc | 2 +- .../package.json | 2 +- .../src/views/license/KeyGenerator.vue | 1 + io.sc.platform.mvc.frontend/.npmrc | 2 +- io.sc.platform.mvc.frontend/package.json | 2 +- .../PlatformRepositoryFactoryBean.java | 2 + .../.npmrc | 2 +- .../package.json | 2 +- io.sc.platform.system.frontend/.npmrc | 2 +- io.sc.platform.system.frontend/package.json | 2 +- io.sc.standard.frontend/.npmrc | 2 +- io.sc.standard.frontend/package.json | 2 +- io.sc.website/.npmrc | 2 +- io.sc.website/package.json | 2 +- wra.report.frontend/.npmrc | 2 +- wra.report.frontend/package.json | 2 +- 72 files changed, 570 insertions(+), 78 deletions(-) create mode 100644 io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/ResourceAbstracts.java create mode 100644 io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/mxgraph/po/ResourceAbstractsNode.java create mode 100644 io.sc.engine.rule.frontend/src/views/shared/SelectResourceDialog.vue diff --git a/cips.frontend/.npmrc b/cips.frontend/.npmrc index 905ceea3..98b46133 100644 --- a/cips.frontend/.npmrc +++ b/cips.frontend/.npmrc @@ -12,4 +12,4 @@ git-checks=false # _authToken 可通过以下命令获取 # curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin # 上海农商银行内网令牌: NpmToken.ed1a68b7-543f-3c15-8451-2edbc0de057f -//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090 +//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.8d45fdad-a169-3f2d-b245-440815bc5e7e diff --git a/cips.frontend/package.json b/cips.frontend/package.json index 0e346085..b3845432 100644 --- a/cips.frontend/package.json +++ b/cips.frontend/package.json @@ -112,7 +112,7 @@ "node-sql-parser": "5.3.6", "pinia": "2.3.0", "pinia-undo": "0.2.4", - "platform-core": "8.2.140", + "platform-core": "8.2.141", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/erm.frontend/.npmrc b/erm.frontend/.npmrc index 905ceea3..98b46133 100644 --- a/erm.frontend/.npmrc +++ b/erm.frontend/.npmrc @@ -12,4 +12,4 @@ git-checks=false # _authToken 可通过以下命令获取 # curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin # 上海农商银行内网令牌: NpmToken.ed1a68b7-543f-3c15-8451-2edbc0de057f -//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090 +//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.8d45fdad-a169-3f2d-b245-440815bc5e7e diff --git a/erm.frontend/package.json b/erm.frontend/package.json index 0c524aec..00066ac3 100644 --- a/erm.frontend/package.json +++ b/erm.frontend/package.json @@ -112,7 +112,7 @@ "node-sql-parser": "5.3.6", "pinia": "2.3.0", "pinia-undo": "0.2.4", - "platform-core": "8.2.140", + "platform-core": "8.2.141", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/gradle.properties b/gradle.properties index 22b03a6a..00fa86ac 100644 --- a/gradle.properties +++ b/gradle.properties @@ -39,7 +39,7 @@ application_version=1.0.0 platform_group=io.sc platform_version=8.2.44 platform_plugin_version=8.2.10 -platform_core_frontend_version=8.2.140 +platform_core_frontend_version=8.2.141 ########################################################### # dependencies version diff --git a/io.sc.engine.mv.frontend/.npmrc b/io.sc.engine.mv.frontend/.npmrc index 905ceea3..98b46133 100644 --- a/io.sc.engine.mv.frontend/.npmrc +++ b/io.sc.engine.mv.frontend/.npmrc @@ -12,4 +12,4 @@ git-checks=false # _authToken 可通过以下命令获取 # curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin # 上海农商银行内网令牌: NpmToken.ed1a68b7-543f-3c15-8451-2edbc0de057f -//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090 +//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.8d45fdad-a169-3f2d-b245-440815bc5e7e diff --git a/io.sc.engine.mv.frontend/package.json b/io.sc.engine.mv.frontend/package.json index d37b6b4f..81bb4016 100644 --- a/io.sc.engine.mv.frontend/package.json +++ b/io.sc.engine.mv.frontend/package.json @@ -112,7 +112,7 @@ "node-sql-parser": "5.3.6", "pinia": "2.3.0", "pinia-undo": "0.2.4", - "platform-core": "8.2.140", + "platform-core": "8.2.141", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/ResourceAbstracts.java b/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/ResourceAbstracts.java new file mode 100644 index 00000000..58efd05d --- /dev/null +++ b/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/ResourceAbstracts.java @@ -0,0 +1,27 @@ +package io.sc.engine.rule.core; + +import io.sc.engine.rule.core.enums.DeployStatus; + +import java.util.Date; +import java.util.List; + +/** + * 资源摘要信息 + */ +public class ResourceAbstracts { + private List resourceAbstracts; + + public ResourceAbstracts(){} + + public ResourceAbstracts(List resourceAbstracts){ + this.resourceAbstracts =resourceAbstracts; + } + + public List getResourceAbstracts() { + return resourceAbstracts; + } + + public void setResourceAbstracts(List resourceAbstracts) { + this.resourceAbstracts = resourceAbstracts; + } +} diff --git a/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/code/generator/impl/processor/DecisionTree.java b/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/code/generator/impl/processor/DecisionTree.java index a76e7658..756b7d18 100644 --- a/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/code/generator/impl/processor/DecisionTree.java +++ b/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/code/generator/impl/processor/DecisionTree.java @@ -6,6 +6,7 @@ import io.sc.engine.rule.core.po.model.Parameter; import io.sc.engine.rule.core.po.model.processor.DecisionTreeParameterProcessor; import io.sc.engine.rule.core.util.GroovyExpressionReplacer; import io.sc.engine.rule.core.util.ValueTypeUtil; +import io.sc.platform.util.CollectionUtil; import java.util.ArrayList; import java.util.HashMap; @@ -67,6 +68,12 @@ public class DecisionTree { sb.append(generateResourceAbstractGroovyCode(methodNameCache,parameter,modelAbstractNode,methodName)); methodNameCache.put(methodName, null); } + }else if(node instanceof ResourceAbstractsNode) { + ResourceAbstractsNode modelAbstractsNode =(ResourceAbstractsNode)node; + if(!methodNameCache.containsKey(methodName)) { + sb.append(generateResourceAbstractsGroovyCode(methodNameCache,parameter,modelAbstractsNode,methodName)); + methodNameCache.put(methodName, null); + } } return sb.toString(); } @@ -91,12 +98,12 @@ public class DecisionTree { GraphNode nexNode =edge.getOuts().get(0); //出口边指向的节点 if(i==0) { - sb.append("\tif(ObjectUtil.equal((").append(GroovyExpressionReplacer.groovy(conditionNode.getCondition(), null)).append("),(").append(GroovyExpressionReplacer.groovy(edge.getValue(), edge.getValueType())).append("))){").append("\n"); + sb.append("\t\tif(ObjectUtil.equal((").append(GroovyExpressionReplacer.groovy(conditionNode.getCondition(), null)).append("),(").append(GroovyExpressionReplacer.groovy(edge.getValue(), edge.getValueType())).append("))){").append("\n"); }else { if(edge.getValue()!=null && !edge.getValue().trim().isEmpty()) { - sb.append("else if(ObjectUtil.equal((").append(GroovyExpressionReplacer.groovy(conditionNode.getCondition(),null)).append("),(").append(GroovyExpressionReplacer.groovy(edge.getValue(),edge.getValueType())).append("))){").append("\n"); + sb.append("\telse if(ObjectUtil.equal((").append(GroovyExpressionReplacer.groovy(conditionNode.getCondition(),null)).append("),(").append(GroovyExpressionReplacer.groovy(edge.getValue(),edge.getValueType())).append("))){").append("\n"); }else { - sb.append("else {").append("\n"); + sb.append("\telse {").append("\n"); isElse =true; } } @@ -109,13 +116,13 @@ public class DecisionTree { } } } - sb.append("\t\t").append("return Tree_").append(parameter.getCode()).append("_").append(nexNode.getId()).append("(").append("executor,").append(GroovyExpressionReplacer.ARGUMENT_NAME).append(");").append("\n"); - sb.append("\t}"); + sb.append("\t\t\t").append("return Tree_").append(parameter.getCode()).append("_").append(nexNode.getId()).append("(").append("executor,").append(GroovyExpressionReplacer.ARGUMENT_NAME).append(");").append("\n"); + sb.append("\t\t}"); } if(!isElse) { - sb.append("\n return null;"); + sb.append("\n\t\treturn null;"); } - sb.append("\n}\n\n"); + sb.append("\n\t}\n\n"); //继续生成后续方法 for(GraphNode out :outs) { sb.append(_generateGroovyCode(methodNameCache,parameter,out.getOuts().get(0))); @@ -167,6 +174,36 @@ public class DecisionTree { return sb.toString(); } + + /** + * 生成决策树多模型摘要节点 groovy 代码 + * @param methodNameCache 方法名缓存 + * @param parameter 参数 + * @param expressionNode 表达式节点 + * @param methodName 方法名 + * @return 代码 + */ + private String generateResourceAbstractsGroovyCode(Map methodNameCache,Parameter parameter,ResourceAbstractsNode expressionNode,String methodName) { + StringBuilder sb =new StringBuilder(); + sb.append("\tprivate static ").append(parameter.getValueType()).append(" ").append(methodName).append("(Executor executor,Argument ").append(GroovyExpressionReplacer.ARGUMENT_NAME).append(") throws Exception {//多资源").append("\n"); + sb.append("\t\tList items =new ArrayList<>();").append("\n"); + List resourceAbstracts = expressionNode.getResourceAbstracts(); + if(CollectionUtil.hasElements(resourceAbstracts)){ + for(ResourceAbstractNode node : resourceAbstracts){ + String code =GroovyExpressionReplacer.groovy(node.getCode(),String.class.getName()); + String version =GroovyExpressionReplacer.groovy(node.getVersion(),Integer.class.getName()); + if(version==null || version.trim().isEmpty()) { + version ="null"; + } + sb.append("\t\titems.add(new ResourceAbstract(").append(code).append(",").append(version).append("));").append("\n"); + } + } + + sb.append("\t\t").append("return new ").append(parameter.getValueType()).append("(items);").append("\n"); + sb.append("\t}").append("\n\n"); + + return sb.toString(); + } /** * 对条件边进行排序,将有条件值的排在前面,无条件值的放在后面,以便生成 groovy 代码时,将无条件值的转为 else 语句 diff --git a/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/enums/ModelCategory.java b/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/enums/ModelCategory.java index fd81aa08..bbd14b83 100644 --- a/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/enums/ModelCategory.java +++ b/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/enums/ModelCategory.java @@ -10,5 +10,6 @@ public enum ModelCategory { RULE, //规则 GOVE, //政府融资平台 DIR, //目录 + QUESTION, //问卷 OTHER //其他模型 } diff --git a/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/enums/ParameterPropertiesName.java b/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/enums/ParameterPropertiesName.java index 4762d4a1..585201e2 100644 --- a/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/enums/ParameterPropertiesName.java +++ b/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/enums/ParameterPropertiesName.java @@ -2,5 +2,6 @@ package io.sc.engine.rule.core.enums; public enum ParameterPropertiesName { SHOW_IF, // 是否可现实 - MODIFY_IF; // 是否可修改 + MODIFY_IF, // 是否可修改 + RULE; // 规则 } diff --git a/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/mxgraph/parser/DecisionTreeParser.java b/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/mxgraph/parser/DecisionTreeParser.java index bbcee37a..bda7c7f7 100644 --- a/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/mxgraph/parser/DecisionTreeParser.java +++ b/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/mxgraph/parser/DecisionTreeParser.java @@ -4,13 +4,17 @@ import java.awt.Color; import java.awt.image.BufferedImage; import java.io.IOException; import java.io.OutputStream; +import java.lang.reflect.Type; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.imageio.ImageIO; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.type.TypeReference; import io.sc.engine.rule.core.mxgraph.po.*; +import io.sc.platform.util.ObjectMapperUtil; import org.springframework.util.StringUtils; import org.w3c.dom.Document; import io.sc.engine.rule.core.mxgraph.support.DecisionTreeMxGraph; @@ -105,6 +109,17 @@ public class DecisionTreeParser { node.setCode(cell.getAttribute("code")); node.setVersion(cell.getAttribute("version")); result.put(id, node); + }else if(GraphNode.RESOURCE_ABSTRACTS.equalsIgnoreCase(type)) { + ResourceAbstractsNode node =new ResourceAbstractsNode(); + node.setId(id); + node.setLabel(label); + try { + List resourceAbstractNodes = ObjectMapperUtil.json().readValue(cell.getAttribute("resourceAbstracts"), new TypeReference>() {}); + node.setResourceAbstracts(resourceAbstractNodes); + } catch (JsonProcessingException e) { + throw new RuntimeException(e); + } + result.put(id, node); }else if(GraphNode.EDGE_CONDITION_BRANCH.equalsIgnoreCase(type)) { EdgeConditionBranchNode node =new EdgeConditionBranchNode(); node.setId(id); diff --git a/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/mxgraph/po/GraphNode.java b/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/mxgraph/po/GraphNode.java index 9336d7fe..28ad3fdf 100644 --- a/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/mxgraph/po/GraphNode.java +++ b/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/mxgraph/po/GraphNode.java @@ -15,6 +15,7 @@ public class GraphNode { public static final String EXPRESSION ="Expression"; public static final String COMMAND_SET ="CommandSet"; public static final String RESOURCE_ABSTRACT ="ResourceAbstract"; + public static final String RESOURCE_ABSTRACTS ="ResourceAbstracts"; public static final String CONFIGURABLE_RESOURCE_ABSTRACT ="ConfigurableResourceAbstract"; public static final String SUB_MODEL_ABSTRACT ="SubModelAbstract"; public static final String EDGE_CONDITION_BRANCH ="EdgeConditionBranch"; diff --git a/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/mxgraph/po/ResourceAbstractsNode.java b/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/mxgraph/po/ResourceAbstractsNode.java new file mode 100644 index 00000000..b7720f96 --- /dev/null +++ b/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/mxgraph/po/ResourceAbstractsNode.java @@ -0,0 +1,21 @@ +package io.sc.engine.rule.core.mxgraph.po; + +import java.util.ArrayList; +import java.util.List; + +/** + * 多模型摘要节点 + * @author wangshaoping + * + */ +public class ResourceAbstractsNode extends GraphNode{ + private List resourceAbstracts =new ArrayList<>(); + + public List getResourceAbstracts() { + return resourceAbstracts; + } + + public void setResourceAbstracts(List resourceAbstracts) { + this.resourceAbstracts = resourceAbstracts; + } +} diff --git a/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/po/model/parameter/InOptionParameter.java b/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/po/model/parameter/InOptionParameter.java index 7e36d958..2d182a61 100644 --- a/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/po/model/parameter/InOptionParameter.java +++ b/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/po/model/parameter/InOptionParameter.java @@ -22,6 +22,8 @@ public class InOptionParameter extends Parameter { protected Boolean disableOnAutoSelected; //当参数类型是输入(选项)时,是否采用选择框呈现 protected Boolean uiSelect; + //当参数类型是输入(选项)时,是否采用多选框呈现 + protected Boolean uiMultiSelect; //选项列表 protected List options =new ArrayList<>(); @@ -45,6 +47,12 @@ public class InOptionParameter extends Parameter { public void setUiSelect(Boolean uiSelect) { this.uiSelect = uiSelect; } + public Boolean getUiMultiSelect() { + return uiMultiSelect; + } + public void setUiMultiSelect(Boolean uiMultiSelect) { + this.uiMultiSelect = uiMultiSelect; + } public List getOptions() { return options; } diff --git a/io.sc.engine.rule.core/src/main/resources/META-INF/platform/plugins/rule-engine-dictionary.json b/io.sc.engine.rule.core/src/main/resources/META-INF/platform/plugins/rule-engine-dictionary.json index 7fb725c9..db635920 100644 --- a/io.sc.engine.rule.core/src/main/resources/META-INF/platform/plugins/rule-engine-dictionary.json +++ b/io.sc.engine.rule.core/src/main/resources/META-INF/platform/plugins/rule-engine-dictionary.json @@ -10,7 +10,8 @@ { "type": "JAVA_CLASS", "order": 800, "id": "java.util.Map", "parent": "re.dictionary.category.base", "code": "java.util.Map", "nameI18nKey": "java.util.Map", "description": "字典类型", "version": null}, { "type": "FOLDER", "order": 2000, "id": "re.dictionary.category.engine", "parent": null, "code": "re.dictionary.category.engine", "nameI18nKey": "re.dictionary.category.engine", "description": "引擎内置类型", "version": null}, { "type": "JAVA_CLASS", "order": 100, "id": "io.sc.engine.rule.core.ResourceAbstract", "parent": "re.dictionary.category.engine", "code": "io.sc.engine.rule.core.ResourceAbstract", "nameI18nKey": "io.sc.engine.rule.core.ResourceAbstract", "description": "资源摘要", "version": null}, - { "type": "JAVA_CLASS", "order": 200, "id": "io.sc.engine.rule.core.SingleRuleResult", "parent": "re.dictionary.category.engine", "code": "io.sc.engine.rule.core.SingleRuleResult", "nameI18nKey": "io.sc.engine.rule.core.SingleRuleResult", "description": "单规则结果", "version": null}, - { "type": "JAVA_CLASS", "order": 300, "id": "io.sc.engine.rule.core.RuleSetResult", "parent": "re.dictionary.category.engine", "code": "io.sc.engine.rule.core.RuleSetResult", "nameI18nKey": "io.sc.engine.rule.core.RuleSetResult", "description": "规则集结果", "version": null}, - { "type": "FOLDER", "order": 3000, "id": "re.dictionary.category.customization", "parent": null, "code": "re.dictionary.category.customization", "nameI18nKey": "re.dictionary.category.customization", "description": "用户自定义类型", "version": null} + { "type": "JAVA_CLASS", "order": 200, "id": "io.sc.engine.rule.core.ResourceAbstracts", "parent": "re.dictionary.category.engine", "code": "io.sc.engine.rule.core.ResourceAbstracts", "nameI18nKey": "io.sc.engine.rule.core.ResourceAbstracts", "description": "多资源摘要", "version": null}, + { "type": "JAVA_CLASS", "order": 300, "id": "io.sc.engine.rule.core.SingleRuleResult", "parent": "re.dictionary.category.engine", "code": "io.sc.engine.rule.core.SingleRuleResult", "nameI18nKey": "io.sc.engine.rule.core.SingleRuleResult", "description": "单规则结果", "version": null}, + { "type": "JAVA_CLASS", "order": 400, "id": "io.sc.engine.rule.core.RuleSetResult", "parent": "re.dictionary.category.engine", "code": "io.sc.engine.rule.core.RuleSetResult", "nameI18nKey": "io.sc.engine.rule.core.RuleSetResult", "description": "规则集结果", "version": null}, + { "type": "FOLDER", "order": 5000, "id": "re.dictionary.category.customization", "parent": null, "code": "re.dictionary.category.customization", "nameI18nKey": "re.dictionary.category.customization", "description": "用户自定义类型", "version": null} ] diff --git a/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/code/java/template/impl/resource.tpl b/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/code/java/template/impl/resource.tpl index 6b1c99f9..61e5606b 100644 --- a/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/code/java/template/impl/resource.tpl +++ b/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/code/java/template/impl/resource.tpl @@ -141,8 +141,8 @@ public class #(className(resource.code,resource.version)) { #if("INTERMEDIATE"==parameter.type.toString() || "OUT"==parameter.type.toString()) #for(processor : parameter.processors) #if("DECISION_TREE"==processor.type.toString()) - //决策树函数: #(parameter.name)(#(parameter.type)) - #(DecisionTree.groovy(parameter,processor)) + //决策树函数: #(parameter.name)(#(parameter.type)) + #(DecisionTree.groovy(parameter,processor)) #end #end #end diff --git a/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/code/java/template/import_render.tpl b/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/code/java/template/import_render.tpl index 4e475a6b..7eb8dd0e 100644 --- a/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/code/java/template/import_render.tpl +++ b/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/code/java/template/import_render.tpl @@ -3,6 +3,7 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.core.type.TypeReference; import io.sc.engine.rule.core.client.Executor; import io.sc.engine.rule.core.ResourceAbstract; +import io.sc.engine.rule.core.ResourceAbstracts; import io.sc.engine.rule.core.RuleSetResult; import io.sc.engine.rule.core.SingleRuleResult; import io.sc.engine.rule.core.FieldValidator; diff --git a/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/code/template/impl/resource.tpl b/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/code/template/impl/resource.tpl index 8843717a..bde28c72 100644 --- a/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/code/template/impl/resource.tpl +++ b/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/code/template/impl/resource.tpl @@ -139,8 +139,8 @@ class #(className(resource.code,resource.version)) { #if("INTERMEDIATE"==parameter.type.toString() || "OUT"==parameter.type.toString()) #for(processor : parameter.processors) #if("DECISION_TREE"==processor.type.toString()) - //决策树函数: #(parameter.name)(#(parameter.type)) - #(DecisionTree.groovy(parameter,processor)) + //决策树函数: #(parameter.name)(#(parameter.type)) + #(DecisionTree.groovy(parameter,processor)) #end #end #end diff --git a/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/code/template/import_render.tpl b/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/code/template/import_render.tpl index b78393f2..2a750c4c 100644 --- a/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/code/template/import_render.tpl +++ b/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/code/template/import_render.tpl @@ -4,6 +4,7 @@ import com.fasterxml.jackson.core.type.TypeReference; import groovy.transform.Canonical; import io.sc.engine.rule.core.client.Executor; import io.sc.engine.rule.core.ResourceAbstract; +import io.sc.engine.rule.core.ResourceAbstracts; import io.sc.engine.rule.core.RuleSetResult; import io.sc.engine.rule.core.SingleRuleResult; import io.sc.engine.rule.core.FieldValidator; diff --git a/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/i18n/dictionary.properties b/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/i18n/dictionary.properties index 7851a0da..431c61d9 100644 --- a/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/i18n/dictionary.properties +++ b/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/i18n/dictionary.properties @@ -21,5 +21,6 @@ java.util.Map=Map # \u5F15\u64CE\u5185\u7F6E\u7C7B\u578B io.sc.engine.rule.core.ResourceAbstract=Resource Abstract +io.sc.engine.rule.core.ResourceAbstracts=Multiple Resource Abstract io.sc.engine.rule.core.SingleRuleResult=Single Rule Result io.sc.engine.rule.core.RuleSetResult=Rule Set Result \ No newline at end of file diff --git a/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/i18n/dictionary_tw_CN.properties b/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/i18n/dictionary_tw_CN.properties index c775e628..28d3a610 100644 --- a/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/i18n/dictionary_tw_CN.properties +++ b/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/i18n/dictionary_tw_CN.properties @@ -21,5 +21,6 @@ java.util.Map=\u5B57\u5178 # \u5F15\u64CE\u5185\u7F6E\u7C7B\u578B io.sc.engine.rule.core.ResourceAbstract=\u8CC7\u6E90\u6458\u8981 +io.sc.engine.rule.core.ResourceAbstracts=\u591A\u8CC7\u6E90\u6458\u8981 io.sc.engine.rule.core.SingleRuleResult=\u55AE\u898F\u5247\u7D50\u679C io.sc.engine.rule.core.RuleSetResult=\u898F\u5247\u96C6\u7D50\u679C \ No newline at end of file diff --git a/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/i18n/dictionary_zh_CN.properties b/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/i18n/dictionary_zh_CN.properties index 332fbfea..ede1ffa6 100644 --- a/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/i18n/dictionary_zh_CN.properties +++ b/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/i18n/dictionary_zh_CN.properties @@ -21,5 +21,6 @@ java.util.Map=\u5B57\u5178 # \u5F15\u64CE\u5185\u7F6E\u7C7B\u578B io.sc.engine.rule.core.ResourceAbstract=\u8D44\u6E90\u6458\u8981 +io.sc.engine.rule.core.ResourceAbstracts=\u591A\u8D44\u6E90\u6458\u8981 io.sc.engine.rule.core.SingleRuleResult=\u5355\u89C4\u5219\u7ED3\u679C io.sc.engine.rule.core.RuleSetResult=\u89C4\u5219\u96C6\u7ED3\u679C \ No newline at end of file diff --git a/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/i18n/enums.properties b/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/i18n/enums.properties index 05503249..34f93687 100644 --- a/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/i18n/enums.properties +++ b/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/i18n/enums.properties @@ -14,6 +14,7 @@ io.sc.engine.rule.core.enums.ModelCategory.ADJUSTMENT=Adjustment io.sc.engine.rule.core.enums.ModelCategory.RULE=Rule io.sc.engine.rule.core.enums.ModelCategory.GOVE=Government financing platform io.sc.engine.rule.core.enums.ModelCategory.DIR=Directory +io.sc.engine.rule.core.enums.ModelCategory.QUESTION=Question io.sc.engine.rule.core.enums.ModelCategory.OTHER=Other #================================================ @@ -37,6 +38,7 @@ io.sc.engine.rule.core.enums.DeployStatus.APPROVING=Approving #================================================ io.sc.engine.rule.core.enums.ParameterPropertiesName.SHOW_IF=Show If io.sc.engine.rule.core.enums.ParameterPropertiesName.MODIFY_IF=Modify If +io.sc.engine.rule.core.enums.ParameterPropertiesName.RULE=Rule #================================================ # \u53C2\u6570\u7C7B\u578B\u679A\u4E3E diff --git a/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/i18n/enums_tw_CN.properties b/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/i18n/enums_tw_CN.properties index 9647dbf9..55ac767a 100644 --- a/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/i18n/enums_tw_CN.properties +++ b/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/i18n/enums_tw_CN.properties @@ -14,6 +14,7 @@ io.sc.engine.rule.core.enums.ModelCategory.ADJUSTMENT=\u8ABF\u6574\u9805 io.sc.engine.rule.core.enums.ModelCategory.RULE=\u898F\u5247 io.sc.engine.rule.core.enums.ModelCategory.GOVE=\u653F\u5E9C\u878D\u8CC7\u5E73\u53F0 io.sc.engine.rule.core.enums.ModelCategory.DIR=\u76EE\u9304 +io.sc.engine.rule.core.enums.ModelCategory.QUESTION=\u554F\u5377 io.sc.engine.rule.core.enums.ModelCategory.OTHER=\u5176\u4ED6 #================================================ @@ -37,6 +38,7 @@ io.sc.engine.rule.core.enums.DeployStatus.APPROVING=\u5BE9\u6279\u4E2D #================================================ io.sc.engine.rule.core.enums.ParameterPropertiesName.SHOW_IF=\u662F\u5426\u53EF\u663E\u793A io.sc.engine.rule.core.enums.ParameterPropertiesName.MODIFY_IF=\u662F\u5426\u53EF\u4FEE\u6539 +io.sc.engine.rule.core.enums.ParameterPropertiesName.RULE=\u898F\u5247 #================================================ # \u53C2\u6570\u7C7B\u578B\u679A\u4E3E diff --git a/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/i18n/enums_zh_CN.properties b/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/i18n/enums_zh_CN.properties index bbfa0054..af304fc3 100644 --- a/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/i18n/enums_zh_CN.properties +++ b/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/i18n/enums_zh_CN.properties @@ -14,6 +14,7 @@ io.sc.engine.rule.core.enums.ModelCategory.ADJUSTMENT=\u8C03\u6574\u9879 io.sc.engine.rule.core.enums.ModelCategory.RULE=\u89C4\u5219 io.sc.engine.rule.core.enums.ModelCategory.GOVE=\u653F\u5E9C\u878D\u8D44\u5E73\u53F0 io.sc.engine.rule.core.enums.ModelCategory.DIR=\u76EE\u5F55 +io.sc.engine.rule.core.enums.ModelCategory.QUESTION=\u95EE\u5377 io.sc.engine.rule.core.enums.ModelCategory.OTHER=\u5176\u4ED6 #================================================ @@ -37,6 +38,7 @@ io.sc.engine.rule.core.enums.DeployStatus.APPROVING=\u5BA1\u6279\u4E2D #================================================ io.sc.engine.rule.core.enums.ParameterPropertiesName.SHOW_IF=\u662F\u5426\u663E\u793A io.sc.engine.rule.core.enums.ParameterPropertiesName.MODIFY_IF=\u662F\u5426\u53EF\u4FEE\u6539 +io.sc.engine.rule.core.enums.ParameterPropertiesName.RULE=\u89C4\u5219 #================================================ # \u53C2\u6570\u7C7B\u578B\u679A\u4E3E diff --git a/io.sc.engine.rule.frontend/.npmrc b/io.sc.engine.rule.frontend/.npmrc index 905ceea3..98b46133 100644 --- a/io.sc.engine.rule.frontend/.npmrc +++ b/io.sc.engine.rule.frontend/.npmrc @@ -12,4 +12,4 @@ git-checks=false # _authToken 可通过以下命令获取 # curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin # 上海农商银行内网令牌: NpmToken.ed1a68b7-543f-3c15-8451-2edbc0de057f -//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090 +//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.8d45fdad-a169-3f2d-b245-440815bc5e7e diff --git a/io.sc.engine.rule.frontend/package.json b/io.sc.engine.rule.frontend/package.json index efeffac2..1853c53b 100644 --- a/io.sc.engine.rule.frontend/package.json +++ b/io.sc.engine.rule.frontend/package.json @@ -112,7 +112,7 @@ "node-sql-parser": "5.3.6", "pinia": "2.3.0", "pinia-undo": "0.2.4", - "platform-core": "8.2.140", + "platform-core": "8.2.141", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/io.sc.engine.rule.frontend/src/i18n/messages.json b/io.sc.engine.rule.frontend/src/i18n/messages.json index 06f24e34..0c9c9fb0 100644 --- a/io.sc.engine.rule.frontend/src/i18n/messages.json +++ b/io.sc.engine.rule.frontend/src/i18n/messages.json @@ -99,6 +99,7 @@ "re.parameter.grid.entity.indicatorCode": "Indicator", "re.parameter.grid.entity.persistentAsIndicator": "Persistent As Indicator", "re.parameter.grid.entity.uiSelect": "Is Select Component In UI", + "re.parameter.grid.entity.uiMultiSelect": "Is Multiple Select Component In UI", "re.parameter.grid.entity.disableOnAutoSelected": "Disabled On System Auto Selected a Option", "re.parameter.grid.entity.properties": "Extension Properties", "re.parameter.grid.entity.property.name": "Property Name", @@ -383,6 +384,10 @@ "re.graph.vertex.resourceAbstract.label": "RA", "re.graph.vertex.resourceAbstract.title": "Resource", "re.graph.vertex.resourceAbstract.entity.resourceAbstractId": "Resource", + "re.graph.vertex.resourceAbstract.entity.resourceAbstractIds": "Resources", + "re.graph.vertex.resourceAbstracts.label": "RAS", + "re.graph.vertex.resourceAbstracts.title": "Resources", + "re.graph.vertex.resourceAbstracts.entity.resourceAbstractId": "Resources", "re.graph.vertex.commandSet.label": "Commands", "re.graph.vertex.commandSet.title": "Commands", "re.graph.vertex.commandSet.entity.commands": "Commands", diff --git a/io.sc.engine.rule.frontend/src/i18n/messages_tw_CN.json b/io.sc.engine.rule.frontend/src/i18n/messages_tw_CN.json index 4991973b..9da29c9a 100644 --- a/io.sc.engine.rule.frontend/src/i18n/messages_tw_CN.json +++ b/io.sc.engine.rule.frontend/src/i18n/messages_tw_CN.json @@ -99,6 +99,7 @@ "re.parameter.grid.entity.indicatorCode": "指標", "re.parameter.grid.entity.persistentAsIndicator": "是否作為指標存儲", "re.parameter.grid.entity.uiSelect": "是否採用下拉選擇框", + "re.parameter.grid.entity.uiMultiSelect": "是否採用多選框", "re.parameter.grid.entity.disableOnAutoSelected": "當系統自動選擇了輸入選項中的某一項時, 是否禁止用戶選擇其他項", "re.parameter.grid.entity.properties": "擴展屬性", "re.parameter.grid.entity.property.name": "屬性名", @@ -386,6 +387,9 @@ "re.graph.vertex.resourceAbstract.label": "資源", "re.graph.vertex.resourceAbstract.title": "資源", "re.graph.vertex.resourceAbstract.entity.resourceAbstractId": "資源", + "re.graph.vertex.resourceAbstracts.label": "多資源", + "re.graph.vertex.resourceAbstracts.title": "多資源", + "re.graph.vertex.resourceAbstracts.entity.resourceAbstractIds": "多資源", "re.graph.vertex.commandSet.label": "指令集", "re.graph.vertex.commandSet.title": "指令集", "re.graph.vertex.commandSet.entity.commands": "指令集", diff --git a/io.sc.engine.rule.frontend/src/i18n/messages_zh_CN.json b/io.sc.engine.rule.frontend/src/i18n/messages_zh_CN.json index 683ce5ca..80d0b3dd 100644 --- a/io.sc.engine.rule.frontend/src/i18n/messages_zh_CN.json +++ b/io.sc.engine.rule.frontend/src/i18n/messages_zh_CN.json @@ -99,6 +99,7 @@ "re.parameter.grid.entity.indicatorCode": "指标", "re.parameter.grid.entity.persistentAsIndicator": "是否作为指标存储", "re.parameter.grid.entity.uiSelect": "是否采用下拉选择框", + "re.parameter.grid.entity.uiMultiSelect": "是否多选框", "re.parameter.grid.entity.disableOnAutoSelected": "当系统自动选择了输入选项中某一项时, 是否禁止用户选择其他项", "re.parameter.grid.entity.properties": "扩展属性", "re.parameter.grid.entity.property.name": "属性名", @@ -389,6 +390,9 @@ "re.graph.vertex.resourceAbstract.label": "资源", "re.graph.vertex.resourceAbstract.title": "资源", "re.graph.vertex.resourceAbstract.entity.resourceAbstractId": "资源", + "re.graph.vertex.resourceAbstracts.label": "多资源", + "re.graph.vertex.resourceAbstracts.title": "多资源", + "re.graph.vertex.resourceAbstracts.entity.resourceAbstractIds": "多资源", "re.graph.vertex.commandSet.label": "指令集", "re.graph.vertex.commandSet.title": "指令集", "re.graph.vertex.commandSet.entity.commands": "指令集", diff --git a/io.sc.engine.rule.frontend/src/views/resources/designer/DecisionTreeDialog.vue b/io.sc.engine.rule.frontend/src/views/resources/designer/DecisionTreeDialog.vue index 624787f0..f3677385 100644 --- a/io.sc.engine.rule.frontend/src/views/resources/designer/DecisionTreeDialog.vue +++ b/io.sc.engine.rule.frontend/src/views/resources/designer/DecisionTreeDialog.vue @@ -1,15 +1,19 @@ diff --git a/io.sc.engine.rule.frontend/src/views/shared/Validator.vue b/io.sc.engine.rule.frontend/src/views/shared/Validator.vue index c4bba109..57017fe1 100644 --- a/io.sc.engine.rule.frontend/src/views/shared/Validator.vue +++ b/io.sc.engine.rule.frontend/src/views/shared/Validator.vue @@ -188,9 +188,9 @@ @after-editor-open=" (args: any) => { if (type === 'parameter') { - autoCompletionManager.load(Environment.apiContextPath('/api/re/common/autoCompletionByParameterId/' + owner.id)); + autoCompletionManager.load(Environment.apiContextPath('/api/re/common/parameterAndValueType/findByParameterId/' + owner.id)); } else if (type === 'indicator') { - autoCompletionManager.load(Environment.apiContextPath('/api/re/common/autoCompletionByIndicatorId/' + owner.id)); + autoCompletionManager.load(Environment.apiContextPath('/api/re/common/parameterAndValueType/findByIndicatorId/' + owner.id)); } userDefinedFunctionsManager.load(); } diff --git a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/converter/ParameterEntityConverter.java b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/converter/ParameterEntityConverter.java index b6c688d0..1ce7aa96 100644 --- a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/converter/ParameterEntityConverter.java +++ b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/converter/ParameterEntityConverter.java @@ -36,6 +36,7 @@ public class ParameterEntityConverter { InOptionParameter _po =new InOptionParameter(); _po.setDisableOnAutoSelected(_entity.getDisableOnAutoSelected()); _po.setUiSelect(_entity.getUiSelect()); + _po.setUiMultiSelect(_entity.getUiMultiSelect()); _po.setOptions(ParameterInOptionItemEntityConverter.toPo(_entity.getOptions())); _po.setAdditons(ParameterInOptionAdditionEntityConverter.toPo(_entity.getAdditions())); po =_po; @@ -110,6 +111,7 @@ public class ParameterEntityConverter { InOptionParameterEntity _entity =new InOptionParameterEntity(); _entity.setDisableOnAutoSelected(_po.getDisableOnAutoSelected()); _entity.setUiSelect(_po.getUiSelect()); + _entity.setUiMultiSelect(_po.getUiMultiSelect()); List options =ParameterInOptionItemEntityConverter.fromPo(_po.getOptions()); if(options!=null && options.size()>0) { diff --git a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/entity/parameter/InOptionParameterEntity.java b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/entity/parameter/InOptionParameterEntity.java index cb2baa96..df633376 100644 --- a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/entity/parameter/InOptionParameterEntity.java +++ b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/entity/parameter/InOptionParameterEntity.java @@ -29,6 +29,11 @@ public class InOptionParameterEntity extends ParameterEntity { @Convert(converter= NumericBooleanConverter.class) protected Boolean uiSelect; + //当参数类型是输入(选项)时,是否采用多选框呈现 + @Column(name="IS_UI_MULTI_SELECT_") + @Convert(converter= NumericBooleanConverter.class) + protected Boolean uiMultiSelect; + //选项列表 @OneToMany(mappedBy="parameter",cascade= {CascadeType.PERSIST}) @OrderBy("order") @@ -46,6 +51,7 @@ public class InOptionParameterEntity extends ParameterEntity { vo.setType(this.getType()); vo.setDisableOnAutoSelected(this.getDisableOnAutoSelected()); vo.setUiSelect(this.getUiSelect()); + vo.setUiMultiSelect(this.getUiMultiSelect()); return vo; } @@ -71,6 +77,12 @@ public class InOptionParameterEntity extends ParameterEntity { public void setUiSelect(Boolean uiSelect) { this.uiSelect = uiSelect; } + public Boolean getUiMultiSelect() { + return uiMultiSelect; + } + public void setUiMultiSelect(Boolean uiMultiSelect) { + this.uiMultiSelect = uiMultiSelect; + } public List getOptions() { return options; diff --git a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/vo/parameter/InOptionParameterVo.java b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/vo/parameter/InOptionParameterVo.java index 02be515d..f3fa1645 100644 --- a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/vo/parameter/InOptionParameterVo.java +++ b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/vo/parameter/InOptionParameterVo.java @@ -11,6 +11,8 @@ public class InOptionParameterVo extends ParameterVo { protected Boolean disableOnAutoSelected; //当参数类型是输入(选项)时,是否采用选择框呈现 protected Boolean uiSelect; + //当参数类型是输入(选项)时,是否采用多选框呈现 + protected Boolean uiMultiSelect; @Override public ParameterType getType() { @@ -32,4 +34,12 @@ public class InOptionParameterVo extends ParameterVo { public void setUiSelect(Boolean uiSelect) { this.uiSelect = uiSelect; } + + public Boolean getUiMultiSelect() { + return uiMultiSelect; + } + + public void setUiMultiSelect(Boolean uiMultiSelect) { + this.uiMultiSelect = uiMultiSelect; + } } diff --git a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/resource/service/impl/ResourceServiceImpl.java b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/resource/service/impl/ResourceServiceImpl.java index 4cc43139..bed96b07 100644 --- a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/resource/service/impl/ResourceServiceImpl.java +++ b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/resource/service/impl/ResourceServiceImpl.java @@ -34,6 +34,7 @@ import io.sc.engine.rule.server.resource.converter.ResourceEntityConverter; import io.sc.engine.rule.server.resource.entity.FolderResourceEntity; import io.sc.engine.rule.server.resource.entity.ModelResourceEntity; import io.sc.engine.rule.server.resource.entity.ResourceEntity; +import io.sc.engine.rule.server.resource.exception.ResourceAlreadyExistsException; import io.sc.engine.rule.server.resource.repository.ResourceRepository; import io.sc.engine.rule.server.resource.service.ResourceQueryService; import io.sc.engine.rule.server.resource.service.ResourceService; @@ -54,6 +55,7 @@ import io.sc.platform.system.role.jpa.entity.RoleEntity; import io.sc.platform.system.role.service.RoleService; import io.sc.platform.util.CollectionUtil; import io.sc.platform.util.ObjectMapperUtil; +import io.sc.platform.util.ObjectUtil; import org.flowable.engine.ProcessEngine; import org.flowable.task.api.history.HistoricTaskInstance; import org.springframework.beans.factory.annotation.Autowired; @@ -510,7 +512,7 @@ public class ResourceServiceImpl extends DaoServiceImpl + diff --git a/io.sc.engine.st.frontend/.npmrc b/io.sc.engine.st.frontend/.npmrc index 905ceea3..98b46133 100644 --- a/io.sc.engine.st.frontend/.npmrc +++ b/io.sc.engine.st.frontend/.npmrc @@ -12,4 +12,4 @@ git-checks=false # _authToken 可通过以下命令获取 # curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin # 上海农商银行内网令牌: NpmToken.ed1a68b7-543f-3c15-8451-2edbc0de057f -//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090 +//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.8d45fdad-a169-3f2d-b245-440815bc5e7e diff --git a/io.sc.engine.st.frontend/package.json b/io.sc.engine.st.frontend/package.json index 97b4a016..8db985a6 100644 --- a/io.sc.engine.st.frontend/package.json +++ b/io.sc.engine.st.frontend/package.json @@ -112,7 +112,7 @@ "node-sql-parser": "5.3.6", "pinia": "2.3.0", "pinia-undo": "0.2.4", - "platform-core": "8.2.140", + "platform-core": "8.2.141", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/io.sc.platform.ai.frontend/.npmrc b/io.sc.platform.ai.frontend/.npmrc index 905ceea3..98b46133 100644 --- a/io.sc.platform.ai.frontend/.npmrc +++ b/io.sc.platform.ai.frontend/.npmrc @@ -12,4 +12,4 @@ git-checks=false # _authToken 可通过以下命令获取 # curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin # 上海农商银行内网令牌: NpmToken.ed1a68b7-543f-3c15-8451-2edbc0de057f -//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090 +//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.8d45fdad-a169-3f2d-b245-440815bc5e7e diff --git a/io.sc.platform.ai.frontend/package.json b/io.sc.platform.ai.frontend/package.json index 9f93dd98..37af1355 100644 --- a/io.sc.platform.ai.frontend/package.json +++ b/io.sc.platform.ai.frontend/package.json @@ -112,7 +112,7 @@ "node-sql-parser": "5.3.6", "pinia": "2.3.0", "pinia-undo": "0.2.4", - "platform-core": "8.2.140", + "platform-core": "8.2.141", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/io.sc.platform.core.frontend/package.json b/io.sc.platform.core.frontend/package.json index 76dd30f0..2fec824a 100644 --- a/io.sc.platform.core.frontend/package.json +++ b/io.sc.platform.core.frontend/package.json @@ -1,6 +1,6 @@ { "name": "platform-core", - "version": "8.2.140", + "version": "8.2.141", "description": "前端核心包,用于快速构建前端的脚手架", "//main": "库的主文件", "main": "dist/platform-core.js", diff --git a/io.sc.platform.core.frontend/src/platform/components/grid/TdContent.vue b/io.sc.platform.core.frontend/src/platform/components/grid/TdContent.vue index bc0204d2..ba88d95e 100644 --- a/io.sc.platform.core.frontend/src/platform/components/grid/TdContent.vue +++ b/io.sc.platform.core.frontend/src/platform/components/grid/TdContent.vue @@ -1,18 +1,20 @@