update warm-flow 升级 1.8.2

This commit is contained in:
AprilWind 2025-10-20 16:13:50 +08:00
parent b4e645ef66
commit 15d938448b
11 changed files with 241 additions and 22 deletions

View File

@ -53,7 +53,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>
<!-- mq配置 -->
<rocketmq.version>2.3.4</rocketmq.version>

View File

@ -75,8 +75,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 -> {

View File

@ -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);
}

View File

@ -6,10 +6,14 @@ import cn.hutool.core.util.ObjectUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboReference;
import org.dromara.common.core.service.DictService;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.json.utils.JsonUtils;
import org.dromara.system.api.RemoteDictService;
import org.dromara.system.api.domain.vo.RemoteDictTypeVo;
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;
@ -46,7 +50,7 @@ public class FlwNodeExtServiceImpl implements NodeExtService, IFlwNodeExtService
CopySettingEnum.class.getSimpleName(),
Map.of(
"label", "抄送对象",
"type", 2,
"type", 5,
"must", false,
"multiple", false,
"desc", "设置该节点的抄送办理人"
@ -57,7 +61,7 @@ public class FlwNodeExtServiceImpl implements NodeExtService, IFlwNodeExtService
"type", 2,
"must", false,
"multiple", false,
"desc", "节点执行时可以使用的自定义参数"
"desc", "节点执行时可设置自定义参数多个参数以逗号分隔key1=value1,key2=value2"
),
ButtonPermissionEnum.class.getSimpleName(),
Map.of(
@ -139,7 +143,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));
@ -172,7 +176,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);
@ -199,15 +203,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 列表
@ -236,8 +241,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)) {
// 解析自定义参数
@ -256,4 +273,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;
}
}

View File

@ -600,7 +600,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())) {

View File

@ -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)
@ -166,9 +179,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';
@ -185,7 +199,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 +220,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';
@ -271,8 +289,9 @@ create table FLOW_USER
PROCESSED_BY VARCHAR2(80),
ASSOCIATED NUMBER(20) not null,
CREATE_TIME DATE,
CREATE_BY VARCHAR2(80),
CREATE_BY VARCHAR2(64) default '',
UPDATE_TIME DATE,
UPDATE_BY VARCHAR2(64) default '',
DEL_FLAG VARCHAR2(1) default '0',
TENANT_ID VARCHAR2(40)
);
@ -286,8 +305,9 @@ comment on column FLOW_USER.TYPE is '人员类型1待办任务的审批人权
comment on column FLOW_USER.PROCESSED_BY is '权限人)';
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.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';

View File

@ -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';
@ -58,7 +62,9 @@ CREATE TABLE flow_node
form_path varchar(100) NULL,
"version" varchar(20) NOT 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';
@ -175,7 +189,9 @@ CREATE TABLE flow_task
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';
@ -256,8 +274,9 @@ CREATE TABLE flow_user
processed_by varchar(80) NULL,
associated int8 NOT NULL,
create_time timestamp NULL,
create_by varchar(80) 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_user_pk PRIMARY KEY (id)
@ -273,6 +292,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';

View File

@ -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无动作',
@ -145,6 +154,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,

View File

@ -0,0 +1,25 @@
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_user ADD update_by VARCHAR2(64) DEFAULT '' NOT NULL;
COMMENT ON COLUMN flow_user.update_by IS '更新人';

View File

@ -0,0 +1,25 @@
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_user ADD update_by VARCHAR2(64) DEFAULT '' NOT NULL;
COMMENT ON COLUMN flow_user.update_by IS '更新人';

View File

@ -0,0 +1,21 @@
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_user`
ADD COLUMN `update_by` varchar(64) NULL DEFAULT NULL COMMENT '更新人' AFTER `update_time`;