-- 一期线下审批公共表与业务表(可重复执行) -- 目标库: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='协调单';