增加form表单
This commit is contained in:
parent
42a8609b8c
commit
84bdf69a9f
@ -1,15 +1,12 @@
|
||||
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.workflow.dto.FormDefinitionDTO;
|
||||
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.WorkflowTriggerTypeEnum;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 工作流定义DTO
|
||||
*
|
||||
@ -41,9 +38,14 @@ public class WorkflowDefinitionDTO extends BaseDTO {
|
||||
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;
|
||||
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.qqchen.deploy.backend.framework.annotation.LogicDelete;
|
||||
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.WorkflowTriggerTypeEnum;
|
||||
import com.qqchen.deploy.backend.workflow.entity.converter.WorkflowGraphType;
|
||||
import com.qqchen.deploy.backend.framework.domain.Entity;
|
||||
import com.vladmihalcea.hibernate.type.json.JsonType;
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Convert;
|
||||
import jakarta.persistence.EnumType;
|
||||
import jakarta.persistence.Enumerated;
|
||||
import jakarta.persistence.Table;
|
||||
@ -17,8 +13,6 @@ import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.hibernate.annotations.Type;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 工作流定义实体
|
||||
*/
|
||||
@ -47,12 +41,13 @@ public class WorkflowDefinition extends Entity<Long> {
|
||||
@Column(name = "category_id")
|
||||
private Long categoryId;
|
||||
|
||||
/**
|
||||
* 启动表单ID(外键关联form_definition)
|
||||
*/
|
||||
@Column(name = "form_definition_id")
|
||||
private Long formDefinitionId;
|
||||
|
||||
@Column(name = "triggers", nullable = false)
|
||||
@Convert(converter = WorkflowTriggerTypeListConverter.class)
|
||||
private List<WorkflowTriggerTypeEnum> triggers;
|
||||
|
||||
@Column(name = "process_definition_id", nullable = false)
|
||||
@Column(name = "process_definition_id")
|
||||
private String processDefinitionId;
|
||||
|
||||
/**
|
||||
@ -87,12 +82,4 @@ public class WorkflowDefinition extends Entity<Long> {
|
||||
*/
|
||||
@Column(columnDefinition = "TEXT")
|
||||
private String description;
|
||||
|
||||
|
||||
/**
|
||||
* 流程标签,用于分组和过滤
|
||||
*/
|
||||
@Type(JsonType.class)
|
||||
@Column(name = "tags", columnDefinition = "json")
|
||||
private JsonNode tags;
|
||||
}
|
||||
|
||||
@ -233,9 +233,9 @@ VALUES
|
||||
-- 工作流定义测试数据
|
||||
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,
|
||||
-- 审计字段
|
||||
@ -404,7 +404,6 @@ INSERT INTO workflow_definition (
|
||||
"properties" : null
|
||||
} ]
|
||||
}',
|
||||
'["simple","script","test"]',
|
||||
'DRAFT',
|
||||
NOW(), NOW(), NULL, NULL, 0, 0
|
||||
),
|
||||
@ -635,7 +634,6 @@ INSERT INTO workflow_definition (
|
||||
"properties" : null
|
||||
} ]
|
||||
}',
|
||||
'["complex","business","multi-task"]',
|
||||
'DRAFT',
|
||||
NOW(), NOW(), NULL, NULL, 0, 0
|
||||
);
|
||||
|
||||
@ -406,6 +406,78 @@ CREATE TABLE workflow_category
|
||||
) 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 workflow_definition
|
||||
(
|
||||
@ -416,7 +488,7 @@ CREATE TABLE workflow_definition
|
||||
name VARCHAR(255) NOT NULL COMMENT '流程名称',
|
||||
`key` VARCHAR(255) NOT NULL COMMENT '流程标识',
|
||||
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',
|
||||
flow_version INT NOT NULL COMMENT '流程版本',
|
||||
description TEXT COMMENT '流程描述',
|
||||
@ -424,7 +496,6 @@ CREATE TABLE workflow_definition
|
||||
-- 流程配置
|
||||
bpmn_xml TEXT COMMENT 'BPMN XML内容',
|
||||
graph JSON COMMENT '流程图数据,包含节点和连线的位置、样式等信息',
|
||||
tags JSON COMMENT '流程标签',
|
||||
|
||||
-- 流程属性
|
||||
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),
|
||||
INDEX idx_category_id (category_id),
|
||||
INDEX idx_form_definition_id (form_definition_id),
|
||||
INDEX idx_status (status),
|
||||
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
|
||||
DEFAULT CHARSET = utf8mb4
|
||||
COLLATE = utf8mb4_unicode_ci COMMENT ='工作流定义表';
|
||||
@ -728,83 +801,6 @@ CREATE TABLE sys_notification_channel (
|
||||
INDEX idx_deleted (deleted)
|
||||
) 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
|
||||
(
|
||||
|
||||
Loading…
Reference in New Issue
Block a user