From be95eb621a033455c525d27988dcf3c779afbe96 Mon Sep 17 00:00:00 2001 From: wangshaoping Date: Wed, 25 Jun 2025 10:02:58 +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.20=20=20=201)=20=E8=A7=84=E5=88=99=E5=BC=95?= =?UTF-8?q?=E6=93=8E=E4=B8=AD=EF=BC=8C=E5=A2=9E=E5=8A=A0=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E6=88=96=E5=AD=90=E6=A8=A1=E5=9E=8B=E7=B1=BB=E5=9E=8B"?= =?UTF-8?q?=E5=AE=9A=E9=87=8F(=E8=BE=93=E5=85=A5)"=20=20=202)=20=E8=A7=84?= =?UTF-8?q?=E5=88=99=E5=BC=95=E6=93=8E=E4=B8=AD=EF=BC=8C=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E8=AE=BE=E7=BD=AE=20showIf=20=E5=8F=82?= =?UTF-8?q?=E6=95=B0=20=20=203=EF=BC=89=E8=A7=84=E5=88=99=E5=BC=95?= =?UTF-8?q?=E6=93=8E=E4=B8=AD=EF=BC=8C=E4=BF=AE=E6=94=B9=E5=AE=9A=E6=80=A7?= =?UTF-8?q?=E9=80=89=E9=A1=B9=E8=A1=A5=E5=BD=95=E9=A1=B9=E7=9A=84=E6=9D=A1?= =?UTF-8?q?=E4=BB=B6=E8=A1=A8=E8=BE=BE=E5=BC=8F=EF=BC=8C=E9=87=87=E7=94=A8?= =?UTF-8?q?=20Code=20=E5=AD=98=E5=82=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cips.frontend/package.json | 2 +- erm.frontend/package.json | 2 +- gradle.properties | 2 +- io.sc.engine.mv.frontend/package.json | 2 +- .../engine/rule/core/enums/ModelCategory.java | 11 ++--- .../engine/rule/core/po/model/Parameter.java | 7 +++ .../po/model/parameter/InOptionParameter.java | 1 - .../sc/engine/rule/core/i18n/enums.properties | 1 + .../rule/core/i18n/enums_tw_CN.properties | 1 + .../rule/core/i18n/enums_zh_CN.properties | 1 + io.sc.engine.rule.frontend/package.json | 2 +- .../src/i18n/messages.json | 1 + .../src/i18n/messages_tw_CN.json | 1 + .../src/i18n/messages_zh_CN.json | 1 + .../views/resources/designer/Parameter.vue | 42 +++++++++++++++-- .../ParameterAndValueTypeWebController.java | 5 +++ .../service/ParameterAndValueTypeService.java | 1 + .../ParameterAndValueTypeServiceImpl.java | 34 +++++++++++++- .../controller/ParameterWebController.java | 23 +++++++++- .../converter/ParameterEntityConverter.java | 1 + .../server/model/entity/ParameterEntity.java | 45 ++++++++++++++++++- .../ParameterInOptionAdditionEntity.java | 31 ++++++++++++- .../ParameterInOptionAdditionServiceImpl.java | 43 ++++++++++++++++-- .../service/impl/ParameterServiceImpl.java | 37 +++++++++++++-- .../rule/server/model/vo/ParameterVo.java | 11 +++++ .../vo/parameter/InOptionParameterVo.java | 1 - ...20515__Rule Engine Database Schema DDL.xml | 1 + io.sc.engine.st.frontend/package.json | 2 +- io.sc.platform.ai.frontend/package.json | 2 +- io.sc.platform.developer.doc/package.json | 2 +- .../package.json | 2 +- io.sc.platform.lcdp.frontend/package.json | 2 +- .../package.json | 2 +- io.sc.platform.mvc.frontend/package.json | 2 +- .../package.json | 2 +- io.sc.platform.system.frontend/package.json | 2 +- io.sc.standard.frontend/package.json | 2 +- io.sc.website/package.json | 2 +- wra.report.frontend/package.json | 2 +- 39 files changed, 295 insertions(+), 39 deletions(-) diff --git a/cips.frontend/package.json b/cips.frontend/package.json index fab4062b..ff9a61db 100644 --- a/cips.frontend/package.json +++ b/cips.frontend/package.json @@ -1,6 +1,6 @@ { "name": "cips.frontend", - "version": "8.2.19", + "version": "8.2.20", "description": "", "private": false, "keywords": [], diff --git a/erm.frontend/package.json b/erm.frontend/package.json index 053f6e4d..b343d9b3 100644 --- a/erm.frontend/package.json +++ b/erm.frontend/package.json @@ -1,6 +1,6 @@ { "name": "erm.frontend", - "version": "8.2.19", + "version": "8.2.20", "description": "", "private": false, "keywords": [], diff --git a/gradle.properties b/gradle.properties index 444b8ede..afaec93e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -37,7 +37,7 @@ application_version=1.0.0 # platform ########################################################### platform_group=io.sc -platform_version=8.2.19 +platform_version=8.2.20 platform_plugin_version=8.2.10 platform_core_frontend_version=8.2.82 diff --git a/io.sc.engine.mv.frontend/package.json b/io.sc.engine.mv.frontend/package.json index 3e72df40..28b3664b 100644 --- a/io.sc.engine.mv.frontend/package.json +++ b/io.sc.engine.mv.frontend/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.engine.mv.frontend", - "version": "8.2.19", + "version": "8.2.20", "description": "", "private": false, "keywords": [], 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 f18b6b15..f334642c 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 @@ -4,9 +4,10 @@ package io.sc.engine.rule.core.enums; * 模型分类 */ public enum ModelCategory { - QUANTITATIVE, //定量模型 - QUALITATIVE, //定性模型 - ADJUSTMENT, //调整项模型 - RULE, //规则 - OTHER //其他模型 + QUANTITATIVE, //定量模型 + QUANTITATIVE_INPUT, // 定量模型(输入) + QUALITATIVE, //定性模型 + ADJUSTMENT, //调整项模型 + RULE, //规则 + OTHER //其他模型 } diff --git a/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/po/model/Parameter.java b/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/po/model/Parameter.java index a7d92d2d..cb2b06d8 100644 --- a/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/po/model/Parameter.java +++ b/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/po/model/Parameter.java @@ -32,6 +32,7 @@ public abstract class Parameter { protected Boolean valueTypeIsList;//参数值类型是否是列表 protected String defaultValue;//默认值 protected Integer order;//排序 + protected String showIf;//显示条件 protected List validators =new ArrayList<>();//包含的验证器 protected List processors =new ArrayList<>();//包含的处理器 @@ -104,6 +105,12 @@ public abstract class Parameter { public void setOrder(Integer order) { this.order = order; } + public String getShowIf() { + return showIf; + } + public void setShowIf(String showIf) { + this.showIf = showIf; + } public List getValidators() { return validators; } 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 ac07aa5c..e6aa44c3 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 @@ -23,7 +23,6 @@ public class InOptionParameter extends Parameter { //不录项列表 protected List additons =new ArrayList<>(); - @Override public ParameterType getType() { return ParameterType.IN_OPTION; 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 c45cf439..a7db423e 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 @@ -9,6 +9,7 @@ io.sc.engine.rule.core.enums.ResourceType.SCORE_CARD=Score Card # \u6A21\u578B\u5206\u7C7B\u679A\u4E3E #================================================ io.sc.engine.rule.core.enums.ModelCategory.QUANTITATIVE=Quantitative +io.sc.engine.rule.core.enums.ModelCategory.QUANTITATIVE_INPUT=Quantitative(Input) io.sc.engine.rule.core.enums.ModelCategory.QUALITATIVE=Qualitative io.sc.engine.rule.core.enums.ModelCategory.ADJUSTMENT=Adjustment io.sc.engine.rule.core.enums.ModelCategory.RULE=Rule 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 b23a2fbc..02a11396 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 @@ -9,6 +9,7 @@ io.sc.engine.rule.core.enums.ResourceType.SCORE_CARD=\u8A55\u5206\u5361 # \u6A21\u578B\u5206\u7C7B\u679A\u4E3E #================================================ io.sc.engine.rule.core.enums.ModelCategory.QUANTITATIVE=\u5B9A\u91CF +io.sc.engine.rule.core.enums.ModelCategory.QUANTITATIVE_INPUT=\u5B9A\u91CF(\u8F38\u5165) io.sc.engine.rule.core.enums.ModelCategory.QUALITATIVE=\u5B9A\u6027 io.sc.engine.rule.core.enums.ModelCategory.ADJUSTMENT=\u8ABF\u6574\u9805 io.sc.engine.rule.core.enums.ModelCategory.RULE=\u898F\u5247 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 bafcb4da..8f68c8d4 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 @@ -9,6 +9,7 @@ io.sc.engine.rule.core.enums.ResourceType.SCORE_CARD=\u8BC4\u5206\u5361 # \u6A21\u578B\u5206\u7C7B\u679A\u4E3E #================================================ io.sc.engine.rule.core.enums.ModelCategory.QUANTITATIVE=\u5B9A\u91CF +io.sc.engine.rule.core.enums.ModelCategory.QUANTITATIVE_INPUT=\u5B9A\u91CF(\u8F93\u5165) io.sc.engine.rule.core.enums.ModelCategory.QUALITATIVE=\u5B9A\u6027 io.sc.engine.rule.core.enums.ModelCategory.ADJUSTMENT=\u8C03\u6574\u9879 io.sc.engine.rule.core.enums.ModelCategory.RULE=\u89C4\u5219 diff --git a/io.sc.engine.rule.frontend/package.json b/io.sc.engine.rule.frontend/package.json index e5cf16ec..6bc91e9c 100644 --- a/io.sc.engine.rule.frontend/package.json +++ b/io.sc.engine.rule.frontend/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.engine.rule.frontend", - "version": "8.2.19", + "version": "8.2.20", "description": "", "private": false, "keywords": [], diff --git a/io.sc.engine.rule.frontend/src/i18n/messages.json b/io.sc.engine.rule.frontend/src/i18n/messages.json index 72b59084..64f0bf2b 100644 --- a/io.sc.engine.rule.frontend/src/i18n/messages.json +++ b/io.sc.engine.rule.frontend/src/i18n/messages.json @@ -76,6 +76,7 @@ "re.parameter.grid.entity.libCode": "Library", "re.parameter.grid.entity.libVersion": "Library Version", "re.parameter.grid.entity.indicatorCode": "Indicator", + "re.parameter.grid.entity.showIf": "Show If", "re.parameter.tip.indicatorParameterCanNotEditable": "Indicator parameter can NOT editable!", "re.parameter.tip.subModelParameterCanNotEditable": "Sub model parameter can NOT editable!", 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 feb89510..d007d1bd 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 @@ -76,6 +76,7 @@ "re.parameter.grid.entity.libCode": "指標庫", "re.parameter.grid.entity.libVersion": "指標庫版本", "re.parameter.grid.entity.indicatorCode": "指標", + "re.parameter.grid.entity.showIf": "前端顯示條件", "re.parameter.tip.indicatorParameterCanNotEditable": "類型為指標的參數不能進行編輯!", "re.parameter.tip.subModelParameterCanNotEditable": "子模型參數不能進行編輯!", 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 b7b50122..a2859070 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 @@ -76,6 +76,7 @@ "re.parameter.grid.entity.libCode": "指标库", "re.parameter.grid.entity.libVersion": "指标库版本", "re.parameter.grid.entity.indicatorCode": "指标", + "re.parameter.grid.entity.showIf": "前端显示条件", "re.parameter.tip.indicatorParameterCanNotEditable": "类型为指标的参数不能进行编辑!", "re.parameter.tip.subModelParameterCanNotEditable": "子模型参数不能进行编辑!", diff --git a/io.sc.engine.rule.frontend/src/views/resources/designer/Parameter.vue b/io.sc.engine.rule.frontend/src/views/resources/designer/Parameter.vue index 6a771a69..8c513f77 100644 --- a/io.sc.engine.rule.frontend/src/views/resources/designer/Parameter.vue +++ b/io.sc.engine.rule.frontend/src/views/resources/designer/Parameter.vue @@ -127,7 +127,8 @@ { extend: 'edit', enableIf: (args: any) => { - return !readOnly && args.selected && args.selected.type !== 'INDICATOR' && args.selected.type !== 'IN_SUB_OUT'; + return !readOnly && args.selected && args.selected.type !== 'IN_SUB_OUT'; + //return !readOnly && args.selected && args.selected.type !== 'INDICATOR' && args.selected.type !== 'IN_SUB_OUT'; }, disableTip: (args: any) => { const row = args.selected; @@ -193,11 +194,42 @@ options: EngineEnums.ParameterType.options, 'onUpdate:modelValue': (value) => {}, }, - { name: 'code', label: $t('code'), type: 'w-text' }, - { name: 'name', label: $t('name'), type: 'w-text', requiredIf: true }, + { + name: 'code', + label: $t('code'), + type: 'w-text', + readOnlyIf: (args: any) => { + return 'INDICATOR' === args.form.getFieldValue('type'); + }, + }, + { + name: 'name', + label: $t('name'), + type: 'w-text', + requiredIf: true, + readOnlyIf: (args: any) => { + return 'INDICATOR' === args.form.getFieldValue('type'); + }, + }, { name: 'description', label: $t('description'), type: 'w-text' }, ...valueTypeManager.getEditorFields(), { name: 'order', label: $t('order'), type: 'w-number', showIf: false }, + { + name: 'showIf', + label: $t('re.parameter.grid.entity.showIf'), + type: 'w-code-mirror', + toolbar: false, + lang: 'java', + rows: 5, + placeholder: true, + lineWrap: true, + lineBreak: false, + autoCompletion: autoCompletionManager.autoCompletion(), + showIf: (args: any) => { + let type = args.form.getFieldValue('type'); + return 'IN' == type || 'IN_OPTION' == type || 'INDICATOR' == type; + }, + }, ], }, }" @@ -216,6 +248,7 @@ { name: 'indicatorCode', label: $t('re.parameter.grid.entity.indicatorCode') }, ...valueTypeManager.getViewerFields(), { name: 'order', label: $t('order') }, + { name: 'showIf', label: $t('re.parameter.grid.entity.showIf') }, ...CorporationAuditorEntityManager.getViewerFields(), ], }, @@ -228,6 +261,7 @@ @before-request-data=" (args) => { emit('beforeRequestData'); + autoCompletionManager.load(Environment.apiContextPath('/api/re/common/parameterAndValueType/findInParameterByResourceId/' + resource.id)); } " @after-editor-open=" @@ -275,6 +309,7 @@ import { ValueTypeManager } from '@/views/shared/ValueTypeManager'; import { LibManager } from '@/views/shared/LibManager'; import { TemplateImportAndExportManager } from '@/views/shared/TemplateImportAndExportManager'; import { EngineEnums } from '@/views/shared/enums/EngineEnums'; +import { AutoCompletionManager } from '@/views/shared/AutoCompletionManager'; const props = defineProps({ resource: { type: Object, default: undefined }, @@ -293,6 +328,7 @@ const moveParameterDialogRef = ref(); const templateImportAndExportDialogRef = ref(); const importDialogRef = ref(); const valueTypeManager = new ValueTypeManager(); +const autoCompletionManager = new AutoCompletionManager(); const templateImportAndExportManager = new TemplateImportAndExportManager(templateImportAndExportDialogRef); onMounted(() => { diff --git a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/common/controller/ParameterAndValueTypeWebController.java b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/common/controller/ParameterAndValueTypeWebController.java index 32468b95..28bb107e 100644 --- a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/common/controller/ParameterAndValueTypeWebController.java +++ b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/common/controller/ParameterAndValueTypeWebController.java @@ -45,4 +45,9 @@ public class ParameterAndValueTypeWebController { public ParameterAndValueType findByDictionaryCodeAndVersion(@PathVariable(name="code",required=true)String code, @PathVariable(name="version",required=false)Integer version,Locale locale) throws Exception{ return service.findByDictionaryCodeAndVersion(code,version,locale); } + + @GetMapping("findInParameterByResourceId/{modelId}") + public ParameterAndValueType findInParameterByResourceId(@PathVariable(name="modelId",required=true)String modelId, Locale locale) throws Exception{ + return service.findInParameterByResourceId(modelId,locale); + } } diff --git a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/common/service/ParameterAndValueTypeService.java b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/common/service/ParameterAndValueTypeService.java index 4af27807..af2cc629 100644 --- a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/common/service/ParameterAndValueTypeService.java +++ b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/common/service/ParameterAndValueTypeService.java @@ -13,4 +13,5 @@ public interface ParameterAndValueTypeService { public ParameterAndValueType findByDictionaryId(String id, Locale locale) throws Exception; public ParameterAndValueType findByDictionaryCodeAndVersion(String code, Integer version, Locale locale) throws Exception; + public ParameterAndValueType findInParameterByResourceId(String resourceId, Locale locale) throws Exception; } diff --git a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/common/service/impl/ParameterAndValueTypeServiceImpl.java b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/common/service/impl/ParameterAndValueTypeServiceImpl.java index 21fe1044..5253ecf4 100644 --- a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/common/service/impl/ParameterAndValueTypeServiceImpl.java +++ b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/common/service/impl/ParameterAndValueTypeServiceImpl.java @@ -20,6 +20,8 @@ import io.sc.engine.rule.server.lib.service.IndicatorService; import io.sc.engine.rule.server.lib.service.LibService; import io.sc.engine.rule.server.model.entity.ModelEntity; import io.sc.engine.rule.server.model.entity.ParameterEntity; +import io.sc.engine.rule.server.model.entity.parameter.InOptionParameterEntity; +import io.sc.engine.rule.server.model.entity.parameter.InParameterEntity; import io.sc.engine.rule.server.model.entity.parameter.OutParameterEntity; import io.sc.engine.rule.server.model.service.ModelService; import io.sc.engine.rule.server.model.service.ParameterProcessorService; @@ -115,7 +117,37 @@ public class ParameterAndValueTypeServiceImpl implements ParameterAndValueTypeSe return parameterAndValueType; } - private void buildByModel(ParameterAndValueType parameterAndValueType,ModelEntity modelEntity, Locale locale) throws Exception{ + @Override + public ParameterAndValueType findInParameterByResourceId(String resourceId, Locale locale) throws Exception { + if(!StringUtils.hasText(resourceId)){ return null; } + ModelEntity modelEntity =modelService.findRootModelByResourceId(resourceId); + if(modelEntity==null){ return null; } + + List parameterEntities =modelService.getAllParameters(modelEntity.getId()); + if(parameterEntities!=null && parameterEntities.size()>0){ + ParameterAndValueType parameterAndValueType =new ParameterAndValueType(); + //枚举类型 + buildByEnumDictionary(parameterAndValueType,locale); + //构建参数 + for(ParameterEntity entity : parameterEntities){ + if(entity instanceof InOptionParameterEntity || entity instanceof InParameterEntity){ + Parameter parameter =new Parameter(); + parameter.setCode(entity.getCode()); + parameter.setName(entity.getName()); + parameter.setType(entity.getType().toString()); + parameter.setValueType(entity.getValueType()); + parameter.setValueTypeVersion(entity.getValueTypeVersion()); + parameter.setValueTypeIsList(entity.getValueTypeIsList()); + parameterAndValueType.addParameter(parameter); + buildValueType(parameterAndValueType,entity.getValueType(),entity.getValueTypeVersion(),locale); + } + } + return parameterAndValueType; + } + return null; + } + + private void buildByModel(ParameterAndValueType parameterAndValueType, ModelEntity modelEntity, Locale locale) throws Exception{ if(modelEntity==null || !StringUtils.hasText(modelEntity.getId())){ return; } //枚举类型 diff --git a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/controller/ParameterWebController.java b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/controller/ParameterWebController.java index 90c1ae38..9229118a 100644 --- a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/controller/ParameterWebController.java +++ b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/controller/ParameterWebController.java @@ -1,7 +1,14 @@ package io.sc.engine.rule.server.model.controller; +import io.sc.engine.rule.core.enums.ReplaceMode; +import io.sc.engine.rule.server.common.service.ParameterAndValueTypeService; +import io.sc.engine.rule.server.common.service.support.ParameterAndValueType; +import io.sc.engine.rule.server.common.util.VariableCodeAndNameReplacer; +import io.sc.engine.rule.server.model.entity.ModelEntity; import io.sc.engine.rule.server.model.entity.ParameterEntity; +import io.sc.engine.rule.server.model.entity.ParameterProcessorEntity; import io.sc.engine.rule.server.model.repository.ParameterRepository; +import io.sc.engine.rule.server.model.service.ModelService; import io.sc.engine.rule.server.model.service.ParameterService; import io.sc.engine.rule.server.model.service.support.ObjectProperty; import io.sc.engine.rule.server.model.service.support.ParameterIndicatorsWrapper; @@ -12,10 +19,12 @@ import io.sc.platform.mvc.support.One2Many; import io.sc.platform.orm.util.EntityVoUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; +import java.util.Collections; import java.util.List; import java.util.Locale; import java.util.Map; @@ -28,9 +37,19 @@ import java.util.Map; public class ParameterWebController extends RestCrudController { private static final Logger log =LoggerFactory.getLogger(ParameterWebController.class); + @Autowired private ParameterAndValueTypeService parameterAndValueTypeService; + @Autowired private ModelService modelService; + @GetMapping("findParametersByModelId") - public List findParametersByModelId(@RequestParam(name="modelId",required = false)String modelId) throws Exception { - return EntityVoUtil.toVo(service.findParametersByModelId(modelId)); + public List findParametersByModelId(@RequestParam(name="modelId",required = false)String modelId, Locale locale) throws Exception { + if(!StringUtils.hasText(modelId)){ + return Collections.emptyList(); + } + ModelEntity rootModelEntity =modelService.findRootModelByModelId(modelId); + List entities =service.findParametersByModelId(modelId); + ParameterAndValueType parameterAndValueType =parameterAndValueTypeService.findInParameterByResourceId(rootModelEntity.getResource().getId(),locale); + VariableCodeAndNameReplacer.replace(entities,parameterAndValueType, ReplaceMode.CODE_TO_NAME); + return EntityVoUtil.toVo(entities); } @GetMapping("findParametersByParameterId") 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 f663733e..b8ea2678 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 @@ -58,6 +58,7 @@ public class ParameterEntityConverter { po.setValueTypeIsList(entity.getValueTypeIsList()); po.setDefaultValue(entity.getDefaultValue()); po.setOrder(entity.getOrder()); + po.setShowIf(entity.getShowIf()); po.setValidators(ParameterValidatorEntityConverter.toPo(entity.getValidators())); po.setProcessors(ParameterProcessorEntityConverter.toPo(entity.getProcessors())); return po; diff --git a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/entity/ParameterEntity.java b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/entity/ParameterEntity.java index 5729711e..15ea68ce 100644 --- a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/entity/ParameterEntity.java +++ b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/entity/ParameterEntity.java @@ -3,6 +3,10 @@ package io.sc.engine.rule.server.model.entity; import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; import io.sc.engine.rule.core.enums.ParameterType; +import io.sc.engine.rule.core.enums.ReplaceMode; +import io.sc.engine.rule.server.common.CodeAndNameReplacer; +import io.sc.engine.rule.server.common.service.support.ParameterAndValueType; +import io.sc.engine.rule.server.common.service.support.ParameterCodeReplacer; import io.sc.engine.rule.server.model.entity.parameter.*; import io.sc.engine.rule.server.model.vo.ParameterVo; import io.sc.engine.rule.server.resource.entity.ResourceEntity; @@ -20,6 +24,7 @@ import javax.validation.constraints.Size; import java.math.RoundingMode; import java.util.ArrayList; import java.util.List; +import java.util.Map; /** * 模型参数实体 @@ -39,7 +44,7 @@ import java.util.List; @JsonSubTypes.Type(value=IntermediateParameterEntity.class), //中间值 @JsonSubTypes.Type(value=OutParameterEntity.class) //结果值 }) -public class ParameterEntity extends CorporationAuditorEntity implements DeepClone, IdClearable, TestCaseParameterAble{ +public class ParameterEntity extends CorporationAuditorEntity implements DeepClone, IdClearable, CodeAndNameReplacer,TestCaseParameterAble{ //ID,主键 @Id @GeneratedValue(generator = "system-uuid") @@ -97,6 +102,11 @@ public class ParameterEntity extends CorporationAuditorEntity imple //排序 @Column(name="ORDER_") protected Integer order; + + //条件 + @Column(name="SHOW_IF_",length = 1024) + @Size(max=1024) + protected String showIf; //所属模型 @ManyToOne(fetch=FetchType.LAZY) @@ -129,6 +139,7 @@ public class ParameterEntity extends CorporationAuditorEntity imple vo.setValueTypeIsList(this.getValueTypeIsList()); vo.setDefaultValue(this.getDefaultValue()); vo.setOrder(this.getOrder()); + vo.setShowIf(this.getShowIf()); vo.setModel(this.getModel()==null?null:this.getModel().getId()); } } @@ -229,6 +240,14 @@ public class ParameterEntity extends CorporationAuditorEntity imple this.order = order; } + public @Size(max = 1024) String getShowIf() { + return showIf; + } + + public void setShowIf(@Size(max = 1024) String showIf) { + this.showIf = showIf; + } + public ModelEntity getModel() { return model; } @@ -326,4 +345,28 @@ public class ParameterEntity extends CorporationAuditorEntity imple return wrapper; } + + @Override + public boolean replace(ParameterAndValueType parameterAndValueType, ReplaceMode mode) { + String replaced =parameterAndValueType.replace(this.showIf, mode); + replaced =(replaced==null?"":replaced); + boolean result =false; + if(!replaced.equals(this.showIf)) { + result =true; + } + this.showIf =replaced; + return result; + } + + @Override + public boolean replace(Map code2codeMapping) { + String replaced = ParameterCodeReplacer.replace(this.showIf, code2codeMapping); + replaced =(replaced==null?"":replaced); + boolean result =false; + if(!replaced.equals(this.showIf)) { + result =true; + } + this.showIf =replaced; + return result; + } } diff --git a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/entity/ParameterInOptionAdditionEntity.java b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/entity/ParameterInOptionAdditionEntity.java index 0bc3cd0e..7c80e10c 100644 --- a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/entity/ParameterInOptionAdditionEntity.java +++ b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/entity/ParameterInOptionAdditionEntity.java @@ -1,6 +1,10 @@ package io.sc.engine.rule.server.model.entity; import io.sc.engine.rule.core.enums.QualitativeAdditionComponentType; +import io.sc.engine.rule.core.enums.ReplaceMode; +import io.sc.engine.rule.server.common.CodeAndNameReplacer; +import io.sc.engine.rule.server.common.service.support.ParameterAndValueType; +import io.sc.engine.rule.server.common.service.support.ParameterCodeReplacer; import io.sc.engine.rule.server.model.vo.ParameterInOptionAdditionVo; import io.sc.platform.orm.DeepClone; import io.sc.platform.orm.IdClearable; @@ -11,13 +15,14 @@ import org.springframework.beans.BeanUtils; import javax.persistence.*; import javax.validation.constraints.Size; +import java.util.Map; /** * 输入值(选项)参数的补录项实体类 */ @Entity @Table(name="RE_MODEL_PARAMETER_ADDITION") -public class ParameterInOptionAdditionEntity extends CorporationAuditorEntity implements DeepClone, IdClearable { +public class ParameterInOptionAdditionEntity extends CorporationAuditorEntity implements DeepClone, IdClearable, CodeAndNameReplacer { //ID,主键 @Id @GeneratedValue(generator = "system-uuid") @@ -257,4 +262,28 @@ public class ParameterInOptionAdditionEntity extends CorporationAuditorEntity code2codeMapping) { + String replaced = ParameterCodeReplacer.replace(this.condition, code2codeMapping); + replaced =(replaced==null?"":replaced); + boolean result =false; + if(!replaced.equals(this.condition)) { + result =true; + } + this.condition =replaced; + return result; + } } diff --git a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/service/impl/ParameterInOptionAdditionServiceImpl.java b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/service/impl/ParameterInOptionAdditionServiceImpl.java index c412f9c4..8703673c 100644 --- a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/service/impl/ParameterInOptionAdditionServiceImpl.java +++ b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/service/impl/ParameterInOptionAdditionServiceImpl.java @@ -1,5 +1,10 @@ package io.sc.engine.rule.server.model.service.impl; +import io.sc.engine.rule.core.enums.ReplaceMode; +import io.sc.engine.rule.server.common.service.ParameterAndValueTypeService; +import io.sc.engine.rule.server.common.service.support.ParameterAndValueType; +import io.sc.engine.rule.server.common.util.VariableCodeAndNameReplacer; +import io.sc.engine.rule.server.model.entity.ParameterEntity; import io.sc.engine.rule.server.model.entity.ParameterInOptionAdditionEntity; import io.sc.engine.rule.server.model.entity.ParameterInOptionItemEntity; import io.sc.engine.rule.server.model.repository.ParameterInOptionAdditionRepository; @@ -12,14 +17,17 @@ import io.sc.platform.orm.service.support.QueryParameter; import io.sc.platform.orm.service.support.QueryResult; import io.sc.platform.orm.service.support.criteria.impl.Equals; import io.sc.platform.orm.util.EntityVoUtil; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; +import java.util.Locale; @Service("io.sc.engine.rule.server.model.service.impl.ParameterInOptionAdditionServiceImpl") public class ParameterInOptionAdditionServiceImpl extends DaoServiceImpl implements ParameterInOptionAdditionService { + @Autowired private ParameterAndValueTypeService parameterAndValueTypeService; @Override public Page findByParameterId(String parameterId, QueryParameter queryParameter) throws Exception { @@ -28,7 +36,14 @@ public class ParameterInOptionAdditionServiceImpl extends DaoServiceImpl entities =super.query(queryParameter); + //获取代码和名称的映射表 + ParameterAndValueType parameterAndValueType =parameterAndValueTypeService.findByParameterId(parameterId, Locale.getDefault()); + //将名称替换为代码 + VariableCodeAndNameReplacer.replace(entities.getContent(), parameterAndValueType, ReplaceMode.CODE_TO_NAME); + + return EntityVoUtil.toVo(entities); } @Override @@ -41,13 +56,35 @@ public class ParameterInOptionAdditionServiceImpl extends DaoServiceImpl findParametersByModelId(String modelId) throws Exception { @@ -156,7 +161,7 @@ public class ParameterServiceImpl extends DaoServiceImpl parameters =modelService.getAllParameters(rootModelEntity.getId()); if(parameters!=null && parameters.size()>0) { for(ParameterEntity parameter : parameters) { @@ -165,7 +170,12 @@ public class ParameterServiceImpl extends DaoServiceImpl + diff --git a/io.sc.engine.st.frontend/package.json b/io.sc.engine.st.frontend/package.json index cf4aae35..b327c4ec 100644 --- a/io.sc.engine.st.frontend/package.json +++ b/io.sc.engine.st.frontend/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.engine.st.frontend", - "version": "8.2.19", + "version": "8.2.20", "description": "", "private": false, "keywords": [], diff --git a/io.sc.platform.ai.frontend/package.json b/io.sc.platform.ai.frontend/package.json index b7649fca..768015f2 100644 --- a/io.sc.platform.ai.frontend/package.json +++ b/io.sc.platform.ai.frontend/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.platform.ai.frontend", - "version": "8.2.19", + "version": "8.2.20", "description": "", "private": false, "keywords": [], diff --git a/io.sc.platform.developer.doc/package.json b/io.sc.platform.developer.doc/package.json index b9c3ae2a..43e869ce 100644 --- a/io.sc.platform.developer.doc/package.json +++ b/io.sc.platform.developer.doc/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.platform.developer.doc", - "version": "8.2.19", + "version": "8.2.20", "description": "", "main": "index.js", "scripts": { diff --git a/io.sc.platform.developer.frontend/package.json b/io.sc.platform.developer.frontend/package.json index 3c2af359..e8b98d7a 100644 --- a/io.sc.platform.developer.frontend/package.json +++ b/io.sc.platform.developer.frontend/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.platform.developer.frontend", - "version": "8.2.19", + "version": "8.2.20", "description": "", "private": false, "keywords": [], diff --git a/io.sc.platform.lcdp.frontend/package.json b/io.sc.platform.lcdp.frontend/package.json index b9a85470..284e7a0a 100644 --- a/io.sc.platform.lcdp.frontend/package.json +++ b/io.sc.platform.lcdp.frontend/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.platform.lcdp.frontend", - "version": "8.2.19", + "version": "8.2.20", "description": "", "private": false, "keywords": [], diff --git a/io.sc.platform.license.keygen.frontend/package.json b/io.sc.platform.license.keygen.frontend/package.json index dc45a4e9..058247bb 100644 --- a/io.sc.platform.license.keygen.frontend/package.json +++ b/io.sc.platform.license.keygen.frontend/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.platform.license.keygen.frontend", - "version": "8.2.19", + "version": "8.2.20", "description": "", "private": false, "keywords": [], diff --git a/io.sc.platform.mvc.frontend/package.json b/io.sc.platform.mvc.frontend/package.json index ae948278..36041194 100644 --- a/io.sc.platform.mvc.frontend/package.json +++ b/io.sc.platform.mvc.frontend/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.platform.mvc.frontend", - "version": "8.2.19", + "version": "8.2.20", "description": "", "private": false, "keywords": [], diff --git a/io.sc.platform.scheduler.manager.frontend/package.json b/io.sc.platform.scheduler.manager.frontend/package.json index 5093fb4d..0653a605 100644 --- a/io.sc.platform.scheduler.manager.frontend/package.json +++ b/io.sc.platform.scheduler.manager.frontend/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.platform.scheduler.manager.frontend", - "version": "8.2.19", + "version": "8.2.20", "description": "", "private": false, "keywords": [], diff --git a/io.sc.platform.system.frontend/package.json b/io.sc.platform.system.frontend/package.json index b1caf15c..8b56d149 100644 --- a/io.sc.platform.system.frontend/package.json +++ b/io.sc.platform.system.frontend/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.platform.system.frontend", - "version": "8.2.19", + "version": "8.2.20", "description": "", "private": false, "keywords": [], diff --git a/io.sc.standard.frontend/package.json b/io.sc.standard.frontend/package.json index b1bcf80e..b11077fc 100644 --- a/io.sc.standard.frontend/package.json +++ b/io.sc.standard.frontend/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.standard.frontend", - "version": "8.2.19", + "version": "8.2.20", "description": "", "private": false, "keywords": [], diff --git a/io.sc.website/package.json b/io.sc.website/package.json index b155401e..617a3355 100644 --- a/io.sc.website/package.json +++ b/io.sc.website/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.website", - "version": "8.2.19", + "version": "8.2.20", "description": "", "main": "index.js", "scripts": { diff --git a/wra.report.frontend/package.json b/wra.report.frontend/package.json index 4028c7f1..e8e28d5a 100644 --- a/wra.report.frontend/package.json +++ b/wra.report.frontend/package.json @@ -1,6 +1,6 @@ { "name": "wra.report.frontend", - "version": "8.2.19", + "version": "8.2.20", "description": "", "private": false, "keywords": [],