增加form表单
This commit is contained in:
parent
42a8609b8c
commit
84bdf69a9f
@ -1,15 +1,12 @@
|
|||||||
package com.qqchen.deploy.backend.workflow.dto;
|
package com.qqchen.deploy.backend.workflow.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.JsonNode;
|
|
||||||
import com.qqchen.deploy.backend.framework.dto.BaseDTO;
|
import com.qqchen.deploy.backend.framework.dto.BaseDTO;
|
||||||
|
import com.qqchen.deploy.backend.workflow.dto.FormDefinitionDTO;
|
||||||
import com.qqchen.deploy.backend.workflow.dto.definition.workflow.WorkflowDefinitionGraph;
|
import com.qqchen.deploy.backend.workflow.dto.definition.workflow.WorkflowDefinitionGraph;
|
||||||
import com.qqchen.deploy.backend.workflow.enums.WorkflowDefinitionStatusEnums;
|
import com.qqchen.deploy.backend.workflow.enums.WorkflowDefinitionStatusEnums;
|
||||||
import com.qqchen.deploy.backend.workflow.enums.WorkflowTriggerTypeEnum;
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 工作流定义DTO
|
* 工作流定义DTO
|
||||||
*
|
*
|
||||||
@ -41,9 +38,14 @@ public class WorkflowDefinitionDTO extends BaseDTO {
|
|||||||
private WorkflowCategoryDTO category;
|
private WorkflowCategoryDTO category;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 触发类型列表
|
* 启动表单ID
|
||||||
*/
|
*/
|
||||||
private List<WorkflowTriggerTypeEnum> triggers;
|
private Long formDefinitionId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 启动表单信息(用于展示)
|
||||||
|
*/
|
||||||
|
private FormDefinitionDTO formDefinition;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 流程版本
|
* 流程版本
|
||||||
|
|||||||
@ -1,15 +1,11 @@
|
|||||||
package com.qqchen.deploy.backend.workflow.entity;
|
package com.qqchen.deploy.backend.workflow.entity;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.JsonNode;
|
|
||||||
import com.qqchen.deploy.backend.framework.annotation.LogicDelete;
|
import com.qqchen.deploy.backend.framework.annotation.LogicDelete;
|
||||||
import com.qqchen.deploy.backend.workflow.dto.definition.workflow.WorkflowDefinitionGraph;
|
import com.qqchen.deploy.backend.workflow.dto.definition.workflow.WorkflowDefinitionGraph;
|
||||||
import com.qqchen.deploy.backend.workflow.enums.WorkflowDefinitionStatusEnums;
|
import com.qqchen.deploy.backend.workflow.enums.WorkflowDefinitionStatusEnums;
|
||||||
import com.qqchen.deploy.backend.workflow.enums.WorkflowTriggerTypeEnum;
|
|
||||||
import com.qqchen.deploy.backend.workflow.entity.converter.WorkflowGraphType;
|
import com.qqchen.deploy.backend.workflow.entity.converter.WorkflowGraphType;
|
||||||
import com.qqchen.deploy.backend.framework.domain.Entity;
|
import com.qqchen.deploy.backend.framework.domain.Entity;
|
||||||
import com.vladmihalcea.hibernate.type.json.JsonType;
|
|
||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.Column;
|
||||||
import jakarta.persistence.Convert;
|
|
||||||
import jakarta.persistence.EnumType;
|
import jakarta.persistence.EnumType;
|
||||||
import jakarta.persistence.Enumerated;
|
import jakarta.persistence.Enumerated;
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
@ -17,8 +13,6 @@ import lombok.Data;
|
|||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import org.hibernate.annotations.Type;
|
import org.hibernate.annotations.Type;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 工作流定义实体
|
* 工作流定义实体
|
||||||
*/
|
*/
|
||||||
@ -47,12 +41,13 @@ public class WorkflowDefinition extends Entity<Long> {
|
|||||||
@Column(name = "category_id")
|
@Column(name = "category_id")
|
||||||
private Long categoryId;
|
private Long categoryId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 启动表单ID(外键关联form_definition)
|
||||||
|
*/
|
||||||
|
@Column(name = "form_definition_id")
|
||||||
|
private Long formDefinitionId;
|
||||||
|
|
||||||
@Column(name = "triggers", nullable = false)
|
@Column(name = "process_definition_id")
|
||||||
@Convert(converter = WorkflowTriggerTypeListConverter.class)
|
|
||||||
private List<WorkflowTriggerTypeEnum> triggers;
|
|
||||||
|
|
||||||
@Column(name = "process_definition_id", nullable = false)
|
|
||||||
private String processDefinitionId;
|
private String processDefinitionId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -87,12 +82,4 @@ public class WorkflowDefinition extends Entity<Long> {
|
|||||||
*/
|
*/
|
||||||
@Column(columnDefinition = "TEXT")
|
@Column(columnDefinition = "TEXT")
|
||||||
private String description;
|
private String description;
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 流程标签,用于分组和过滤
|
|
||||||
*/
|
|
||||||
@Type(JsonType.class)
|
|
||||||
@Column(name = "tags", columnDefinition = "json")
|
|
||||||
private JsonNode tags;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -233,9 +233,9 @@ VALUES
|
|||||||
-- 工作流定义测试数据
|
-- 工作流定义测试数据
|
||||||
INSERT INTO workflow_definition (
|
INSERT INTO workflow_definition (
|
||||||
-- 基础信息
|
-- 基础信息
|
||||||
name, `key`, process_definition_id, flow_version, description, category_id, triggers,
|
name, `key`, process_definition_id, flow_version, description, category_id, form_definition_id,
|
||||||
-- 流程配置
|
-- 流程配置
|
||||||
graph, tags,
|
graph,
|
||||||
-- 流程属性
|
-- 流程属性
|
||||||
status,
|
status,
|
||||||
-- 审计字段
|
-- 审计字段
|
||||||
@ -404,7 +404,6 @@ INSERT INTO workflow_definition (
|
|||||||
"properties" : null
|
"properties" : null
|
||||||
} ]
|
} ]
|
||||||
}',
|
}',
|
||||||
'["simple","script","test"]',
|
|
||||||
'DRAFT',
|
'DRAFT',
|
||||||
NOW(), NOW(), NULL, NULL, 0, 0
|
NOW(), NOW(), NULL, NULL, 0, 0
|
||||||
),
|
),
|
||||||
@ -635,7 +634,6 @@ INSERT INTO workflow_definition (
|
|||||||
"properties" : null
|
"properties" : null
|
||||||
} ]
|
} ]
|
||||||
}',
|
}',
|
||||||
'["complex","business","multi-task"]',
|
|
||||||
'DRAFT',
|
'DRAFT',
|
||||||
NOW(), NOW(), NULL, NULL, 0, 0
|
NOW(), NOW(), NULL, NULL, 0, 0
|
||||||
);
|
);
|
||||||
|
|||||||
@ -406,6 +406,78 @@ CREATE TABLE workflow_category
|
|||||||
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci
|
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci
|
||||||
COMMENT = '工作流分类表';
|
COMMENT = '工作流分类表';
|
||||||
|
|
||||||
|
CREATE TABLE form_category
|
||||||
|
(
|
||||||
|
-- 主键
|
||||||
|
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
|
||||||
|
|
||||||
|
-- 基础信息
|
||||||
|
name VARCHAR(100) NOT NULL COMMENT '分类名称',
|
||||||
|
code VARCHAR(50) NOT NULL COMMENT '分类编码(唯一)',
|
||||||
|
description VARCHAR(500) NULL COMMENT '分类描述',
|
||||||
|
icon VARCHAR(50) NULL COMMENT '图标',
|
||||||
|
sort INT NOT NULL DEFAULT 0 COMMENT '排序',
|
||||||
|
|
||||||
|
-- 状态
|
||||||
|
enabled BIT NOT NULL DEFAULT 1 COMMENT '是否启用',
|
||||||
|
|
||||||
|
-- 审计字段
|
||||||
|
create_by VARCHAR(255) NULL COMMENT '创建人',
|
||||||
|
create_time DATETIME(6) NULL COMMENT '创建时间',
|
||||||
|
deleted BIT NOT NULL DEFAULT 0 COMMENT '是否删除',
|
||||||
|
update_by VARCHAR(255) NULL COMMENT '更新人',
|
||||||
|
update_time DATETIME(6) NULL COMMENT '更新时间',
|
||||||
|
version INT NOT NULL DEFAULT 0 COMMENT '乐观锁版本号',
|
||||||
|
|
||||||
|
-- 约束和索引
|
||||||
|
UNIQUE KEY uk_code (code),
|
||||||
|
INDEX idx_enabled (enabled),
|
||||||
|
INDEX idx_deleted (deleted),
|
||||||
|
INDEX idx_sort (sort)
|
||||||
|
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci
|
||||||
|
COMMENT = '表单分类表';
|
||||||
|
|
||||||
|
-- 表单定义表
|
||||||
|
CREATE TABLE form_definition
|
||||||
|
(
|
||||||
|
-- 主键
|
||||||
|
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
|
||||||
|
|
||||||
|
-- 基础信息
|
||||||
|
name VARCHAR(255) NOT NULL COMMENT '表单名称',
|
||||||
|
`key` VARCHAR(255) NOT NULL COMMENT '表单标识(业务唯一)',
|
||||||
|
form_version INT NOT NULL DEFAULT 1 COMMENT '表单版本号',
|
||||||
|
category_id BIGINT NULL COMMENT '表单分类ID(外键关联form_category)',
|
||||||
|
description TEXT NULL COMMENT '表单描述',
|
||||||
|
|
||||||
|
-- 表单配置
|
||||||
|
`schema` JSON NOT NULL COMMENT '表单Schema(前端设计器导出的JSON结构)',
|
||||||
|
tags JSON NULL COMMENT '标签(用于分类和搜索)',
|
||||||
|
|
||||||
|
-- 表单属性
|
||||||
|
status VARCHAR(50) NOT NULL DEFAULT 'DRAFT' COMMENT '状态(DRAFT-草稿、PUBLISHED-已发布、DISABLED-已禁用)',
|
||||||
|
is_template BIT NOT NULL DEFAULT 0 COMMENT '是否为模板',
|
||||||
|
|
||||||
|
-- 审计字段
|
||||||
|
create_by VARCHAR(255) NULL COMMENT '创建人',
|
||||||
|
create_time DATETIME(6) NULL COMMENT '创建时间',
|
||||||
|
deleted BIT NOT NULL DEFAULT 0 COMMENT '是否删除',
|
||||||
|
update_by VARCHAR(255) NULL COMMENT '更新人',
|
||||||
|
update_time DATETIME(6) NULL COMMENT '更新时间',
|
||||||
|
version INT NOT NULL DEFAULT 0 COMMENT '乐观锁版本号',
|
||||||
|
|
||||||
|
-- 约束和索引
|
||||||
|
UNIQUE KEY uk_key_version (`key`, form_version),
|
||||||
|
INDEX idx_category_id (category_id),
|
||||||
|
INDEX idx_status (status),
|
||||||
|
INDEX idx_is_template (is_template),
|
||||||
|
INDEX idx_deleted (deleted),
|
||||||
|
|
||||||
|
-- 外键约束
|
||||||
|
CONSTRAINT fk_form_definition_category FOREIGN KEY (category_id) REFERENCES form_category(id)
|
||||||
|
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci
|
||||||
|
COMMENT = '表单定义表';
|
||||||
|
|
||||||
-- 工作流定义表
|
-- 工作流定义表
|
||||||
CREATE TABLE workflow_definition
|
CREATE TABLE workflow_definition
|
||||||
(
|
(
|
||||||
@ -416,7 +488,7 @@ CREATE TABLE workflow_definition
|
|||||||
name VARCHAR(255) NOT NULL COMMENT '流程名称',
|
name VARCHAR(255) NOT NULL COMMENT '流程名称',
|
||||||
`key` VARCHAR(255) NOT NULL COMMENT '流程标识',
|
`key` VARCHAR(255) NOT NULL COMMENT '流程标识',
|
||||||
category_id BIGINT NULL COMMENT '流程分类ID(外键关联workflow_category)',
|
category_id BIGINT NULL COMMENT '流程分类ID(外键关联workflow_category)',
|
||||||
triggers JSON NULL COMMENT '触发器配置(JSON数组)',
|
form_definition_id BIGINT NULL COMMENT '启动表单ID(外键关联form_definition)',
|
||||||
process_definition_id VARCHAR(100) NULL COMMENT '工作流定义ID',
|
process_definition_id VARCHAR(100) NULL COMMENT '工作流定义ID',
|
||||||
flow_version INT NOT NULL COMMENT '流程版本',
|
flow_version INT NOT NULL COMMENT '流程版本',
|
||||||
description TEXT COMMENT '流程描述',
|
description TEXT COMMENT '流程描述',
|
||||||
@ -424,7 +496,6 @@ CREATE TABLE workflow_definition
|
|||||||
-- 流程配置
|
-- 流程配置
|
||||||
bpmn_xml TEXT COMMENT 'BPMN XML内容',
|
bpmn_xml TEXT COMMENT 'BPMN XML内容',
|
||||||
graph JSON COMMENT '流程图数据,包含节点和连线的位置、样式等信息',
|
graph JSON COMMENT '流程图数据,包含节点和连线的位置、样式等信息',
|
||||||
tags JSON COMMENT '流程标签',
|
|
||||||
|
|
||||||
-- 流程属性
|
-- 流程属性
|
||||||
status VARCHAR(50) NOT NULL COMMENT '流程状态(DRAFT-草稿、PUBLISHED-已发布、DISABLED-已禁用)',
|
status VARCHAR(50) NOT NULL COMMENT '流程状态(DRAFT-草稿、PUBLISHED-已发布、DISABLED-已禁用)',
|
||||||
@ -440,9 +511,11 @@ CREATE TABLE workflow_definition
|
|||||||
-- 约束和索引
|
-- 约束和索引
|
||||||
UNIQUE KEY uk_key_version (`key`, flow_version),
|
UNIQUE KEY uk_key_version (`key`, flow_version),
|
||||||
INDEX idx_category_id (category_id),
|
INDEX idx_category_id (category_id),
|
||||||
|
INDEX idx_form_definition_id (form_definition_id),
|
||||||
INDEX idx_status (status),
|
INDEX idx_status (status),
|
||||||
INDEX idx_deleted (deleted),
|
INDEX idx_deleted (deleted),
|
||||||
CONSTRAINT fk_workflow_definition_category FOREIGN KEY (category_id) REFERENCES workflow_category(id)
|
CONSTRAINT fk_workflow_definition_category FOREIGN KEY (category_id) REFERENCES workflow_category(id),
|
||||||
|
CONSTRAINT fk_workflow_definition_form FOREIGN KEY (form_definition_id) REFERENCES form_definition(id)
|
||||||
) ENGINE = InnoDB
|
) ENGINE = InnoDB
|
||||||
DEFAULT CHARSET = utf8mb4
|
DEFAULT CHARSET = utf8mb4
|
||||||
COLLATE = utf8mb4_unicode_ci COMMENT ='工作流定义表';
|
COLLATE = utf8mb4_unicode_ci COMMENT ='工作流定义表';
|
||||||
@ -728,83 +801,6 @@ CREATE TABLE sys_notification_channel (
|
|||||||
INDEX idx_deleted (deleted)
|
INDEX idx_deleted (deleted)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='通知渠道配置表';
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='通知渠道配置表';
|
||||||
|
|
||||||
-- =====================================================================================================================
|
|
||||||
-- 表单管理相关表
|
|
||||||
-- =====================================================================================================================
|
|
||||||
|
|
||||||
-- 表单分类表
|
|
||||||
CREATE TABLE form_category
|
|
||||||
(
|
|
||||||
-- 主键
|
|
||||||
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
|
|
||||||
|
|
||||||
-- 基础信息
|
|
||||||
name VARCHAR(100) NOT NULL COMMENT '分类名称',
|
|
||||||
code VARCHAR(50) NOT NULL COMMENT '分类编码(唯一)',
|
|
||||||
description VARCHAR(500) NULL COMMENT '分类描述',
|
|
||||||
icon VARCHAR(50) NULL COMMENT '图标',
|
|
||||||
sort INT NOT NULL DEFAULT 0 COMMENT '排序',
|
|
||||||
|
|
||||||
-- 状态
|
|
||||||
enabled BIT NOT NULL DEFAULT 1 COMMENT '是否启用',
|
|
||||||
|
|
||||||
-- 审计字段
|
|
||||||
create_by VARCHAR(255) NULL COMMENT '创建人',
|
|
||||||
create_time DATETIME(6) NULL COMMENT '创建时间',
|
|
||||||
deleted BIT NOT NULL DEFAULT 0 COMMENT '是否删除',
|
|
||||||
update_by VARCHAR(255) NULL COMMENT '更新人',
|
|
||||||
update_time DATETIME(6) NULL COMMENT '更新时间',
|
|
||||||
version INT NOT NULL DEFAULT 0 COMMENT '乐观锁版本号',
|
|
||||||
|
|
||||||
-- 约束和索引
|
|
||||||
UNIQUE KEY uk_code (code),
|
|
||||||
INDEX idx_enabled (enabled),
|
|
||||||
INDEX idx_deleted (deleted),
|
|
||||||
INDEX idx_sort (sort)
|
|
||||||
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci
|
|
||||||
COMMENT = '表单分类表';
|
|
||||||
|
|
||||||
-- 表单定义表
|
|
||||||
CREATE TABLE form_definition
|
|
||||||
(
|
|
||||||
-- 主键
|
|
||||||
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
|
|
||||||
|
|
||||||
-- 基础信息
|
|
||||||
name VARCHAR(255) NOT NULL COMMENT '表单名称',
|
|
||||||
`key` VARCHAR(255) NOT NULL COMMENT '表单标识(业务唯一)',
|
|
||||||
form_version INT NOT NULL DEFAULT 1 COMMENT '表单版本号',
|
|
||||||
category_id BIGINT NULL COMMENT '表单分类ID(外键关联form_category)',
|
|
||||||
description TEXT NULL COMMENT '表单描述',
|
|
||||||
|
|
||||||
-- 表单配置
|
|
||||||
`schema` JSON NOT NULL COMMENT '表单Schema(前端设计器导出的JSON结构)',
|
|
||||||
tags JSON NULL COMMENT '标签(用于分类和搜索)',
|
|
||||||
|
|
||||||
-- 表单属性
|
|
||||||
status VARCHAR(50) NOT NULL DEFAULT 'DRAFT' COMMENT '状态(DRAFT-草稿、PUBLISHED-已发布、DISABLED-已禁用)',
|
|
||||||
is_template BIT NOT NULL DEFAULT 0 COMMENT '是否为模板',
|
|
||||||
|
|
||||||
-- 审计字段
|
|
||||||
create_by VARCHAR(255) NULL COMMENT '创建人',
|
|
||||||
create_time DATETIME(6) NULL COMMENT '创建时间',
|
|
||||||
deleted BIT NOT NULL DEFAULT 0 COMMENT '是否删除',
|
|
||||||
update_by VARCHAR(255) NULL COMMENT '更新人',
|
|
||||||
update_time DATETIME(6) NULL COMMENT '更新时间',
|
|
||||||
version INT NOT NULL DEFAULT 0 COMMENT '乐观锁版本号',
|
|
||||||
|
|
||||||
-- 约束和索引
|
|
||||||
UNIQUE KEY uk_key_version (`key`, form_version),
|
|
||||||
INDEX idx_category_id (category_id),
|
|
||||||
INDEX idx_status (status),
|
|
||||||
INDEX idx_is_template (is_template),
|
|
||||||
INDEX idx_deleted (deleted),
|
|
||||||
|
|
||||||
-- 外键约束
|
|
||||||
CONSTRAINT fk_form_definition_category FOREIGN KEY (category_id) REFERENCES form_category(id)
|
|
||||||
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci
|
|
||||||
COMMENT = '表单定义表';
|
|
||||||
|
|
||||||
-- 表单数据表
|
-- 表单数据表
|
||||||
CREATE TABLE form_data
|
CREATE TABLE form_data
|
||||||
(
|
(
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user