diff --git a/ruoyi-admin/src/main/java/org/dromara/DromaraApplication.java b/ruoyi-admin/src/main/java/org/dromara/DromaraApplication.java
index 8ef33fe5f..d0611154f 100644
--- a/ruoyi-admin/src/main/java/org/dromara/DromaraApplication.java
+++ b/ruoyi-admin/src/main/java/org/dromara/DromaraApplication.java
@@ -10,7 +10,9 @@ import org.springframework.boot.context.metrics.buffering.BufferingApplicationSt
* @author Lion Li
*/
-@SpringBootApplication
+@SpringBootApplication(exclude = {
+ org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class,
+ org.springframework.boot.actuate.autoconfigure.security.servlet.ManagementWebSecurityAutoConfiguration.class})
public class DromaraApplication {
public static void main(String[] args) {
diff --git a/ruoyi-admin/src/main/resources/static/stencilset.json b/ruoyi-admin/src/main/resources/static/stencilset.json
new file mode 100644
index 000000000..e58c64b35
--- /dev/null
+++ b/ruoyi-admin/src/main/resources/static/stencilset.json
@@ -0,0 +1,1998 @@
+{
+ "title" : "流程编辑",
+ "namespace" : "http://b3mn.org/stencilset/bpmn2.0#",
+ "description" : "BPMN 流程编辑",
+ "propertyPackages" : [ {
+ "name" : "process_idpackage",
+ "properties" : [ {
+ "id" : "process_id",
+ "type" : "String",
+ "title" : "\u6d41\u7a0b\u6807\u8bc6",
+ "value" : "process",
+ "description" : "\u5b9a\u4e49\u6d41\u7a0b\u7684\u552f\u4e00\u6807\u8bc6\u7b26.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "overrideidpackage",
+ "properties" : [ {
+ "id" : "overrideid",
+ "type" : "String",
+ "title" : "\u7f16\u53f7",
+ "value" : "",
+ "description" : "\u5143\u7d20\u7684\u552f\u4e00\u6807\u8bc6\u7b26.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "namepackage",
+ "properties" : [ {
+ "id" : "name",
+ "type" : "String",
+ "title" : "\u540d\u79f0",
+ "value" : "",
+ "description" : "BPMN\u5143\u7d20\u7684\u63cf\u8ff0\u6027\u540d\u79f0.",
+ "popular" : true,
+ "refToView" : "text_name"
+ } ]
+ }, {
+ "name" : "documentationpackage",
+ "properties" : [ {
+ "id" : "documentation",
+ "type" : "Text",
+ "title" : "\u8bf4\u660e",
+ "value" : "",
+ "description" : "BPMN\u5143\u7d20\u7684\u63cf\u8ff0\u6027\u540d\u79f0.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "process_authorpackage",
+ "properties" : [ {
+ "id" : "process_author",
+ "type" : "String",
+ "title" : "\u6d41\u7a0b\u4f5c\u8005",
+ "value" : "",
+ "description" : "\u5b9a\u4e49\u6d41\u7a0b\u7684\u4f5c\u8005.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "process_versionpackage",
+ "properties" : [ {
+ "id" : "process_version",
+ "type" : "String",
+ "title" : "\u6d41\u7a0b\u7248\u672c\u5b57\u7b26\u4e32 (\u4ec5\u6587\u6863)",
+ "value" : "",
+ "description" : "\u4e3a\u4e86\u6587\u6863\u7684\u7528\u9014\u7684\u7248\u672c\u6807\u8bc6\u7b26.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "process_historylevelpackage",
+ "properties" : [ {
+ "id" : "process_historylevel",
+ "type" : "flowable-processhistorylevel",
+ "title" : "为流程定义设定特定级别",
+ "value" : "",
+ "description" : "为流程定义设定特定级别",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "isexecutablepackage",
+ "properties" : [ {
+ "id" : "isexecutable",
+ "type" : "Boolean",
+ "title" : "可执行的",
+ "value" : "true",
+ "description" : "流程是否可执行",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "process_potentialstarteruserpackage",
+ "properties" : [ {
+ "id" : "process_potentialstarteruser",
+ "type" : "String",
+ "title" : "默认启动用户",
+ "value" : "",
+ "description" : "启动该流程的用户",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "process_potentialstartergrouppackage",
+ "properties" : [ {
+ "id" : "process_potentialstartergroup",
+ "type" : "String",
+ "title" : "默认启动器组",
+ "value" : "",
+ "description" : "启动流程的组?",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "process_namespacepackage",
+ "properties" : [ {
+ "id" : "process_namespace",
+ "type" : "String",
+ "title" : "\u6307\u5411\u547d\u540d\u7a7a\u95f4",
+ "value" : "http://www.flowable.org/processdef",
+ "description" : "\u5b9a\u4e49\u6d41\u7a0b\u7684\u6307\u5411\u547d\u540d\u7a7a\u95f4.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "process_iseagerexecutionfetchpackage",
+ "properties" : [ {
+ "id" : "iseagerexecutionfetch",
+ "type" : "Boolean",
+ "title" : "优先执行",
+ "value" : "false",
+ "description" : "流程定义需要优先执行?",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "asynchronousdefinitionpackage",
+ "properties" : [ {
+ "id" : "asynchronousdefinition",
+ "type" : "Boolean",
+ "title" : "\u5f02\u6b65",
+ "value" : "false",
+ "description" : "\u6d3b\u52a8\u5b9a\u4e49\u4e3a\u5f02\u6b65.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "datapropertiespackage",
+ "properties" : [ {
+ "id" : "dataproperties",
+ "type" : "Complex",
+ "title" : "数据对象",
+ "value" : "",
+ "description" : "定义数据对象的属性",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "exclusivedefinitionpackage",
+ "properties" : [ {
+ "id" : "exclusivedefinition",
+ "type" : "Boolean",
+ "title" : "\u72ec\u5bb6",
+ "value" : "false",
+ "description" : "\u5b9a\u4e49\u6d3b\u52a8\u4e3a\u72ec\u5bb6.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "executionlistenerspackage",
+ "properties" : [ {
+ "id" : "executionlisteners",
+ "type" : "multiplecomplex",
+ "title" : "\u6267\u884c\u76d1\u542c\u5668",
+ "value" : "",
+ "description" : "\u6d3b\u52a8\uff0c\u8fc7\u7a0b\uff0c\u987a\u5e8f\u6d41\uff0c\u5f00\u59cb\u548c\u7ed3\u675f\u4e8b\u4ef6\u7684\u76d1\u542c\u5668.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "tasklistenerspackage",
+ "properties" : [ {
+ "id" : "tasklisteners",
+ "type" : "multiplecomplex",
+ "title" : "\u4efb\u52a1\u76d1\u542c",
+ "value" : "",
+ "description" : "\u76d1\u542c\u7528\u6237\u4efb\u52a1",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "eventlistenerspackage",
+ "properties" : [ {
+ "id" : "eventlisteners",
+ "type" : "multiplecomplex",
+ "title" : "\u4e8b\u4ef6\u76d1\u542c",
+ "value" : "",
+ "description" : "\u76d1\u542c\u6d41\u7a0b\u5f15\u64ce\u7684\u4efb\u4f55\u4e8b\u4ef6. \u4e5f\u53ef\u80fd\u629b\u51fa\u6d88\u606f\u4e8b\u4ef6\u6216\u8005\u9519\u8bef\u4e8b\u4ef6",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "usertaskassignmentpackage",
+ "properties" : [ {
+ "id" : "usertaskassignment",
+ "type" : "Complex",
+ "title" : "\u5206\u914d",
+ "value" : "",
+ "description" : "\u5206\u914d\u5b9a\u4e49\u7528\u6237\u4efb\u52a1",
+ "popular" : true
+ } ]
+ },{
+ "name" : "formpropertiespackage",
+ "properties" : [ {
+ "id" : "formproperties",
+ "type" : "Complex",
+ "title" : "\u8868\u5355\u5c5e\u6027",
+ "value" : "",
+ "description" : "\u7528\u5217\u8868\u7684\u5f62\u5f0f\u5b9a\u4e49\u8868\u5355\u5c5e\u6027",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "formkeydefinitionpackage",
+ "properties" : [ {
+ "id" : "formkeydefinition",
+ "type" : "String",
+ "title" : "\u8868\u5355\u952e(key)",
+ "value" : "",
+ "description" : "\u4e00\u4e2a\u8868\u5355\u7684\u552f\u4e00\u952e.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "duedatedefinitionpackage",
+ "properties" : [ {
+ "id" : "duedatedefinition",
+ "type" : "String",
+ "title" : "\u5230\u671f\u65f6\u95f4",
+ "value" : "",
+ "description" : "\u7528\u6237\u4efb\u52a1\u5230\u671f\u65f6\u95f4.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "prioritydefinitionpackage",
+ "properties" : [ {
+ "id" : "prioritydefinition",
+ "type" : "String",
+ "title" : "\u4f18\u5148\u7ea7",
+ "value" : "",
+ "description" : "\u7528\u6237\u4efb\u52a1\u7684\u4f18\u5148\u7ea7.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "duedatedefinitionpackage",
+ "properties" : [ {
+ "id" : "duedatedefinition",
+ "type" : "String",
+ "title" : "\u5230\u671f\u65f6\u95f4",
+ "value" : "",
+ "description" : "\u7528\u6237\u4efb\u52a1\u5230\u671f\u65f6\u95f4.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "servicetaskclasspackage",
+ "properties" : [ {
+ "id" : "servicetaskclass",
+ "type" : "String",
+ "title" : "\u7c7b",
+ "value" : "",
+ "description" : "\u5b9e\u73b0\u670d\u52a1\u4efb\u52a1\u903b\u8f91\u7684\u7c7b.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "servicetaskexpressionpackage",
+ "properties" : [ {
+ "id" : "servicetaskexpression",
+ "type" : "Text",
+ "title" : "\u8868\u8fbe\u5f0f",
+ "value" : "",
+ "description" : "\u670d\u52a1\u4efb\u52a1\u5b9a\u4e49\u7684\u903b\u8f91\u4e0e\u8868\u8fbe\u5f0f.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "servicetaskdelegateexpressionpackage",
+ "properties" : [ {
+ "id" : "servicetaskdelegateexpression",
+ "type" : "Text",
+ "title" : "\u59d4\u6258\u8868\u8fbe\u5f0f",
+ "value" : "",
+ "description" : "\u670d\u52a1\u4efb\u52a1\u5b9a\u4e49\u7684\u903b\u8f91\u4e0e\u59d4\u6258\u8868\u8fbe\u5f0f.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "servicetaskfieldspackage",
+ "properties" : [ {
+ "id" : "servicetaskfields",
+ "type" : "Complex",
+ "title" : "\u7c7b\u5b57\u6bb5",
+ "value" : "",
+ "description" : "\u6269\u5c55\u5b57\u6bb5",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "servicetaskresultvariablepackage",
+ "properties" : [ {
+ "id" : "servicetaskresultvariable",
+ "type" : "String",
+ "title" : "\u7ed3\u679c\u53d8\u91cf\u540d\u79f0",
+ "value" : "",
+ "description" : "\u7528\u6765\u5b58\u50a8\u670d\u52a1\u4efb\u52a1\u7ed3\u679c\u7684\u53d8\u91cf\u540d.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "servicetaskresultvariablepackage",
+ "properties" : [ {
+ "id" : "servicetaskUseLocalScopeForResultVariable",
+ "type" : "Boolean",
+ "title" : "\u7ed3\u679c\u53d8\u91cf\u540d\u79f0",
+ "value" : "false",
+ "description" : "\u7528\u6765\u5b58\u50a8\u670d\u52a1\u4efb\u52a1\u7ed3\u679c\u7684\u53d8\u91cf\u540d.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "servicetasktriggerablepackage",
+ "properties" : [ {
+ "id" : "servicetasktriggerable",
+ "type" : "Boolean",
+ "title" : "将服务任务设置为可触发的",
+ "value" : "false",
+ "description" : "将服务任务设置为可触发的",
+ "popular" : true
+ } ]
+ }, {
+ "name": "scriptformatpackage",
+ "properties" : [ {
+ "id": "scriptformat",
+ "type": "String",
+ "title": "\u811a\u672c\u683c\u5f0f",
+ "value": "",
+ "description": "\u811a\u672c\u4efb\u52a1\u7684\u811a\u672c\u683c\u5f0f.",
+ "popular": true
+ } ]
+ }, {
+ "name": "scripttextpackage",
+ "properties" : [ {
+ "id": "scripttext",
+ "type": "Text",
+ "title": "\u811a\u672c",
+ "value": "",
+ "description": "\u811a\u672c\u4efb\u52a1\u7684\u811a\u672c\u5185\u5bb9.",
+ "popular": true
+ }
+ ]
+ }, {
+ "name" : "shellcommandpackage",
+ "properties" : [ {
+ "id" : "shellcommand",
+ "type" : "String",
+ "title" : "命令",
+ "value" : "",
+ "description" : "脚本任务命令",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "shellarg1package",
+ "properties" : [ {
+ "id" : "shellarg1",
+ "type" : "Text",
+ "title" : "参数 1",
+ "value" : "",
+ "description" : "脚本命令的参数 1",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "shellarg2package",
+ "properties" : [ {
+ "id" : "shellarg2",
+ "type" : "Text",
+ "title" : "参数 2",
+ "value" : "",
+ "description" : "脚本命令参数 2",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "shellarg3package",
+ "properties" : [ {
+ "id" : "shellarg3",
+ "type" : "Text",
+ "title" : "参数 3",
+ "value" : "",
+ "description" : "脚本命令参数 3",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "shellarg4package",
+ "properties" : [ {
+ "id" : "shellarg4",
+ "type" : "Text",
+ "title" : "参数 4",
+ "value" : "",
+ "description" : "脚本命令参数 4",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "shellarg5package",
+ "properties" : [ {
+ "id" : "shellarg5",
+ "type" : "Text",
+ "title" : "参数 5",
+ "value" : "",
+ "description" : "脚本命令参数 5",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "shellwaitpackage",
+ "properties" : [ {
+ "id" : "shellwait",
+ "type" : "Text",
+ "title" : "等待",
+ "value" : "",
+ "description" : "等待shell命令执行结束的标志",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "shelloutputvariablepackage",
+ "properties" : [ {
+ "id" : "shelloutputvariable",
+ "type" : "Text",
+ "title" : "输出参数",
+ "value" : "",
+ "description" : "变量存储shell共用输出",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "shellerrorcodevariablepackage",
+ "properties" : [ {
+ "id" : "shellerrorcodevariable",
+ "type" : "错误代码变量",
+ "value" : "",
+ "description" : "变量存储shell 命令错误代码",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "shellredirecterrorpackage",
+ "properties" : [ {
+ "id" : "shellredirecterror",
+ "type" : "Text",
+ "title" : "重定向错误",
+ "value" : "",
+ "description" : "如果true合并错误输出与标准输出",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "shellcleanenvpackage",
+ "properties" : [ {
+ "id" : "shellcleanenv",
+ "type" : "Text",
+ "title" : "清除环境",
+ "value" : "",
+ "description" : "清除shell执行环境",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "shelldirectorypackage",
+ "properties" : [ {
+ "id" : "shelldirectory",
+ "type" : "Text",
+ "title" : "目录",
+ "value" : "",
+ "description" : "shell运行目录",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "ruletask_rulespackage",
+ "properties" : [ {
+ "id" : "ruletask_rules",
+ "type" : "String",
+ "title" : "\u89c4\u5219",
+ "value" : "",
+ "description" : "\u89c4\u5219\u4efb\u52a1\u7684\u89c4\u5219.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "ruletask_variables_inputpackage",
+ "properties" : [ {
+ "id" : "ruletask_variables_input",
+ "type" : "String",
+ "title" : "\u8f93\u5165\u53d8\u91cf",
+ "value" : "",
+ "description" : "\u89c4\u5219\u4efb\u52a1\u7684\u8f93\u5165\u53d8\u91cf.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "ruletask_excludepackage",
+ "properties" : [ {
+ "id" : "ruletask_exclude",
+ "type" : "Boolean",
+ "title" : "\u6392\u9664",
+ "value" : "false",
+ "description" : "\u4f5c\u4e3a\u6392\u9664\u4f7f\u7528\u89c4\u5219\u5c5e\u6027.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "ruletask_resultpackage",
+ "properties" : [ {
+ "id" : "ruletask_result",
+ "type" : "String",
+ "title" : "\u8f93\u51fa\u53d8\u91cf",
+ "value" : "",
+ "description" : "\u89c4\u5219\u4efb\u52a1\u7684\u8f93\u51fa\u53d8\u91cf.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "mailtasktopackage",
+ "properties" : [ {
+ "id" : "mailtaskto",
+ "type" : "Text",
+ "title" : "\u63a5\u6536\u4eba",
+ "value" : "",
+ "description" : "\u5982\u679c\u662f\u591a\u4e2a\u6536\u4ef6\u4eba\uff0c\u8bf7\u4ee5\u9017\u53f7\u5206\u9694.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "mailtaskfrompackage",
+ "properties" : [ {
+ "id" : "mailtaskfrom",
+ "type" : "Text",
+ "title" : "\u53d1\u9001\u4eba",
+ "value" : "",
+ "description" : "\u53d1\u4ef6\u4eba\u7684\u7535\u5b50\u90ae\u4ef6\u5730\u5740\u3002\u5982\u679c\u672a\u63d0\u4f9b\uff0c\u4f7f\u7528\u9ed8\u8ba4\u914d\u7f6e\u7684\u53d1\u4ef6\u4eba\u5730\u5740.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "\u4e3b\u9898",
+ "properties" : [ {
+ "id" : "mailtasksubject",
+ "type" : "Text",
+ "title" : "Subject",
+ "value" : "",
+ "description" : "\u90ae\u4ef6\u4e3b\u9898.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "mailtaskccpackage",
+ "properties" : [ {
+ "id" : "mailtaskcc",
+ "type" : "Text",
+ "title" : "\u6284\u9001",
+ "value" : "",
+ "description" : "\u6284\u9001\u6536\u4ef6\u4eba\u5730\u5740. \u5982\u679c\u662f\u591a\u4e2a\u6536\u4ef6\u4eba\uff0c\u8bf7\u4ee5\u9017\u53f7\u5206\u9694",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "mailtaskbccpackage",
+ "properties" : [ {
+ "id" : "mailtaskbcc",
+ "type" : "Text",
+ "title" : "\u5bc6\u4ef6\u6284\u9001",
+ "value" : "",
+ "description" : "u5bc6\u4ef6\u6284\u9001\u6536\u4ef6\u4eba\u5730\u5740. \u5982\u679c\u662f\u591a\u4e2a\u6536\u4ef6\u4eba\uff0c\u8bf7\u4ee5\u9017\u53f7\u5206\u9694",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "mailtasktextpackage",
+ "properties" : [ {
+ "id" : "mailtasktext",
+ "type" : "Text",
+ "title" : "\u5185\u5bb9",
+ "value" : "",
+ "description" : "\u90ae\u4ef6\u5185\u5bb9\uff0c\u53ea\u80fd\u53d1\u9001\u7eaf\u6587\u672c\u3002\u5982\u679c\u9700\u8981\u53d1\u9001\u590d\u6742\u5185\u5bb9\uff0c\u53ef\u4ee5\u7ed3\u5408\u4f7f\u7528HTML\uff0c\u5ba2\u6237\u7aef\u4e0d\u652f\u6301\u590d\u6742\u5185\u5bb9\uff0c\u90ae\u4ef6\u5c06\u88ab\u9000\u56de.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "mailtaskhtmlpackage",
+ "properties" : [ {
+ "id" : "mailtaskhtml",
+ "type" : "Text",
+ "title" : "Html",
+ "value" : "",
+ "description" : "A piece of HTML that is the content of the e-mail.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "mailtaskcharsetpackage",
+ "properties" : [ {
+ "id" : "mailtaskcharset",
+ "type" : "String",
+ "title" : "Html",
+ "value" : "",
+ "description" : "\u4e00\u6bb5HTML\u7684\u90ae\u4ef6\u7684\u5185\u5bb9.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "httptaskrequestmethodpackage",
+ "properties" : [ {
+ "id" : "httptaskrequestmethod",
+ "type" : "flowable-http-request-method",
+ "title" : "请求方式",
+ "value" : "",
+ "description" : "请求方式 (例如 - GET,POST,PUT etc).",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "httptaskrequesturlpackage",
+ "properties" : [ {
+ "id" : "httptaskrequesturl",
+ "type" : "Text",
+ "title" : "请求地址",
+ "value" : "",
+ "description" : "请求地址 (例如 - http://flowable.org).",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "httptaskrequestheaderspackage",
+ "properties" : [ {
+ "id" : "httptaskrequestheaders",
+ "type" : "Text",
+ "title" : "请求头",
+ "value" : "",
+ "description" : "HTTP请求头的分开行 (例如 - Content-Type: application/json).",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "httptaskrequestbodypackage",
+ "properties" : [ {
+ "id" : "httptaskrequestbody",
+ "type" : "Text",
+ "title" : "请求体",
+ "value" : "",
+ "description" : "请求体 (例如- ${sampleBody}).",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "httptaskrequesttimeoutpackage",
+ "properties" : [ {
+ "id" : "httptaskrequesttimeout",
+ "type" : "String",
+ "title" : "请求超时",
+ "value" : "",
+ "description" : "请求超时以毫秒为单位 (For example - 5000).",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "httptaskdisallowredirectspackage",
+ "properties" : [ {
+ "id" : "httptaskdisallowredirects",
+ "type" : "String",
+ "title" : "不允许重定向",
+ "value" : "",
+ "description" : "禁止HTTP重定向的标志。",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "httptaskfailstatuscodespackage",
+ "properties" : [ {
+ "id" : "httptaskfailstatuscodes",
+ "type" : "String",
+ "title" : "失败状态码",
+ "value" : "",
+ "description" : "用逗号分隔的HTTP响应状态代码列表,例如 400,5XX.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "httptaskhandlestatuscodespackage",
+ "properties" : [ {
+ "id" : "httptaskhandlestatuscodes",
+ "type" : "String",
+ "title" : "处理状态码",
+ "value" : "",
+ "description" : "忽略HTTP响应状态代码列表的逗号, 例如 404,3XX.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "httptaskignoreexceptionpackage",
+ "properties" : [ {
+ "id" : "httptaskignoreexception",
+ "type" : "String",
+ "title" : "忽略异常",
+ "value" : "",
+ "description" : "忽略异常的标志",
+ "popular" : true
+ } ]
+ },
+ {
+ "name" : "httptasksaveresponseparameterstransientpackage",
+ "properties" : [ {
+ "id" : "httptasksaveresponseparameterstransient",
+ "type" : "String",
+ "title" : "将响应保存为瞬态变量",
+ "value" : "",
+ "description" : "指示存储响应变量的标志",
+ "popular" : true
+ } ]
+ },
+ {
+ "name" : "httptasksaveresponseasjsonpackage",
+ "properties" : [ {
+ "id" : "httptasksaveresponseasjson",
+ "type" : "String",
+ "title" : "保存响应为JSON",
+ "value" : "",
+ "description" : "指示将响应变量存储为JSON变量而不是字符串的标志",
+ "popular" : true
+ } ]
+ },
+ {
+ "name": "skipexpressionpackage",
+ "properties": [
+ {
+ "id": "skipexpression",
+ "type": "String",
+ "title": "自动跳过",
+ "value": "",
+ "description": "设置自动跳过的条件.",
+ "popular": true
+ }
+ ]
+ }, {
+ "name": "nodetypepackage",
+ "properties": [
+ {
+ "id": "nodetype",
+ "type": "dragon-nodetype-combobox",
+ "title": "节点类型",
+ "value": "",
+ "description": "节点类型",
+ "popular": true,
+ "items": [
+ {
+ "key": "审批中",
+ "value": "applying"
+ },
+ {
+ "key": "不审",
+ "value": "noapprove"
+ },
+ {
+ "key": "协同",
+ "value": "coordination"
+ },
+ {
+ "key": "评审",
+ "value": "review"
+ },
+ {
+ "key": "必审",
+ "value": "bs"
+ },
+ {
+ "key": "普通",
+ "value": ""
+ }
+ ]
+ }
+ ]
+ },{
+ "name": "editdatapackage",
+ "properties": [
+ {
+ "id": "iseditdata",
+ "type": "dragon-nodeeditdata-combobox",
+ "title": "是否可编辑",
+ "value": "",
+ "description": "数据在此节点是否可以编辑",
+ "popular": true,
+ "items":[
+ {
+ "key": "是",
+ "value": "true"
+ },
+ {
+ "key": "否",
+ "value": ""
+ }
+ ]
+ }
+ ]
+ },{
+ "name": "sequenceflowtextxpackage",
+ "properties": [
+ {
+ "id": "sequence_flow_text_x",
+ "type": "String",
+ "title": "线上文字位置",
+ "value": "",
+ "description": "线上文字位置",
+ "popular": true
+ }
+ ]
+ },{
+ "name" : "httptaskresponsevariablenamepackage",
+ "properties" : [ {
+ "id" : "httptaskresponsevariablename",
+ "type" : "String",
+ "title" : "响应变量名",
+ "value" : "",
+ "description" : "定义变量名来存储HTTP响应.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "httptasksaverequestvariablespackage",
+ "properties" : [ {
+ "id" : "httptasksaverequestvariables",
+ "type" : "String",
+ "title" : "保存请求变量",
+ "value" : "",
+ "description" : "保存请求变量的标志.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "httptasksaveresponseparameterspackage",
+ "properties" : [ {
+ "id" : "httptasksaveresponseparameters",
+ "type" : "String",
+ "title" : "保存响应状态,标题",
+ "value" : "",
+ "description" : "保存响应状态、标题等的标志.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "httptaskresultvariableprefixpackage",
+ "properties" : [ {
+ "id" : "httptaskresultvariableprefix",
+ "type" : "String",
+ "title" : "结果变量前缀",
+ "value" : "",
+ "description" : "执行变量名称的前缀.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "callactivitycalledelementpackage",
+ "properties" : [ {
+ "id" : "callactivitycalledelement",
+ "type" : "String",
+ "title" : "\u8c03\u7528\u5143\u7d20",
+ "value" : "",
+ "description" : "\u6d41\u7a0b\u5f15\u7528.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "callactivityinparameterspackage",
+ "properties" : [ {
+ "id" : "callactivityinparameters",
+ "type" : "Complex",
+ "title" : "\u8f93\u5165\u53c2\u6570",
+ "value" : "",
+ "description" : "\u5b9a\u5165\u8f93\u51fa\u53c2\u6570",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "callactivityoutparameterspackage",
+ "properties" : [ {
+ "id" : "callactivityoutparameters",
+ "type" : "Complex",
+ "title" : "\u8f93\u51fa\u53c2\u6570",
+ "value" : "",
+ "description" : "\u5b9a\u4e49\u8f93\u51fa\u53c2\u6570",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "callactivityinheritvariablespackage",
+ "properties" : [ {
+ "id" : "callactivityinheritvariables",
+ "type" : "Boolean",
+ "title" : "继承子过程中的变量",
+ "value" : "false",
+ "description" : "继承子过程中的父进程变量.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "callactivitysamedeploymentpackage",
+ "properties" : [ {
+ "id" : "callactivitysamedeployment",
+ "type" : "Boolean",
+ "title" : "从相同的部署启动引用的进程.",
+ "value" : "false",
+ "description" : "使用来自相同部署的引用进程.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "callactivityprocessinstancenamepackage",
+ "properties" : [ {
+ "id" : "callactivityprocessinstancename",
+ "type" : "String",
+ "title" : "进程实例名",
+ "value" : "",
+ "description" : "一个解析到子进程实例名称的表达式",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "callactivityinheritbusinesskeypackage",
+ "properties" : [ {
+ "id" : "callactivityinheritbusinesskey",
+ "type" : "Boolean",
+ "title" : "继承业务密钥",
+ "value" : "false",
+ "description" : "从父进程继承业务密钥.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "callactivityuselocalscopeforoutparameterspackage",
+ "properties" : [ {
+ "id" : "callactivityuselocalscopeforoutparameters",
+ "type" : "Boolean",
+ "title" : "使用局部范围进行输出参数",
+ "value" : "false",
+ "description" : "使用局部变量作用域输出参数.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "callactivitybusinesskeypackage",
+ "properties" : [ {
+ "id" : "callactivitybusinesskey",
+ "type" : "String",
+ "title" : "业务密钥表达式",
+ "value" : "",
+ "description" : "解析为子进程实例的业务密钥的表达式",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "cameltaskcamelcontextpackage",
+ "properties" : [ {
+ "id" : "cameltaskcamelcontext",
+ "type" : "String",
+ "title" : "Camel context",
+ "value" : "",
+ "description" : "An optional camel context definition, if left empty the default is used.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "muletaskendpointurlpackage",
+ "properties" : [ {
+ "id" : "muletaskendpointurl",
+ "type" : "String",
+ "title" : "端点URL",
+ "value" : "",
+ "description" : "需要的端点URL将消息发送给Mule.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "muletasklanguagepackage",
+ "properties" : [ {
+ "id" : "muletasklanguage",
+ "type" : "String",
+ "title" : "语言",
+ "value" : "",
+ "description" : "解决负载表达式的语言所需的定义,如Juel.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "muletaskpayloadexpressionpackage",
+ "properties" : [ {
+ "id" : "muletaskpayloadexpression",
+ "type" : "Text",
+ "title" : "有效载荷表达式",
+ "value" : "",
+ "description" : "必需定义效载荷的消息发送给Mule.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "muletaskresultvariablepackage",
+ "properties" : [ {
+ "id" : "muletaskresultvariable",
+ "type" : "String",
+ "title" : "结果变量",
+ "value" : "",
+ "description" : "返回的有效载荷的可选结果变量.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "conditionsequenceflowpackage",
+ "properties" : [ {
+ "id" : "conditionsequenceflow",
+ "type" : "Complex",
+ "title" : "\u6d41\u6761\u4ef6",
+ "value" : "",
+ "description" : "\u987a\u5e8f\u6d41\u7684\u6761\u4ef6",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "defaultflowpackage",
+ "properties" : [ {
+ "id" : "defaultflow",
+ "type" : "Boolean",
+ "title" : "\u9ed8\u8ba4\u6d41",
+ "value" : "false",
+ "description" : "\u5b9a\u4e49\u4f5c\u4e3a\u9ed8\u8ba4\u987a\u5e8f\u6d41",
+ "popular" : true,
+ "refToView" : "default"
+ } ]
+ }, {
+ "name" : "conditionalflowpackage",
+ "properties" : [ {
+ "id" : "conditionalflow",
+ "type" : "Boolean",
+ "title" : "\u6761\u4ef6\u6d41",
+ "value" : "false",
+ "description" : "\u5b9a\u4e49\u987a\u5e8f\u6d41\u7684\u6761\u4ef6",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "timercycledefinitionpackage",
+ "properties" : [ {
+ "id" : "timercycledefinition",
+ "type" : "String",
+ "title" : "\u65f6\u95f4\u5468\u671f\uff08\u4f8b\u5982R3/PT10H\uff09",
+ "value" : "",
+ "description" : "\u5b9a\u4e49ISO-8601\u5468\u671f\u5b9a\u65f6\u5668.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "timerdatedefinitionpackage",
+ "properties" : [ {
+ "id" : "timerdatedefinition",
+ "type" : "String",
+ "title" : "\u91c7\u7528ISO-8601\u65e5\u671f\u65f6\u95f4",
+ "value" : "",
+ "description" : "\u5b9a\u4e49ISO-8601\u65e5\u671f\u5b9a\u65f6\u5668.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "timerdurationdefinitionpackage",
+ "properties" : [ {
+ "id" : "timerdurationdefinition",
+ "type" : "String",
+ "title" : "\u6301\u7eed\u65f6\u95f4\uff08\u4f8b\u5982PT5M\uff09",
+ "value" : "",
+ "description" : "\u5b9a\u4e49ISO-8601\u65f6\u95f4\u5b9a\u65f6\u5668.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "timerenddatedefinitionpackage",
+ "properties" : [ {
+ "id" : "timerenddatedefinition",
+ "type" : "String",
+ "title" : "\u91c7\u7528ISO-8601\u7ed3\u675f\u65e5\u671f\u65f6\u95f4",
+ "value" : "",
+ "description" : "\u5b9a\u4e49\u5b9a\u65f6\u5668\u4e0eISO-8601\u6301\u7eed\u65f6\u95f4.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "messagerefpackage",
+ "properties" : [ {
+ "id" : "messageref",
+ "type" : "String",
+ "title" : "\u6d88\u606f\u5f15\u7528",
+ "value" : "",
+ "description" : "\u5b9a\u4e49\u6d88\u606f\u540d\u79f0.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "signalrefpackage",
+ "properties" : [ {
+ "id" : "signalref",
+ "type" : "String",
+ "title" : "\u4fe1\u53f7\u5f15\u7528",
+ "value" : "",
+ "description" : "\u5b9a\u4e49\u4fe1\u53f7\u540d\u79f0.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "errorrefpackage",
+ "properties" : [ {
+ "id" : "errorref",
+ "type" : "String",
+ "title" : "\u9519\u8bef\u5f15\u7528",
+ "value" : "",
+ "description" : "\u5b9a\u4e49\u9519\u8bef\u540d\u79f0.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "cancelactivitypackage",
+ "properties" : [ {
+ "id" : "cancelactivity",
+ "type" : "Boolean",
+ "title" : "\u53d6\u6d88 \u6d3b\u52a8(activity)",
+ "value" : "true",
+ "description" : "\u662f\u5426\u53d6\u6d88\u6d3b\u52a8",
+ "popular" : true,
+ "refToView" : [ "frame", "frame2" ]
+ } ]
+ }, {
+ "name" : "initiatorpackage",
+ "properties" : [ {
+ "id" : "initiator",
+ "type" : "String",
+ "title" : "\u53d1\u8d77\u8005",
+ "value" : "",
+ "description" : "\u6d41\u7a0b\u7684\u53d1\u8d77\u8005.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "textpackage",
+ "properties" : [ {
+ "id" : "text",
+ "type" : "String",
+ "title" : "\u5185\u5bb9",
+ "value" : "",
+ "description" : "\u6587\u672c\u7684\u6587\u5b57\u6ce8\u91ca.",
+ "popular" : true,
+ "refToView" : "text"
+ } ]
+ }, {
+ "name" : "multiinstance_typepackage",
+ "properties" : [ {
+ "id" : "multiinstance_type",
+ "type" : "flowable-multiinstance",
+ "title" : "\u591a\u5b9e\u4f8b\u7c7b\u578b",
+ "value" : "None",
+ "description" : "重复活动执行(并行或顺序)可以通过不同的循环类型来显示",
+ "popular" : true,
+ "refToView" : "multiinstance"
+ } ]
+ }, {
+ "name" : "multiinstance_cardinalitypackage",
+ "properties" : [ {
+ "id" : "multiinstance_cardinality",
+ "type" : "String",
+ "title" : "\u57fa\u6570\uff08\u591a\u5b9e\u4f8b\uff09",
+ "value" : "",
+ "description" : "\u5b9a\u4e49\u591a\u5b9e\u4f8b\u7684\u57fa\u6570.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "multiinstance_collectionpackage",
+ "properties" : [ {
+ "id" : "multiinstance_collection",
+ "type" : "String",
+ "title" : "\u91c7\u96c6\uff08\u591a\u5b9e\u4f8b\uff09",
+ "value" : "",
+ "description" : "\u5b9a\u4e49\u96c6\u5408\u7684\u591a\u5b9e\u4f8b.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "multiinstance_variablepackage",
+ "properties" : [ {
+ "id" : "multiinstance_variable",
+ "type" : "String",
+ "title" : "\u5143\u7d20\u53d8\u91cf\uff08\u591a\u5b9e\u4f8b\uff09",
+ "value" : "",
+ "description" : "\u591a\u5b9e\u4f8b\u53d8\u91cf\u5b9a\u4e49\u7684\u5143\u7d20.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "multiinstance_conditionpackage",
+ "properties" : [ {
+ "id" : "multiinstance_condition",
+ "type" : "String",
+ "title" : "\u5b8c\u6210\u6761\u4ef6\uff08\u591a\u5b9e\u4f8b\uff09",
+ "value" : "",
+ "description" : "\u5b9a\u4e49\u591a\u5b9e\u4f8b\u7684\u5b8c\u6210\u6761\u4ef6.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "isforcompensationpackage",
+ "properties" : [ {
+ "id" : "isforcompensation",
+ "type" : "Boolean",
+ "title" : "\u8865\u507f",
+ "value" : "false",
+ "description" : "\u4e00\u4e2a\u6807\u5fd7\u6807\u8bc6\u6b64\u6d3b\u52a8\u7684\u76ee\u7684\u662f\u5426\u4e3a\u7684\u8865\u507f\u7684\u76ee\u7684.",
+ "popular" : true,
+ "refToView" : "compensation"
+ } ]
+ }, {
+ "name" : "sequencefloworderpackage",
+ "properties" : [ {
+ "id" : "sequencefloworder",
+ "type" : "Complex",
+ "title" : "\u6d41\u987a\u5e8f",
+ "value" : "",
+ "description" : "\u6d41\u5f00\u59cb\u7684\u987a\u5e8f.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "signaldefinitionspackage",
+ "properties" : [ {
+ "id" : "signaldefinitions",
+ "type" : "multiplecomplex",
+ "title" : "\u4fe1\u53f7\u5b9a\u4e49",
+ "value" : "",
+ "description" : "\u4fe1\u53f7\u5b9a\u4e49",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "messagedefinitionspackage",
+ "properties" : [ {
+ "id" : "messagedefinitions",
+ "type" : "\u6d88\u606f\u5b9a\u4e49",
+ "value" : "",
+ "description" : "\u6d88\u606f\u5b9a\u4e49",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "istransactionpackage",
+ "properties" : [ {
+ "id" : "istransaction",
+ "type" : "Boolean",
+ "title" : "\u662f\u4e00\u4e2a\u5b50\u6d41\u7a0b\u4e8b\u52a1",
+ "value" : "false",
+ "description" : "\u6807\u8bc6\u6b64\u5b50\u8fdb\u7a0b\u662f\u5426\u662f\u4ea4\u6613\u7c7b\u578b\u7684\u6807\u5fd7.",
+ "popular" : true,
+ "refToView" : "border"
+ } ]
+ }, {
+ "name" : "formreferencepackage",
+ "properties" : [ {
+ "id" : "formreference",
+ "type" : "Complex",
+ "title" : "表单引用",
+ "value" : "",
+ "description" : "引用表单",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "terminateAllpackage",
+ "properties" : [ {
+ "id" : "terminateAll",
+ "type" : "Boolean",
+ "title" : "\u7ec8\u6b62\u6240\u6709",
+ "value" : "false",
+ "description" : "\u542f\u7528\u7ec8\u6b62\u6d41\u7a0b\u5b9e\u4f8b",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "decisiontaskdecisiontablereferencepackage",
+ "properties" : [ {
+ "id" : "decisiontaskdecisiontablereference",
+ "type" : "Complex",
+ "title" : "决策表参考",
+ "value" : "",
+ "description" : "设置决策表参考",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "decisiontaskthrowerroronnohitspackage",
+ "properties" : [ {
+ "id" : "decisiontaskthrowerroronnohits",
+ "type" : "Boolean",
+ "title" : "如果没有命中规则,则抛出错误",
+ "value" : "false",
+ "description" : "如果没有命中决策表的规则,结果是否被发现,则会引发错误.",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "interruptingpackage",
+ "properties" : [ {
+ "id" : "interrupting",
+ "type" : "Boolean",
+ "title" : "中断",
+ "value" : "true",
+ "description" : "是否应终止所有父执行?",
+ "popular" : true,
+ "refToView" : [ "frame" ]
+ } ]
+ }, {
+ "name" : "completionconditionpackage",
+ "properties" : [ {
+ "id" : "completioncondition",
+ "type" : "String",
+ "title" : "完成条件",
+ "value" : "",
+ "description" : "子过程的完备性条件",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "orderingpackage",
+ "properties" : [ {
+ "id" : "ordering",
+ "type" : "flowable-ordering",
+ "title" : "排序",
+ "value" : "Parallel",
+ "description" : "AdHoc子过程的排序",
+ "popular" : true
+ } ]
+ }, {
+ "name" : "cancelremaininginstancespackage",
+ "properties" : [ {
+ "id" : "cancelremaininginstances",
+ "type" : "Boolean",
+ "title" : "取消剩余实例",
+ "value" : "true",
+ "description" : "取消AdHoc子进程的剩余实例?",
+ "popular" : true
+ } ]
+ } ],
+ "stencils" : [ {
+ "type" : "node",
+ "id" : "BPMNDiagram",
+ "title" : "BPMN\u56fe\u8868",
+ "description" : "A BPMN 2.0 diagram.",
+ "view" : "\n",
+ "icon" : "diagram.png",
+ "groups" : [ "图解" ],
+ "mayBeRoot" : true,
+ "hide" : true,
+ "propertyPackages" : [ "process_idpackage", "namepackage", "documentationpackage", "process_authorpackage", "process_versionpackage", "process_namespacepackage", "process_historylevelpackage", "isexecutablepackage", "datapropertiespackage", "executionlistenerspackage", "eventlistenerspackage", "signaldefinitionspackage", "messagedefinitionspackage", "process_potentialstarteruserpackage","process_potentialstartergrouppackage", "process_iseagerexecutionfetchpackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ ]
+ }, {
+ "type" : "node",
+ "id" : "StartNoneEvent",
+ "title" : "\u5f00\u59cb\u4e8b\u4ef6",
+ "description" : "\u4e0d\u5e26\u5177\u4f53\u7684\u89e6\u53d1\u7684\u5f00\u59cb\u4e8b\u4ef6",
+ "view" : "\n",
+ "icon" : "startevent/none.png",
+ "groups" : [ "\u542f\u52a8\u4e8b\u4ef6" ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage", "executionlistenerspackage", "initiatorpackage", "formkeydefinitionpackage", "formreferencepackage", "formpropertiespackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "sequence_start", "Startevents_all", "StartEventsMorph", "all" ]
+ }, {
+ "type" : "node",
+ "id" : "StartTimerEvent",
+ "title" : "\u8ba1\u65f6\u5668\u4e8b\u4ef6",
+ "description" : "\u5e26\u6709\u8ba1\u65f6\u5668\u7684\u89e6\u53d1\u4e8b\u4ef6",
+ "view" : "\n",
+ "icon" : "startevent/timer.png",
+ "groups" : [ "\u542f\u52a8\u4e8b\u4ef6" ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage", "executionlistenerspackage", "timercycledefinitionpackage", "timerdatedefinitionpackage", "timerdurationdefinitionpackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "sequence_start", "Startevents_all", "StartEventsMorph", "all" ]
+ }, {
+ "type" : "node",
+ "id" : "StartSignalEvent",
+ "title" : "\u4fe1\u53f7\u4e8b\u4ef6",
+ "description" : "\u5e26\u6709\u4fe1\u53f7\u7684\u89e6\u53d1\u4e8b\u4ef6",
+ "view" : "\n",
+ "icon" : "startevent/signal.png",
+ "groups" : [ "\u542f\u52a8\u4e8b\u4ef6" ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage", "executionlistenerspackage", "signalrefpackage", "interruptingpackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "sequence_start", "Startevents_all", "StartEventsMorph", "all" ]
+ }, {
+ "type" : "node",
+ "id" : "StartMessageEvent",
+ "title" : "\u6d88\u606f\u4e8b\u4ef6",
+ "description" : "\u5e26\u6709\u6d88\u606f\u7684\u89e6\u53d1\u4e8b\u4ef6",
+ "view" : "\n",
+ "icon" : "startevent/message.png",
+ "groups" : [ "\u542f\u52a8\u4e8b\u4ef6" ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage", "executionlistenerspackage", "messagerefpackage", "interruptingpackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "sequence_start", "Startevents_all", "StartEventsMorph", "all" ]
+ }, {
+ "type" : "node",
+ "id" : "StartErrorEvent",
+ "title" : "\u9519\u8bef\u4e8b\u4ef6",
+ "description" : "\u6355\u83b7BPMN\u9519\u8bef\u4e8b\u4ef6",
+ "view" : "\n",
+ "icon" : "startevent/error.png",
+ "groups" : [ "\u542f\u52a8\u4e8b\u4ef6" ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage", "executionlistenerspackage", "errorrefpackage", "interruptingpackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "sequence_start", "Startevents_all", "StartEventsMorph", "all" ]
+ }, {
+ "type" : "node",
+ "id" : "UserTask",
+ "title" : "\u7528\u6237\u4efb\u52a1",
+ "description" : "\u4efb\u52a1\u624b\u52a8\u5206\u914d\u7ed9\u4e00\u4e2a\u7279\u5b9a\u7684\u4eba",
+ "view" : "\n",
+ "icon" : "activity/list/type.user.png",
+ "groups" : [ "\u4efb\u52a1" ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage", "asynchronousdefinitionpackage", "exclusivedefinitionpackage", "executionlistenerspackage", "multiinstance_typepackage", "multiinstance_cardinalitypackage", "multiinstance_collectionpackage", "multiinstance_variablepackage", "multiinstance_conditionpackage", "isforcompensationpackage", "usertaskassignmentpackage", "formkeydefinitionpackage", "formreferencepackage", "duedatedefinitionpackage", "prioritydefinitionpackage", "formpropertiespackage", "tasklistenerspackage", "skipexpressionpackage","nodetypepackage","editdatapackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "Activity", "sequence_start", "sequence_end", "ActivitiesMorph", "all" ]
+ }, {
+ "type" : "node",
+ "id" : "ServiceTask",
+ "title" : "\u670d\u52a1\u4efb\u52a1",
+ "description" : "\u4e1a\u52a1\u903b\u8f91\u81ea\u52a8\u4efb\u52a1",
+ "view" : "\n",
+ "icon" : "activity/list/type.service.png",
+ "groups" : [ "\u4efb\u52a1" ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage", "asynchronousdefinitionpackage", "exclusivedefinitionpackage", "servicetasktriggerablepackage", "executionlistenerspackage", "multiinstance_typepackage", "multiinstance_cardinalitypackage", "multiinstance_collectionpackage", "multiinstance_variablepackage", "multiinstance_conditionpackage", "isforcompensationpackage", "servicetaskclasspackage", "servicetaskexpressionpackage", "servicetaskdelegateexpressionpackage", "servicetaskfieldspackage", "servicetaskresultvariablepackage", "skipexpressionpackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "Activity", "sequence_start", "sequence_end", "ActivitiesMorph", "all" ]
+ }, {
+ "type" : "node",
+ "id" : "ScriptTask",
+ "title" : "\u811a\u672c\u4efb\u52a1",
+ "description" : "\u81ea\u52a8\u811a\u672c\u903b\u8f91\u4efb\u52a1",
+ "view" : "\n",
+ "icon" : "activity/list/type.script.png",
+ "groups" : [ "\u4efb\u52a1" ],
+ "propertyPackages" : [ "scriptformatpackage", "scripttextpackage", "overrideidpackage", "namepackage", "documentationpackage", "asynchronousdefinitionpackage", "exclusivedefinitionpackage", "executionlistenerspackage", "multiinstance_typepackage", "multiinstance_cardinalitypackage", "multiinstance_collectionpackage", "multiinstance_variablepackage", "multiinstance_conditionpackage", "isforcompensationpackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "Activity", "sequence_start", "sequence_end", "ActivitiesMorph", "all" ]
+ }, {
+ "type" : "node",
+ "id" : "BusinessRule",
+ "title" : "\u4e1a\u52a1\u89c4\u5219\u4efb\u52a1",
+ "description" : "\u89c4\u5219\u903b\u8f91\u81ea\u52a8\u4efb\u52a1",
+ "view" : "\n",
+ "icon" : "activity/list/type.business.rule.png",
+ "groups" : [ "\u4efb\u52a1" ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage", "asynchronousdefinitionpackage", "exclusivedefinitionpackage", "executionlistenerspackage", "multiinstance_typepackage", "multiinstance_cardinalitypackage", "multiinstance_collectionpackage", "multiinstance_variablepackage", "multiinstance_conditionpackage", "isforcompensationpackage", "ruletask_rulespackage", "ruletask_variables_inputpackage", "ruletask_excludepackage", "ruletask_resultpackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "Activity", "sequence_start", "sequence_end", "ActivitiesMorph", "all" ]
+ }, {
+ "type" : "node",
+ "id" : "ReceiveTask",
+ "title" : "\u63a5\u6536\u4efb\u52a1",
+ "description" : "\u8be5\u4efb\u52a1\u7b49\u5f85\u63a5\u6536",
+ "view" : "\n",
+ "icon" : "activity/list/type.receive.png",
+ "groups" : [ "\u4efb\u52a1" ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage", "asynchronousdefinitionpackage", "exclusivedefinitionpackage", "executionlistenerspackage", "multiinstance_typepackage", "multiinstance_cardinalitypackage", "multiinstance_collectionpackage", "multiinstance_variablepackage", "multiinstance_conditionpackage", "isforcompensationpackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "Activity", "sequence_start", "sequence_end", "ActivitiesMorph", "all" ]
+ }, {
+ "type" : "node",
+ "id" : "ManualTask",
+ "title" : "\u624b\u52a8\u4efb\u52a1",
+ "description" : "\u6ca1\u6709\u903b\u8f91\u7684\u81ea\u52a8\u4efb\u52a1",
+ "view" : "\n",
+ "icon" : "activity/list/type.manual.png",
+ "groups" : [ "\u4efb\u52a1" ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage", "asynchronousdefinitionpackage", "exclusivedefinitionpackage", "executionlistenerspackage", "multiinstance_typepackage", "multiinstance_cardinalitypackage", "multiinstance_collectionpackage", "multiinstance_variablepackage", "multiinstance_conditionpackage", "isforcompensationpackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "Activity", "sequence_start", "sequence_end", "ActivitiesMorph", "all" ]
+ }, {
+ "type" : "node",
+ "id" : "MailTask",
+ "title" : "\u90ae\u4ef6\u4efb\u52a1",
+ "description" : "\u90ae\u4ef6\u4efb\u52a1",
+ "view" : "\n",
+ "icon" : "activity/list/type.send.png",
+ "groups" : [ "\u4efb\u52a1" ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage", "asynchronousdefinitionpackage", "exclusivedefinitionpackage", "executionlistenerspackage", "multiinstance_typepackage", "multiinstance_cardinalitypackage", "multiinstance_collectionpackage", "multiinstance_variablepackage", "multiinstance_conditionpackage", "isforcompensationpackage", "mailtasktopackage", "mailtaskfrompackage", "mailtasksubjectpackage", "mailtaskccpackage", "mailtaskbccpackage", "mailtasktextpackage", "mailtaskhtmlpackage", "mailtaskcharsetpackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "Activity", "sequence_start", "sequence_end", "ActivitiesMorph", "all" ]
+ }, {
+ "type" : "node",
+ "id" : "CamelTask",
+ "title" : "\u9a7c\u5cf0\u4efb\u52a1",
+ "description" : "\u53d1\u9001\u6d88\u606f\u7ed9\u9a7c\u5cf0\u7684\u4efb\u52a1",
+ "view" : "\n",
+ "icon" : "activity/list/type.camel.png",
+ "groups" : [ "\u4efb\u52a1" ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage", "asynchronousdefinitionpackage", "exclusivedefinitionpackage", "executionlistenerspackage", "multiinstance_typepackage", "multiinstance_cardinalitypackage", "multiinstance_collectionpackage", "multiinstance_variablepackage", "multiinstance_conditionpackage", "isforcompensationpackage", "cameltaskcamelcontextpackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "Activity", "sequence_start", "sequence_end", "ActivitiesMorph", "all" ]
+ }, {
+ "type" : "node",
+ "id" : "HttpTask",
+ "title" : "HTTP任务",
+ "description" : "一个HTTP任务",
+ "view" : "\n",
+ "icon" : "activity/list/type.http.png",
+ "groups" : [ "\u4efb\u52a1" ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage", "asynchronousdefinitionpackage", "exclusivedefinitionpackage", "executionlistenerspackage", "multiinstance_typepackage", "multiinstance_cardinalitypackage", "multiinstance_collectionpackage", "multiinstance_variablepackage", "multiinstance_conditionpackage", "isforcompensationpackage", "httptaskrequestmethodpackage", "httptaskrequesturlpackage", "httptaskrequestheaderspackage", "httptaskrequestbodypackage", "httptaskrequesttimeoutpackage", "httptaskdisallowredirectspackage", "httptaskfailstatuscodespackage", "httptaskhandlestatuscodespackage", "httptaskignoreexceptionpackage", "httptaskresponsevariablenamepackage", "httptasksaverequestvariablespackage", "httptasksaveresponseparameterspackage", "httptaskresultvariableprefixpackage", "httptasksaveresponseparameterstransientpackage", "httptasksaveresponseasjsonpackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "Activity", "sequence_start", "sequence_end", "ActivitiesMorph", "all" ]
+ }, {
+ "type" : "node",
+ "id" : "MuleTask",
+ "title" : "Mule 任务",
+ "description" : "发送消息的任务给Mule",
+ "view" : "\n",
+ "icon" : "activity/list/type.mule.png",
+ "groups" : [ "\u4efb\u52a1" ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage", "asynchronousdefinitionpackage", "exclusivedefinitionpackage", "executionlistenerspackage", "multiinstance_typepackage", "multiinstance_cardinalitypackage", "multiinstance_collectionpackage", "multiinstance_variablepackage", "multiinstance_conditionpackage", "isforcompensationpackage", "muletaskendpointurlpackage", "muletasklanguagepackage", "muletaskpayloadexpressionpackage", "muletaskresultvariablepackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "Activity", "sequence_start", "sequence_end", "ActivitiesMorph", "all" ]
+ }, {
+ "type" : "node",
+ "id" : "SendTask",
+ "title" : "\u53d1\u9001\u4efb\u52a1",
+ "description" : "\u53d1\u9001\u6d88\u606f\u7684\u4efb\u52a1",
+ "view" : "\n",
+ "icon" : "activity/list/type.send.png",
+ "groups" : [ "\u4efb\u52a1" ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage", "asynchronousdefinitionpackage", "exclusivedefinitionpackage", "executionlistenerspackage", "multiinstance_typepackage", "multiinstance_cardinalitypackage", "multiinstance_collectionpackage", "multiinstance_variablepackage", "multiinstance_conditionpackage", "isforcompensationpackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "Activity", "sequence_start", "sequence_end", "ActivitiesMorph", "all" ]
+ }, {
+ "type" : "node",
+ "id" : "DecisionTask",
+ "title" : "决策任务",
+ "description" : "使用可流动DMN规则引擎的任务",
+ "view" : "\n",
+ "icon" : "activity/list/type.decision.png",
+ "groups" : [ "\u4efb\u52a1" ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage", "asynchronousdefinitionpackage", "exclusivedefinitionpackage", "executionlistenerspackage", "multiinstance_typepackage", "multiinstance_cardinalitypackage", "multiinstance_collectionpackage", "multiinstance_variablepackage", "multiinstance_conditionpackage", "isforcompensationpackage", "decisiontaskdecisiontablereferencepackage", "decisiontaskthrowerroronnohitspackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "Activity", "sequence_start", "sequence_end", "ActivitiesMorph", "all" ]
+ },
+ {
+ "type": "node",
+ "id": "ShellTask",
+ "title": "Shell任务",
+ "description": "shell批量逻辑的自动任务",
+ "view": "\n",
+ "icon": "activity/list/type.shell.png",
+ "groups": [
+ "\u4efb\u52a1"
+ ],
+ "propertyPackages": [
+ "overrideidpackage",
+ "namepackage",
+ "documentationpackage",
+ "asynchronousdefinitionpackage",
+ "shellcommandpackage",
+ "shellarg1package",
+ "shellarg2package",
+ "shellarg3package",
+ "shellarg4package",
+ "shellarg5package",
+ "shellwaitpackage",
+ "shelloutputvariablepackage",
+ "shellerrorcodevariablepackage",
+ "shellredirecterrorpackage",
+ "shellcleanenvpackage",
+ "shelldirectorypackage",
+ "exclusivedefinitionpackage",
+ "executionlistenerspackage",
+ "multiinstance_typepackage",
+ "multiinstance_cardinalitypackage",
+ "multiinstance_collectionpackage",
+ "multiinstance_variablepackage",
+ "multiinstance_conditionpackage",
+ "isforcompensationpackage"
+ ],
+ "hiddenPropertyPackages": [],
+ "roles": [
+ "Activity",
+ "sequence_start",
+ "sequence_end",
+ "ActivitiesMorph",
+ "all"
+ ]
+ },{
+ "type" : "node",
+ "id" : "SubProcess",
+ "title" : "\u5b50\u6d41\u7a0b",
+ "description" : "\u5b50\u6d41\u7a0b\u8303\u56f4",
+ "view" : "\n",
+ "icon" : "activity/expanded.subprocess.png",
+ "groups" : [ "子流程" ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage", "asynchronousdefinitionpackage", "exclusivedefinitionpackage", "datapropertiespackage", "executionlistenerspackage", "multiinstance_typepackage", "multiinstance_cardinalitypackage", "multiinstance_collectionpackage", "multiinstance_variablepackage", "multiinstance_conditionpackage", "istransactionpackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "Activity", "sequence_start", "sequence_end", "all" ]
+ },{
+ "type" : "node",
+ "id" : "CollapsedSubProcess",
+ "title" : "折叠子过程",
+ "description" : "子过程范围",
+ "view" : "\n",
+ "icon" : "activity/subprocess.png",
+ "groups" : [ "子流程" ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage", "asynchronousdefinitionpackage", "exclusivedefinitionpackage", "datapropertiespackage", "executionlistenerspackage", "multiinstance_typepackage", "multiinstance_cardinalitypackage", "multiinstance_collectionpackage", "multiinstance_variablepackage", "multiinstance_conditionpackage", "istransactionpackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "Activity", "sequence_start", "sequence_end", "all" ]
+ },{
+ "type" : "node",
+ "id" : "EventSubProcess",
+ "title" : "事件子流程",
+ "description" : "\u5b50\u6d41\u7a0b\u4e8b\u4ef6\u8303\u56f4",
+ "view" : "\n",
+ "icon" : "activity/event.subprocess.png",
+ "groups" : [ "子流程" ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage", "asynchronousdefinitionpackage", "exclusivedefinitionpackage", "executionlistenerspackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "Activity", "all", "EventSubProcess" ]
+ }, {
+ "type" : "node",
+ "id" : "CallActivity",
+ "title" : "活动子流程",
+ "description" : "\u547c\u53eb\u6d3b\u52a8",
+ "view" : "\n",
+ "icon" : "activity/task.png",
+ "groups" : [ "子流程" ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage", "asynchronousdefinitionpackage", "exclusivedefinitionpackage", "executionlistenerspackage", "callactivitycalledelementpackage", "callactivityinparameterspackage", "callactivityoutparameterspackage", "callactivityinheritvariablespackage", "callactivitysamedeploymentpackage", "callactivityprocessinstancenamepackage", "callactivityinheritbusinesskeypackage", "callactivitybusinesskeypackage", "callactivityuselocalscopeforoutparameterspackage", "multiinstance_typepackage", "multiinstance_cardinalitypackage", "multiinstance_collectionpackage", "multiinstance_variablepackage", "multiinstance_conditionpackage", "isforcompensationpackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "Activity", "sequence_start", "sequence_end", "all" ]
+ }, {
+ "type" : "node",
+ "id" : "ExclusiveGateway",
+ "title" : "\u9ad8\u7ea7\u5206\u652f",
+ "description" : "\u9ad8\u7ea7\u5206\u652f",
+ "view" : "\n\n",
+ "icon" : "gateway/exclusive.databased.png",
+ "groups" : [ "\u7f51\u5173" ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage", "asynchronousdefinitionpackage", "exclusivedefinitionpackage", "sequencefloworderpackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "sequence_start", "GatewaysMorph", "sequence_end", "all" ]
+ }, {
+ "type" : "node",
+ "id" : "ParallelGateway",
+ "title" : "\u5e76\u884c\u5206\u652f",
+ "description" : "\u5e76\u884c\u5206\u652f\u7528\u6765\u5bf9\u6d41\u7a0b\u4e2d\u7684\u5e76\u53d1\u8fdb\u884c\u5efa\u6a21",
+ "view" : "\n\n",
+ "icon" : "gateway/parallel.png",
+ "groups" : [ "\u7f51\u5173" ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage", "asynchronousdefinitionpackage", "exclusivedefinitionpackage", "sequencefloworderpackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "sequence_start", "GatewaysMorph", "sequence_end", "all" ]
+ }, {
+ "type" : "node",
+ "id" : "InclusiveGateway",
+ "title" : "\u5305\u5bb9\u5206\u652f",
+ "description" : "\u5305\u5bb9\u5206\u652f\u53ef\u4ee5\u88ab\u89c6\u4e3a\u662f\u6392\u4ed6\u5206\u652f\u548c\u5e76\u884c\u5206\u652f\u7684\u7ed3\u5408",
+ "view" : "\n\n",
+ "icon" : "gateway/inclusive.png",
+ "groups" : [ "\u7f51\u5173" ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage", "asynchronousdefinitionpackage", "exclusivedefinitionpackage", "sequencefloworderpackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "sequence_start", "GatewaysMorph", "sequence_end", "all" ]
+ }, {
+ "type" : "node",
+ "id" : "EventGateway",
+ "title" : "\u4e8b\u4ef6\u5206\u652f",
+ "description" : "\u4e8b\u4ef6\u5206\u652f",
+ "view" : "\n\n",
+ "icon" : "gateway/eventbased.png",
+ "groups" : [ "\u7f51\u5173" ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage", "asynchronousdefinitionpackage", "exclusivedefinitionpackage", "sequencefloworderpackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "sequence_start", "GatewaysMorph", "sequence_end", "all" ]
+ }, {
+ "type" : "node",
+ "id" : "BoundaryErrorEvent",
+ "title" : "\u8fb9\u754c\u9519\u8bef\u4e8b\u4ef6",
+ "description" : "\u6355\u83b7BPMN\u9519\u8bef\u8fb9\u754c\u4e8b\u4ef6",
+ "view" : "\n",
+ "icon" : "catching/error.png",
+ "groups" : [ "\u8fb9\u754c\u4e8b\u4ef6" ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage", "errorrefpackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "sequence_start", "BoundaryEventsMorph", "IntermediateEventOnActivityBoundary" ]
+ }, {
+ "type" : "node",
+ "id" : "BoundaryTimerEvent",
+ "title" : "\u8fb9\u754c\u5b9a\u65f6\u5668\u4e8b\u4ef6",
+ "description" : "\u5b9a\u65f6\u5668\u89e6\u53d1\u7684\u8fb9\u754c\u4e8b\u4ef6",
+ "view" : "\n",
+ "icon" : "catching/timer.png",
+ "groups" : [ "\u8fb9\u754c\u4e8b\u4ef6" ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage", "timercycledefinitionpackage", "timerdatedefinitionpackage", "timerdurationdefinitionpackage", "timerenddatedefinitionpackage", "cancelactivitypackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "sequence_start", "BoundaryEventsMorph", "IntermediateEventOnActivityBoundary" ]
+ }, {
+ "type" : "node",
+ "id" : "BoundarySignalEvent",
+ "title" : "\u8fb9\u754c\u4fe1\u53f7\u4e8b\u4ef6",
+ "description" : "\u4fe1\u53f7\u89e6\u53d1\u7684\u8fb9\u754c\u4e8b\u4ef6",
+ "view" : "\n",
+ "icon" : "catching/signal.png",
+ "groups" : [ "\u8fb9\u754c\u4e8b\u4ef6" ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage", "signalrefpackage", "cancelactivitypackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "sequence_start", "BoundaryEventsMorph", "IntermediateEventOnActivityBoundary" ]
+ }, {
+ "type" : "node",
+ "id" : "BoundaryMessageEvent",
+ "title" : "\u8fb9\u754c\u7ebf\u6d88\u606f\u4e8b\u4ef6",
+ "description" : "\u6d88\u606f\u89e6\u53d1\u7684\u8fb9\u754c\u4e8b\u4ef6",
+ "view" : "\n",
+ "icon" : "catching/message.png",
+ "groups" : [ "\u8fb9\u754c\u4e8b\u4ef6" ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage", "messagerefpackage", "cancelactivitypackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "sequence_start", "BoundaryEventsMorph", "IntermediateEventOnActivityBoundary" ]
+ }, {
+ "type" : "node",
+ "id" : "BoundaryCancelEvent",
+ "title" : "\u8fb9\u754c\u53d6\u6d88\u4e8b\u4ef6",
+ "description" : "\u8fb9\u754c\u53d6\u6d88\u4e8b\u4ef6",
+ "view" : "\n",
+ "icon" : "catching/cancel.png",
+ "groups" : [ "\u8fb9\u754c\u4e8b\u4ef6" ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "sequence_start", "BoundaryEventsMorph", "IntermediateEventOnActivityBoundary" ]
+ }, {
+ "type" : "node",
+ "id" : "BoundaryCompensationEvent",
+ "title" : "\u8fb9\u754c\u8865\u507f\u4e8b\u4ef6",
+ "description" : "\u8fb9\u754c\u8865\u507f\u4e8b\u4ef6",
+ "view" : "\n",
+ "icon" : "catching/compensation.png",
+ "groups" : [ "\u8fb9\u754c\u4e8b\u4ef6" ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "BoundaryEventsMorph", "IntermediateEventOnActivityBoundary", "all" ]
+ }, {
+ "type" : "node",
+ "id" : "CatchTimerEvent",
+ "title" : "\u4e2d\u95f4\u5b9a\u65f6\u5668\u6355\u83b7\u4e8b\u4ef6",
+ "description" : "\u5b9a\u65f6\u5668\u89e6\u53d1\u7684\u6355\u83b7\u4e8b\u4ef6",
+ "view" : "\n",
+ "icon" : "catching/timer.png",
+ "groups" : [ "\u4e2d\u95f4\u6355\u83b7\u4e8b\u4ef6" ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage", "executionlistenerspackage", "timercycledefinitionpackage", "timerdatedefinitionpackage", "timerdurationdefinitionpackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "sequence_start", "sequence_end", "CatchEventsMorph", "all" ]
+ }, {
+ "type" : "node",
+ "id" : "CatchSignalEvent",
+ "title" : "\u4e2d\u95f4\u4fe1\u53f7\u6355\u83b7\u4e8b\u4ef6",
+ "description" : "\u4fe1\u53f7\u89e6\u53d1\u7684\u6355\u83b7\u4e8b\u4ef6",
+ "view" : "\n",
+ "icon" : "catching/signal.png",
+ "groups" : [ "\u4e2d\u95f4\u6355\u83b7\u4e8b\u4ef6" ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage", "executionlistenerspackage", "signalrefpackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "sequence_start", "sequence_end", "CatchEventsMorph", "all" ]
+ }, {
+ "type" : "node",
+ "id" : "CatchMessageEvent",
+ "title" : "\u4e2d\u95f4\u6d88\u606f\u6355\u83b7\u4e8b\u4ef6",
+ "description" : "\u6d88\u606f\u89e6\u53d1\u7684\u6355\u83b7\u4e8b\u4ef6",
+ "view" : "\n",
+ "icon" : "catching/message.png",
+ "groups" : [ "\u4e2d\u95f4\u6355\u83b7\u4e8b\u4ef6" ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage", "executionlistenerspackage", "messagerefpackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "sequence_start", "sequence_end", "CatchEventsMorph", "all" ]
+ }, {
+ "type" : "node",
+ "id" : "ThrowNoneEvent",
+ "title" : "\u4e2d\u95f4\u7a7a\u629b\u51fa\u4e8b\u4ef6",
+ "description" : "\u4e2d\u95f4\u6ca1\u6709\u4e00\u4e2a\u5177\u4f53\u7684\u89e6\u53d1\u4e8b\u4ef6",
+ "view" : "\n",
+ "icon" : "throwing/none.png",
+ "groups" : [ "\u4e2d\u95f4\u6355\u83b7\u4e8b\u4ef6" ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage", "executionlistenerspackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "ThrowEventsMorph", "sequence_start", "sequence_end", "all" ]
+ }, {
+ "type" : "node",
+ "id" : "ThrowSignalEvent",
+ "title" : "\u4e2d\u95f4\u4fe1\u53f7\u629b\u51fa\u4e8b\u4ef6",
+ "description" : "\u4e2d\u95f4\u7684\u4fe1\u53f7\u89e6\u53d1\u4e8b\u4ef6",
+ "view" : "\n",
+ "icon" : "throwing/signal.png",
+ "groups" : [ "\u4e2d\u95f4\u89e6\u53d1\u4e8b\u4ef6" ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage", "executionlistenerspackage", "signalrefpackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "ThrowEventsMorph", "sequence_start", "sequence_end", "all" ]
+ }, {
+ "type" : "node",
+ "id" : "EndNoneEvent",
+ "title" : "\u7ed3\u675f\u4e8b\u4ef6",
+ "description" : "\u6ca1\u6709\u4e00\u4e2a\u5177\u4f53\u7684\u89e6\u53d1\u7ed3\u675f\u4e8b\u4ef6",
+ "view" : "\n",
+ "icon" : "endevent/none.png",
+ "groups" : [ "\u7ed3\u675f\u4e8b\u4ef6" ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage", "executionlistenerspackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "EndEventsMorph", "sequence_end", "all" ]
+ }, {
+ "type" : "node",
+ "id" : "EndErrorEvent",
+ "title" : "\u7ed3\u675f\u9519\u8bef\u4e8b\u4ef6",
+ "description" : "\u629b\u51fa\u4e00\u4e2a\u9519\u8bef\u7ed3\u675f\u4e8b\u4ef6",
+ "view" : "\n",
+ "icon" : "endevent/error.png",
+ "groups" : [ "\u7ed3\u675f\u4e8b\u4ef6" ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage", "executionlistenerspackage", "errorrefpackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "EndEventsMorph", "sequence_end", "all" ]
+ }, {
+ "type" : "node",
+ "id" : "EndCancelEvent",
+ "title" : "\u7ed3\u675f\u540e\u53d6\u6d88\u4e8b\u4ef6",
+ "description" : "\u7ed3\u675f\u540e\u53d6\u6d88\u4e8b\u4ef6",
+ "view" : "\n",
+ "icon" : "endevent/cancel.png",
+ "groups" : [ "\u7ed3\u675f\u4e8b\u4ef6" ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage", "executionlistenerspackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "EndEventsMorph", "sequence_end", "all" ]
+ }, {
+ "type" : "node",
+ "id" : "EndTerminateEvent",
+ "title" : "\u7ed3\u675f\u7ec8\u6b62\u4e8b\u4ef6",
+ "description" : "\u7ed3\u675f\u7ec8\u6b62\u4e8b\u4ef6",
+ "view" : "\n",
+ "icon" : "endevent/terminate.png",
+ "groups" : [ "\u7ed3\u675f\u4e8b\u4ef6" ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage", "executionlistenerspackage", "terminateAllpackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "EndEventsMorph", "sequence_end", "all" ]
+ }, {
+ "type" : "node",
+ "id" : "Pool",
+ "title" : "\u6d41\u7a0b\u6c60",
+ "description" : "\u6d41\u7a0b\u5b9a\u4e49\u6c60",
+ "view" : "\n",
+ "icon" : "swimlane/pool.png",
+ "groups" : [ "泳道" ],
+ "layout" : [ {
+ "type" : "layout.bpmn2_0.pool"
+ } ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage", "process_idpackage", "isexecutablepackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "canContainArtifacts", "all" ]
+ }, {
+ "type" : "node",
+ "id" : "Lane",
+ "title" : "通道",
+ "description" : "建立流程定义的通道",
+ "view" : "\n",
+ "icon" : "swimlane/lane.png",
+ "groups" : [ "泳道" ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "PoolChild", "canContainArtifacts", "all" ]
+ }, {
+ "type" : "edge",
+ "id" : "SequenceFlow",
+ "title" : "\u987a\u5e8f\u6d41",
+ "description" : "\u987a\u5e8f\u6d41\u5b9a\u4e49\u6d3b\u52a8\u7684\u6267\u884c\u987a\u5e8f.",
+ "view" : "\r\n",
+ "icon" : "connector/sequenceflow.png",
+ "groups" : [ "\u8fde\u63a5\u5bf9\u8c61" ],
+ "layout" : [ {
+ "type" : "layout.bpmn2_0.sequenceflow"
+ } ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage", "conditionsequenceflowpackage", "executionlistenerspackage", "defaultflowpackage", "skipexpressionpackage","sequenceflowtextxpackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "ConnectingObjectsMorph", "all" ]
+ }, {
+ "type" : "edge",
+ "id" : "MessageFlow",
+ "title" : "\u6d88\u606f\u6d41",
+ "description" : "\u8fde\u63a5\u4e0d\u540c\u6d41\u7a0b\u6c60\u7684\u6d88\u606f\u6d41.",
+ "view" : "\r\n",
+ "icon" : "connector/messageflow.png",
+ "groups" : [ "\u8fde\u63a5\u5bf9\u8c61" ],
+ "layout" : [ {
+ "type" : "layout.bpmn2_0.sequenceflow"
+ } ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "ConnectingObjectsMorph", "all" ]
+ }, {
+ "type" : "edge",
+ "id" : "Association",
+ "title" : "\u8054\u7cfb",
+ "description" : "\u8054\u7cfb\u6587\u672c\u6ce8\u91ca\u4e0e\u5bf9\u8c61.",
+ "view" : "\r\n",
+ "icon" : "connector/association.undirected.png",
+ "groups" : [ "\u8fde\u63a5\u5bf9\u8c61" ],
+ "layout" : [ {
+ "type" : "layout.bpmn2_0.sequenceflow"
+ } ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "ConnectingObjectsMorph", "all" ]
+ }, {
+ "type" : "edge",
+ "id" : "DataAssociation",
+ "title" : "\u6570\u636e\u8054\u7cfb",
+ "description" : "\u8054\u7cfb\u5e26\u6d3b\u52a8\u7684\u5bf9\u8c61.",
+ "view" : "\r\n",
+ "icon" : "connector/association.unidirectional.png",
+ "groups" : [ "\u8fde\u63a5\u5bf9\u8c61" ],
+ "layout" : [ {
+ "type" : "layout.bpmn2_0.sequenceflow"
+ } ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "ConnectingObjectsMorph", "all" ]
+ }, {
+ "type" : "node",
+ "id" : "TextAnnotation",
+ "title" : "\u6587\u672c\u6ce8\u91ca",
+ "description" : "\u8bf4\u660e\u6587\u5b57\u6807\u6ce8\u5143\u7d20.",
+ "view" : "\n",
+ "icon" : "artifact/text.annotation.png",
+ "groups" : [ "\u6784\u4ef6" ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage", "textpackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "all" ]
+ }, {
+ "type" : "node",
+ "id" : "DataStore",
+ "title" : "\u6570\u636e\u5b58\u50a8",
+ "description" : "\u6570\u636e\u5b58\u50a8\u7684\u5f15\u7528.",
+ "view" : "\r\n\r\n",
+ "icon" : "dataobject/data.store.png",
+ "groups" : [ "\u6784\u4ef6" ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "all" ]
+ }, {
+ "type" : "node",
+ "id" : "AdhocSubProcess",
+ "title" : "特别子流程",
+ "description" : "一个特别子过程",
+ "view" : "\n",
+ "icon" : "activity/adhoc.subprocess.png",
+ "groups" : [ "子流程" ],
+ "propertyPackages" : [ "overrideidpackage", "namepackage", "documentationpackage", "completionconditionpackage", "orderingpackage", "cancelremaininginstancespackage" ],
+ "hiddenPropertyPackages" : [ ],
+ "roles" : [ "Activity", "sequence_start", "sequence_end", "all" ]
+ } ],
+ "rules" : {
+ "cardinalityRules" : [ {
+ "role" : "Startevents_all",
+ "incomingEdges" : [ {
+ "role" : "SequenceFlow",
+ "maximum" : 0
+ } ]
+ }, {
+ "role" : "Endevents_all",
+ "outgoingEdges" : [ {
+ "role" : "SequenceFlow",
+ "maximum" : 0
+ } ]
+ } ],
+ "connectionRules" : [ {
+ "role" : "SequenceFlow",
+ "connects" : [ {
+ "from" : "sequence_start",
+ "to" : [ "sequence_end" ]
+ } ]
+ }, {
+ "role" : "Association",
+ "connects" : [ {
+ "from" : "sequence_start",
+ "to" : [ "TextAnnotation" ]
+ }, {
+ "from" : "sequence_end",
+ "to" : [ "TextAnnotation" ]
+ }, {
+ "from" : "TextAnnotation",
+ "to" : [ "sequence_end" ]
+ }, {
+ "from" : "BoundaryCompensationEvent",
+ "to" : [ "sequence_end" ]
+ }, {
+ "from" : "TextAnnotation",
+ "to" : [ "sequence_start" ]
+ }, {
+ "from" : "BoundaryCompensationEvent",
+ "to" : [ "sequence_start" ]
+ } ]
+ }, {
+ "role" : "DataAssociation",
+ "connects" : [ {
+ "from" : "sequence_start",
+ "to" : [ "DataStore" ]
+ }, {
+ "from" : "sequence_end",
+ "to" : [ "DataStore" ]
+ }, {
+ "from" : "DataStore",
+ "to" : [ "sequence_end" ]
+ }, {
+ "from" : "DataStore",
+ "to" : [ "sequence_start" ]
+ } ]
+ }, {
+ "role" : "IntermediateEventOnActivityBoundary",
+ "connects" : [ {
+ "from" : "Activity",
+ "to" : [ "IntermediateEventOnActivityBoundary" ]
+ } ]
+ } ],
+ "containmentRules" : [ {
+ "role" : "BPMNDiagram",
+ "contains" : [ "all" ]
+ }, {
+ "role" : "SubProcess",
+ "contains" : [ "sequence_start", "sequence_end", "from_task_event", "to_task_event", "EventSubProcess", "TextAnnotation", "DataStore" ]
+ }, {
+ "role" : "AdhocSubProcess",
+ "contains" : [ "sequence_start", "sequence_end", "from_task_event", "to_task_event", "TextAnnotation", "DataStore" ]
+ }, {
+ "role" : "EventSubProcess",
+ "contains" : [ "sequence_start", "sequence_end", "from_task_event", "to_task_event", "TextAnnotation", "DataStore" ]
+ }, {
+ "role" : "Pool",
+ "contains" : [ "Lane" ]
+ }, {
+ "role" : "Lane",
+ "contains" : [ "sequence_start", "sequence_end", "EventSubProcess", "TextAnnotation", "DataStore" ]
+ } ],
+ "morphingRules" : [ {
+ "role" : "ActivitiesMorph",
+ "baseMorphs" : [ "UserTask" ],
+ "preserveBounds" : true
+ }, {
+ "role" : "GatewaysMorph",
+ "baseMorphs" : [ "ExclusiveGateway" ]
+ }, {
+ "role" : "StartEventsMorph",
+ "baseMorphs" : [ "StartNoneEvent" ]
+ }, {
+ "role" : "EndEventsMorph",
+ "baseMorphs" : [ "StartNoneEvent" ]
+ }, {
+ "role" : "CatchEventsMorph",
+ "baseMorphs" : [ "CatchTimerEvent" ]
+ }, {
+ "role" : "ThrowEventsMorph",
+ "baseMorphs" : [ "ThrowNoneEvent" ]
+ }, {
+ "role" : "BoundaryEventsMorph",
+ "baseMorphs" : [ "ThrowNoneEvent" ]
+ }, {
+ "role" : "BoundaryCompensationEvent",
+ "baseMorphs" : [ "BoundaryCompensationEvent" ]
+ }, {
+ "role" : "TextAnnotation",
+ "baseMorphs" : [ "TextAnnotation" ]
+ }, {
+ "role" : "DataStore",
+ "baseMorphs" : [ "DataStore" ]
+ } ]
+ }
+}
diff --git a/ruoyi-modules/ruoyi-workflow/pom.xml b/ruoyi-modules/ruoyi-workflow/pom.xml
index f65d7fc6c..ca167ecc8 100644
--- a/ruoyi-modules/ruoyi-workflow/pom.xml
+++ b/ruoyi-modules/ruoyi-workflow/pom.xml
@@ -35,6 +35,11 @@
+
+ org.flowable
+ flowable-ui-modeler-rest
+ 6.8.0
+
org.flowable
@@ -66,6 +71,12 @@
xercesImpl
${xerces.version}
+
+ org.flowable
+ flowable-json-converter
+ 6.8.0
+ compile
+
diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/ActModelController.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/ActModelController.java
new file mode 100644
index 000000000..2bdb9fc8b
--- /dev/null
+++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/ActModelController.java
@@ -0,0 +1,111 @@
+package org.dromara.workflow.controller;
+
+import cn.dev33.satoken.annotation.SaIgnore;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+import jakarta.validation.constraints.NotEmpty;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.json.utils.JsonUtils;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.workflow.domain.bo.ModelBo;
+import org.dromara.workflow.domain.vo.AccountVo;
+import org.dromara.workflow.service.IActModelService;
+import org.flowable.engine.RepositoryService;
+import org.flowable.engine.repository.Model;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.MultiValueMap;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 模型管理 控制层
+ *
+ * @author may
+ */
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/workflow/model")
+public class ActModelController extends BaseController {
+
+ private final RepositoryService repositoryService;
+
+ private final IActModelService iActModelService;
+
+
+ @GetMapping("/list")
+ public TableDataInfo getByPage(ModelBo modelBo) {
+ return iActModelService.getByPage(modelBo);
+ }
+
+ /**
+ * 参考官方提供的响应数据
+ * "{\"id\":\"admin\",\"firstName\":\"Test\",\"lastName\":\"Administrator\",\"email\":\"admin@flowable.org\",\"fullName\":\"Test Administrator\",\"groups\":[],\"privileges\":[\"access-idm\",\"access-rest-api\",\"access-task\",\"access-modeler\",\"access-admin\"]}";
+ */
+ @GetMapping("/rest/account")
+ @SaIgnore
+ public String getAccount() {
+
+ AccountVo accountVo = new AccountVo();
+ accountVo.setId("admin");
+ accountVo.setFirstName("");
+ accountVo.setLastName("admin");
+ accountVo.setFullName("admin");
+ return JsonUtils.toJsonString(accountVo);
+ }
+
+ /**
+ * 新增模型
+ *
+ * @param modelBo 模型请求对象
+ */
+ @Log(title = "模型管理", businessType = BusinessType.INSERT)
+ @PostMapping("/rest/models")
+ public R saveNewModel(@RequestBody ModelBo modelBo) {
+ return toAjax(iActModelService.saveNewModel(modelBo));
+ }
+
+ /**
+ * 查询模型
+ *
+ * @param modelId 模型id
+ */
+ @GetMapping("/rest/models/{modelId}/editor/json")
+ @SaIgnore
+ public ObjectNode getModelInfo(@PathVariable String modelId) {
+ return iActModelService.getModelInfo(modelId);
+ }
+
+
+ /**
+ * 编辑模型
+ *
+ * @param modelId 模型id
+ * @param values 模型数据
+ */
+ @SaIgnore
+ @Log(title = "模型管理", businessType = BusinessType.UPDATE)
+ @PostMapping(value = "/rest/models/{modelId}/editor/json")
+ public R editModel(@PathVariable String modelId, @RequestParam MultiValueMap values) {
+ return toAjax(iActModelService.editModel(modelId,values));
+ }
+
+ /**
+ * 删除流程模型
+ *
+ * @param ids 模型id
+ */
+ @Log(title = "模型管理", businessType = BusinessType.DELETE)
+ @RepeatSubmit()
+ @DeleteMapping("/{ids}")
+ @Transactional(rollbackFor = Exception.class)
+ public R delete(@NotEmpty(message = "主键不能为空") @PathVariable String[] ids) {
+ for (String id : ids) {
+ repositoryService.deleteModel(id);
+ }
+ return R.ok();
+ }
+
+}
diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/StencilsetRestResource.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/StencilsetRestResource.java
new file mode 100644
index 000000000..c6791cf9a
--- /dev/null
+++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/StencilsetRestResource.java
@@ -0,0 +1,40 @@
+/* Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.dromara.workflow.controller;
+
+import cn.dev33.satoken.annotation.SaIgnore;
+import org.apache.commons.io.IOUtils;
+import org.springframework.web.bind.annotation.*;
+
+import java.io.InputStream;
+import java.nio.charset.StandardCharsets;
+
+/**
+ * @author Tijs Rademakers
+ */
+@RestController
+@RequestMapping("/workflow/model")
+public class StencilsetRestResource {
+
+ @SaIgnore
+ @GetMapping(value="/rest/stencil-sets/editor")
+ public String getStencilset() {
+ InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("static/stencilset.json");
+ try {
+ assert inputStream != null;
+ return IOUtils.toString(inputStream, StandardCharsets.UTF_8);
+ } catch (Exception e) {
+ throw new SecurityException("Error while loading stencil set", e);
+ }
+ }
+}
diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/package-info.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/package-info.java
deleted file mode 100644
index cf6a7552e..000000000
--- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/package-info.java
+++ /dev/null
@@ -1 +0,0 @@
-package org.dromara.workflow.controller;
diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/ModelBo.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/ModelBo.java
new file mode 100644
index 000000000..0a5ca15bb
--- /dev/null
+++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/ModelBo.java
@@ -0,0 +1,40 @@
+package org.dromara.workflow.domain.bo;
+
+import jakarta.validation.constraints.NotBlank;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.core.validate.AddGroup;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * 模型请求对象
+ *
+ * @author may
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class ModelBo extends PageEntity implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 模型名称
+ */
+ @NotBlank(message = "模型名称不能为空", groups = {AddGroup.class})
+ private String name;
+
+ /**
+ * 模型标识key
+ */
+ @NotBlank(message = "模型标识key不能为空", groups = {AddGroup.class})
+ private String key;
+
+ /**
+ * 备注
+ */
+ private String description;
+
+}
diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/PageEntity.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/PageEntity.java
new file mode 100644
index 000000000..10b3236ff
--- /dev/null
+++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/PageEntity.java
@@ -0,0 +1,36 @@
+package org.dromara.workflow.domain.bo;
+
+
+/**
+ * 分页参数
+ *
+ * @author may
+ */
+public class PageEntity {
+
+ /**
+ * 当前页码
+ */
+ private Integer pageNum = 0;
+
+ /**
+ * 页容量
+ */
+ private Integer pageSize = 10;
+
+ public Integer getPageNum() {
+ return (pageNum - 1) * pageSize;
+ }
+
+ public void setPageNum(Integer pageNum) {
+ this.pageNum = pageNum;
+ }
+
+ public Integer getPageSize() {
+ return pageSize;
+ }
+
+ public void setPageSize(Integer pageSize) {
+ this.pageSize = pageSize;
+ }
+}
diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/package-info.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/package-info.java
deleted file mode 100644
index 9cc89e510..000000000
--- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/package-info.java
+++ /dev/null
@@ -1 +0,0 @@
-package org.dromara.workflow.domain;
diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/AccountVo.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/AccountVo.java
new file mode 100644
index 000000000..825f7c486
--- /dev/null
+++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/AccountVo.java
@@ -0,0 +1,21 @@
+package org.dromara.workflow.domain.vo;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 参考官方提供的响应数据
+ *
+ * @author may
+ */
+@Data
+public class AccountVo {
+ private String id;
+ private String firstName;
+ private String lastName;
+ private String email;
+ private String fullName;
+ private List groups;
+ private List privileges;
+}
diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IActModelService.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IActModelService.java
new file mode 100644
index 000000000..1e74a5331
--- /dev/null
+++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IActModelService.java
@@ -0,0 +1,47 @@
+package org.dromara.workflow.service;
+
+import com.fasterxml.jackson.databind.node.ObjectNode;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.workflow.domain.bo.ModelBo;
+import org.flowable.engine.repository.Model;
+import org.springframework.util.MultiValueMap;
+
+/**
+ * 模型管理 服务层
+ *
+ * @author may
+ */
+public interface IActModelService {
+ /**
+ * 分页查询模型
+ *
+ * @param modelBo 模型参数
+ * @return 返回分页列表
+ */
+ TableDataInfo getByPage(ModelBo modelBo);
+
+ /**
+ * 新增模型
+ *
+ * @param modelBo 模型请求对象
+ * @return 结果
+ */
+ boolean saveNewModel(ModelBo modelBo);
+
+ /**
+ * 查询模型
+ *
+ * @param modelId 模型id
+ * @return 模型数据
+ */
+ ObjectNode getModelInfo(String modelId);
+
+ /**
+ * 编辑模型
+ *
+ * @param modelId 模型id
+ * @param values 模型数据
+ * @return 结果
+ */
+ boolean editModel(String modelId, MultiValueMap values);
+}
diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActModelServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActModelServiceImpl.java
new file mode 100644
index 000000000..41515a7d3
--- /dev/null
+++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActModelServiceImpl.java
@@ -0,0 +1,233 @@
+package org.dromara.workflow.service.impl;
+
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.io.IoUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.json.JSONUtil;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+import lombok.RequiredArgsConstructor;
+import org.apache.commons.lang3.StringUtils;
+import org.dromara.common.core.exception.ServiceException;
+import org.dromara.common.json.utils.JsonUtils;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.satoken.utils.LoginHelper;
+import org.dromara.workflow.domain.bo.ModelBo;
+import org.dromara.workflow.service.IActModelService;
+import org.dromara.workflow.utils.WorkflowUtils;
+import org.flowable.bpmn.converter.BpmnXMLConverter;
+import org.flowable.bpmn.model.BpmnModel;
+import org.flowable.editor.constants.ModelDataJsonConstants;
+import org.flowable.editor.language.json.converter.BpmnJsonConverter;
+import org.flowable.engine.RepositoryService;
+import org.flowable.engine.repository.Model;
+import org.flowable.engine.repository.ModelQuery;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.MultiValueMap;
+
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLStreamReader;
+import java.io.ByteArrayInputStream;
+import java.nio.charset.StandardCharsets;
+import java.util.List;
+import java.util.Objects;
+
+import static org.flowable.editor.constants.ModelDataJsonConstants.*;
+
+/**
+ * 模型管理 服务层实现
+ *
+ * @author may
+ */
+@RequiredArgsConstructor
+@Service
+public class ActModelServiceImpl implements IActModelService {
+
+ private final RepositoryService repositoryService;
+
+ /**
+ * 分页查询模型
+ *
+ * @param modelBo 模型参数
+ * @return 返回分页列表
+ */
+ @Override
+ public TableDataInfo getByPage(ModelBo modelBo) {
+ ModelQuery query = repositoryService.createModelQuery();
+ if (StringUtils.isNotEmpty(modelBo.getName())) {
+ query.modelNameLike("%" + modelBo.getName() + "%");
+ }
+ if (StringUtils.isNotEmpty(modelBo.getKey())) {
+ query.modelKey(modelBo.getKey());
+ }
+ query.orderByLastUpdateTime().desc();
+ //创建时间降序排列
+ query.orderByCreateTime().desc();
+ // 分页查询
+ List modelList = query.listPage(modelBo.getPageNum(), modelBo.getPageSize());
+ if (CollectionUtil.isNotEmpty(modelList)) {
+ modelList.forEach(e -> {
+ boolean isNull = JSONUtil.isNull(JSONUtil.parseObj(e.getMetaInfo()).get(ModelDataJsonConstants.MODEL_DESCRIPTION));
+ if (!isNull) {
+ e.setMetaInfo((String) JSONUtil.parseObj(e.getMetaInfo()).get(ModelDataJsonConstants.MODEL_DESCRIPTION));
+ } else {
+ e.setMetaInfo(StrUtil.EMPTY);
+ }
+ });
+ }
+ // 总记录数
+ long total = query.count();
+ return new TableDataInfo<>(modelList, total);
+ }
+
+ /**
+ * 新增模型
+ *
+ * @param modelBo 模型请求对象
+ * @return 结果
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean saveNewModel(ModelBo modelBo) {
+ try {
+ int version = 0;
+ String key = modelBo.getKey();
+ String name = modelBo.getName();
+ String description = modelBo.getDescription();
+ Model checkModel = repositoryService.createModelQuery().modelKey(key).singleResult();
+ if (ObjectUtil.isNotNull(checkModel)) {
+ throw new ServiceException("模型key已存在!");
+ }
+ // 1. 初始空的模型
+ Model model = repositoryService.newModel();
+ model.setKey(key);
+ model.setName(name);
+ model.setVersion(version);
+ model.setTenantId(LoginHelper.getTenantId());
+ ObjectMapper objectMapper = JsonUtils.getObjectMapper();
+ // 封装模型json对象
+ ObjectNode objectNode = JsonUtils.getObjectMapper().createObjectNode();
+ objectNode.put(MODEL_NAME, name);
+ objectNode.put(MODEL_REVISION, version);
+ objectNode.put(MODEL_DESCRIPTION, description);
+ model.setMetaInfo(objectNode.toString());
+ // 保存初始化的模型基本信息数据
+ repositoryService.saveModel(model);
+ String namespace = "http://b3mn.org/stencilset/bpmn2.0#";
+ // 封装模型对象基础数据json串
+ ObjectNode editorNode = objectMapper.createObjectNode();
+ ObjectNode stencilSetNode = objectMapper.createObjectNode();
+ stencilSetNode.put("namespace", namespace);
+ editorNode.replace("stencilset", stencilSetNode);
+ // 标识key
+ ObjectNode propertiesNode = objectMapper.createObjectNode();
+ propertiesNode.put("process_id", key);
+ propertiesNode.put("name", name);
+ propertiesNode.put("description", description);
+ editorNode.replace("properties", propertiesNode);
+ repositoryService.addModelEditorSource(model.getId(), editorNode.toString().getBytes(StandardCharsets.UTF_8));
+ return true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw new ServiceException(e.getMessage());
+ }
+ }
+
+ /**
+ * 查询模型
+ *
+ * @param modelId 模型id
+ * @return 模型数据
+ */
+ @Override
+ public ObjectNode getModelInfo(String modelId) {
+ ObjectNode modelNode = null;
+
+ Model model = repositoryService.getModel(modelId);
+ ObjectMapper objectMapper = JsonUtils.getObjectMapper();
+ if (model != null) {
+ try {
+ if (StringUtils.isNotEmpty(model.getMetaInfo())) {
+ modelNode = (ObjectNode) objectMapper.readTree(model.getMetaInfo());
+ } else {
+ modelNode = objectMapper.createObjectNode();
+ modelNode.put(MODEL_NAME, model.getName());
+ }
+ modelNode.put(MODEL_ID, model.getId());
+ Integer version = model.getVersion();
+ if (version > 0) {
+ byte[] modelEditorSource = repositoryService.getModelEditorSource(model.getId());
+ ByteArrayInputStream byteArrayInputStream = IoUtil.toStream(modelEditorSource);
+ XMLInputFactory xif = XMLInputFactory.newInstance();
+ XMLStreamReader xtr = xif.createXMLStreamReader(byteArrayInputStream);
+ BpmnModel bpmnModel = new BpmnXMLConverter().convertToBpmnModel(xtr);
+ BpmnJsonConverter bpmnJsonConverter = new BpmnJsonConverter();
+ ObjectNode jsonNodes = bpmnJsonConverter.convertToJson(bpmnModel);
+ modelNode.put("model", jsonNodes);
+ } else {
+ ObjectNode editorJsonNode = (ObjectNode) objectMapper.readTree(
+ new String(repositoryService.getModelEditorSource(model.getId()), StandardCharsets.UTF_8));
+ modelNode.put("model", editorJsonNode);
+ }
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ return modelNode;
+ }
+
+ /**
+ * 编辑模型
+ *
+ * @param modelId 模型id
+ * @param values 模型数据
+ * @return 结果
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean editModel(String modelId, MultiValueMap values) {
+ try {
+
+ Model model = repositoryService.getModel(modelId);
+ ObjectMapper objectMapper = JsonUtils.getObjectMapper();
+ ObjectNode modelJson = (ObjectNode) objectMapper.readTree(model.getMetaInfo());
+
+ modelJson.put(MODEL_NAME, values.getFirst("name"));
+ modelJson.put(MODEL_DESCRIPTION, values.getFirst("description"));
+ model.setMetaInfo(modelJson.toString());
+ model.setName(values.getFirst("name"));
+ // 每次保存把版本更新+1
+ model.setVersion(model.getVersion() + 1);
+ // 获取唯一标识key
+ String key = objectMapper.readTree(values.getFirst("json_xml")).get("properties").get("process_id").textValue();
+ model.setKey(key);
+
+
+ repositoryService.saveModel(model);
+ byte[] xmlBytes = WorkflowUtils.bpmnJsonToXmlBytes(Objects.requireNonNull(values.getFirst("json_xml")).getBytes(StandardCharsets.UTF_8));
+
+ repositoryService.addModelEditorSource(model.getId(), xmlBytes);
+
+ /*InputStream svgStream = new ByteArrayInputStream(values.getFirst("svg_xml").getBytes(StandardCharsets.UTF_8));
+ TranscoderInput input = new TranscoderInput(svgStream);
+
+ PNGTranscoder transcoder = new PNGTranscoder();
+ // Setup output
+ ByteArrayOutputStream outStream = new ByteArrayOutputStream();
+ TranscoderOutput output = new TranscoderOutput(outStream);
+
+ // Do the transformation
+ transcoder.transcode(input, output);
+ final byte[] result = outStream.toByteArray();
+ repositoryService.addModelEditorSourceExtra(model.getId(), result);
+ outStream.close();*/
+ return true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw new ServiceException(e.getMessage());
+ }
+ }
+}
diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/package-info.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/package-info.java
deleted file mode 100644
index 429bd2904..000000000
--- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/package-info.java
+++ /dev/null
@@ -1 +0,0 @@
-package org.dromara.workflow.service.impl;
diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/package-info.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/package-info.java
deleted file mode 100644
index 6e68be40f..000000000
--- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/package-info.java
+++ /dev/null
@@ -1 +0,0 @@
-package org.dromara.workflow.service;
diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/WorkflowUtils.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/WorkflowUtils.java
new file mode 100644
index 000000000..a4afe1fbc
--- /dev/null
+++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/WorkflowUtils.java
@@ -0,0 +1,42 @@
+package org.dromara.workflow.utils;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.dromara.common.json.utils.JsonUtils;
+import org.flowable.bpmn.converter.BpmnXMLConverter;
+import org.flowable.bpmn.model.BpmnModel;
+import org.flowable.editor.language.json.converter.BpmnJsonConverter;
+
+import java.io.IOException;
+
+/**
+ * 工作流工具
+ *
+ * @author may
+ */
+public class WorkflowUtils {
+
+ public WorkflowUtils() {
+ }
+
+ /**
+ * bpmnModel转为xml
+ *
+ * @param jsonBytes json
+ */
+ public static byte[] bpmnJsonToXmlBytes(byte[] jsonBytes) throws IOException {
+ if (jsonBytes == null) {
+ return new byte[0];
+ }
+ //1. json字节码转成 BpmnModel 对象
+ ObjectMapper objectMapper = JsonUtils.getObjectMapper();
+ JsonNode jsonNode = objectMapper.readTree(jsonBytes);
+ BpmnModel bpmnModel = new BpmnJsonConverter().convertToBpmnModel(jsonNode);
+
+ if (bpmnModel.getProcesses().isEmpty()) {
+ return new byte[0];
+ }
+ //2.将bpmnModel转为xml
+ return new BpmnXMLConverter().convertToXML(bpmnModel);
+ }
+}