Files
gxtyzx-java/sql/approval.sql
T

141 lines
5.3 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- 一期线下审批公共表与业务表(可重复执行)
-- 目标库:db_gxtyzx(master)
CREATE TABLE IF NOT EXISTS approval_flow_definition (
id BIGINT NOT NULL AUTO_INCREMENT,
tenant_id INT NOT NULL DEFAULT 10150,
flow_code VARCHAR(40) NOT NULL,
version INT NOT NULL,
name VARCHAR(100) NOT NULL,
nodes_json JSON NOT NULL,
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id),
UNIQUE KEY uk_flow_ver (tenant_id, flow_code, version)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='审批流程定义版本';
CREATE TABLE IF NOT EXISTS approval_instance (
id BIGINT NOT NULL AUTO_INCREMENT,
tenant_id INT NOT NULL DEFAULT 10150,
biz_no VARCHAR(32) DEFAULT NULL,
flow_code VARCHAR(40) NOT NULL,
definition_id BIGINT NOT NULL,
definition_version INT NOT NULL,
doc_type VARCHAR(40) NOT NULL,
biz_id BIGINT NOT NULL,
status VARCHAR(20) NOT NULL,
round INT NOT NULL DEFAULT 0,
reporter_id INT NOT NULL,
reporter_name VARCHAR(100) DEFAULT NULL,
report_org_id INT DEFAULT NULL,
report_org_name VARCHAR(200) DEFAULT NULL,
accept_org_id INT DEFAULT NULL,
accept_org_name VARCHAR(200) DEFAULT NULL,
current_node_key VARCHAR(40) DEFAULT NULL,
current_node_type VARCHAR(20) DEFAULT NULL,
dispatch_target_id INT DEFAULT NULL,
dispatch_target_name VARCHAR(100) DEFAULT NULL,
submit_time DATETIME DEFAULT NULL,
approve_time DATETIME DEFAULT NULL,
archive_time DATETIME DEFAULT NULL,
archivist_id INT DEFAULT NULL,
archivist_name VARCHAR(100) DEFAULT NULL,
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (id),
UNIQUE KEY uk_biz_no (tenant_id, biz_no),
KEY idx_status_submit (tenant_id, status, submit_time),
KEY idx_reporter (tenant_id, reporter_id),
KEY idx_report_org (tenant_id, report_org_id),
KEY idx_accept_org (tenant_id, accept_org_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='审批实例';
CREATE TABLE IF NOT EXISTS approval_task (
id BIGINT NOT NULL AUTO_INCREMENT,
tenant_id INT NOT NULL DEFAULT 10150,
instance_id BIGINT NOT NULL,
node_key VARCHAR(40) NOT NULL,
node_type VARCHAR(20) NOT NULL,
round INT NOT NULL,
task_type VARCHAR(20) NOT NULL,
assignee_id INT NOT NULL,
assignee_name VARCHAR(100) DEFAULT NULL,
status VARCHAR(20) NOT NULL,
handle_time DATETIME DEFAULT NULL,
opinion VARCHAR(500) DEFAULT NULL,
dispatch_target_id INT DEFAULT NULL,
dispatch_target_name VARCHAR(100) DEFAULT NULL,
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (id),
KEY idx_instance (instance_id),
KEY idx_assignee_status (tenant_id, assignee_id, status)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='审批任务';
CREATE TABLE IF NOT EXISTS approval_record (
id BIGINT NOT NULL AUTO_INCREMENT,
tenant_id INT NOT NULL DEFAULT 10150,
instance_id BIGINT NOT NULL,
task_id BIGINT DEFAULT NULL,
node_key VARCHAR(40) DEFAULT NULL,
operator_id INT NOT NULL,
operator_name VARCHAR(100) DEFAULT NULL,
action VARCHAR(20) NOT NULL,
opinion VARCHAR(500) DEFAULT NULL,
round INT NOT NULL,
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id),
KEY idx_instance_time (instance_id, create_time)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='审批处理记录';
CREATE TABLE IF NOT EXISTS approval_attachment (
id BIGINT NOT NULL AUTO_INCREMENT,
tenant_id INT NOT NULL DEFAULT 10150,
instance_id BIGINT NOT NULL,
file_id INT NOT NULL,
category VARCHAR(20) NOT NULL,
uploader_id INT NOT NULL,
deleted TINYINT NOT NULL DEFAULT 0,
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id),
KEY idx_instance (instance_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='审批附件';
CREATE TABLE IF NOT EXISTS approval_no_sequence (
id BIGINT NOT NULL AUTO_INCREMENT,
tenant_id INT NOT NULL DEFAULT 10150,
prefix VARCHAR(8) NOT NULL,
seq_date DATE NOT NULL,
current_seq INT NOT NULL DEFAULT 0,
PRIMARY KEY (id),
UNIQUE KEY uk_seq (tenant_id, prefix, seq_date)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='审批单号序列';
CREATE TABLE IF NOT EXISTS approval_completion_form (
id BIGINT NOT NULL AUTO_INCREMENT,
tenant_id INT NOT NULL DEFAULT 10150,
instance_id BIGINT NOT NULL,
name VARCHAR(100) NOT NULL,
implement_org VARCHAR(100) NOT NULL,
fee DECIMAL(12,2) NOT NULL,
service_content VARCHAR(2000) NOT NULL,
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (id),
UNIQUE KEY uk_instance (instance_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='业务完成确认单';
CREATE TABLE IF NOT EXISTS approval_coordination_form (
id BIGINT NOT NULL AUTO_INCREMENT,
tenant_id INT NOT NULL DEFAULT 10150,
instance_id BIGINT NOT NULL,
accept_org_id INT NOT NULL,
accept_org_name VARCHAR(200) NOT NULL,
title VARCHAR(100) NOT NULL,
content VARCHAR(2000) NOT NULL,
remark VARCHAR(500) DEFAULT NULL,
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (id),
UNIQUE KEY uk_instance (instance_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='协调单';