diff --git a/pom.xml b/pom.xml index 5fd2a8059..d0d62b7c1 100644 --- a/pom.xml +++ b/pom.xml @@ -48,7 +48,7 @@ 8.7.2-20250603 - 1.8.1 + 1.8.2 3.4.2 diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/listener/WorkflowGlobalListener.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/listener/WorkflowGlobalListener.java index 2390bb251..d158e2623 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/listener/WorkflowGlobalListener.java +++ b/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 variable = listenerVariable.getVariable(); + NodeExtVo nodeExt = nodeExtService.parseNodeExt(ext, variable); Set copyList = nodeExt.getCopySettings(); if (CollUtil.isNotEmpty(copyList)) { List list = StreamUtils.toList(copyList, x -> { @@ -180,12 +180,14 @@ public class WorkflowGlobalListener implements GlobalListener { } if (variable.containsKey(FlowConstant.FLOW_COPY_LIST)) { - List flowCopyList = MapUtil.get(variable, FlowConstant.FLOW_COPY_LIST, new TypeReference<>() {}); + List flowCopyList = MapUtil.get(variable, FlowConstant.FLOW_COPY_LIST, new TypeReference<>() { + }); // 添加抄送人 flwTaskService.setCopy(task, flowCopyList); } if (variable.containsKey(FlowConstant.MESSAGE_TYPE)) { - List messageType = MapUtil.get(variable, FlowConstant.MESSAGE_TYPE, new TypeReference<>() {}); + List 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); } diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IFlwNodeExtService.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IFlwNodeExtService.java index 2ccc6a73e..a94a225ac 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IFlwNodeExtService.java +++ b/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 variable); } diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwNodeExtServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwNodeExtServiceImpl.java index b5f4c6deb..3946af164 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwNodeExtServiceImpl.java +++ b/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 *

示例 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 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 permissions = spelSmartSplit(value).stream() + .map(s -> { + List 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 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 spelSmartSplit(String str) { + List 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; + } + } diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java index cf0671899..fe73642d1 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java +++ b/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())) { diff --git a/script/sql/oracle/oracle_ry_workflow.sql b/script/sql/oracle/oracle_ry_workflow.sql index d8768796c..571574739 100644 --- a/script/sql/oracle/oracle_ry_workflow.sql +++ b/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 ); diff --git a/script/sql/postgres/postgres_ry_workflow.sql b/script/sql/postgres/postgres_ry_workflow.sql index 7df5ab0e1..15060d03d 100644 --- a/script/sql/postgres/postgres_ry_workflow.sql +++ b/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'; diff --git a/script/sql/ry_workflow.sql b/script/sql/ry_workflow.sql index 7419d6fb7..ea8f30aa4 100644 --- a/script/sql/ry_workflow.sql +++ b/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, diff --git a/script/sql/sqlserver/sqlserver_ry_workflow.sql b/script/sql/sqlserver/sqlserver_ry_workflow.sql index f668c56ad..4340021b8 100644 --- a/script/sql/sqlserver/sqlserver_ry_workflow.sql +++ b/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', diff --git a/script/sql/update/oracle/update_5.5.0-5.5.1.sql b/script/sql/update/oracle/update_5.5.0-5.5.1.sql new file mode 100644 index 000000000..54c733766 --- /dev/null +++ b/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 '更新人'; diff --git a/script/sql/update/postgres/update_5.5.0-5.5.1.sql b/script/sql/update/postgres/update_5.5.0-5.5.1.sql new file mode 100644 index 000000000..54c733766 --- /dev/null +++ b/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 '更新人'; diff --git a/script/sql/update/sqlserver/update_5.5.0-5.5.1.sql b/script/sql/update/sqlserver/update_5.5.0-5.5.1.sql new file mode 100644 index 000000000..167185611 --- /dev/null +++ b/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 diff --git a/script/sql/update/update_5.5.0-5.5.1.sql b/script/sql/update/update_5.5.0-5.5.1.sql new file mode 100644 index 000000000..61da278f9 --- /dev/null +++ b/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`;