Procházet zdrojové kódy

update warm-flow 升级 1.8.2

AprilWind před 8 měsíci
rodič
revize
7800b1259f

+ 1 - 1
pom.xml

@@ -48,7 +48,7 @@
         <!-- 面向运行时的D-ORM依赖 -->
         <anyline.version>8.7.2-20250603</anyline.version>
         <!-- 工作流配置 -->
-        <warm-flow.version>1.8.1</warm-flow.version>
+        <warm-flow.version>1.8.2</warm-flow.version>
 
         <!-- 插件版本 -->
         <maven-jar-plugin.version>3.4.2</maven-jar-plugin.version>

+ 5 - 3
ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/listener/WorkflowGlobalListener.java

@@ -72,8 +72,8 @@ public class WorkflowGlobalListener implements GlobalListener {
     public void start(ListenerVariable listenerVariable) {
         String ext = listenerVariable.getNode().getExt();
         if (StringUtils.isNotBlank(ext)) {
-            NodeExtVo nodeExt = nodeExtService.parseNodeExt(ext);
             Map<String, Object> variable = listenerVariable.getVariable();
+            NodeExtVo nodeExt = nodeExtService.parseNodeExt(ext, variable);
             Set<String> copyList = nodeExt.getCopySettings();
             if (CollUtil.isNotEmpty(copyList)) {
                 List<FlowCopyBo> list = StreamUtils.toList(copyList, x -> {
@@ -180,12 +180,14 @@ public class WorkflowGlobalListener implements GlobalListener {
         }
 
         if (variable.containsKey(FlowConstant.FLOW_COPY_LIST)) {
-            List<FlowCopyBo> flowCopyList = MapUtil.get(variable, FlowConstant.FLOW_COPY_LIST, new TypeReference<>() {});
+            List<FlowCopyBo> flowCopyList = MapUtil.get(variable, FlowConstant.FLOW_COPY_LIST, new TypeReference<>() {
+            });
             // 添加抄送人
             flwTaskService.setCopy(task, flowCopyList);
         }
         if (variable.containsKey(FlowConstant.MESSAGE_TYPE)) {
-            List<String> messageType = MapUtil.get(variable, FlowConstant.MESSAGE_TYPE, new TypeReference<>() {});
+            List<String> messageType = MapUtil.get(variable, FlowConstant.MESSAGE_TYPE, new TypeReference<>() {
+            });
             String notice = MapUtil.getStr(variable, FlowConstant.MESSAGE_NOTICE);
             flwCommonService.sendMessage(definition.getFlowName(), instance.getId(), messageType, notice);
         }

+ 5 - 2
ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IFlwNodeExtService.java

@@ -2,6 +2,8 @@ package org.dromara.workflow.service;
 
 import org.dromara.workflow.domain.vo.NodeExtVo;
 
+import java.util.Map;
+
 /**
  * 流程节点扩展属性 服务层
  *
@@ -24,9 +26,10 @@ public interface IFlwNodeExtService {
      * {"code": "VariablesEnum", "value": "key1=value1,key2=value2"}
      * ]
      *
-     * @param ext 扩展属性 JSON 字符串
+     * @param ext      扩展属性 JSON 字符串
+     * @param variable 流程变量
      * @return NodeExtVo 对象,封装按钮权限列表、抄送对象集合和自定义参数 Map
      */
-    NodeExtVo parseNodeExt(String ext);
+    NodeExtVo parseNodeExt(String ext, Map<String, Object> variable);
 
 }

+ 102 - 8
ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwNodeExtServiceImpl.java

@@ -9,6 +9,9 @@ import org.dromara.common.core.domain.dto.DictTypeDTO;
 import org.dromara.common.core.service.DictService;
 import org.dromara.common.core.utils.StringUtils;
 import org.dromara.common.json.utils.JsonUtils;
+import org.dromara.warm.flow.core.FlowEngine;
+import org.dromara.warm.flow.core.utils.CollUtil;
+import org.dromara.warm.flow.core.utils.ExpressionUtil;
 import org.dromara.warm.flow.ui.service.NodeExtService;
 import org.dromara.warm.flow.ui.vo.NodeExt;
 import org.dromara.workflow.common.ConditionalOnEnable;
@@ -45,7 +48,7 @@ public class FlwNodeExtServiceImpl implements NodeExtService, IFlwNodeExtService
             CopySettingEnum.class.getSimpleName(),
             Map.of(
                 "label", "抄送对象",
-                "type", 2,
+                "type", 5,
                 "must", false,
                 "multiple", false,
                 "desc", "设置该节点的抄送办理人"
@@ -56,7 +59,7 @@ public class FlwNodeExtServiceImpl implements NodeExtService, IFlwNodeExtService
                 "type", 2,
                 "must", false,
                 "multiple", false,
-                "desc", "节点执行时可以使用的自定义参数"
+                "desc", "节点执行时可设置自定义参数,多个参数以逗号分隔,如:key1=value1,key2=value2"
             ),
             ButtonPermissionEnum.class.getSimpleName(),
             Map.of(
@@ -137,7 +140,7 @@ public class FlwNodeExtServiceImpl implements NodeExtService, IFlwNodeExtService
         childNode.setCode(simpleName);
         // label名称
         childNode.setLabel(Convert.toStr(map.get("label")));
-        // 1:输入框 2:文本域 3:下拉框 4:选择框
+        // 1:输入框 2:文本域 3:下拉框 4:选择框 5:用户选择器
         childNode.setType(Convert.toInt(map.get("type"), 1));
         // 是否必填
         childNode.setMust(Convert.toBool(map.get("must"), false));
@@ -170,7 +173,7 @@ public class FlwNodeExtServiceImpl implements NodeExtService, IFlwNodeExtService
         childNode.setCode(dictType);
         // label名称
         childNode.setLabel(dictTypeDTO.getDictName());
-        // 1:输入框 2:文本域 3:下拉框 4:选择框
+        // 1:输入框 2:文本域 3:下拉框 4:选择框 5:用户选择器
         childNode.setType(3);
         // 是否必填
         childNode.setMust(false);
@@ -197,15 +200,16 @@ public class FlwNodeExtServiceImpl implements NodeExtService, IFlwNodeExtService
      * <p>示例 JSON:
      * [
      * {"code": "ButtonPermissionEnum", "value": "back,termination"},
-     * {"code": "CopySettingEnum", "value": "1"},
+     * {"code": "CopySettingEnum", "value": "1,3,4,#{@spelRuleComponent.selectDeptLeaderById(#deptId", "#roleId)}"},
      * {"code": "VariablesEnum", "value": "key1=value1,key2=value2"}
      * ]
      *
-     * @param ext 扩展属性 JSON 字符串
+     * @param ext      扩展属性 JSON 字符串
+     * @param variable 流程变量
      * @return NodeExtVo 对象,封装按钮权限列表、抄送对象集合和自定义参数 Map
      */
     @Override
-    public NodeExtVo parseNodeExt(String ext) {
+    public NodeExtVo parseNodeExt(String ext, Map<String, Object> variable) {
         NodeExtVo nodeExtVo = new NodeExtVo();
 
         // 解析 JSON 为 Dict 列表
@@ -234,8 +238,20 @@ public class FlwNodeExtServiceImpl implements NodeExtService, IFlwNodeExtService
                 nodeExtVo.setButtonPermissions(buttonList);
 
             } else if (CopySettingEnum.class.getSimpleName().equals(code)) {
+                List<String> permissions = spelSmartSplit(value).stream()
+                    .map(s -> {
+                        List<String> result = ExpressionUtil.evalVariable(s, variable);
+                        if (CollUtil.isNotEmpty(result)) {
+                            return result;
+                        }
+                        return Collections.singletonList(s);
+                    }).filter(Objects::nonNull)
+                    .flatMap(List::stream)
+                    .distinct()
+                    .collect(Collectors.toList());
+                List<String> copySettings = FlowEngine.permissionHandler().convertPermissions(permissions);
                 // 解析抄送对象 ID 集合
-                nodeExtVo.setCopySettings(StringUtils.str2Set(value, StringUtils.SEPARATOR));
+                nodeExtVo.setCopySettings(new HashSet<>(copySettings));
 
             } else if (VariablesEnum.class.getSimpleName().equals(code)) {
                 // 解析自定义参数
@@ -254,4 +270,82 @@ public class FlwNodeExtServiceImpl implements NodeExtService, IFlwNodeExtService
         return nodeExtVo;
     }
 
+    /**
+     * 按逗号分割字符串,但保留 #{...} 表达式和字符串常量中的逗号
+     */
+    private static List<String> spelSmartSplit(String str) {
+        List<String> result = new ArrayList<>();
+        if (str == null || str.trim().isEmpty()) {
+            return result;
+        }
+
+        StringBuilder token = new StringBuilder();
+        // #{...} 的嵌套深度
+        int depth = 0;
+        // 是否在字符串常量中(" 或 ')
+        boolean inString = false;
+        // 当前字符串引号类型
+        char stringQuote = 0;
+
+        for (int i = 0; i < str.length(); i++) {
+            char c = str.charAt(i);
+
+            // 检测进入 SpEL 表达式 #{...}
+            if (!inString && c == '#' && depth == 0 && checkNext(str, i, '{')) {
+                depth++;
+                token.append("#{");
+                // 跳过 {
+                i++;
+                continue;
+            }
+
+            // 在表达式中遇到 { 或 } 改变嵌套深度
+            if (!inString && depth > 0) {
+                if (c == '{') {
+                    depth++;
+                } else if (c == '}') {
+                    depth--;
+                }
+                token.append(c);
+                continue;
+            }
+
+            // 检测字符串开始/结束
+            if (depth > 0 && (c == '"' || c == '\'')) {
+                if (!inString) {
+                    inString = true;
+                    stringQuote = c;
+                } else if (stringQuote == c) {
+                    inString = false;
+                }
+                token.append(c);
+                continue;
+            }
+
+            // 外层逗号才分割
+            if (c == ',' && depth == 0 && !inString) {
+                String part = token.toString().trim();
+                if (!part.isEmpty()) {
+                    result.add(part);
+                }
+                token.setLength(0);
+                continue;
+            }
+
+            token.append(c);
+        }
+
+        // 添加最后一个
+        String part = token.toString().trim();
+        if (!part.isEmpty()) {
+            result.add(part);
+        }
+
+        return result;
+    }
+
+    private static boolean checkNext(String str, int index, char expected) {
+        return index + 1 < str.length() && str.charAt(index + 1) == expected;
+    }
+
 }

+ 1 - 1
ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java

@@ -598,7 +598,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
         if (ObjectUtil.isNull(flowNode)) {
             throw new NullPointerException("当前【" + flowTaskVo.getNodeCode() + "】节点编码不存在");
         }
-        NodeExtVo nodeExtVo = flwNodeExtService.parseNodeExt(flowNode.getExt());
+        NodeExtVo nodeExtVo = flwNodeExtService.parseNodeExt(flowNode.getExt(), instance.getVariableMap());
         //设置按钮权限
         flowTaskVo.setButtonList(nodeExtVo.getButtonPermissions());
         if (CollUtil.isNotEmpty(nodeExtVo.getCopySettings())) {

+ 59 - 36
script/sql/oracle/oracle_ry_workflow.sql

@@ -17,7 +17,9 @@ create table FLOW_DEFINITION
     LISTENER_PATH   VARCHAR2(500),
     EXT             VARCHAR2(500),
     CREATE_TIME     DATE,
+    CREATE_BY       VARCHAR2(64) default '',
     UPDATE_TIME     DATE,
+    UPDATE_BY       VARCHAR2(64) default '',
     DEL_FLAG        VARCHAR2(1) default '0',
     TENANT_ID       VARCHAR2(40)
 );
@@ -40,7 +42,9 @@ comment on column FLOW_DEFINITION.LISTENER_TYPE is '监听器类型';
 comment on column FLOW_DEFINITION.LISTENER_PATH is '监听器路径';
 comment on column FLOW_DEFINITION.EXT is '扩展字段,预留给业务系统使用';
 comment on column FLOW_DEFINITION.CREATE_TIME is '创建时间';
+comment on column FLOW_DEFINITION.CREATE_BY is '创建人';
 comment on column FLOW_DEFINITION.UPDATE_TIME is '更新时间';
+comment on column FLOW_DEFINITION.UPDATE_BY is '更新人';
 comment on column FLOW_DEFINITION.DEL_FLAG is '删除标志';
 comment on column FLOW_DEFINITION.TENANT_ID is '租户id';
 
@@ -62,7 +66,9 @@ create table FLOW_NODE
     FORM_PATH       VARCHAR2(100),
     VERSION         VARCHAR2(20),
     CREATE_TIME     DATE,
+    CREATE_BY       VARCHAR2(64) default '',
     UPDATE_TIME     DATE,
+    UPDATE_BY       VARCHAR2(64) default '',
     EXT             CLOB,
     DEL_FLAG        VARCHAR2(1)   default '0',
     TENANT_ID       VARCHAR2(40),
@@ -89,7 +95,9 @@ comment on column FLOW_NODE.FORM_CUSTOM is '审批表单是否自定义 (Y是 N
 comment on column FLOW_NODE.FORM_PATH is '审批表单路径';
 comment on column FLOW_NODE.VERSION is '版本';
 comment on column FLOW_NODE.CREATE_TIME is '创建时间';
+comment on column FLOW_NODE.CREATE_BY is '创建人';
 comment on column FLOW_NODE.UPDATE_TIME is '更新时间';
+comment on column FLOW_NODE.UPDATE_BY is '更新人';
 comment on column FLOW_NODE.EXT is '节点扩展属性';
 comment on column FLOW_NODE.DEL_FLAG is '删除标志';
 comment on column FLOW_NODE.TENANT_ID is '租户id';
@@ -108,7 +116,9 @@ create table FLOW_SKIP
     SKIP_CONDITION VARCHAR2(200),
     COORDINATE     VARCHAR2(100),
     CREATE_TIME    DATE,
+    CREATE_BY      VARCHAR2(64) default '',
     UPDATE_TIME    DATE,
+    UPDATE_BY      VARCHAR2(64) default '',
     DEL_FLAG       VARCHAR2(1) default '0',
     TENANT_ID      VARCHAR2(40)
 );
@@ -128,7 +138,9 @@ comment on column FLOW_SKIP.SKIP_TYPE is '跳转类型 (PASS审批通过 REJECT
 comment on column FLOW_SKIP.SKIP_CONDITION is '跳转条件';
 comment on column FLOW_SKIP.COORDINATE is '坐标';
 comment on column FLOW_SKIP.CREATE_TIME is '创建时间';
+comment on column FLOW_SKIP.CREATE_BY is '创建人';
 comment on column FLOW_SKIP.UPDATE_TIME is '更新时间';
+comment on column FLOW_SKIP.UPDATE_BY is '更新人';
 comment on column FLOW_SKIP.DEL_FLAG is '删除标志';
 comment on column FLOW_SKIP.TENANT_ID is '租户id';
 
@@ -144,9 +156,10 @@ create table FLOW_INSTANCE
     FLOW_STATUS     VARCHAR2(20),
     ACTIVITY_STATUS NUMBER(1)    default 1,
     DEF_JSON        CLOB,
-    CREATE_BY       VARCHAR2(64) default '',
     CREATE_TIME     DATE,
+    CREATE_BY       VARCHAR2(64) default '',
     UPDATE_TIME     DATE,
+    UPDATE_BY       VARCHAR2(64) default '',
     EXT             VARCHAR2(500),
     DEL_FLAG        VARCHAR2(1)  default '0',
     TENANT_ID       VARCHAR2(40)
@@ -168,7 +181,9 @@ comment on column FLOW_INSTANCE.ACTIVITY_STATUS is '流程激活状态(0挂起
 comment on column FLOW_INSTANCE.DEF_JSON is '流程定义json';
 comment on column FLOW_INSTANCE.CREATE_BY is '创建者';
 comment on column FLOW_INSTANCE.CREATE_TIME is '创建时间';
+comment on column FLOW_INSTANCE.CREATE_BY is '创建人';
 comment on column FLOW_INSTANCE.UPDATE_TIME is '更新时间';
+comment on column FLOW_INSTANCE.UPDATE_BY is '更新人';
 comment on column FLOW_INSTANCE.EXT is '扩展字段,预留给业务系统使用';
 comment on column FLOW_INSTANCE.DEL_FLAG is '删除标志';
 comment on column FLOW_INSTANCE.TENANT_ID is '租户id';
@@ -185,7 +200,9 @@ create table FLOW_TASK
     FORM_CUSTOM   VARCHAR2(1) default 'N',
     FORM_PATH     VARCHAR2(100),
     CREATE_TIME   DATE,
+    CREATE_BY     VARCHAR2(64) default '',
     UPDATE_TIME   DATE,
+    UPDATE_BY     VARCHAR2(64) default '',
     DEL_FLAG      VARCHAR2(1) default '0',
     TENANT_ID     VARCHAR2(40)
 );
@@ -204,7 +221,9 @@ comment on column FLOW_TASK.FLOW_STATUS is '流程状态(0待提交 1审批中
 comment on column FLOW_TASK.FORM_CUSTOM is '审批表单是否自定义 (Y是 N否)';
 comment on column FLOW_TASK.FORM_PATH is '审批表单路径';
 comment on column FLOW_TASK.CREATE_TIME is '创建时间';
+comment on column FLOW_TASK.CREATE_BY is '创建人';
 comment on column FLOW_TASK.UPDATE_TIME is '更新时间';
+comment on column FLOW_TASK.UPDATE_BY is '更新人';
 comment on column FLOW_TASK.DEL_FLAG is '删除标志';
 comment on column FLOW_TASK.TENANT_ID is '租户id';
 
@@ -231,6 +250,7 @@ create table FLOW_HIS_TASK
     EXT              CLOB,
     CREATE_TIME      DATE,
     UPDATE_TIME      DATE,
+    UPDATE_BY        VARCHAR2(64) default '',
     DEL_FLAG         VARCHAR2(1) default '0',
     TENANT_ID        VARCHAR2(40)
 
@@ -258,9 +278,10 @@ comment on column FLOW_HIS_TASK.VARIABLE is '任务变量';
 comment on column FLOW_HIS_TASK.EXT is '扩展字段,预留给业务系统使用';
 comment on column FLOW_HIS_TASK.CREATE_TIME is '任务开始时间';
 comment on column FLOW_HIS_TASK.UPDATE_TIME is '审批完成时间';
+comment on column FLOW_HIS_TASK.UPDATE_BY is '更新人';
 comment on column FLOW_HIS_TASK.DEL_FLAG is '删除标志';
 comment on column FLOW_HIS_TASK.TENANT_ID is '租户id';
-comment on column FLOW_HIS_TASK.APPROVER is '审批';
+comment on column FLOW_HIS_TASK.APPROVER is '审批';
 comment on column FLOW_HIS_TASK.COOPERATE_TYPE is '协作方式(1审批 2转办 3委派 4会签 5票签 6加签 7减签)';
 comment on column FLOW_HIS_TASK.COLLABORATOR is '协作人';
 
@@ -273,6 +294,7 @@ create table FLOW_USER
     CREATE_TIME  DATE,
     CREATE_BY    VARCHAR2(80),
     UPDATE_TIME  DATE,
+    UPDATE_BY    VARCHAR2(64) default '',
     DEL_FLAG     VARCHAR2(1) default '0',
     TENANT_ID    VARCHAR2(40)
 );
@@ -288,6 +310,7 @@ comment on column FLOW_USER.ASSOCIATED is '任务表id';
 comment on column FLOW_USER.CREATE_TIME is '创建时间';
 comment on column FLOW_USER.CREATE_BY is '节点名称';
 comment on column FLOW_USER.UPDATE_TIME is '更新时间';
+comment on column FLOW_USER.UPDATE_BY is '更新人';
 comment on column FLOW_USER.DEL_FLAG is '删除标志';
 comment on column FLOW_USER.TENANT_ID is '租户id';
 
@@ -299,18 +322,18 @@ create index USER_ASSOCIATED_IDX on FLOW_USER (ASSOCIATED);
 -- ----------------------------
 CREATE TABLE flow_category
 (
-    category_id NUMBER (20) NOT NULL,
-    tenant_id VARCHAR2 (20) DEFAULT '000000',
-    parent_id NUMBER (20) DEFAULT 0,
-    ancestors VARCHAR2 (500) DEFAULT '',
-    category_name VARCHAR2 (30) NOT NULL,
-    order_num NUMBER (4) DEFAULT 0,
-    del_flag    CHAR(1) DEFAULT '0',
-    create_dept NUMBER (20),
-    create_by NUMBER (20),
-    create_time DATE,
-    update_by NUMBER (20),
-    update_time DATE
+    category_id     NUMBER(20) NOT NULL,
+    tenant_id       VARCHAR2(20) DEFAULT '000000',
+    parent_id       NUMBER(20) DEFAULT 0,
+    ancestors       VARCHAR2(500) DEFAULT '',
+    category_name   VARCHAR2(30) NOT NULL,
+    order_num       NUMBER(4) DEFAULT 0,
+    del_flag        CHAR(1) DEFAULT '0',
+    create_dept     NUMBER(20),
+    create_by       NUMBER(20),
+    create_time     DATE,
+    update_by       NUMBER(20),
+    update_time     DATE
 );
 
 alter table flow_category add constraint pk_flow_category primary key (category_id);
@@ -344,19 +367,19 @@ INSERT INTO flow_category VALUES (109, '000000', 102, '0,100,102', '离职', 2,
 -- 流程spel表达式定义表
 -- ----------------------------
 CREATE TABLE flow_spel (
-    id NUMBER(20) NOT NULL,
-    component_name VARCHAR2(255),
-    method_name VARCHAR2(255),
-    method_params VARCHAR2(255),
-    view_spel VARCHAR2(255),
-    remark VARCHAR2(255),
-    status CHAR(1) DEFAULT '0',
-    del_flag CHAR(1) DEFAULT '0',
-    create_dept NUMBER(20),
-    create_by NUMBER(20),
-    create_time DATE,
-    update_by NUMBER(20),
-    update_time DATE
+    id              NUMBER(20) NOT NULL,
+    component_name  VARCHAR2(255),
+    method_name     VARCHAR2(255),
+    method_params   VARCHAR2(255),
+    view_spel       VARCHAR2(255),
+    remark          VARCHAR2(255),
+    status          CHAR(1) DEFAULT '0',
+    del_flag        CHAR(1) DEFAULT '0',
+    create_dept     NUMBER(20),
+    create_by       NUMBER(20),
+    create_time     DATE,
+    update_by       NUMBER(20),
+    update_time     DATE
 );
 
 alter table flow_spel add constraint pk_flow_spel primary key (id);
@@ -418,19 +441,19 @@ COMMENT ON COLUMN flow_instance_biz_ext.business_id  IS '业务Id';
 -- ----------------------------
 CREATE TABLE test_leave
 (
-    id NUMBER (20) NOT NULL,
-    tenant_id VARCHAR2 (20) DEFAULT '000000',
-    apply_code VARCHAR2 (50) NOT NULL,
-    leave_type VARCHAR2 (255) NOT NULL,
+    id          NUMBER (20) NOT NULL,
+    tenant_id   VARCHAR2 (20) DEFAULT '000000',
+    apply_code  VARCHAR2 (50) NOT NULL,
+    leave_type  VARCHAR2 (255) NOT NULL,
     start_date  DATE NOT NULL,
     end_date    DATE NOT NULL,
-    leave_days NUMBER (10) NOT NULL,
-    remark VARCHAR2 (255),
-    status VARCHAR2 (255),
+    leave_days  NUMBER (10) NOT NULL,
+    remark      VARCHAR2 (255),
+    status      VARCHAR2 (255),
     create_dept NUMBER (20),
-    create_by NUMBER (20),
+    create_by   NUMBER (20),
     create_time DATE,
-    update_by NUMBER (20),
+    update_by   NUMBER (20),
     update_time DATE
 );
 

+ 28 - 6
script/sql/postgres/postgres_ry_workflow.sql

@@ -14,7 +14,9 @@ CREATE TABLE flow_definition
     listener_path   varchar(400) NULL,
     ext             varchar(500) NULL,
     create_time     timestamp    NULL,
+    create_by       varchar(64)  NULL     DEFAULT '':: character varying,
     update_time     timestamp    NULL,
+    update_by       varchar(64)  NULL     DEFAULT '':: character varying,
     del_flag        bpchar(1)    NULL     DEFAULT '0':: character varying,
     tenant_id       varchar(40)  NULL,
     CONSTRAINT flow_definition_pkey PRIMARY KEY (id)
@@ -35,7 +37,9 @@ COMMENT ON COLUMN flow_definition.listener_type IS '监听器类型';
 COMMENT ON COLUMN flow_definition.listener_path IS '监听器路径';
 COMMENT ON COLUMN flow_definition.ext IS '扩展字段,预留给业务系统使用';
 COMMENT ON COLUMN flow_definition.create_time IS '创建时间';
+COMMENT ON COLUMN flow_definition.create_by IS '创建人';
 COMMENT ON COLUMN flow_definition.update_time IS '更新时间';
+COMMENT ON COLUMN flow_definition.update_by IS '更新人';
 COMMENT ON COLUMN flow_definition.del_flag IS '删除标志';
 COMMENT ON COLUMN flow_definition.tenant_id IS '租户id';
 
@@ -57,8 +61,10 @@ CREATE TABLE flow_node
     form_custom     bpchar(1)     NULL DEFAULT 'N':: character varying,
     form_path       varchar(100)  NULL,
     "version"       varchar(20)   NOT NULL,
-    create_time     timestamp     NULL,
-    update_time     timestamp     NULL,
+    create_time     timestamp    NULL,
+    create_by       varchar(64)  NULL DEFAULT '':: character varying,
+    update_time     timestamp    NULL,
+    update_by       varchar(64)  NULL DEFAULT '':: character varying,
     ext             text         NULL,
     del_flag        bpchar(1)     NULL DEFAULT '0':: character varying,
     tenant_id       varchar(40)   NULL,
@@ -83,7 +89,9 @@ COMMENT ON COLUMN flow_node.form_custom IS '审批表单是否自定义(Y是 N
 COMMENT ON COLUMN flow_node.form_path IS '审批表单路径';
 COMMENT ON COLUMN flow_node."version" IS '版本';
 COMMENT ON COLUMN flow_node.create_time IS '创建时间';
+COMMENT ON COLUMN flow_node.create_by IS '创建人';
 COMMENT ON COLUMN flow_node.update_time IS '更新时间';
+COMMENT ON COLUMN flow_node.update_by IS '更新人';
 COMMENT ON COLUMN flow_node.ext IS '节点扩展属性';
 COMMENT ON COLUMN flow_node.del_flag IS '删除标志';
 COMMENT ON COLUMN flow_node.tenant_id IS '租户id';
@@ -102,7 +110,9 @@ CREATE TABLE flow_skip
     skip_condition varchar(200) NULL,
     coordinate     varchar(100) NULL,
     create_time    timestamp    NULL,
+    create_by      varchar(64)  NULL DEFAULT '':: character varying,
     update_time    timestamp    NULL,
+    update_by      varchar(64)  NULL DEFAULT '':: character varying,
     del_flag       bpchar(1)    NULL DEFAULT '0':: character varying,
     tenant_id      varchar(40)  NULL,
     CONSTRAINT flow_skip_pkey PRIMARY KEY (id)
@@ -120,7 +130,9 @@ COMMENT ON COLUMN flow_skip.skip_type IS '跳转类型(PASS审批通过 REJECT
 COMMENT ON COLUMN flow_skip.skip_condition IS '跳转条件';
 COMMENT ON COLUMN flow_skip.coordinate IS '坐标';
 COMMENT ON COLUMN flow_skip.create_time IS '创建时间';
+COMMENT ON COLUMN flow_skip.create_by IS '创建人';
 COMMENT ON COLUMN flow_skip.update_time IS '更新时间';
+COMMENT ON COLUMN flow_skip.update_by IS '更新人';
 COMMENT ON COLUMN flow_skip.del_flag IS '删除标志';
 COMMENT ON COLUMN flow_skip.tenant_id IS '租户id';
 
@@ -136,9 +148,10 @@ CREATE TABLE flow_instance
     flow_status     varchar(20)  NOT NULL,
     activity_status int2         NOT NULL DEFAULT 1,
     def_json        text         NULL,
-    create_by       varchar(64)  NULL     DEFAULT '':: character varying,
     create_time     timestamp    NULL,
+    create_by       varchar(64)  NULL DEFAULT '':: character varying,
     update_time     timestamp    NULL,
+    update_by       varchar(64)  NULL DEFAULT '':: character varying,
     ext             varchar(500) NULL,
     del_flag        bpchar(1)    NULL     DEFAULT '0':: character varying,
     tenant_id       varchar(40)  NULL,
@@ -156,9 +169,10 @@ COMMENT ON COLUMN flow_instance.variable IS '任务变量';
 COMMENT ON COLUMN flow_instance.flow_status IS '流程状态(0待提交 1审批中 2审批通过 4终止 5作废 6撤销 8已完成 9已退回 10失效 11拿回)';
 COMMENT ON COLUMN flow_instance.activity_status IS '流程激活状态(0挂起 1激活)';
 COMMENT ON COLUMN flow_instance.def_json IS '流程定义json';
-COMMENT ON COLUMN flow_instance.create_by IS '创建者';
 COMMENT ON COLUMN flow_instance.create_time IS '创建时间';
+COMMENT ON COLUMN flow_instance.create_by IS '创建人';
 COMMENT ON COLUMN flow_instance.update_time IS '更新时间';
+COMMENT ON COLUMN flow_instance.update_by IS '更新人';
 COMMENT ON COLUMN flow_instance.ext IS '扩展字段,预留给业务系统使用';
 COMMENT ON COLUMN flow_instance.del_flag IS '删除标志';
 COMMENT ON COLUMN flow_instance.tenant_id IS '租户id';
@@ -171,11 +185,13 @@ CREATE TABLE flow_task
     node_code     varchar(100) NOT NULL,
     node_name     varchar(100) NULL,
     node_type     int2         NOT NULL,
-    flow_status      varchar(20)  NOT NULL,
+    flow_status   varchar(20)  NOT NULL,
     form_custom   bpchar(1)    NULL DEFAULT 'N':: character varying,
     form_path     varchar(100) NULL,
     create_time   timestamp    NULL,
+    create_by     varchar(64)  NULL DEFAULT '':: character varying,
     update_time   timestamp    NULL,
+    update_by     varchar(64)  NULL DEFAULT '':: character varying,
     del_flag      bpchar(1)    NULL DEFAULT '0':: character varying,
     tenant_id     varchar(40)  NULL,
     CONSTRAINT flow_task_pkey PRIMARY KEY (id)
@@ -192,7 +208,9 @@ COMMENT ON COLUMN flow_task.flow_status IS '流程状态(0待提交 1审批中
 COMMENT ON COLUMN flow_task.form_custom IS '审批表单是否自定义(Y是 N否)';
 COMMENT ON COLUMN flow_task.form_path IS '审批表单路径';
 COMMENT ON COLUMN flow_task.create_time IS '创建时间';
+COMMENT ON COLUMN flow_task.create_by IS '创建人';
 COMMENT ON COLUMN flow_task.update_time IS '更新时间';
+COMMENT ON COLUMN flow_task.update_by IS '更新人';
 COMMENT ON COLUMN flow_task.del_flag IS '删除标志';
 COMMENT ON COLUMN flow_task.tenant_id IS '租户id';
 
@@ -219,6 +237,7 @@ CREATE TABLE flow_his_task
     variable         text         NULL,
     create_time      timestamp    NULL,
     update_time      timestamp    NULL,
+    update_by        varchar(64)  NULL DEFAULT '':: character varying,
     del_flag         bpchar(1)    NULL     DEFAULT '0':: character varying,
     tenant_id        varchar(40)  NULL,
     CONSTRAINT flow_his_task_pkey PRIMARY KEY (id)
@@ -234,7 +253,7 @@ COMMENT ON COLUMN flow_his_task.node_name IS '开始节点名称';
 COMMENT ON COLUMN flow_his_task.node_type IS '开始节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)';
 COMMENT ON COLUMN flow_his_task.target_node_code IS '目标节点编码';
 COMMENT ON COLUMN flow_his_task.target_node_name IS '结束节点名称';
-COMMENT ON COLUMN flow_his_task.approver IS '审批';
+COMMENT ON COLUMN flow_his_task.approver IS '审批';
 COMMENT ON COLUMN flow_his_task.cooperate_type IS '协作方式(1审批 2转办 3委派 4会签 5票签 6加签 7减签)';
 COMMENT ON COLUMN flow_his_task.collaborator IS '协作人';
 COMMENT ON COLUMN flow_his_task.skip_type IS '流转类型(PASS通过 REJECT退回 NONE无动作)';
@@ -246,6 +265,7 @@ COMMENT ON COLUMN flow_his_task.variable IS '任务变量';
 COMMENT ON COLUMN flow_his_task.ext IS '扩展字段,预留给业务系统使用';
 COMMENT ON COLUMN flow_his_task.create_time IS '任务开始时间';
 COMMENT ON COLUMN flow_his_task.update_time IS '审批完成时间';
+COMMENT ON COLUMN flow_his_task.update_by IS '更新人';
 COMMENT ON COLUMN flow_his_task.del_flag IS '删除标志';
 COMMENT ON COLUMN flow_his_task.tenant_id IS '租户id';
 
@@ -258,6 +278,7 @@ CREATE TABLE flow_user
     create_time  timestamp   NULL,
     create_by    varchar(80) NULL,
     update_time  timestamp   NULL,
+    update_by    varchar(64)  NULL DEFAULT '':: character varying,
     del_flag     bpchar(1)   NULL DEFAULT '0':: character varying,
     tenant_id    varchar(40) NULL,
     CONSTRAINT flow_user_pk PRIMARY KEY (id)
@@ -273,6 +294,7 @@ COMMENT ON COLUMN flow_user.associated IS '任务表id';
 COMMENT ON COLUMN flow_user.create_time IS '创建时间';
 COMMENT ON COLUMN flow_user.create_by IS '创建人';
 COMMENT ON COLUMN flow_user.update_time IS '更新时间';
+COMMENT ON COLUMN flow_user.update_by IS '更新人';
 COMMENT ON COLUMN flow_user.del_flag IS '删除标志';
 COMMENT ON COLUMN flow_user.tenant_id IS '租户id';
 

+ 13 - 2
script/sql/ry_workflow.sql

@@ -17,7 +17,9 @@ CREATE TABLE `flow_definition`
     `listener_path`   varchar(400)             DEFAULT NULL COMMENT '监听器路径',
     `ext`             varchar(500)             DEFAULT NULL COMMENT '业务详情 存业务表对象json字符串',
     `create_time`     datetime                 DEFAULT NULL COMMENT '创建时间',
+    `create_by`       varchar(64)          DEFAULT '' COMMENT '创建人',
     `update_time`     datetime                 DEFAULT NULL COMMENT '更新时间',
+    `update_by`       varchar(64)          DEFAULT '' COMMENT '更新人',
     `del_flag`        char(1)                  DEFAULT '0' COMMENT '删除标志',
     `tenant_id`       varchar(40)              DEFAULT NULL COMMENT '租户id',
     PRIMARY KEY (`id`) USING BTREE
@@ -42,7 +44,9 @@ CREATE TABLE `flow_node`
     `form_path`       varchar(100)  DEFAULT NULL COMMENT '审批表单路径',
     `version`         varchar(20)     NOT NULL COMMENT '版本',
     `create_time`     datetime      DEFAULT NULL COMMENT '创建时间',
+    `create_by`       varchar(64)          DEFAULT '' COMMENT '创建人',
     `update_time`     datetime      DEFAULT NULL COMMENT '更新时间',
+    `update_by`       varchar(64)          DEFAULT '' COMMENT '更新人',
     `ext`             text          COMMENT '节点扩展属性',
     `del_flag`        char(1)       DEFAULT '0' COMMENT '删除标志',
     `tenant_id`       varchar(40)   DEFAULT NULL COMMENT '租户id',
@@ -62,7 +66,9 @@ CREATE TABLE `flow_skip`
     `skip_condition` varchar(200) DEFAULT NULL COMMENT '跳转条件',
     `coordinate`     varchar(100) DEFAULT NULL COMMENT '坐标',
     `create_time`    datetime     DEFAULT NULL COMMENT '创建时间',
+    `create_by`       varchar(64)          DEFAULT '' COMMENT '创建人',
     `update_time`    datetime     DEFAULT NULL COMMENT '更新时间',
+    `update_by`       varchar(64)          DEFAULT '' COMMENT '更新人',
     `del_flag`       char(1)      DEFAULT '0' COMMENT '删除标志',
     `tenant_id`      varchar(40)  DEFAULT NULL COMMENT '租户id',
     PRIMARY KEY (`id`) USING BTREE
@@ -80,9 +86,10 @@ CREATE TABLE `flow_instance`
     `flow_status`     varchar(20) NOT NULL COMMENT '流程状态(0待提交 1审批中 2审批通过 4终止 5作废 6撤销 8已完成 9已退回 10失效 11拿回)',
     `activity_status` tinyint(1)  NOT NULL DEFAULT '1' COMMENT '流程激活状态(0挂起 1激活)',
     `def_json`        text COMMENT '流程定义json',
-    `create_by`       varchar(64)          DEFAULT '' COMMENT '创建者',
     `create_time`     datetime             DEFAULT NULL COMMENT '创建时间',
+    `create_by`       varchar(64)          DEFAULT '' COMMENT '创建人',
     `update_time`     datetime             DEFAULT NULL COMMENT '更新时间',
+    `update_by`       varchar(64)          DEFAULT '' COMMENT '更新人',
     `ext`             varchar(500)         DEFAULT NULL COMMENT '扩展字段,预留给业务系统使用',
     `del_flag`        char(1)              DEFAULT '0' COMMENT '删除标志',
     `tenant_id`       varchar(40)          DEFAULT NULL COMMENT '租户id',
@@ -101,7 +108,9 @@ CREATE TABLE `flow_task`
     `form_custom`   char(1)      DEFAULT 'N' COMMENT '审批表单是否自定义(Y是 N否)',
     `form_path`     varchar(100) DEFAULT NULL COMMENT '审批表单路径',
     `create_time`   datetime     DEFAULT NULL COMMENT '创建时间',
+    `create_by`       varchar(64)          DEFAULT '' COMMENT '创建人',
     `update_time`   datetime     DEFAULT NULL COMMENT '更新时间',
+    `update_by`       varchar(64)          DEFAULT '' COMMENT '更新人',
     `del_flag`      char(1)      DEFAULT '0' COMMENT '删除标志',
     `tenant_id`     varchar(40)  DEFAULT NULL COMMENT '租户id',
     PRIMARY KEY (`id`) USING BTREE
@@ -118,7 +127,7 @@ CREATE TABLE `flow_his_task`
     `node_type`        tinyint(1)                   DEFAULT NULL COMMENT '开始节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)',
     `target_node_code` varchar(200)                 DEFAULT NULL COMMENT '目标节点编码',
     `target_node_name` varchar(200)                 DEFAULT NULL COMMENT '结束节点名称',
-    `approver`         varchar(40)                  DEFAULT NULL COMMENT '审批',
+    `approver`         varchar(40)                  DEFAULT NULL COMMENT '审批',
     `cooperate_type`   tinyint(1)                   NOT NULL DEFAULT '0' COMMENT '协作方式(1审批 2转办 3委派 4会签 5票签 6加签 7减签)',
     `collaborator`     varchar(500)                 DEFAULT NULL COMMENT '协作人',
     `skip_type`        varchar(10)                  NOT NULL COMMENT '流转类型(PASS通过 REJECT退回 NONE无动作)',
@@ -130,6 +139,7 @@ CREATE TABLE `flow_his_task`
     `ext`              TEXT                         DEFAULT NULL COMMENT '业务详情 存业务表对象json字符串',
     `create_time`      datetime                     DEFAULT NULL COMMENT '任务开始时间',
     `update_time`      datetime                     DEFAULT NULL COMMENT '审批完成时间',
+    `update_by`       varchar(64)          DEFAULT '' COMMENT '更新人',
     `del_flag`         char(1)                      DEFAULT '0' COMMENT '删除标志',
     `tenant_id`        varchar(40)                  DEFAULT NULL COMMENT '租户id',
     PRIMARY KEY (`id`) USING BTREE
@@ -145,6 +155,7 @@ CREATE TABLE `flow_user`
     `create_time`  datetime    DEFAULT NULL COMMENT '创建时间',
     `create_by`    varchar(80) DEFAULT NULL COMMENT '创建人',
     `update_time`  datetime    DEFAULT NULL COMMENT '更新时间',
+    `update_by`       varchar(64)          DEFAULT '' COMMENT '创建人',
     `del_flag`     char(1)     DEFAULT '0' COMMENT '删除标志',
     `tenant_id`    varchar(40) DEFAULT NULL COMMENT '租户id',
     PRIMARY KEY (`id`) USING BTREE,

+ 96 - 1
script/sql/sqlserver/sqlserver_ry_workflow.sql

@@ -16,7 +16,9 @@ CREATE TABLE flow_definition (
     listener_path nvarchar(400) NULL,
     ext nvarchar(500) NULL,
     create_time datetime2(7)  NULL,
+    create_by nvarchar(64) DEFAULT('') NULL,
     update_time datetime2(7)  NULL,
+    update_by nvarchar(64) DEFAULT('') NULL,
     del_flag nchar(1) DEFAULT('0') NULL,
     tenant_id nvarchar(40) NULL,
     CONSTRAINT PK__flow_def__3213E83FEE39AE33 PRIMARY KEY CLUSTERED (id)
@@ -131,6 +133,20 @@ EXEC sp_addextendedproperty
 'COLUMN', N'update_time'
 GO
 
+EXEC sp_addextendedproperty
+'MS_Description', N'创建人',
+'SCHEMA', N'dbo',
+'TABLE', N'flow_definition',
+'COLUMN', N'create_by'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'更新人',
+'SCHEMA', N'dbo',
+'TABLE', N'flow_definition',
+'COLUMN', N'update_by'
+GO
+
 EXEC sp_addextendedproperty
 'MS_Description', N'删除标志',
 'SCHEMA', N'dbo',
@@ -169,7 +185,9 @@ CREATE TABLE flow_node (
     form_path nvarchar(100) NULL,
     version nvarchar(20) NOT NULL,
     create_time datetime2(7)  NULL,
+    create_by nvarchar(64) DEFAULT('') NULL,
     update_time datetime2(7)  NULL,
+    update_by nvarchar(64) DEFAULT('') NULL,
     ext nvarchar(max) NULL,
     del_flag nchar(1) DEFAULT('0') NULL,
     tenant_id nvarchar(40) NULL,
@@ -306,6 +324,20 @@ EXEC sp_addextendedproperty
 'COLUMN', N'update_time'
 GO
 
+EXEC sp_addextendedproperty
+'MS_Description', N'创建人',
+'SCHEMA', N'dbo',
+'TABLE', N'flow_node',
+'COLUMN', N'create_by'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'更新人',
+'SCHEMA', N'dbo',
+'TABLE', N'flow_node',
+'COLUMN', N'update_by'
+GO
+
 EXEC sp_addextendedproperty
 'MS_Description', N'节点扩展属性',
 'SCHEMA', N'dbo',
@@ -346,7 +378,9 @@ CREATE TABLE flow_skip (
     skip_condition nvarchar(200) NULL,
     coordinate nvarchar(100) NULL,
     create_time datetime2(7)  NULL,
+    create_by nvarchar(64) DEFAULT('') NULL,
     update_time datetime2(7)  NULL,
+    update_by nvarchar(64) DEFAULT('') NULL,
     del_flag nchar(1) DEFAULT('0') NULL,
     tenant_id nvarchar(40) NULL,
     CONSTRAINT PK__flow_ski__3213E83F073FEE6E PRIMARY KEY CLUSTERED (id)
@@ -440,6 +474,20 @@ EXEC sp_addextendedproperty
 'COLUMN', N'update_time'
 GO
 
+EXEC sp_addextendedproperty
+'MS_Description', N'创建人',
+'SCHEMA', N'dbo',
+'TABLE', N'flow_skip',
+'COLUMN', N'create_by'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'更新人',
+'SCHEMA', N'dbo',
+'TABLE', N'flow_skip',
+'COLUMN', N'update_by'
+GO
+
 EXEC sp_addextendedproperty
 'MS_Description', N'删除标志',
 'SCHEMA', N'dbo',
@@ -471,9 +519,10 @@ CREATE TABLE flow_instance (
     flow_status nvarchar(20) NOT NULL,
     activity_status tinyint DEFAULT('1') NULL,
     def_json nvarchar(max) NULL,
-    create_by nvarchar(64) NULL,
     create_time datetime2(7)  NULL,
+    create_by nvarchar(64) DEFAULT('') NULL,
     update_time datetime2(7)  NULL,
+    update_by nvarchar(64) DEFAULT('') NULL,
     ext nvarchar(500) NULL,
     del_flag nchar(1) DEFAULT('0') NULL,
     tenant_id nvarchar(40) NULL,
@@ -576,6 +625,20 @@ EXEC sp_addextendedproperty
 'COLUMN', N'update_time'
 GO
 
+EXEC sp_addextendedproperty
+'MS_Description', N'创建人',
+'SCHEMA', N'dbo',
+'TABLE', N'flow_instance',
+'COLUMN', N'create_by'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'更新人',
+'SCHEMA', N'dbo',
+'TABLE', N'flow_instance',
+'COLUMN', N'update_by'
+GO
+
 EXEC sp_addextendedproperty
 'MS_Description', N'扩展字段,预留给业务系统使用',
 'SCHEMA', N'dbo',
@@ -614,7 +677,9 @@ CREATE TABLE flow_task (
     form_custom nchar(1) DEFAULT('N') NULL,
     form_path nvarchar(100) NULL,
     create_time datetime2(7)  NULL,
+    create_by nvarchar(64) DEFAULT('') NULL,
     update_time datetime2(7)  NULL,
+    update_by nvarchar(64) DEFAULT('') NULL,
     del_flag nchar(1) DEFAULT('0') NULL,
     tenant_id nvarchar(40) NULL,
     CONSTRAINT PK__flow_tas__3213E83F5AE1F1BA PRIMARY KEY CLUSTERED (id)
@@ -701,6 +766,20 @@ EXEC sp_addextendedproperty
 'COLUMN', N'update_time'
 GO
 
+EXEC sp_addextendedproperty
+'MS_Description', N'创建人',
+'SCHEMA', N'dbo',
+'TABLE', N'flow_task',
+'COLUMN', N'create_by'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'更新人',
+'SCHEMA', N'dbo',
+'TABLE', N'flow_task',
+'COLUMN', N'update_by'
+GO
+
 EXEC sp_addextendedproperty
 'MS_Description', N'删除标志',
 'SCHEMA', N'dbo',
@@ -743,6 +822,7 @@ CREATE TABLE flow_his_task (
     ext nvarchar(max) NULL,
     create_time datetime2(7)  NULL,
     update_time datetime2(7)  NULL,
+    update_by nvarchar(64) DEFAULT('') NULL,
     del_flag nchar(1) DEFAULT('0') NULL,
     tenant_id nvarchar(40) NULL,
     CONSTRAINT PK__flow_his__3213E83F67951564 PRIMARY KEY CLUSTERED (id)
@@ -899,6 +979,13 @@ EXEC sp_addextendedproperty
 'COLUMN', N'update_time'
 GO
 
+EXEC sp_addextendedproperty
+'MS_Description', N'更新人',
+'SCHEMA', N'dbo',
+'TABLE', N'flow_his_task',
+'COLUMN', N'update_by'
+GO
+
 EXEC sp_addextendedproperty
 'MS_Description', N'删除标志',
 'SCHEMA', N'dbo',
@@ -927,6 +1014,7 @@ CREATE TABLE flow_user (
     create_time datetime2(7)  NULL,
     create_by nvarchar(80) NULL,
     update_time datetime2(7)  NULL,
+    update_by nvarchar(64) DEFAULT('') NULL,
     del_flag nchar(1) DEFAULT('0') NULL,
     tenant_id nvarchar(40) NULL,
     CONSTRAINT PK__flow_use__3213E83FFA38CA8B PRIMARY KEY CLUSTERED (id)
@@ -990,6 +1078,13 @@ EXEC sp_addextendedproperty
 'COLUMN', N'update_time'
 GO
 
+EXEC sp_addextendedproperty
+'MS_Description', N'更新人',
+'SCHEMA', N'dbo',
+'TABLE', N'flow_user',
+'COLUMN', N'update_by'
+GO
+
 EXEC sp_addextendedproperty
 'MS_Description', N'删除标志',
 'SCHEMA', N'dbo',

+ 28 - 0
script/sql/update/oracle/update_5.5.0-5.5.1.sql

@@ -0,0 +1,28 @@
+ALTER TABLE flow_definition ADD create_by VARCHAR2(64) DEFAULT '' NOT NULL;
+ALTER TABLE flow_definition ADD update_by VARCHAR2(64) DEFAULT '' NOT NULL;
+COMMENT ON COLUMN flow_definition.create_by IS '创建人';
+COMMENT ON COLUMN flow_definition.update_by IS '更新人';
+
+ALTER TABLE flow_node ADD create_by VARCHAR2(64) DEFAULT '' NOT NULL;
+ALTER TABLE flow_node ADD update_by VARCHAR2(64) DEFAULT '' NOT NULL;
+COMMENT ON COLUMN flow_node.create_by IS '创建人';
+COMMENT ON COLUMN flow_node.update_by IS '更新人';
+
+ALTER TABLE flow_skip ADD create_by VARCHAR2(64) DEFAULT '' NOT NULL;
+ALTER TABLE flow_skip ADD update_by VARCHAR2(64) DEFAULT '' NOT NULL;
+COMMENT ON COLUMN flow_skip.create_by IS '创建人';
+COMMENT ON COLUMN flow_skip.update_by IS '更新人';
+
+ALTER TABLE flow_instance ADD update_by VARCHAR2(64) DEFAULT '' NOT NULL;
+COMMENT ON COLUMN flow_instance.update_by IS '更新人';
+
+ALTER TABLE flow_task ADD create_by VARCHAR2(64) DEFAULT '' NOT NULL;
+ALTER TABLE flow_task ADD update_by VARCHAR2(64) DEFAULT '' NOT NULL;
+COMMENT ON COLUMN flow_task.create_by IS '创建人';
+COMMENT ON COLUMN flow_task.update_by IS '更新人';
+
+ALTER TABLE flow_his_task ADD update_by VARCHAR2(64) DEFAULT '' NOT NULL;
+COMMENT ON COLUMN flow_his_task.update_by IS '更新人';
+
+ALTER TABLE flow_user ADD update_by VARCHAR2(64) DEFAULT '' NOT NULL;
+COMMENT ON COLUMN flow_user.update_by IS '更新人';

+ 28 - 0
script/sql/update/postgres/update_5.5.0-5.5.1.sql

@@ -0,0 +1,28 @@
+ALTER TABLE flow_definition ADD create_by VARCHAR2(64) DEFAULT '' NOT NULL;
+ALTER TABLE flow_definition ADD update_by VARCHAR2(64) DEFAULT '' NOT NULL;
+COMMENT ON COLUMN flow_definition.create_by IS '创建人';
+COMMENT ON COLUMN flow_definition.update_by IS '更新人';
+
+ALTER TABLE flow_node ADD create_by VARCHAR2(64) DEFAULT '' NOT NULL;
+ALTER TABLE flow_node ADD update_by VARCHAR2(64) DEFAULT '' NOT NULL;
+COMMENT ON COLUMN flow_node.create_by IS '创建人';
+COMMENT ON COLUMN flow_node.update_by IS '更新人';
+
+ALTER TABLE flow_skip ADD create_by VARCHAR2(64) DEFAULT '' NOT NULL;
+ALTER TABLE flow_skip ADD update_by VARCHAR2(64) DEFAULT '' NOT NULL;
+COMMENT ON COLUMN flow_skip.create_by IS '创建人';
+COMMENT ON COLUMN flow_skip.update_by IS '更新人';
+
+ALTER TABLE flow_instance ADD update_by VARCHAR2(64) DEFAULT '' NOT NULL;
+COMMENT ON COLUMN flow_instance.update_by IS '更新人';
+
+ALTER TABLE flow_task ADD create_by VARCHAR2(64) DEFAULT '' NOT NULL;
+ALTER TABLE flow_task ADD update_by VARCHAR2(64) DEFAULT '' NOT NULL;
+COMMENT ON COLUMN flow_task.create_by IS '创建人';
+COMMENT ON COLUMN flow_task.update_by IS '更新人';
+
+ALTER TABLE flow_his_task ADD update_by VARCHAR2(64) DEFAULT '' NOT NULL;
+COMMENT ON COLUMN flow_his_task.update_by IS '更新人';
+
+ALTER TABLE flow_user ADD update_by VARCHAR2(64) DEFAULT '' NOT NULL;
+COMMENT ON COLUMN flow_user.update_by IS '更新人';

+ 109 - 0
script/sql/update/sqlserver/update_5.5.0-5.5.1.sql

@@ -0,0 +1,109 @@
+ALTER TABLE flow_definition ADD create_by nvarchar(64) NOT NULL CONSTRAINT DF_flow_definition_create_by DEFAULT '';
+GO
+
+ALTER TABLE flow_definition ADD update_by nvarchar(64) NOT NULL CONSTRAINT DF_flow_definition_update_by DEFAULT '';
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'创建人',
+'SCHEMA', N'dbo',
+'TABLE', N'flow_definition',
+'COLUMN', N'create_by'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'更新人',
+'SCHEMA', N'dbo',
+'TABLE', N'flow_definition',
+'COLUMN', N'update_by'
+GO
+
+ALTER TABLE flow_node ADD create_by nvarchar(64) NOT NULL CONSTRAINT DF_flow_node_create_by DEFAULT '';
+GO
+
+ALTER TABLE flow_node ADD update_by nvarchar(64) NOT NULL CONSTRAINT DF_flow_node_update_by DEFAULT '';
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'创建人',
+'SCHEMA', N'dbo',
+'TABLE', N'flow_node',
+'COLUMN', N'create_by'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'更新人',
+'SCHEMA', N'dbo',
+'TABLE', N'flow_node',
+'COLUMN', N'update_by'
+GO
+
+ALTER TABLE flow_skip ADD create_by nvarchar(64) NOT NULL CONSTRAINT DF_flow_skip_create_by DEFAULT '';
+GO
+
+ALTER TABLE flow_skip ADD update_by nvarchar(64) NOT NULL CONSTRAINT DF_flow_skip_update_by DEFAULT '';
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'创建人',
+'SCHEMA', N'dbo',
+'TABLE', N'flow_skip',
+'COLUMN', N'create_by'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'更新人',
+'SCHEMA', N'dbo',
+'TABLE', N'flow_skip',
+'COLUMN', N'update_by'
+GO
+
+ALTER TABLE flow_instance ADD update_by nvarchar(64) NOT NULL CONSTRAINT DF_flow_instance_update_by DEFAULT '';
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'更新人',
+'SCHEMA', N'dbo',
+'TABLE', N'flow_instance',
+'COLUMN', N'update_by'
+GO
+
+ALTER TABLE flow_task ADD create_by nvarchar(64) NOT NULL CONSTRAINT DF_flow_task_create_by DEFAULT '';
+GO
+
+ALTER TABLE flow_task ADD update_by nvarchar(64) NOT NULL CONSTRAINT DF_flow_task_update_by DEFAULT '';
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'创建人',
+'SCHEMA', N'dbo',
+'TABLE', N'flow_task',
+'COLUMN', N'create_by'
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'更新人',
+'SCHEMA', N'dbo',
+'TABLE', N'flow_task',
+'COLUMN', N'update_by'
+GO
+
+ALTER TABLE flow_his_task ADD update_by nvarchar(64) NOT NULL CONSTRAINT DF_flow_his_task_update_by DEFAULT '';
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'更新人',
+'SCHEMA', N'dbo',
+'TABLE', N'flow_his_task',
+'COLUMN', N'update_by'
+GO
+
+ALTER TABLE flow_user ADD update_by nvarchar(64) NOT NULL CONSTRAINT DF_flow_user_update_by DEFAULT '';
+GO
+
+EXEC sp_addextendedproperty
+'MS_Description', N'更新人',
+'SCHEMA', N'dbo',
+'TABLE', N'flow_user',
+'COLUMN', N'update_by'
+GO

+ 24 - 0
script/sql/update/update_5.5.0-5.5.1.sql

@@ -0,0 +1,24 @@
+ALTER TABLE `flow_definition`
+    ADD COLUMN `create_by` varchar(64) NULL DEFAULT NULL COMMENT '创建人' AFTER `create_time`,
+    ADD COLUMN `update_by` varchar(64) NULL DEFAULT NULL COMMENT '更新人' AFTER `update_time`;
+
+ALTER TABLE `flow_node`
+    ADD COLUMN `create_by` varchar(64) NULL DEFAULT NULL COMMENT '创建人' AFTER `create_time`,
+    ADD COLUMN `update_by` varchar(64) NULL DEFAULT NULL COMMENT '更新人' AFTER `update_time`;
+
+ALTER TABLE `flow_skip`
+    ADD COLUMN `create_by` varchar(64) NULL DEFAULT NULL COMMENT '创建人' AFTER `create_time`,
+    ADD COLUMN `update_by` varchar(64) NULL DEFAULT NULL COMMENT '更新人' AFTER `update_time`;
+
+ALTER TABLE `flow_instance`
+    ADD COLUMN `update_by` varchar(64) NULL DEFAULT NULL COMMENT '更新人' AFTER `update_time`;
+
+ALTER TABLE `flow_task`
+    ADD COLUMN `create_by` varchar(64) NULL DEFAULT NULL COMMENT '创建人' AFTER `create_time`,
+    ADD COLUMN `update_by` varchar(64) NULL DEFAULT NULL COMMENT '更新人' AFTER `update_time`;
+
+ALTER TABLE `flow_his_task`
+    ADD COLUMN `update_by` varchar(64) NULL DEFAULT NULL COMMENT '更新人' AFTER `update_time`;
+
+ALTER TABLE `flow_user`
+    ADD COLUMN `update_by` varchar(64) NULL DEFAULT NULL COMMENT '更新人' AFTER `update_time`;