主要改动: - SQL: biz_support_unit → biz_org, 加 org_type, 加 business_nature; 删 biz_execution_unit, biz_service_org - SQL: biz_project.support_unit_id/name + service_org_id/name → org_id/name/type - SQL: biz_meeting.support_unit_name → org_name - SQL: biz_person.work_unit → org_id (FK) - 后端: 新 BizOrg entity/mapper/service/controller - 后端: BizProject/BizMeeting 字段重命名 - 后端: 删 12 个 BizSupportUnit/BizExecutionUnit/BizServiceOrg Java 文件 - 后端: BizPersonImportVO.workUnit → orgName (导入时查 biz_org 取 org_id) - 后端: BizAuthController.registerExecutor 完整实现 (原 registerSupplier stub) - 前端: 新 admin/Orgs.vue + manager/Orgs.vue (原 SupportUnits) - 前端: RegisterExecutor.vue (原 RegisterSupplier, 单页 2 步) - 前端: sponsor/executor/manager 多个文件 workUnit → orgId/orgName 重命名 - 前端: 统一 supplier → executor, 业务命名 sponsor(赞助方) / executor(执行方=供应商) - 前端: 全工程 execution → executor (company type / role / person unit_type)
508 lines
39 KiB
SQL
508 lines
39 KiB
SQL
-- ============================================================================
|
|
-- 业务表结构 (基于原型 /home/john/ry8080/proto/html/components/ 字段提炼)
|
|
-- 目标库: ry0808
|
|
-- 引擎: InnoDB / utf8mb4
|
|
-- ============================================================================
|
|
|
|
SET FOREIGN_KEY_CHECKS = 0;
|
|
|
|
DROP TABLE IF EXISTS biz_project;
|
|
CREATE TABLE biz_project (
|
|
project_id BIGINT NOT NULL AUTO_INCREMENT COMMENT '项目ID',
|
|
project_no VARCHAR(50) NOT NULL COMMENT '项目编号 ZH-2026-658',
|
|
project_name VARCHAR(200) NOT NULL COMMENT '项目名称',
|
|
project_form VARCHAR(20) DEFAULT NULL COMMENT '项目形式 线上/线下/线上+线下/其他',
|
|
total_sessions INT DEFAULT 0 COMMENT '总场次/总期数',
|
|
done_sessions INT DEFAULT 0 COMMENT '已执行',
|
|
todo_sessions INT DEFAULT 0 COMMENT '未执行',
|
|
total_amount DECIMAL(15,2) DEFAULT 0 COMMENT '总金额',
|
|
available_amount DECIMAL(15,2) DEFAULT 0 COMMENT '可用金额',
|
|
paid_labor_amount DECIMAL(15,2) DEFAULT 0 COMMENT '已支付劳务费',
|
|
paid_meeting_amount DECIMAL(15,2) DEFAULT 0 COMMENT '已支付会务费',
|
|
manage_fee DECIMAL(15,2) DEFAULT 0 COMMENT '管理费及税金',
|
|
is_finished CHAR(1) DEFAULT '0' COMMENT '是否结题 0否 1是',
|
|
is_settled CHAR(1) DEFAULT '0' COMMENT '是否结算 0否 1是',
|
|
rating_score DECIMAL(3,1) DEFAULT NULL COMMENT '项目评价分数',
|
|
org_id BIGINT DEFAULT NULL COMMENT '公司ID (赞助方或执行方, 由 org_type 区分)',
|
|
org_name VARCHAR(200) DEFAULT NULL COMMENT '公司名称(冗余)',
|
|
org_type VARCHAR(20) DEFAULT 'sponsor' COMMENT '公司类型 sponsor赞助方/executor执行方',
|
|
start_time DATETIME DEFAULT NULL COMMENT '项目开始时间',
|
|
end_time DATETIME DEFAULT NULL COMMENT '项目结束时间',
|
|
submit_deadline_days INT DEFAULT 0 COMMENT '提交材料截止天数',
|
|
support_contract_url VARCHAR(500) DEFAULT NULL COMMENT '支持合同文件URL',
|
|
execute_contract_url VARCHAR(500) DEFAULT NULL COMMENT '执行合同文件URL',
|
|
invitation_url VARCHAR(500) DEFAULT NULL COMMENT '邀请函文件URL',
|
|
support_letter_url VARCHAR(500) DEFAULT NULL COMMENT '支持函文件URL',
|
|
publish_url VARCHAR(500) DEFAULT NULL COMMENT '已发布公告URL',
|
|
create_by VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
|
create_time DATETIME DEFAULT NULL COMMENT '创建时间',
|
|
update_by VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
|
update_time DATETIME DEFAULT NULL COMMENT '更新时间',
|
|
PRIMARY KEY (project_id),
|
|
UNIQUE KEY uk_project_no (project_no),
|
|
KEY idx_project_form (project_form),
|
|
KEY idx_is_finished (is_finished),
|
|
KEY idx_is_settled (is_settled)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='项目表';
|
|
|
|
DROP TABLE IF EXISTS biz_project_plan;
|
|
CREATE TABLE biz_project_plan (
|
|
plan_id BIGINT NOT NULL AUTO_INCREMENT COMMENT '策划方案ID',
|
|
plan_name VARCHAR(200) NOT NULL COMMENT '策划方案名称',
|
|
plan_direction VARCHAR(500) DEFAULT NULL COMMENT '项目方向',
|
|
plan_category VARCHAR(50) DEFAULT NULL COMMENT '项目类别 会议项目/科研项目/学术项目/指南/对外交流/共识',
|
|
project_form VARCHAR(20) DEFAULT NULL COMMENT '项目形式',
|
|
design_file_url VARCHAR(500) DEFAULT NULL COMMENT '设计文件URL',
|
|
status VARCHAR(20) DEFAULT '0' COMMENT '状态 待审核/审核通过/已退回',
|
|
is_settled CHAR(1) DEFAULT '0' COMMENT '是否结算 0否 1是',
|
|
project_no VARCHAR(50) DEFAULT NULL COMMENT '关联项目编号',
|
|
remark VARCHAR(500) DEFAULT NULL COMMENT '备注',
|
|
audit_opinion VARCHAR(500) DEFAULT NULL COMMENT '审核意见',
|
|
audit_by VARCHAR(64) DEFAULT NULL COMMENT '审核人',
|
|
audit_time DATETIME DEFAULT NULL COMMENT '审核时间',
|
|
create_by VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
|
create_time DATETIME DEFAULT NULL COMMENT '创建时间',
|
|
update_by VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
|
update_time DATETIME DEFAULT NULL COMMENT '更新时间',
|
|
PRIMARY KEY (plan_id),
|
|
KEY idx_plan_status (status),
|
|
KEY idx_plan_project_no (project_no)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='项目策划方案表';
|
|
|
|
DROP TABLE IF EXISTS biz_project_assign;
|
|
CREATE TABLE biz_project_assign (
|
|
assign_id BIGINT NOT NULL AUTO_INCREMENT COMMENT '分配ID',
|
|
project_id BIGINT NOT NULL COMMENT '项目ID',
|
|
execution_unit_id BIGINT NOT NULL COMMENT '执行单位ID',
|
|
execution_unit_name VARCHAR(200) DEFAULT NULL COMMENT '执行单位名称(冗余)',
|
|
sessions INT DEFAULT 0 COMMENT '分配场数',
|
|
amount DECIMAL(15,2) DEFAULT 0 COMMENT '总金额',
|
|
PRIMARY KEY (assign_id),
|
|
KEY idx_assign_project (project_id),
|
|
KEY idx_assign_unit (execution_unit_id)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='项目-执行单位分配表';
|
|
|
|
DROP TABLE IF EXISTS biz_project_supervisor;
|
|
CREATE TABLE biz_project_supervisor (
|
|
id BIGINT NOT NULL AUTO_INCREMENT COMMENT 'ID',
|
|
project_id BIGINT NOT NULL COMMENT '项目ID',
|
|
user_id BIGINT NOT NULL COMMENT '监督员(用户)ID',
|
|
user_name VARCHAR(50) DEFAULT NULL COMMENT '监督员姓名(冗余)',
|
|
create_time DATETIME DEFAULT NULL COMMENT '创建时间',
|
|
PRIMARY KEY (id),
|
|
KEY idx_ps_project (project_id),
|
|
KEY idx_ps_user (user_id)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='项目监督员表';
|
|
|
|
DROP TABLE IF EXISTS biz_project_labor_role;
|
|
CREATE TABLE biz_project_labor_role (
|
|
id BIGINT NOT NULL AUTO_INCREMENT COMMENT 'ID',
|
|
project_id BIGINT NOT NULL COMMENT '项目ID',
|
|
role_name VARCHAR(50) NOT NULL COMMENT '角色 主席/主持',
|
|
labor_amount DECIMAL(12,2) DEFAULT 0 COMMENT '劳务金额',
|
|
PRIMARY KEY (id),
|
|
KEY idx_plr_project (project_id)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='项目角色劳务设置表';
|
|
|
|
DROP TABLE IF EXISTS biz_meeting;
|
|
CREATE TABLE biz_meeting (
|
|
meeting_id BIGINT NOT NULL AUTO_INCREMENT COMMENT '会议ID',
|
|
business_id VARCHAR(50) NOT NULL COMMENT '业务会议ID 5643145673',
|
|
project_id BIGINT DEFAULT NULL COMMENT '所属项目ID',
|
|
project_no VARCHAR(50) DEFAULT NULL COMMENT '项目编号',
|
|
project_name VARCHAR(200) DEFAULT NULL COMMENT '项目名称',
|
|
meeting_name VARCHAR(200) DEFAULT NULL COMMENT '会议名称',
|
|
period_no INT DEFAULT 1 COMMENT '期数',
|
|
total_periods INT DEFAULT 1 COMMENT '总期数',
|
|
project_form VARCHAR(20) DEFAULT NULL COMMENT '项目形式',
|
|
start_time DATETIME DEFAULT NULL COMMENT '会议开始时间',
|
|
end_time DATETIME DEFAULT NULL COMMENT '会议结束时间',
|
|
org_name VARCHAR(200) DEFAULT NULL COMMENT '公司名称(冗余)',
|
|
current_stage VARCHAR(20) DEFAULT '0' COMMENT '当前阶段 未执行/待监管/监管通过/待整改/待结算/已结算/已结题',
|
|
supervision_opinion VARCHAR(500) DEFAULT NULL COMMENT '监察意见',
|
|
supervision_by VARCHAR(64) DEFAULT NULL COMMENT '监察人',
|
|
supervision_time DATETIME DEFAULT NULL COMMENT '监察时间',
|
|
invitation_url VARCHAR(500) DEFAULT NULL COMMENT '邀请函URL',
|
|
schedule_url VARCHAR(500) DEFAULT NULL COMMENT '日程海报URL',
|
|
labor_signed CHAR(1) DEFAULT '0' COMMENT '签署劳务 0未签 1已签',
|
|
create_by VARCHAR(64) DEFAULT '' COMMENT '创建人',
|
|
create_time DATETIME DEFAULT NULL COMMENT '创建时间',
|
|
update_by VARCHAR(64) DEFAULT '' COMMENT '更新人',
|
|
update_time DATETIME DEFAULT NULL COMMENT '更新时间',
|
|
PRIMARY KEY (meeting_id),
|
|
UNIQUE KEY uk_business_id (business_id),
|
|
KEY idx_meeting_project (project_id),
|
|
KEY idx_meeting_stage (current_stage)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='会议表';
|
|
|
|
DROP TABLE IF EXISTS biz_meeting_settlement;
|
|
CREATE TABLE biz_meeting_settlement (
|
|
id BIGINT NOT NULL AUTO_INCREMENT COMMENT 'ID',
|
|
meeting_id BIGINT DEFAULT NULL COMMENT '会议ID',
|
|
project_no VARCHAR(50) DEFAULT NULL COMMENT '项目编号',
|
|
project_name VARCHAR(200) DEFAULT NULL COMMENT '会议名称',
|
|
exec_unit VARCHAR(200) DEFAULT NULL COMMENT '执行单位',
|
|
fee_type VARCHAR(50) NOT NULL COMMENT '费用项 场地租赁/设备租赁/餐饮服务/资料印刷/其他杂费/专家劳务费/评审费/差旅费/材料费/其他费用',
|
|
unit_price DECIMAL(12,2) DEFAULT 0 COMMENT '单价',
|
|
qty INT DEFAULT 0 COMMENT '数量',
|
|
subtotal DECIMAL(12,2) DEFAULT 0 COMMENT '小计',
|
|
remark VARCHAR(500) DEFAULT NULL COMMENT '备注',
|
|
audit_status VARCHAR(20) DEFAULT '0' COMMENT '审核状态 已审核/待审核',
|
|
settlement_type VARCHAR(20) DEFAULT 'meeting' COMMENT '结算类型 meeting会务/labor劳务',
|
|
PRIMARY KEY (id),
|
|
KEY idx_st_meeting (meeting_id),
|
|
KEY idx_st_type (settlement_type)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='会议结算明细';
|
|
|
|
DROP TABLE IF EXISTS biz_expert;
|
|
CREATE TABLE biz_expert (
|
|
expert_id BIGINT NOT NULL AUTO_INCREMENT COMMENT '专家ID',
|
|
user_id BIGINT DEFAULT NULL COMMENT '关联系统用户ID',
|
|
name VARCHAR(50) NOT NULL COMMENT '姓名',
|
|
phone VARCHAR(20) NOT NULL COMMENT '手机号',
|
|
work_unit VARCHAR(200) DEFAULT NULL COMMENT '工作单位',
|
|
department VARCHAR(100) DEFAULT NULL COMMENT '科室',
|
|
title VARCHAR(50) DEFAULT NULL COMMENT '职称 主任医师/副主任医师/主治医师/住院医师',
|
|
region VARCHAR(50) DEFAULT NULL COMMENT '地区',
|
|
id_card VARCHAR(50) DEFAULT NULL COMMENT '证件号码',
|
|
bank_card VARCHAR(50) DEFAULT NULL COMMENT '银行卡号',
|
|
bank_name VARCHAR(100) DEFAULT NULL COMMENT '银行名称',
|
|
bank_province VARCHAR(50) DEFAULT NULL COMMENT '开户行省份',
|
|
bank_city VARCHAR(50) DEFAULT NULL COMMENT '开户行城市',
|
|
bank_address VARCHAR(200) DEFAULT NULL COMMENT '开户行地址',
|
|
id_card_front_url VARCHAR(500) DEFAULT NULL COMMENT '身份证正面URL',
|
|
id_card_back_url VARCHAR(500) DEFAULT NULL COMMENT '身份证反面URL',
|
|
practice_cert_url VARCHAR(500) DEFAULT NULL COMMENT '执业证书URL',
|
|
title_cert_url VARCHAR(500) DEFAULT NULL COMMENT '职称证明URL',
|
|
audit_status VARCHAR(20) DEFAULT '0' COMMENT '审核状态 待审核/审核通过/已退回',
|
|
audit_opinion VARCHAR(500) DEFAULT NULL COMMENT '审核意见',
|
|
audit_by VARCHAR(64) DEFAULT NULL COMMENT '审核人',
|
|
audit_time DATETIME DEFAULT NULL COMMENT '审核时间',
|
|
status CHAR(1) DEFAULT '0' COMMENT '状态 0正常 1禁用',
|
|
create_by VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
|
create_time DATETIME DEFAULT NULL COMMENT '创建时间',
|
|
update_by VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
|
update_time DATETIME DEFAULT NULL COMMENT '更新时间',
|
|
PRIMARY KEY (expert_id),
|
|
UNIQUE KEY uk_expert_phone (phone),
|
|
KEY idx_expert_audit (audit_status)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='专家表';
|
|
|
|
DROP TABLE IF EXISTS biz_execution_unit;
|
|
DROP TABLE IF EXISTS biz_support_unit;
|
|
DROP TABLE IF EXISTS biz_service_org;
|
|
CREATE TABLE biz_org (
|
|
org_id BIGINT NOT NULL AUTO_INCREMENT COMMENT '公司ID',
|
|
org_name VARCHAR(200) NOT NULL COMMENT '公司名称',
|
|
org_type VARCHAR(20) NOT NULL COMMENT '公司类型 sponsor赞助方/executor执行方',
|
|
business_nature VARCHAR(20) DEFAULT NULL COMMENT '企业性质 私营/国营/中外合资/外资/其他',
|
|
address VARCHAR(500) DEFAULT NULL COMMENT '公司地址',
|
|
tax_no VARCHAR(50) DEFAULT NULL COMMENT '税号/统一社会信用代码',
|
|
contact_name VARCHAR(50) DEFAULT NULL COMMENT '联系人',
|
|
contact_phone VARCHAR(20) DEFAULT NULL COMMENT '联系电话',
|
|
intent_count INT DEFAULT 0 COMMENT '意向项目数 (仅赞助方用)',
|
|
status VARCHAR(20) DEFAULT '0' COMMENT '合作状态 sponsor: 合作中/待签约/已停用; executor: 0正常 1禁用',
|
|
create_by VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
|
create_time DATETIME DEFAULT NULL COMMENT '创建时间',
|
|
update_by VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
|
update_time DATETIME DEFAULT NULL COMMENT '更新时间',
|
|
PRIMARY KEY (org_id),
|
|
KEY idx_org_type_status (org_type, status)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='公司表 (赞助方/执行方共用)';
|
|
|
|
DROP TABLE IF EXISTS biz_person;
|
|
CREATE TABLE biz_person (
|
|
person_id BIGINT NOT NULL AUTO_INCREMENT COMMENT '人员ID',
|
|
user_id BIGINT DEFAULT NULL COMMENT '关联系统用户ID',
|
|
name VARCHAR(50) NOT NULL COMMENT '姓名',
|
|
phone VARCHAR(20) NOT NULL COMMENT '手机号',
|
|
org_id BIGINT DEFAULT NULL COMMENT '所属公司ID (FK: biz_org.org_id)',
|
|
department VARCHAR(100) DEFAULT NULL COMMENT '部门',
|
|
position VARCHAR(50) DEFAULT NULL COMMENT '职务',
|
|
role VARCHAR(20) DEFAULT NULL COMMENT '角色 项目负责人/会议执行/监察员/会务执行',
|
|
unit_type VARCHAR(20) DEFAULT 'executor' COMMENT '所属单位类型 executor执行/sponsor支持',
|
|
status CHAR(1) DEFAULT '0' COMMENT '状态 0正常 1禁用',
|
|
create_by VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
|
create_time DATETIME DEFAULT NULL COMMENT '创建时间',
|
|
update_by VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
|
update_time DATETIME DEFAULT NULL COMMENT '更新时间',
|
|
PRIMARY KEY (person_id),
|
|
UNIQUE KEY uk_person_phone (phone),
|
|
KEY idx_person_role (role),
|
|
KEY idx_person_unit_type (unit_type)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='人员表';
|
|
|
|
DROP TABLE IF EXISTS biz_support_intent;
|
|
CREATE TABLE biz_support_intent (
|
|
intent_id BIGINT NOT NULL AUTO_INCREMENT COMMENT 'ID',
|
|
project_no VARCHAR(50) DEFAULT NULL COMMENT '意向项目编号',
|
|
project_name VARCHAR(200) DEFAULT NULL COMMENT '意向项目名称',
|
|
name VARCHAR(50) NOT NULL COMMENT '姓名',
|
|
work_unit VARCHAR(200) DEFAULT NULL COMMENT '工作单位名称',
|
|
department VARCHAR(100) DEFAULT NULL COMMENT '部门',
|
|
position VARCHAR(50) DEFAULT NULL COMMENT '职务',
|
|
phone VARCHAR(20) NOT NULL COMMENT '手机号',
|
|
account_status VARCHAR(20) DEFAULT '不存在' COMMENT '账号状态 存在/不存在',
|
|
create_time DATETIME DEFAULT NULL COMMENT '创建时间',
|
|
PRIMARY KEY (intent_id),
|
|
KEY idx_si_project (project_no),
|
|
KEY idx_si_phone (phone)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='支持意向表';
|
|
|
|
DROP TABLE IF EXISTS biz_execution_intent;
|
|
CREATE TABLE biz_execution_intent (
|
|
intent_id BIGINT NOT NULL AUTO_INCREMENT COMMENT 'ID',
|
|
project_no VARCHAR(50) DEFAULT NULL COMMENT '意向项目编号',
|
|
project_name VARCHAR(200) DEFAULT NULL COMMENT '意向项目名称',
|
|
name VARCHAR(50) NOT NULL COMMENT '姓名',
|
|
work_unit VARCHAR(200) DEFAULT NULL COMMENT '工作单位名称',
|
|
department VARCHAR(100) DEFAULT NULL COMMENT '部门',
|
|
position VARCHAR(50) DEFAULT NULL COMMENT '职务',
|
|
phone VARCHAR(20) NOT NULL COMMENT '手机号',
|
|
onboard_status VARCHAR(20) DEFAULT '未入库' COMMENT '是否入库 已入库/未入库',
|
|
create_time DATETIME DEFAULT NULL COMMENT '创建时间',
|
|
PRIMARY KEY (intent_id),
|
|
KEY idx_ei_project (project_no),
|
|
KEY idx_ei_phone (phone)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='执行意向表';
|
|
|
|
DROP TABLE IF EXISTS biz_announcement;
|
|
CREATE TABLE biz_announcement (
|
|
ann_id BIGINT NOT NULL AUTO_INCREMENT COMMENT '公示ID',
|
|
title VARCHAR(500) NOT NULL COMMENT '标题',
|
|
ann_type VARCHAR(20) NOT NULL COMMENT '类型 邀请函/支持函/通知/日程',
|
|
publish_time DATETIME DEFAULT NULL COMMENT '发布时间',
|
|
file_url VARCHAR(500) DEFAULT NULL COMMENT '附件URL',
|
|
project_id BIGINT DEFAULT NULL COMMENT '关联项目ID',
|
|
project_no VARCHAR(50) DEFAULT NULL COMMENT '关联项目编号',
|
|
status CHAR(1) DEFAULT '0' COMMENT '状态 0正常 1删除',
|
|
create_by VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
|
create_time DATETIME DEFAULT NULL COMMENT '创建时间',
|
|
update_by VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
|
update_time DATETIME DEFAULT NULL COMMENT '更新时间',
|
|
PRIMARY KEY (ann_id),
|
|
KEY idx_ann_type (ann_type),
|
|
KEY idx_ann_project (project_no)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='项目公示公告表';
|
|
|
|
DROP TABLE IF EXISTS biz_invitation;
|
|
CREATE TABLE biz_invitation (
|
|
invite_id BIGINT NOT NULL AUTO_INCREMENT COMMENT '邀请函ID',
|
|
project_id BIGINT DEFAULT NULL COMMENT '项目ID',
|
|
project_no VARCHAR(50) DEFAULT NULL COMMENT '项目编号',
|
|
title VARCHAR(200) DEFAULT NULL COMMENT '标题',
|
|
template_url VARCHAR(500) DEFAULT NULL COMMENT '邀请函模板URL',
|
|
qr_code_url VARCHAR(500) DEFAULT NULL COMMENT '二维码URL',
|
|
share_url VARCHAR(500) DEFAULT NULL COMMENT '分享URL',
|
|
publish_time DATETIME DEFAULT NULL COMMENT '发布时间',
|
|
remark VARCHAR(500) DEFAULT NULL COMMENT '备注',
|
|
PRIMARY KEY (invite_id),
|
|
KEY idx_iv_project (project_id)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='邀请函表';
|
|
|
|
DROP TABLE IF EXISTS biz_support_letter;
|
|
CREATE TABLE biz_support_letter (
|
|
letter_id BIGINT NOT NULL AUTO_INCREMENT COMMENT '支持函ID',
|
|
project_id BIGINT DEFAULT NULL COMMENT '项目ID',
|
|
project_no VARCHAR(50) DEFAULT NULL COMMENT '项目编号',
|
|
title VARCHAR(200) DEFAULT NULL COMMENT '标题',
|
|
file_url VARCHAR(500) DEFAULT NULL COMMENT '支持函图片URL',
|
|
publish_time DATETIME DEFAULT NULL COMMENT '发布时间',
|
|
support_count INT DEFAULT 0 COMMENT '支持次数',
|
|
PRIMARY KEY (letter_id),
|
|
KEY idx_sl_project (project_id)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='支持函表';
|
|
|
|
DROP TABLE IF EXISTS biz_submission;
|
|
CREATE TABLE biz_submission (
|
|
sub_id BIGINT NOT NULL AUTO_INCREMENT COMMENT '投稿ID',
|
|
submitter_id BIGINT DEFAULT NULL COMMENT '投稿人用户ID',
|
|
submitter_name VARCHAR(50) DEFAULT NULL COMMENT '投稿人姓名',
|
|
title VARCHAR(200) NOT NULL COMMENT '投稿名称',
|
|
direction VARCHAR(100) DEFAULT NULL COMMENT '学科方向',
|
|
project_form VARCHAR(20) DEFAULT NULL COMMENT '形式 线上/线下/线上+线下',
|
|
project_category VARCHAR(50) DEFAULT NULL COMMENT '项目类别 学术会议类/专项科研类/调研征集类/慈善帮扶类/标准制定类/患者援助类/专业培训类',
|
|
design_file_url VARCHAR(500) DEFAULT NULL COMMENT '设计文件URL',
|
|
status VARCHAR(20) DEFAULT '0' COMMENT '状态 待审核/审核通过/已退回/未结题/已结题',
|
|
remark VARCHAR(500) DEFAULT NULL COMMENT '备注',
|
|
audit_opinion VARCHAR(500) DEFAULT NULL COMMENT '审核意见',
|
|
audit_by VARCHAR(64) DEFAULT NULL COMMENT '审核人',
|
|
audit_time DATETIME DEFAULT NULL COMMENT '审核时间',
|
|
create_by VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
|
create_time DATETIME DEFAULT NULL COMMENT '创建时间',
|
|
update_by VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
|
update_time DATETIME DEFAULT NULL COMMENT '更新时间',
|
|
PRIMARY KEY (sub_id),
|
|
KEY idx_sub_status (status),
|
|
KEY idx_sub_submitter (submitter_id)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='投稿表';
|
|
|
|
DROP TABLE IF EXISTS biz_project_rating;
|
|
CREATE TABLE biz_project_rating (
|
|
rating_id BIGINT NOT NULL AUTO_INCREMENT COMMENT '评分ID',
|
|
project_id BIGINT NOT NULL COMMENT '项目ID',
|
|
project_no VARCHAR(50) DEFAULT NULL COMMENT '项目编号',
|
|
project_name VARCHAR(200) DEFAULT NULL COMMENT '项目名称',
|
|
rater_id BIGINT DEFAULT NULL COMMENT '评分人ID',
|
|
rater_name VARCHAR(50) DEFAULT NULL COMMENT '评分人姓名',
|
|
rater_role VARCHAR(20) DEFAULT NULL COMMENT '评分人角色 compliance/executor/sponsor',
|
|
quality_score INT DEFAULT 0 COMMENT '履约质量 1-5',
|
|
response_score INT DEFAULT 0 COMMENT '时效响应 1-5',
|
|
cooperation_score INT DEFAULT 0 COMMENT '配合度 1-5',
|
|
compliance_score INT DEFAULT 0 COMMENT '合规安全 1-5',
|
|
total_score DECIMAL(3,1) DEFAULT 0 COMMENT '总分',
|
|
remark VARCHAR(500) DEFAULT NULL COMMENT '评价备注',
|
|
rating_time DATETIME DEFAULT NULL COMMENT '评分时间',
|
|
PRIMARY KEY (rating_id),
|
|
KEY idx_pr_project (project_id),
|
|
KEY idx_pr_rater (rater_id)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='项目评分表';
|
|
|
|
DROP TABLE IF EXISTS biz_resource;
|
|
CREATE TABLE biz_resource (
|
|
resource_id BIGINT NOT NULL AUTO_INCREMENT COMMENT '资料ID',
|
|
name VARCHAR(200) NOT NULL COMMENT '资料名称',
|
|
category VARCHAR(50) DEFAULT NULL COMMENT '分类 项目模板/会议材料/合规文档/专家库/培训资料/表单模板',
|
|
file_size VARCHAR(20) DEFAULT NULL COMMENT '文件大小',
|
|
file_url VARCHAR(500) DEFAULT NULL COMMENT '文件URL',
|
|
uploader_id BIGINT DEFAULT NULL COMMENT '上传人ID',
|
|
uploader_name VARCHAR(50) DEFAULT NULL COMMENT '上传人',
|
|
upload_time DATETIME DEFAULT NULL COMMENT '上传时间',
|
|
status VARCHAR(20) DEFAULT '0' COMMENT '状态 已发布/草稿',
|
|
PRIMARY KEY (resource_id),
|
|
KEY idx_res_category (category)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='资料库表';
|
|
|
|
DROP TABLE IF EXISTS biz_labor_voucher;
|
|
CREATE TABLE biz_labor_voucher (
|
|
voucher_id BIGINT NOT NULL AUTO_INCREMENT COMMENT '凭证ID',
|
|
voucher_no VARCHAR(50) NOT NULL COMMENT '凭证编号 LV-2026-001',
|
|
meeting_id BIGINT DEFAULT NULL COMMENT '会议ID',
|
|
meeting_name VARCHAR(200) DEFAULT NULL COMMENT '会议名称',
|
|
expert_name VARCHAR(50) DEFAULT NULL COMMENT '专家姓名',
|
|
id_card VARCHAR(50) DEFAULT NULL COMMENT '身份证号',
|
|
bank_account VARCHAR(50) DEFAULT NULL COMMENT '银行账号',
|
|
amount DECIMAL(12,2) DEFAULT 0 COMMENT '金额',
|
|
submit_date DATETIME DEFAULT NULL COMMENT '提交日期',
|
|
audit_status VARCHAR(20) DEFAULT '0' COMMENT '审核状态 待审核/已审核/已驳回',
|
|
audit_opinion VARCHAR(500) DEFAULT NULL COMMENT '审核意见',
|
|
audit_by VARCHAR(64) DEFAULT NULL COMMENT '审核人',
|
|
audit_time DATETIME DEFAULT NULL COMMENT '审核时间',
|
|
PRIMARY KEY (voucher_id),
|
|
UNIQUE KEY uk_voucher_no (voucher_no)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='劳务凭证表';
|
|
|
|
DROP TABLE IF EXISTS biz_user_role_bind;
|
|
CREATE TABLE biz_user_role_bind (
|
|
id BIGINT NOT NULL AUTO_INCREMENT COMMENT 'ID',
|
|
user_id BIGINT NOT NULL COMMENT '用户ID',
|
|
role_type VARCHAR(20) NOT NULL COMMENT '业务角色 admin/leader/manager/doctor/executor/sponsor (注: 原 supplier 角色已统一为 executor, 见 2026-08-15 重构)',
|
|
unit_id BIGINT DEFAULT NULL COMMENT '所属单位ID',
|
|
unit_type VARCHAR(20) DEFAULT NULL COMMENT '所属单位类型',
|
|
create_time DATETIME DEFAULT NULL COMMENT '创建时间',
|
|
PRIMARY KEY (id),
|
|
UNIQUE KEY uk_urb_user (user_id, role_type)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户业务角色绑定';
|
|
|
|
SET FOREIGN_KEY_CHECKS = 1;
|
|
|
|
-- ============================================================================
|
|
-- 初始化业务字典 (sys_dict_type / sys_dict_data 来自 RuoYi)
|
|
-- 这里只补业务特有字典
|
|
-- ============================================================================
|
|
INSERT INTO sys_dict_type(dict_id, dict_name, dict_type, status, create_by, create_time, remark)
|
|
VALUES
|
|
(100, '项目形式', 'biz_project_form', '0', 'admin', NOW(), '线上/线下/线上+线下/其他'),
|
|
(101, '项目状态', 'biz_project_status', '0', 'admin', NOW(), '已结题/未结题'),
|
|
(102, '结算状态', 'biz_settle_status', '0', 'admin', NOW(), '已结算/未结算'),
|
|
(103, '专家审核', 'biz_expert_audit', '0', 'admin', NOW(), '待审核/审核通过/已退回'),
|
|
(104, '合作状态', 'biz_coop_status', '0', 'admin', NOW(), '合作中/待签约/已停用'),
|
|
(105, '当前阶段', 'biz_meeting_stage', '0', 'admin', NOW(), '未执行/待监管/监管通过/待整改/待结算/已结算/已结题'),
|
|
(106, '人员角色', 'biz_person_role', '0', 'admin', NOW(), '项目负责人/会议执行/监察员/会务执行'),
|
|
(107, '企业性质', 'biz_business_nature', '0', 'admin', NOW(), '私营/国营/中外合资/外资/其他'),
|
|
(108, '项目类别', 'biz_project_category', '0', 'admin', NOW(), '会议项目/科研项目/学术项目/指南/对外交流/共识'),
|
|
(109, '学术类别', 'biz_submission_category', '0', 'admin', NOW(), '学术会议类/专项科研类/调研征集类/慈善帮扶类/标准制定类/患者援助类/专业培训类'),
|
|
(110, '审核状态', 'biz_audit_status', '0', 'admin', NOW(), '待审核/已审核/已驳回'),
|
|
(113, '公告类型', 'biz_ann_type', '0', 'admin', NOW(), '邀请函/支持函/通知/日程'),
|
|
(114, '医生职称', 'biz_doctor_title', '0', 'admin', NOW(), '主任医师/副主任医师/主治医师/住院医师'),
|
|
(115, '科室', 'biz_department', '0', 'admin', NOW(), '内科/外科/儿科/妇产科/其他'),
|
|
(116, '地区', 'biz_region', '0', 'admin', NOW(), '北京/上海/广东/其他'),
|
|
(117, '结算类型', 'biz_settlement_type', '0', 'admin', NOW(), 'meeting/labor');
|
|
|
|
INSERT INTO sys_dict_data(dict_code, dict_sort, dict_label, dict_value, dict_type, dict_label_en, css_class, list_class, is_default, status, create_by, create_time, remark)
|
|
SELECT 1, 1, '线上', '线上', 'biz_project_form', '', '', 'primary', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 2, 2, '线下', '线下', 'biz_project_form', '', '', 'primary', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 3, 3, '线上+线下', '线上+线下', 'biz_project_form', '', '', 'primary', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 4, 4, '其他', '其他', 'biz_project_form', '', '', 'primary', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 5, 1, '已结题', '1', 'biz_project_status', '', '', 'success', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 6, 2, '未结题', '0', 'biz_project_status', '', '', 'warning', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 7, 1, '已结算', '1', 'biz_settle_status', '', '', 'success', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 8, 2, '未结算', '0', 'biz_settle_status', '', '', 'warning', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 9, 1, '待审核', '待审核', 'biz_expert_audit', '', '', 'warning', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 10, 2, '审核通过', '审核通过', 'biz_expert_audit', '', '', 'success', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 11, 3, '已退回', '已退回', 'biz_expert_audit', '', '', 'danger', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 12, 1, '合作中', '合作中', 'biz_coop_status', '', '', 'success', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 13, 2, '待签约', '待签约', 'biz_coop_status', '', '', 'warning', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 14, 3, '已停用', '已停用', 'biz_coop_status', '', '', 'danger', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 15, 1, '未执行', '未执行', 'biz_meeting_stage', '', '', 'info', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 16, 2, '待监管', '待监管', 'biz_meeting_stage', '', '', 'warning', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 17, 3, '监管通过', '监管通过', 'biz_meeting_stage', '', '', 'success', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 18, 4, '待整改', '待整改', 'biz_meeting_stage', '', '', 'danger', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 19, 5, '待结算', '待结算', 'biz_meeting_stage', '', '', 'warning', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 20, 6, '已结算', '已结算', 'biz_meeting_stage', '', '', 'success', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 21, 7, '已结题', '已结题', 'biz_meeting_stage', '', '', 'success', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 22, 1, '项目负责人', '项目负责人', 'biz_person_role', '', '', 'primary', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 23, 2, '会议执行', '会议执行', 'biz_person_role', '', '', 'primary', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 24, 3, '监察员', '监察员', 'biz_person_role', '', '', 'primary', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 25, 4, '会务执行', '会务执行', 'biz_person_role', '', '', 'primary', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 26, 1, '私营', '私营', 'biz_business_nature', '', '', 'default', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 27, 2, '国营', '国营', 'biz_business_nature', '', '', 'default', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 28, 3, '中外合资', '中外合资', 'biz_business_nature', '', '', 'default', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 29, 4, '外资', '外资', 'biz_business_nature', '', '', 'default', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 30, 5, '其他', '其他', 'biz_business_nature', '', '', 'default', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 31, 1, '会议项目', '会议项目', 'biz_project_category', '', '', 'primary', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 32, 2, '科研项目', '科研项目', 'biz_project_category', '', '', 'primary', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 33, 3, '学术项目', '学术项目', 'biz_project_category', '', '', 'primary', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 34, 4, '指南', '指南', 'biz_project_category', '', '', 'primary', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 35, 5, '对外交流', '对外交流', 'biz_project_category', '', '', 'primary', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 36, 6, '共识', '共识', 'biz_project_category', '', '', 'primary', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 37, 1, '学术会议类', '学术会议类', 'biz_submission_category', '', '', 'primary', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 38, 2, '专项科研类', '专项科研类', 'biz_submission_category', '', '', 'primary', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 39, 3, '调研征集类', '调研征集类', 'biz_submission_category', '', '', 'primary', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 40, 4, '慈善帮扶类', '慈善帮扶类', 'biz_submission_category', '', '', 'primary', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 41, 5, '标准制定类', '标准制定类', 'biz_submission_category', '', '', 'primary', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 42, 6, '患者援助类', '患者援助类', 'biz_submission_category', '', '', 'primary', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 43, 7, '专业培训类', '专业培训类', 'biz_submission_category', '', '', 'primary', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 44, 1, '待审核', '待审核', 'biz_audit_status', '', '', 'warning', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 45, 2, '已审核', '已审核', 'biz_audit_status', '', '', 'success', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 46, 3, '已驳回', '已驳回', 'biz_audit_status', '', '', 'danger', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 47, 1, '正常', '0', 'sys_normal_status', '', '', 'primary', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 48, 2, '禁用', '1', 'sys_normal_status', '', '', 'danger', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 49, 1, '是', 'Y', 'sys_yes_no', '', '', 'primary', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 50, 2, '否', 'N', 'sys_yes_no', '', '', 'danger', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 51, 1, '邀请函', '邀请函', 'biz_ann_type', '', '', 'primary', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 52, 2, '支持函', '支持函', 'biz_ann_type', '', '', 'primary', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 53, 3, '通知', '通知', 'biz_ann_type', '', '', 'primary', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 54, 4, '日程', '日程', 'biz_ann_type', '', '', 'primary', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 55, 1, '主任医师', '主任医师', 'biz_doctor_title', '', '', 'primary', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 56, 2, '副主任医师', '副主任医师', 'biz_doctor_title', '', '', 'primary', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 57, 3, '主治医师', '主治医师', 'biz_doctor_title', '', '', 'primary', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 58, 4, '住院医师', '住院医师', 'biz_doctor_title', '', '', 'primary', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 59, 1, '内科', '内科', 'biz_department', '', '', 'default', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 60, 2, '外科', '外科', 'biz_department', '', '', 'default', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 61, 3, '儿科', '儿科', 'biz_department', '', '', 'default', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 62, 4, '妇产科', '妇产科', 'biz_department', '', '', 'default', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 63, 5, '其他', '其他', 'biz_department', '', '', 'default', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 64, 1, '北京', '北京', 'biz_region', '', '', 'default', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 65, 2, '上海', '上海', 'biz_region', '', '', 'default', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 66, 3, '广东', '广东', 'biz_region', '', '', 'default', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 67, 4, '其他', '其他', 'biz_region', '', '', 'default', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 68, 1, '会务', 'meeting', 'biz_settlement_type', '', '', 'primary', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 69, 2, '劳务', 'labor', 'biz_settlement_type', '', '', 'primary', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 70, 1, '项目模板', '项目模板', 'sys_resource_category', '', '', 'primary', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 71, 2, '会议材料', '会议材料', 'sys_resource_category', '', '', 'primary', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 72, 3, '合规文档', '合规文档', 'sys_resource_category', '', '', 'primary', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 73, 4, '专家库', '专家库', 'sys_resource_category', '', '', 'primary', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 74, 5, '培训资料', '培训资料', 'sys_resource_category', '', '', 'primary', 'N', '0', 'admin', NOW(), '' UNION ALL
|
|
SELECT 75, 6, '表单模板', '表单模板', 'sys_resource_category', '', '', 'primary', 'N', '0', 'admin', NOW(), '';
|