diff --git a/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/code/impl/support/processor/DecisionTree.java b/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/code/impl/support/processor/DecisionTree.java index 01297bb0..905c0dc7 100644 --- a/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/code/impl/support/processor/DecisionTree.java +++ b/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/code/impl/support/processor/DecisionTree.java @@ -7,11 +7,7 @@ import java.util.Map; import io.sc.engine.rule.core.enums.ValueType; import io.sc.engine.rule.core.mxgraph.parser.DecisionTreeParser; -import io.sc.engine.rule.core.mxgraph.po.ConditionNode; -import io.sc.engine.rule.core.mxgraph.po.EdgeNode; -import io.sc.engine.rule.core.mxgraph.po.ExpressionNode; -import io.sc.engine.rule.core.mxgraph.po.GraphNode; -import io.sc.engine.rule.core.mxgraph.po.ResourceAbstractNode; +import io.sc.engine.rule.core.mxgraph.po.*; 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.ExpressionReplacer; @@ -92,7 +88,7 @@ public class DecisionTree { if(branches!=null && branches.size()>0) { List outs =orderEdges(branches); //对出口边进行排序,有条件的放前面,无条件的放后面 for(int i=0;i orderEdges(List nodes){ List result =new ArrayList(); for(GraphNode node : nodes) { - if(node instanceof EdgeNode) { - EdgeNode edge =(EdgeNode)node; + if(node instanceof EdgeConditionBranchNode) { + EdgeConditionBranchNode edge =(EdgeConditionBranchNode)node; String value =edge.getValue(); if(value!=null && !"".equals(value.trim())) { result.add(0, edge); diff --git a/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/code/impl/support/processor/ExecutionFlow.java b/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/code/impl/support/processor/ExecutionFlow.java index e385326f..fd2d47cb 100644 --- a/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/code/impl/support/processor/ExecutionFlow.java +++ b/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/code/impl/support/processor/ExecutionFlow.java @@ -6,14 +6,7 @@ import java.util.List; import java.util.Map; import io.sc.engine.rule.core.mxgraph.parser.ExecutionFlowParser; -import io.sc.engine.rule.core.mxgraph.po.CommandSetNode; -import io.sc.engine.rule.core.mxgraph.po.ConditionNode; -import io.sc.engine.rule.core.mxgraph.po.ConfigurableResourceAbstractNode; -import io.sc.engine.rule.core.mxgraph.po.EdgeNode; -import io.sc.engine.rule.core.mxgraph.po.GraphNode; -import io.sc.engine.rule.core.mxgraph.po.ParallelNode; -import io.sc.engine.rule.core.mxgraph.po.ResourceAbstractNode; -import io.sc.engine.rule.core.mxgraph.po.SubModelAbstractNode; +import io.sc.engine.rule.core.mxgraph.po.*; import io.sc.engine.rule.core.po.model.Parameter; import io.sc.engine.rule.core.po.model.processor.ExecutionFlowParameterProcessor; import io.sc.engine.rule.core.util.ExpressionReplacer; @@ -103,9 +96,8 @@ public class ExecutionFlow { * 生成执行流条件节点 groovy 代码 * @param methodNameCache 方法名缓存 * @param parameter 参数 - * @param conditionNode 条件节点 + * @param node 条件节点 * @param methodName 方法名 - * @param returnType 返回值类型 * @return groovy 代码 */ private static String generateConditionGroovyCode(Map methodNameCache,Parameter parameter,ConditionNode node,String methodName) { @@ -115,7 +107,7 @@ public class ExecutionFlow { if(branches!=null && branches.size()>0) { List outs =orderEdges(branches); //对出口边进行排序,有条件的放前面,无条件的放后面 for(int i=0;i methodNameCache,Parameter parameter,ParallelNode node,String methodName) { @@ -181,9 +172,8 @@ public class ExecutionFlow { * 生成执行流表达式节点 groovy 代码 * @param methodNameCache 方法名缓存 * @param parameter 参数 - * @param expressionNode 表达式节点 + * @param node 表达式节点 * @param methodName 方法名 - * @param returnType 返回值类型 * @return 代码 */ private static String generateCommandSetGroovyCode(Map methodNameCache,Parameter parameter,CommandSetNode node,String methodName) { @@ -218,9 +208,8 @@ public class ExecutionFlow { * 生成执行流模型摘要节点 groovy 代码 * @param methodNameCache 方法名缓存 * @param parameter 参数 - * @param expressionNode 表达式节点 + * @param node 表达式节点 * @param methodName 方法名 - * @param returnType 返回值类型 * @return 代码 */ private static String generateResourceAbstractGroovyCode(Map methodNameCache,Parameter parameter,ResourceAbstractNode node,String methodName) { @@ -258,9 +247,8 @@ public class ExecutionFlow { * 生成执行流可配置模型摘要节点 groovy 代码 * @param methodNameCache 方法名缓存 * @param parameter 参数 - * @param expressionNode 表达式节点 + * @param node 表达式节点 * @param methodName 方法名 - * @param returnType 返回值类型 * @return 代码 */ private static String generateConfigurableResourceAbstractGroovyCode(Map methodNameCache,Parameter parameter,ConfigurableResourceAbstractNode node,String methodName) { @@ -308,9 +296,8 @@ public class ExecutionFlow { * 生成执行流子模型节点 groovy 代码 * @param methodNameCache 方法名缓存 * @param parameter 参数 - * @param expressionNode 表达式节点 + * @param node 表达式节点 * @param methodName 方法名 - * @param returnType 返回值类型 * @return 代码 */ private static String generateModelAbstractGroovyCode(Map methodNameCache,Parameter parameter,SubModelAbstractNode node,String methodName) { @@ -348,8 +335,8 @@ public class ExecutionFlow { private static List orderEdges(List nodes){ List result =new ArrayList(); for(GraphNode node : nodes) { - if(node instanceof EdgeNode) { - EdgeNode edge =(EdgeNode)node; + if(node instanceof EdgeConditionBranchNode) { + EdgeConditionBranchNode edge =(EdgeConditionBranchNode)node; String value =edge.getValue(); if(value!=null && !"".equals(value.trim())) { result.add(0, edge); 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 890c1340..41696ac9 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 @@ -10,13 +10,9 @@ import java.util.Map; import javax.imageio.ImageIO; +import io.sc.engine.rule.core.mxgraph.po.*; +import org.springframework.util.StringUtils; import org.w3c.dom.Document; -import io.sc.engine.rule.core.mxgraph.po.ConditionNode; -import io.sc.engine.rule.core.mxgraph.po.EdgeNode; -import io.sc.engine.rule.core.mxgraph.po.ExpressionNode; -import io.sc.engine.rule.core.mxgraph.po.GraphNode; -import io.sc.engine.rule.core.mxgraph.po.ResourceAbstractNode; -import io.sc.engine.rule.core.mxgraph.po.StartNode; import io.sc.engine.rule.core.mxgraph.support.DecisionTreeMxGraph; import com.mxgraph.io.mxCodec; @@ -53,7 +49,7 @@ public class DecisionTreeParser { * @throws IOException 违例 */ public void generateImage(String xml,OutputStream outputStream,String format) throws IOException { - Document doc = mxXmlUtils.parseXml(xml); + Document doc = mxXmlUtils.parseXml(replaceXml(xml)); mxCodec codec = new mxCodec(doc); mxGraphModel model =(mxGraphModel)codec.decode(doc.getDocumentElement()); mxGraph graph = new DecisionTreeMxGraph(model); @@ -72,7 +68,7 @@ public class DecisionTreeParser { } private Map parseNodes(String xml){ - Document doc = mxXmlUtils.parseXml(xml); + Document doc = mxXmlUtils.parseXml(replaceXml(xml)); mxCodec codec = new mxCodec(doc); mxGraphModel model =(mxGraphModel)codec.decode(doc.getDocumentElement()); mxCell root =(mxCell)model.getRoot(); //获取根( 标签对应的节点) @@ -109,8 +105,8 @@ public class DecisionTreeParser { node.setCode(cell.getAttribute("code")); node.setVersion(cell.getAttribute("version")); result.put(id, node); - }else if(GraphNode.EDGE.equalsIgnoreCase(type)) { - EdgeNode node =new EdgeNode(); + }else if(GraphNode.EDGE_CONDITION_BRANCH.equalsIgnoreCase(type)) { + EdgeConditionBranchNode node =new EdgeConditionBranchNode(); node.setId(id); node.setLabel(label); node.setValueType(cell.getAttribute("valueType")); @@ -125,6 +121,19 @@ public class DecisionTreeParser { node.setTargetId(target.getId()); } result.put(id, node); + } else if(GraphNode.EDGE.equalsIgnoreCase(type)) { + EdgeNode node =new EdgeNode(); + node.setId(id); + node.setLabel(label); + mxICell source =cell.getSource(); + if(source!=null) { + node.setSourceId(source.getId()); + } + mxICell target =cell.getTarget(); + if(target!=null) { + node.setTargetId(target.getId()); + } + result.put(id, node); } } return result; @@ -146,6 +155,16 @@ public class DecisionTreeParser { source.addOut(edgeNode); edgeNode.addOut(target); } + }else if(node instanceof EdgeConditionBranchNode) { + EdgeConditionBranchNode edgeNode =(EdgeConditionBranchNode)node; + String sourceId =edgeNode.getSourceId(); + String targetId =edgeNode.getTargetId(); + GraphNode source =nodes.get(sourceId); + GraphNode target =nodes.get(targetId); + if(source!=null) { + source.addOut(edgeNode); + edgeNode.addOut(target); + } } } if(startNode!=null) { @@ -160,4 +179,14 @@ public class DecisionTreeParser { } return null; } + + private String replaceXml(String xml){ + if(StringUtils.hasText(xml)) { + xml = xml.replace("GraphDataModel", "mxGraphModel"); + xml = xml.replace("Cell", "mxCell"); + xml = xml.replace("Geometry", "mxGeometry"); + return xml; + } + return xml; + } } diff --git a/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/mxgraph/parser/ExecutionFlowParser.java b/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/mxgraph/parser/ExecutionFlowParser.java index f5ef9f29..ab9141d2 100644 --- a/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/mxgraph/parser/ExecutionFlowParser.java +++ b/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/mxgraph/parser/ExecutionFlowParser.java @@ -10,16 +10,8 @@ import java.util.Map; import javax.imageio.ImageIO; +import io.sc.engine.rule.core.mxgraph.po.*; import org.w3c.dom.Document; -import io.sc.engine.rule.core.mxgraph.po.CommandSetNode; -import io.sc.engine.rule.core.mxgraph.po.ConditionNode; -import io.sc.engine.rule.core.mxgraph.po.ConfigurableResourceAbstractNode; -import io.sc.engine.rule.core.mxgraph.po.EdgeNode; -import io.sc.engine.rule.core.mxgraph.po.GraphNode; -import io.sc.engine.rule.core.mxgraph.po.ParallelNode; -import io.sc.engine.rule.core.mxgraph.po.ResourceAbstractNode; -import io.sc.engine.rule.core.mxgraph.po.StartNode; -import io.sc.engine.rule.core.mxgraph.po.SubModelAbstractNode; import io.sc.engine.rule.core.mxgraph.support.ExecutionFlowMxGraph; import com.mxgraph.io.mxCodec; @@ -131,8 +123,8 @@ public class ExecutionFlowParser { node.setLabel(label); node.setCode(cell.getAttribute("code")); result.put(id, node); - }else if(GraphNode.EDGE.equalsIgnoreCase(type)) { - EdgeNode node =new EdgeNode(); + } else if(GraphNode.EDGE_CONDITION_BRANCH.equalsIgnoreCase(type)) { + EdgeConditionBranchNode node =new EdgeConditionBranchNode(); node.setId(id); node.setLabel(label); node.setValueType(cell.getAttribute("valueType")); @@ -147,6 +139,19 @@ public class ExecutionFlowParser { node.setTargetId(target.getId()); } result.put(id, node); + }else if(GraphNode.EDGE.equalsIgnoreCase(type)) { + EdgeNode node =new EdgeNode(); + node.setId(id); + node.setLabel(label); + mxICell source =cell.getSource(); + if(source!=null) { + node.setSourceId(source.getId()); + } + mxICell target =cell.getTarget(); + if(target!=null) { + node.setTargetId(target.getId()); + } + result.put(id, node); } } return result; diff --git a/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/mxgraph/po/EdgeConditionBranchNode.java b/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/mxgraph/po/EdgeConditionBranchNode.java new file mode 100644 index 00000000..2c4fb140 --- /dev/null +++ b/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/mxgraph/po/EdgeConditionBranchNode.java @@ -0,0 +1,101 @@ +package io.sc.engine.rule.core.mxgraph.po; + +public class EdgeConditionBranchNode extends GraphNode { + private String valueType; //值类型 + private String value; //值 + private String sourceId; //源节点ID + private String targetId; //目标节点ID + private String commands; //命令 + + /** + * 获取值类型 + * @return 值类型 + */ + public String getValueType() { + return valueType; + } + + /** + * 设置值类型 + * @param valueType 值类型 + */ + public void setValueType(String valueType) { + this.valueType = valueType; + } + + /** + * 获取值 + * @return 值 + */ + public String getValue() { + return value; + } + + /** + * 设置值 + * @param value 值 + */ + public void setValue(String value) { + this.value = value; + } + + /** + * 获取源节点ID + * @return 源节点ID + */ + public String getSourceId() { + return sourceId; + } + + /** + * 设置源节点ID + * @param sourceId 源节点ID + */ + public void setSourceId(String sourceId) { + this.sourceId = sourceId; + } + + /** + * 获取目标节点ID + * @return 目标节点ID + */ + public String getTargetId() { + return targetId; + } + + /** + * 设置目标节点ID + * @param targetId 目标节点ID + */ + public void setTargetId(String targetId) { + this.targetId = targetId; + } + + /** + * 获取命令 + * @return 命令 + */ + public String getCommands() { + return commands; + } + + /** + * 设置命令 + * @param commands 命令 + */ + public void setCommands(String commands) { + this.commands = commands; + } + + @Override + public String toString() { + return "EdgeConditionBranchNode [id=" + id + + ", label=" + label + + ", valueType=" + valueType + + ", value=" + value + + ", sourceId=" + sourceId + + ", targetId=" + targetId + + ", commands=" + commands + + ", outs=" + outs + "]"; + } +} diff --git a/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/mxgraph/po/EdgeNode.java b/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/mxgraph/po/EdgeNode.java index 43a685e3..60d18434 100644 --- a/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/mxgraph/po/EdgeNode.java +++ b/io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/mxgraph/po/EdgeNode.java @@ -6,43 +6,8 @@ package io.sc.engine.rule.core.mxgraph.po; * */ public class EdgeNode extends GraphNode{ - private String valueType; //值类型 - private String value; //值 private String sourceId; //源节点ID private String targetId; //目标节点ID - private String commands; //命令 - - /** - * 获取值类型 - * @return 值类型 - */ - public String getValueType() { - return valueType; - } - - /** - * 设置值类型 - * @param valueType 值类型 - */ - public void setValueType(String valueType) { - this.valueType = valueType; - } - - /** - * 获取值 - * @return 值 - */ - public String getValue() { - return value; - } - - /** - * 设置值 - * @param value 值 - */ - public void setValue(String value) { - this.value = value; - } /** * 获取源节点ID @@ -75,32 +40,13 @@ public class EdgeNode extends GraphNode{ public void setTargetId(String targetId) { this.targetId = targetId; } - - /** - * 获取命令 - * @return 命令 - */ - public String getCommands() { - return commands; - } - - /** - * 设置命令 - * @param commands 命令 - */ - public void setCommands(String commands) { - this.commands = commands; - } @Override public String toString() { return "EdgeNode [id=" + id + ", label=" + label - + ", valueType=" + valueType - + ", value=" + value + ", sourceId=" + sourceId + ", targetId=" + targetId - + ", commands=" + commands + ", outs=" + outs + "]"; } } 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 d6d96dba..9336d7fe 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 @@ -17,6 +17,7 @@ public class GraphNode { public static final String RESOURCE_ABSTRACT ="ResourceAbstract"; public static final String CONFIGURABLE_RESOURCE_ABSTRACT ="ConfigurableResourceAbstract"; public static final String SUB_MODEL_ABSTRACT ="SubModelAbstract"; + public static final String EDGE_CONDITION_BRANCH ="EdgeConditionBranch"; public static final String EDGE ="Edge"; protected String id; diff --git a/io.sc.engine.rule.frontend/package.json b/io.sc.engine.rule.frontend/package.json index 4aa1aaec..bda27758 100644 --- a/io.sc.engine.rule.frontend/package.json +++ b/io.sc.engine.rule.frontend/package.json @@ -92,7 +92,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.2.2", - "platform-core": "8.1.326", + "platform-core": "8.1.332", "quasar": "2.16.11", "tailwindcss": "3.4.10", "vue": "3.5.4", diff --git a/io.sc.engine.rule.frontend/src/i18n/messages.json b/io.sc.engine.rule.frontend/src/i18n/messages.json index 375e2439..08d7a55e 100644 --- a/io.sc.engine.rule.frontend/src/i18n/messages.json +++ b/io.sc.engine.rule.frontend/src/i18n/messages.json @@ -1,5 +1,5 @@ { - "menu.engine.rule":"Rule Engine", + "menu.engine.rule": "Rule Engine", "menu.engine.rule.resources": "Model Manager", "menu.engine.rule.authorization": "Authorization Manager", "menu.engine.rule.workflow": "Workflow", @@ -18,10 +18,10 @@ "re.resources.grid.toolbar.deepCloneNew": "Deep Clone(new)", "re.resources.grid.toolbar.deepCloneNew.tip": "Are you sure to deep clone the resource as new resource?", "re.resources.grid.toolbar.design": "View/Design", - "re.resources.grid.toolbar.deploy.online":"Online", - "re.resources.grid.toolbar.deploy.online.tip":"Are you sure to on line the resource?", - "re.resources.grid.toolbar.deploy.offline":"Offline", - "re.resources.grid.toolbar.deploy.offline.tip":"Are you sure to off line the resource?", + "re.resources.grid.toolbar.deploy.online": "Online", + "re.resources.grid.toolbar.deploy.online.tip": "Are you sure to on line the resource?", + "re.resources.grid.toolbar.deploy.offline": "Offline", + "re.resources.grid.toolbar.deploy.offline.tip": "Are you sure to off line the resource?", "re.resources.grid.toolbar.importExample": "Import Example", "re.resources.grid.entity.effectiveDate": "Effective Date", @@ -79,7 +79,7 @@ "re.resources.designer.processor.grid.title": "Processor", "re.resources.designer.processor.grid.entity.content": "Content", - "re.resources.designer.processor.grid.entity.objectCondition":"Condition", + "re.resources.designer.processor.grid.entity.objectCondition": "Condition", "re.resources.designer.processor.grid.entity.objectProperties": "Object Properties", "re.resources.designer.processor.grid.entity.optionCode": "Option", "re.resources.designer.processor.grid.entity.arithmetic": "Arithmetic", @@ -101,13 +101,41 @@ "re.resources.designer.processor.grid.entity.sql": "SQL", "re.resources.designer.processor.grid.entity.sqlParameterValues": "Parameter Values", "re.resources.designer.processor.grid.entity.sqlQueryResult": "Result", - "re.resources.designer.processor.grid.entity.sqlFieldMapping": "Result Mapping", + "re.resources.designer.processor.grid.entity.sqlFieldMapping": "Result Mapping", "re.resources.designer.processor.grid.entity.rule": "Rule", "re.resources.designer.processor.grid.entity.singleRule": "Single Rule", "re.resources.designer.processor.dialog.decisionTree.title": "Decision Tree Designer", "re.resources.designer.processor.dialog.executionFlow.title": "Execution Flow Designer", + "re.graph.vertex.start.label": "Start", + "re.graph.vertex.start.title": "Start", + "re.graph.vertex.condition.label": "C", + "re.graph.vertex.condition.title": "Condition", + "re.graph.vertex.condition.entity.condition": "Condition", + "re.graph.vertex.expression.label": "Exp", + "re.graph.vertex.expression.title": "Expression", + "re.graph.vertex.expression.entity.expression": "Expression", + "re.graph.vertex.expression.entity.commands": "Commands", + "re.graph.vertex.resourceAbstract.label": "RA", + "re.graph.vertex.resourceAbstract.title": "Resource", + "re.graph.vertex.resourceAbstract.entity.resourceAbstractId": "Resource", + "re.graph.vertex.commandSet.label": "Commands", + "re.graph.vertex.commandSet.title": "Commands", + "re.graph.vertex.commandSet.entity.commands": "Commands", + "re.graph.vertex.configurableResourceAbstract.label": "RA(I/O)", + "re.graph.vertex.configurableResourceAbstract.title": "Resource with Input/Output Commands", + "re.graph.vertex.configurableResourceAbstract.entity.resourceAbstractId": "Resource", + "re.graph.vertex.configurableResourceAbstract.entity.inputCommands": "Input Commands", + "re.graph.vertex.configurableResourceAbstract.entity.outputCommands": "Output Commands", + "re.graph.vertex.subModelAbstract.label": "SM", + "re.graph.vertex.subModelAbstract.title": "Sub Model", + "re.graph.vertex.subModelAbstract.entity.code": "Sub Model", + + "re.graph.edge.conditionBranch.entity.valueType": "Value Type", + "re.graph.edge.conditionBranch.entity.value": "Value", + "re.graph.edge.conditionBranch.entity.commands": "Commands", + "re.resources.designer.testCase.grid.title": "Test Cases", "re.resources.designer.testCase.grid.tools.batchTest": "Batch Test", "re.resources.designer.testCase.grid.tools.download": "Download Template", @@ -117,7 +145,7 @@ "re.resources.designer.testCase.grid.entity.ownerCode": "Code", "re.resources.designer.testCase.grid.entity.ownerName": "Name", "re.resources.designer.testCase.grid.entity.ownerVersion": "Version", - "re.resources.designer.testCase.grid.entity.ownerStatus":"Status", + "re.resources.designer.testCase.grid.entity.ownerStatus": "Status", "re.resources.designer.testCaseParameter.grid.title": "Parameter List", "re.resources.designer.testCaseParameter.grid.entity.inputValue": "Input Value", @@ -158,7 +186,7 @@ "re.dictionary.field.grid.entity.valueType": "Value Type", "re.dictionary.field.grid.entity.valueTypeIsList": "Is List", "re.dictionary.field.grid.entity.valueCalculation": "Calculation Expression", - + "re.dictionary.enum.grid.title": "Enum List", "re.dictionary.sampleJson.dialog.title": "Example JSON", @@ -170,10 +198,10 @@ "re.dictionary.importSample.grid.toolbar.import": "Import Example", "re.dictionary.importSample.grid.toolbar.import.tip": "Are you sure to import the meta data?", - "re.function.grid.title":"Functions", - "re.function.grid.entity.signature":"Signature", - "re.function.grid.entity.mathXml":"Math ML", - "re.function.grid.entity.body":"Body", + "re.function.grid.title": "Functions", + "re.function.grid.entity.signature": "Signature", + "re.function.grid.entity.mathXml": "Math ML", + "re.function.grid.entity.body": "Body", "re.function.import.dialog.title": "Import User Defined Functions", "re.lib.grid.title": "Feature Library Tree", @@ -199,56 +227,56 @@ "re.indicator.grid.toolbar.addInterface": "Interface", "re.indicator.grid.toolbar.addIndicator": "Indicator", - "re.migration.import.title":"Import ( From The File Uploaded )", - "re.migration.import.subTitle":"", - "re.migration.import.action":"Import", - - "re.migration.importFromServer.title":"Import ( From Server File)", - "re.migration.importFromServer.subTitle":"", - "re.migration.importFromServer.serverPath.label":"Please input the path of file in the server", - "re.migration.importFromServer.action":"Import", - - "re.migration.export.title":"Export", - "re.migration.export.subTitle":"", - "re.migration.export.action":"Export", - - "re.migration.remove.title":"Remove", - "re.migration.remove.subTitle":"Warning: It will remove all data in the engine, and can NOT undo!", - "re.migration.remove.action":"Remove", - "re.migration.remove.action.tip":"Are you sure to remove the all data?", - - "re.workflow.dialog.title":"Workflow Approving", - "re.workflow.dialog.tip":"Tip: workflow approving needed, the resource will be active after approved!", - "re.workflow.dialog.entity.treatment":"Treatment", - - "re.workflow.task.grid.title":"Task List", - "re.workflow.task.grid.toolbar.viewResource":"View Resource", - "re.workflow.task.grid.toolbar.viewAttachment":"View Attachment", - "re.workflow.task.grid.toolbar.claim":"Claim Task", - "re.workflow.task.grid.toolbar.claim.tip":"Are you sure to claim the task?", - "re.workflow.task.grid.toolbar.unclaim":"Unclaim Task", - "re.workflow.task.grid.toolbar.unclaim.tip":"Are you sure to unclaim the task?", - "re.workflow.task.grid.toolbar.complete":"Complete Task", - "re.workflow.task.grid.toolbar.terminate":"Terminate Task", - "re.workflow.task.grid.toolbar.terminate.tip":"Are you sure to terminate the task?", - - "re.workflow.task.grid.entity.processDefinitionId":"Process Definition ID", - "re.workflow.task.grid.entity.processInstanceId":"Process Instance ID", - "re.workflow.task.grid.entity.taskDefinitionId":"Task Definition ID", - "re.workflow.task.grid.entity.taskId":"Task ID", - "re.workflow.task.grid.entity.taskName":"Task Name", - "re.workflow.task.grid.entity.taskAssignee":"Task Assignee", - "re.workflow.task.grid.entity.taskCreateTime":"Task Create Date", - "re.workflow.task.grid.entity.taskEndTime":"Task Complete Date", - "re.workflow.task.grid.entity.taskClaimTime":"Task Claim Date", - "re.workflow.task.grid.entity.taskTreatment":"Task Treatment", - "re.workflow.task.grid.entity.resourceType":"Resource Type", - "re.workflow.task.grid.entity.resourceId":"Resource ID", - "re.workflow.task.grid.entity.resourceCode":"Resource Code", - "re.workflow.task.grid.entity.resourceName":"Resource Name", - "re.workflow.task.grid.entity.resourceVersion":"Resource Version", - "re.workflow.task.grid.entity.resourceStatus":"Resource Status", - "re.workflow.task.grid.entity.attachments":"Attachments", - - "re.workflow.historyTask.grid.title":"历史任务列表" -} \ No newline at end of file + "re.migration.import.title": "Import ( From The File Uploaded )", + "re.migration.import.subTitle": "", + "re.migration.import.action": "Import", + + "re.migration.importFromServer.title": "Import ( From Server File)", + "re.migration.importFromServer.subTitle": "", + "re.migration.importFromServer.serverPath.label": "Please input the path of file in the server", + "re.migration.importFromServer.action": "Import", + + "re.migration.export.title": "Export", + "re.migration.export.subTitle": "", + "re.migration.export.action": "Export", + + "re.migration.remove.title": "Remove", + "re.migration.remove.subTitle": "Warning: It will remove all data in the engine, and can NOT undo!", + "re.migration.remove.action": "Remove", + "re.migration.remove.action.tip": "Are you sure to remove the all data?", + + "re.workflow.dialog.title": "Workflow Approving", + "re.workflow.dialog.tip": "Tip: workflow approving needed, the resource will be active after approved!", + "re.workflow.dialog.entity.treatment": "Treatment", + + "re.workflow.task.grid.title": "Task List", + "re.workflow.task.grid.toolbar.viewResource": "View Resource", + "re.workflow.task.grid.toolbar.viewAttachment": "View Attachment", + "re.workflow.task.grid.toolbar.claim": "Claim Task", + "re.workflow.task.grid.toolbar.claim.tip": "Are you sure to claim the task?", + "re.workflow.task.grid.toolbar.unclaim": "Unclaim Task", + "re.workflow.task.grid.toolbar.unclaim.tip": "Are you sure to unclaim the task?", + "re.workflow.task.grid.toolbar.complete": "Complete Task", + "re.workflow.task.grid.toolbar.terminate": "Terminate Task", + "re.workflow.task.grid.toolbar.terminate.tip": "Are you sure to terminate the task?", + + "re.workflow.task.grid.entity.processDefinitionId": "Process Definition ID", + "re.workflow.task.grid.entity.processInstanceId": "Process Instance ID", + "re.workflow.task.grid.entity.taskDefinitionId": "Task Definition ID", + "re.workflow.task.grid.entity.taskId": "Task ID", + "re.workflow.task.grid.entity.taskName": "Task Name", + "re.workflow.task.grid.entity.taskAssignee": "Task Assignee", + "re.workflow.task.grid.entity.taskCreateTime": "Task Create Date", + "re.workflow.task.grid.entity.taskEndTime": "Task Complete Date", + "re.workflow.task.grid.entity.taskClaimTime": "Task Claim Date", + "re.workflow.task.grid.entity.taskTreatment": "Task Treatment", + "re.workflow.task.grid.entity.resourceType": "Resource Type", + "re.workflow.task.grid.entity.resourceId": "Resource ID", + "re.workflow.task.grid.entity.resourceCode": "Resource Code", + "re.workflow.task.grid.entity.resourceName": "Resource Name", + "re.workflow.task.grid.entity.resourceVersion": "Resource Version", + "re.workflow.task.grid.entity.resourceStatus": "Resource Status", + "re.workflow.task.grid.entity.attachments": "Attachments", + + "re.workflow.historyTask.grid.title": "历史任务列表" +} 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 6e7fa418..4df86608 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 @@ -1,5 +1,5 @@ { - "menu.engine.rule":"規則引擎", + "menu.engine.rule": "規則引擎", "menu.engine.rule.resources": "資源管理", "menu.engine.rule.authorization": "權限管理", "menu.engine.rule.workflow": "流程審批", @@ -18,10 +18,10 @@ "re.resources.grid.toolbar.deepCloneNew": "深度複製(新)", "re.resources.grid.toolbar.deepCloneNew.tip": "您確定要深度複製資源成一個新的資源嗎?", "re.resources.grid.toolbar.design": "查看/設計", - "re.resources.grid.toolbar.deploy.online":"上線", - "re.resources.grid.toolbar.deploy.online.tip":"您確定要上線資源嗎?", - "re.resources.grid.toolbar.deploy.offline":"下線", - "re.resources.grid.toolbar.deploy.offline.tip":"您確定要下線資源嗎?", + "re.resources.grid.toolbar.deploy.online": "上線", + "re.resources.grid.toolbar.deploy.online.tip": "您確定要上線資源嗎?", + "re.resources.grid.toolbar.deploy.offline": "下線", + "re.resources.grid.toolbar.deploy.offline.tip": "您確定要下線資源嗎?", "re.resources.grid.toolbar.importExample": "導入示例", "re.resources.grid.entity.effectiveDate": "生效日期", @@ -79,7 +79,7 @@ "re.resources.designer.processor.grid.title": "處理邏輯", "re.resources.designer.processor.grid.entity.content": "內容", - "re.resources.designer.processor.grid.entity.objectCondition":"條件", + "re.resources.designer.processor.grid.entity.objectCondition": "條件", "re.resources.designer.processor.grid.entity.objectProperties": "對象屬性", "re.resources.designer.processor.grid.entity.optionCode": "選項", "re.resources.designer.processor.grid.entity.arithmetic": "算數表達式", @@ -101,13 +101,41 @@ "re.resources.designer.processor.grid.entity.sql": "SQL 語句", "re.resources.designer.processor.grid.entity.sqlParameterValues": "參數值", "re.resources.designer.processor.grid.entity.sqlQueryResult": "執行結果", - "re.resources.designer.processor.grid.entity.sqlFieldMapping": "結果映射", + "re.resources.designer.processor.grid.entity.sqlFieldMapping": "結果映射", "re.resources.designer.processor.grid.entity.rule": "規則", "re.resources.designer.processor.grid.entity.singleRule": "單規則", "re.resources.designer.processor.dialog.decisionTree.title": "決策樹設計器", "re.resources.designer.processor.dialog.executionFlow.title": "執行流設計器", + "re.graph.vertex.start.label": "開始", + "re.graph.vertex.start.title": "開始", + "re.graph.vertex.condition.label": "條件", + "re.graph.vertex.condition.title": "條件", + "re.graph.vertex.condition.entity.condition": "判斷條件", + "re.graph.vertex.expression.label": "表達式", + "re.graph.vertex.expression.title": "表達式", + "re.graph.vertex.expression.entity.expression": "表達式", + "re.graph.vertex.expression.entity.commands": "附加指令集", + "re.graph.vertex.resourceAbstract.label": "資源", + "re.graph.vertex.resourceAbstract.title": "資源", + "re.graph.vertex.resourceAbstract.entity.resourceAbstractId": "資源", + "re.graph.vertex.commandSet.label": "指令集", + "re.graph.vertex.commandSet.title": "指令集", + "re.graph.vertex.commandSet.entity.commands": "指令集", + "re.graph.vertex.configurableResourceAbstract.label": "資源", + "re.graph.vertex.configurableResourceAbstract.title": "帶輸入輸出指令的資源", + "re.graph.vertex.configurableResourceAbstract.entity.resourceAbstractId": "資源", + "re.graph.vertex.configurableResourceAbstract.entity.inputCommands": "輸入指令集", + "re.graph.vertex.configurableResourceAbstract.entity.outputCommands": "輸出指令集", + "re.graph.vertex.subModelAbstract.label": "子模型", + "re.graph.vertex.subModelAbstract.title": "子模型", + "re.graph.vertex.subModelAbstract.entity.code": "子模型", + + "re.graph.edge.conditionBranch.entity.valueType": "值類型", + "re.graph.edge.conditionBranch.entity.value": "值", + "re.graph.edge.conditionBranch.entity.commands": "附加指令集", + "re.resources.designer.testCase.grid.title": "試算用例", "re.resources.designer.testCase.grid.tools.batchTest": "批量試算", "re.resources.designer.testCase.grid.tools.download": "下載試算模版", @@ -117,7 +145,7 @@ "re.resources.designer.testCase.grid.entity.ownerCode": "資源代碼", "re.resources.designer.testCase.grid.entity.ownerName": "資源名稱", "re.resources.designer.testCase.grid.entity.ownerVersion": "資源版本", - "re.resources.designer.testCase.grid.entity.ownerStatus":"資源狀態", + "re.resources.designer.testCase.grid.entity.ownerStatus": "資源狀態", "re.resources.designer.testCaseParameter.grid.title": "參數列表", "re.resources.designer.testCaseParameter.grid.entity.inputValue": "輸入值", @@ -158,7 +186,7 @@ "re.dictionary.field.grid.entity.valueType": "值類型", "re.dictionary.field.grid.entity.valueTypeIsList": "是否列表", "re.dictionary.field.grid.entity.valueCalculation": "值計算公式", - + "re.dictionary.enum.grid.title": "枚舉列表", "re.dictionary.sampleJson.dialog.title": "示例 JSON", @@ -170,10 +198,10 @@ "re.dictionary.importSample.grid.toolbar.import": "導入示例", "re.dictionary.importSample.grid.toolbar.import.tip": "您確定要導入示例元數據嗎?", - "re.function.grid.title":"自定義函數", - "re.function.grid.entity.signature":"函數簽名", - "re.function.grid.entity.mathXml":"數學符號", - "re.function.grid.entity.body":"函數體", + "re.function.grid.title": "自定義函數", + "re.function.grid.entity.signature": "函數簽名", + "re.function.grid.entity.mathXml": "數學符號", + "re.function.grid.entity.body": "函數體", "re.function.import.dialog.title": "導入自定義函數", "re.lib.grid.title": "特征庫", @@ -199,57 +227,56 @@ "re.indicator.grid.toolbar.addInterface": "接口", "re.indicator.grid.toolbar.addIndicator": "指標", - "re.migration.import.title":"導入數據 (通過上傳文件導入)", - "re.migration.import.subTitle":"", - "re.migration.import.action":"導入數據", - - "re.migration.importFromServer.title":"導入數據 (從服務器文件導入)", - "re.migration.importFromServer.subTitle":"", - "re.migration.importFromServer.serverPath.label":"請輸入服務器上導入文件的路徑", - "re.migration.importFromServer.action":"導入數據", - - "re.migration.export.title":"導出所有數據", - "re.migration.export.subTitle":"", - "re.migration.export.action":"導出數據", - - "re.migration.remove.title":"刪除所有現有數據", - "re.migration.remove.subTitle":"清注意: 此操作將刪除引擎中配置的所有數據, 且不可逆!", - "re.migration.remove.action":"刪除數據", - "re.migration.remove.action.tip":"您確定要刪除所有數據嗎?", - - "re.workflow.dialog.title":"審批流程", - "re.workflow.dialog.tip":"提示: 該資源發佈需要流程審批, 待審批通過後方能生效!", - "re.workflow.dialog.entity.treatment":"說明", - - "re.workflow.task.grid.title":"任務列表", - "re.workflow.task.grid.toolbar.viewResource":"查看資源", - "re.workflow.task.grid.toolbar.viewAttachment":"查看附件", - "re.workflow.task.grid.toolbar.claim":"領取任務", - "re.workflow.task.grid.toolbar.claim.tip":"您確定要領取任務嗎?", - "re.workflow.task.grid.toolbar.unclaim":"歸還任務", - "re.workflow.task.grid.toolbar.unclaim.tip":"您確定要歸還任務嗎?", - "re.workflow.task.grid.toolbar.complete":"審批任務", - "re.workflow.task.grid.toolbar.terminate":"終止任務", - "re.workflow.task.grid.toolbar.terminate.tip":"您確定要終止任務嗎?", - - "re.workflow.task.grid.entity.processDefinitionId":"流程定義ID", - "re.workflow.task.grid.entity.processInstanceId":"流程實例ID", - "re.workflow.task.grid.entity.taskDefinitionId":"任務定義ID", - "re.workflow.task.grid.entity.taskId":"任務ID", - "re.workflow.task.grid.entity.taskName":"任務名稱", - "re.workflow.task.grid.entity.taskAssignee":"任務處理人", - "re.workflow.task.grid.entity.taskCreateTime":"任務創建日期", - "re.workflow.task.grid.entity.taskEndTime":"任務完成日期", - "re.workflow.task.grid.entity.taskClaimTime":"任務領取日期", - "re.workflow.task.grid.entity.taskTreatment":"審批意見", - "re.workflow.task.grid.entity.resourceType":"資源類型", - "re.workflow.task.grid.entity.resourceId":"資源ID", - "re.workflow.task.grid.entity.resourceCode":"資源代碼", - "re.workflow.task.grid.entity.resourceName":"資源名稱", - "re.workflow.task.grid.entity.resourceVersion":"資源版本", - "re.workflow.task.grid.entity.resourceStatus":"資源狀態", - "re.workflow.task.grid.entity.attachments":"資源附件", - - "re.workflow.historyTask.grid.title":"歷史任務列表" - -} \ No newline at end of file + "re.migration.import.title": "導入數據 (通過上傳文件導入)", + "re.migration.import.subTitle": "", + "re.migration.import.action": "導入數據", + + "re.migration.importFromServer.title": "導入數據 (從服務器文件導入)", + "re.migration.importFromServer.subTitle": "", + "re.migration.importFromServer.serverPath.label": "請輸入服務器上導入文件的路徑", + "re.migration.importFromServer.action": "導入數據", + + "re.migration.export.title": "導出所有數據", + "re.migration.export.subTitle": "", + "re.migration.export.action": "導出數據", + + "re.migration.remove.title": "刪除所有現有數據", + "re.migration.remove.subTitle": "清注意: 此操作將刪除引擎中配置的所有數據, 且不可逆!", + "re.migration.remove.action": "刪除數據", + "re.migration.remove.action.tip": "您確定要刪除所有數據嗎?", + + "re.workflow.dialog.title": "審批流程", + "re.workflow.dialog.tip": "提示: 該資源發佈需要流程審批, 待審批通過後方能生效!", + "re.workflow.dialog.entity.treatment": "說明", + + "re.workflow.task.grid.title": "任務列表", + "re.workflow.task.grid.toolbar.viewResource": "查看資源", + "re.workflow.task.grid.toolbar.viewAttachment": "查看附件", + "re.workflow.task.grid.toolbar.claim": "領取任務", + "re.workflow.task.grid.toolbar.claim.tip": "您確定要領取任務嗎?", + "re.workflow.task.grid.toolbar.unclaim": "歸還任務", + "re.workflow.task.grid.toolbar.unclaim.tip": "您確定要歸還任務嗎?", + "re.workflow.task.grid.toolbar.complete": "審批任務", + "re.workflow.task.grid.toolbar.terminate": "終止任務", + "re.workflow.task.grid.toolbar.terminate.tip": "您確定要終止任務嗎?", + + "re.workflow.task.grid.entity.processDefinitionId": "流程定義ID", + "re.workflow.task.grid.entity.processInstanceId": "流程實例ID", + "re.workflow.task.grid.entity.taskDefinitionId": "任務定義ID", + "re.workflow.task.grid.entity.taskId": "任務ID", + "re.workflow.task.grid.entity.taskName": "任務名稱", + "re.workflow.task.grid.entity.taskAssignee": "任務處理人", + "re.workflow.task.grid.entity.taskCreateTime": "任務創建日期", + "re.workflow.task.grid.entity.taskEndTime": "任務完成日期", + "re.workflow.task.grid.entity.taskClaimTime": "任務領取日期", + "re.workflow.task.grid.entity.taskTreatment": "審批意見", + "re.workflow.task.grid.entity.resourceType": "資源類型", + "re.workflow.task.grid.entity.resourceId": "資源ID", + "re.workflow.task.grid.entity.resourceCode": "資源代碼", + "re.workflow.task.grid.entity.resourceName": "資源名稱", + "re.workflow.task.grid.entity.resourceVersion": "資源版本", + "re.workflow.task.grid.entity.resourceStatus": "資源狀態", + "re.workflow.task.grid.entity.attachments": "資源附件", + + "re.workflow.historyTask.grid.title": "歷史任務列表" +} 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 3306e6a6..52b991bc 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 @@ -1,5 +1,5 @@ { - "menu.engine.rule":"规则引擎", + "menu.engine.rule": "规则引擎", "menu.engine.rule.resources": "资源管理", "menu.engine.rule.authorization": "权限管理", "menu.engine.rule.workflow": "流程审批", @@ -18,10 +18,10 @@ "re.resources.grid.toolbar.deepCloneNew": "深度复制(新)", "re.resources.grid.toolbar.deepCloneNew.tip": "您确定要深度复制资源成一个新的资源吗?", "re.resources.grid.toolbar.design": "查看/设计", - "re.resources.grid.toolbar.deploy.online":"上线", - "re.resources.grid.toolbar.deploy.online.tip":"您确定要上线资源吗?", - "re.resources.grid.toolbar.deploy.offline":"下线", - "re.resources.grid.toolbar.deploy.offline.tip":"您确定要下线资源吗?", + "re.resources.grid.toolbar.deploy.online": "上线", + "re.resources.grid.toolbar.deploy.online.tip": "您确定要上线资源吗?", + "re.resources.grid.toolbar.deploy.offline": "下线", + "re.resources.grid.toolbar.deploy.offline.tip": "您确定要下线资源吗?", "re.resources.grid.toolbar.importExample": "导入示例", "re.resources.grid.entity.effectiveDate": "生效日期", @@ -79,7 +79,7 @@ "re.resources.designer.processor.grid.title": "处理逻辑", "re.resources.designer.processor.grid.entity.content": "内容", - "re.resources.designer.processor.grid.entity.objectCondition":"条件", + "re.resources.designer.processor.grid.entity.objectCondition": "条件", "re.resources.designer.processor.grid.entity.objectProperties": "对象属性", "re.resources.designer.processor.grid.entity.optionCode": "选项", "re.resources.designer.processor.grid.entity.arithmetic": "算数表达式", @@ -108,6 +108,34 @@ "re.resources.designer.processor.dialog.decisionTree.title": "决策树设计器", "re.resources.designer.processor.dialog.executionFlow.title": "执行流设计器", + "re.graph.vertex.start.label": "开始", + "re.graph.vertex.start.title": "开始", + "re.graph.vertex.condition.label": "条件", + "re.graph.vertex.condition.title": "条件", + "re.graph.vertex.condition.entity.condition": "判断条件", + "re.graph.vertex.expression.label": "表达式", + "re.graph.vertex.expression.title": "表达式", + "re.graph.vertex.expression.entity.expression": "表达式", + "re.graph.vertex.expression.entity.commands": "附加指令集", + "re.graph.vertex.resourceAbstract.label": "资源", + "re.graph.vertex.resourceAbstract.title": "资源", + "re.graph.vertex.resourceAbstract.entity.resourceAbstractId": "资源", + "re.graph.vertex.commandSet.label": "指令集", + "re.graph.vertex.commandSet.title": "指令集", + "re.graph.vertex.commandSet.entity.commands": "指令集", + "re.graph.vertex.configurableResourceAbstract.label": "资源", + "re.graph.vertex.configurableResourceAbstract.title": "带输入输出指令的资源", + "re.graph.vertex.configurableResourceAbstract.entity.resourceAbstractId": "资源", + "re.graph.vertex.configurableResourceAbstract.entity.inputCommands": "输入指令集", + "re.graph.vertex.configurableResourceAbstract.entity.outputCommands": "输出指令集", + "re.graph.vertex.subModelAbstract.label": "子模型", + "re.graph.vertex.subModelAbstract.title": "子模型", + "re.graph.vertex.subModelAbstract.entity.code": "子模型", + + "re.graph.edge.conditionBranch.entity.valueType": "值类型", + "re.graph.edge.conditionBranch.entity.value": "值", + "re.graph.edge.conditionBranch.entity.commands": "附加指令集", + "re.resources.designer.testCase.grid.title": "试算用例", "re.resources.designer.testCase.grid.tools.batchTest": "批量试算", "re.resources.designer.testCase.grid.tools.download": "下载试算模版", @@ -117,7 +145,7 @@ "re.resources.designer.testCase.grid.entity.ownerCode": "资源代码", "re.resources.designer.testCase.grid.entity.ownerName": "资源名称", "re.resources.designer.testCase.grid.entity.ownerVersion": "资源版本", - "re.resources.designer.testCase.grid.entity.ownerStatus":"资源状态", + "re.resources.designer.testCase.grid.entity.ownerStatus": "资源状态", "re.resources.designer.testCaseParameter.grid.title": "参数列表", "re.resources.designer.testCaseParameter.grid.entity.inputValue": "输入值", @@ -158,7 +186,7 @@ "re.dictionary.field.grid.entity.valueType": "值类型", "re.dictionary.field.grid.entity.valueTypeIsList": "是否列表", "re.dictionary.field.grid.entity.valueCalculation": "值计算公式", - + "re.dictionary.enum.grid.title": "枚举列表", "re.dictionary.sampleJson.dialog.title": "示例 JSON", @@ -170,12 +198,12 @@ "re.dictionary.importSample.grid.toolbar.import": "导入示例", "re.dictionary.importSample.grid.toolbar.import.tip": "您确定要导入示例元数据吗?", - "re.function.grid.title":"自定义函数", - "re.function.grid.entity.signature":"函数签名", - "re.function.grid.entity.mathXml":"数学符号", - "re.function.grid.entity.body":"函数体", + "re.function.grid.title": "自定义函数", + "re.function.grid.entity.signature": "函数签名", + "re.function.grid.entity.mathXml": "数学符号", + "re.function.grid.entity.body": "函数体", "re.function.import.dialog.title": "导入自定义函数", - + "re.lib.grid.title": "特征库", "re.lib.grid.toolbar.addGroup": "新增", "re.lib.grid.toolbar.addTop": "顶级文件夹", @@ -199,56 +227,56 @@ "re.indicator.grid.toolbar.addInterface": "接口", "re.indicator.grid.toolbar.addIndicator": "指标", - "re.migration.import.title":"导入数据 (通过上传文件导入)", - "re.migration.import.subTitle":"", - "re.migration.import.action":"导入数据", - - "re.migration.importFromServer.title":"导入数据 (从服务器文件导入)", - "re.migration.importFromServer.subTitle":"", - "re.migration.importFromServer.serverPath.label":"请输入服务器上导入文件的路径", - "re.migration.importFromServer.action":"导入数据", - - "re.migration.export.title":"导出所有数据", - "re.migration.export.subTitle":"", - "re.migration.export.action":"导出数据", - - "re.migration.remove.title":"删除所有现有数据", - "re.migration.remove.subTitle":"请注意: 此操作将删除引擎中配置的所有数据, 且不可逆!", - "re.migration.remove.action":"删除数据", - "re.migration.remove.action.tip":"您确定要删除所有数据吗?", - - "re.workflow.dialog.title":"审批流程", - "re.workflow.dialog.tip":"提示: 该资源发布需要流程审批, 待审批通过后方能生效!", - "re.workflow.dialog.entity.treatment":"说明", - - "re.workflow.task.grid.title":"任务列表", - "re.workflow.task.grid.toolbar.viewResource":"查看资源", - "re.workflow.task.grid.toolbar.viewAttachment":"查看附件", - "re.workflow.task.grid.toolbar.claim":"领取任务", - "re.workflow.task.grid.toolbar.claim.tip":"您确定要领取任务吗?", - "re.workflow.task.grid.toolbar.unclaim":"归还任务", - "re.workflow.task.grid.toolbar.unclaim.tip":"您确定要归还任务吗?", - "re.workflow.task.grid.toolbar.complete":"审批任务", - "re.workflow.task.grid.toolbar.terminate":"终止任务", - "re.workflow.task.grid.toolbar.terminate.tip":"您确定要归终止务吗?", - - "re.workflow.task.grid.entity.processDefinitionId":"流程定义ID", - "re.workflow.task.grid.entity.processInstanceId":"流程实例ID", - "re.workflow.task.grid.entity.taskDefinitionId":"任务定义ID", - "re.workflow.task.grid.entity.taskId":"任务ID", - "re.workflow.task.grid.entity.taskName":"任务名称", - "re.workflow.task.grid.entity.taskAssignee":"任务处理人", - "re.workflow.task.grid.entity.taskCreateTime":"任务创建日期", - "re.workflow.task.grid.entity.taskEndTime":"任务完成日期", - "re.workflow.task.grid.entity.taskClaimTime":"任务领取日期", - "re.workflow.task.grid.entity.taskTreatment":"审批意见", - "re.workflow.task.grid.entity.resourceType":"资源类型", - "re.workflow.task.grid.entity.resourceId":"资源ID", - "re.workflow.task.grid.entity.resourceCode":"资源代码", - "re.workflow.task.grid.entity.resourceName":"资源名称", - "re.workflow.task.grid.entity.resourceVersion":"资源版本", - "re.workflow.task.grid.entity.resourceStatus":"资源状态", - "re.workflow.task.grid.entity.attachments":"资源附件", - - "re.workflow.historyTask.grid.title":"历史任务列表" -} \ No newline at end of file + "re.migration.import.title": "导入数据 (通过上传文件导入)", + "re.migration.import.subTitle": "", + "re.migration.import.action": "导入数据", + + "re.migration.importFromServer.title": "导入数据 (从服务器文件导入)", + "re.migration.importFromServer.subTitle": "", + "re.migration.importFromServer.serverPath.label": "请输入服务器上导入文件的路径", + "re.migration.importFromServer.action": "导入数据", + + "re.migration.export.title": "导出所有数据", + "re.migration.export.subTitle": "", + "re.migration.export.action": "导出数据", + + "re.migration.remove.title": "删除所有现有数据", + "re.migration.remove.subTitle": "请注意: 此操作将删除引擎中配置的所有数据, 且不可逆!", + "re.migration.remove.action": "删除数据", + "re.migration.remove.action.tip": "您确定要删除所有数据吗?", + + "re.workflow.dialog.title": "审批流程", + "re.workflow.dialog.tip": "提示: 该资源发布需要流程审批, 待审批通过后方能生效!", + "re.workflow.dialog.entity.treatment": "说明", + + "re.workflow.task.grid.title": "任务列表", + "re.workflow.task.grid.toolbar.viewResource": "查看资源", + "re.workflow.task.grid.toolbar.viewAttachment": "查看附件", + "re.workflow.task.grid.toolbar.claim": "领取任务", + "re.workflow.task.grid.toolbar.claim.tip": "您确定要领取任务吗?", + "re.workflow.task.grid.toolbar.unclaim": "归还任务", + "re.workflow.task.grid.toolbar.unclaim.tip": "您确定要归还任务吗?", + "re.workflow.task.grid.toolbar.complete": "审批任务", + "re.workflow.task.grid.toolbar.terminate": "终止任务", + "re.workflow.task.grid.toolbar.terminate.tip": "您确定要归终止务吗?", + + "re.workflow.task.grid.entity.processDefinitionId": "流程定义ID", + "re.workflow.task.grid.entity.processInstanceId": "流程实例ID", + "re.workflow.task.grid.entity.taskDefinitionId": "任务定义ID", + "re.workflow.task.grid.entity.taskId": "任务ID", + "re.workflow.task.grid.entity.taskName": "任务名称", + "re.workflow.task.grid.entity.taskAssignee": "任务处理人", + "re.workflow.task.grid.entity.taskCreateTime": "任务创建日期", + "re.workflow.task.grid.entity.taskEndTime": "任务完成日期", + "re.workflow.task.grid.entity.taskClaimTime": "任务领取日期", + "re.workflow.task.grid.entity.taskTreatment": "审批意见", + "re.workflow.task.grid.entity.resourceType": "资源类型", + "re.workflow.task.grid.entity.resourceId": "资源ID", + "re.workflow.task.grid.entity.resourceCode": "资源代码", + "re.workflow.task.grid.entity.resourceName": "资源名称", + "re.workflow.task.grid.entity.resourceVersion": "资源版本", + "re.workflow.task.grid.entity.resourceStatus": "资源状态", + "re.workflow.task.grid.entity.attachments": "资源附件", + + "re.workflow.historyTask.grid.title": "历史任务列表" +} 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 ea58b0be..dc75417d 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 @@ -6,15 +6,11 @@ :maximized="true" body-padding="0px 2px 2px 2px" > - diff --git a/io.sc.engine.rule.frontend/src/views/resources/designer/Processor.vue b/io.sc.engine.rule.frontend/src/views/resources/designer/Processor.vue index fc4caad7..d3f78f36 100644 --- a/io.sc.engine.rule.frontend/src/views/resources/designer/Processor.vue +++ b/io.sc.engine.rule.frontend/src/views/resources/designer/Processor.vue @@ -256,7 +256,7 @@ if ('DECISION_TREE' === type) { decisionTreeDialogRef.open(parameter.id, arg.selected?.id); } else if ('EXECUTION_FLOW' === type) { - executionFlowDialogRef.open(arg.selected?.id); + executionFlowDialogRef.open(parameter.id, arg.selected?.id); } else { arg._click(arg); } diff --git a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/controller/ModelWebController.java b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/controller/ModelWebController.java index 950472df..7476fafd 100644 --- a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/controller/ModelWebController.java +++ b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/controller/ModelWebController.java @@ -18,12 +18,11 @@ import java.util.List; /** * 模型 Controller */ -@Controller +@RestController @RequestMapping("/api/re/model") public class ModelWebController extends RestCrudController { - @RequestMapping("findModelWithSubModelsByResourceId") - @ResponseBody + @GetMapping("findModelWithSubModelsByResourceId") protected List findModelWithSubModelsByResourceId(@RequestParam(name="resourceId") String resourceId) throws Exception { if(StringUtils.hasText(resourceId)){ return service.findModelWithSubModelsByResourceId(resourceId); @@ -31,17 +30,14 @@ public class ModelWebController extends RestCrudController getModeAbstractByParameterProcessor(@PathVariable(name="parameterProcessorId")String parameterProcessorId) throws Exception{ List list =service.getModeAbstractByParameterProcessor(parameterProcessorId); if(list==null) { diff --git a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/controller/ParameterProcessorWebController.java b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/controller/ParameterProcessorWebController.java index 490a0f15..f6fcb98d 100644 --- a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/controller/ParameterProcessorWebController.java +++ b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/model/controller/ParameterProcessorWebController.java @@ -83,7 +83,6 @@ public class ParameterProcessorWebController extends RestCrudController map) throws Exception{ String xml =map.get("xml"); - //public void saveDecisionTreeById(@PathVariable(name="processorId") String processorId,@RequestParam(name="xml") String xml) throws Exception{ ParameterProcessorEntity entity = service.findById(processorId); if(entity!=null && entity instanceof DecisionTreeParameterProcessorEntity) { DecisionTreeParameterProcessorEntity _entity =(DecisionTreeParameterProcessorEntity)entity; @@ -118,7 +117,8 @@ public class ParameterProcessorWebController extends RestCrudController map) throws Exception{ + String xml =map.get("xml"); ParameterProcessorEntity entity = service.findById(processorId); if(entity!=null && entity instanceof ExecutionFlowParameterProcessorEntity) { ExecutionFlowParameterProcessorEntity _entity =(ExecutionFlowParameterProcessorEntity)entity; diff --git a/io.sc.platform.core.frontend/package.json b/io.sc.platform.core.frontend/package.json index 3b2fa171..bdddf88a 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.1.326", + "version": "8.1.332", "description": "前端核心包,用于快速构建前端的脚手架", "//main": "库的主文件", "main": "dist/platform-core.js", diff --git a/io.sc.platform.core.frontend/src/platform/components/graph/PlatformGraph.ts b/io.sc.platform.core.frontend/src/platform/components/graph/PlatformGraph.ts index b373e2b1..e8712a51 100644 --- a/io.sc.platform.core.frontend/src/platform/components/graph/PlatformGraph.ts +++ b/io.sc.platform.core.frontend/src/platform/components/graph/PlatformGraph.ts @@ -113,7 +113,7 @@ class PlatformGraph extends Graph { convertValueToString(cell) { if (cell.isVertex()) { const dom = cell.value; - const type = dom.nodeName; + const type = dom.getAttribute('type'); const vertexDefineHandler: PlatformVertexDefineHandler = this.getPlugin('PlatformVertexDefineHandler'); if (vertexDefineHandler) { const value = vertexDefineHandler.getValue(type, dom); @@ -121,7 +121,7 @@ class PlatformGraph extends Graph { } } else if (cell.isEdge()) { const dom = cell.value; - const type = dom.nodeName; + const type = dom.getAttribute('type'); const edgeDefineHandler: PlatformEdgeDefineHandler = this.getPlugin('PlatformEdgeDefineHandler'); if (edgeDefineHandler) { const value = edgeDefineHandler.getValue(type, dom); diff --git a/io.sc.platform.core.frontend/src/platform/components/graph/WGraph.vue b/io.sc.platform.core.frontend/src/platform/components/graph/WGraph.vue index c78853c5..a47a19a7 100644 --- a/io.sc.platform.core.frontend/src/platform/components/graph/WGraph.vue +++ b/io.sc.platform.core.frontend/src/platform/components/graph/WGraph.vue @@ -20,7 +20,7 @@ diff --git a/io.sc.platform.core.frontend/template-project/src/views/testcase/maxgraph/Maxgraph.vue b/io.sc.platform.core.frontend/template-project/src/views/testcase/maxgraph/Maxgraph.vue index 858adefb..051779ef 100644 --- a/io.sc.platform.core.frontend/template-project/src/views/testcase/maxgraph/Maxgraph.vue +++ b/io.sc.platform.core.frontend/template-project/src/views/testcase/maxgraph/Maxgraph.vue @@ -14,18 +14,21 @@ const resourceAbstractsRef = ref(); const edgeDefines = [ { - type: 'ConditionBranch', + type: 'EdgeConditionBranch', fromVertexType: 'Condition', toVertexType: null, getLabel: (value) => { - return value.value || ''; + if (value && value.value) { + return value.value; + } + return ''; }, getValue: (dom) => { if (dom) { return { - valueType: dom.getAttribute('valueType'), - value: dom.getAttribute('value'), - commands: dom.getAttribute('commands'), + valueType: dom.getAttribute('valueType') || '', + value: dom.getAttribute('value') || '', + commands: dom.getAttribute('commands') || '', }; } else { return { @@ -70,7 +73,7 @@ const edgeDefines = [ const vertexDefines = [ { type: 'Start', - thumbnail: { shape: 'ellipse', label: $t('start'), rx: 8, ry: 8, strokeColor: 'black', strokeWidth: 1 }, + thumbnail: { shape: 'ellipse', label: $t('start'), title: $t('success'), rx: 8, ry: 8, strokeColor: 'black', strokeWidth: 1 }, cell: { shape: 'ellipse', size: [50, 50], @@ -178,9 +181,17 @@ const vertexDefines = [ }, { type: 'ResourceAbstract', - thumbnail: { shape: 'ellipse', label: '资源摘要', rx: 11, ry: 6, strokeColor: 'black', strokeWidth: 1 }, + thumbnail: { + //shape: 'ellipse', + paths: [''], + label: '资源摘要', + rx: 11, + ry: 6, + strokeColor: 'black', + strokeWidth: 1, + }, cell: { - shape: 'ellipse', + shape: 'hexagon', size: [120, 60], }, getLabel: (value) => {