Files
guoju0808/数据库设计文档2.0.md
T
郭庆泰 5a0a892574 feat: 邀请函邮件发送 + 首次设密/密码为空 + 姓名单一可信源
邀请发送 (菜单暂隐藏, 待确认参数见 发送邀请-待确认参数.md):
- 后端: BizInvite / BizInviteRecipient + Controller/Service/Mapper/XML
- 邮件: InviteMailSender (spring-boot-starter-mail SMTP) + application*.yml 邮件配置
- 上传进度: UploadProgressRegistry + UploadProgressController
- 前端: InviteList / InviteNew / InviteDetail / InviteView + api/business/invite.js
- 原型: proto/html/components/invite-detail / new-invitation / send-invitation

登录/账号:
- 首次设密: /getInfo 返回 isPasswordEmpty, SysProfileController 密码为空时跳过旧密码校验, ForcePasswordDialog 强制弹窗
- 姓名单一可信源 resolveDisplayName: doctor→biz_expert.name, sponsor/executor→biz_person.name, 其余回退 nick_name
- OA compliance 门禁改为按手机号查 ecology 视图 (不再限定 manager/leader)

其它:
- OSS zip 在线查看 (列清单+取单文件, 公开只读) + SecurityConfig permitAll
- doctor 项目详情 ProjectDetail.vue
- 数据库/测试/设计文档 (md) 入库
2026-09-10 20:40:49 +08:00

1097 lines
48 KiB
Markdown
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.
# 数据库设计文档 V2.0
> 版本:V2.0
> 范围:业务数据库(`biz_*` 业务表),共 **31 张**
> 说明:本文档字段以数据库实际结构为准。
---
## 一、设计约定
| 约定项 | 说明 |
|---|---|
| 表命名 | 业务表统一 `biz_` 前缀,与系统表 `sys_` 区分 |
| 主键 | 业务大表采用 `bigint` 雪花 ID`intent_id`/`meeting_id`/`project_id`…),字典类小表采用 `bigint` 自增 |
| 公共字段 | `create_by` / `create_time` / `update_by` / `update_time` |
| 逻辑删除 | 业务表采用逻辑删除(`is_deleted` / `del_flag` 标记),删除后保留记录、可追溯 |
| 外键 | 无物理外键,全部逻辑关联(`*_id` 列),并冗余 `project_no`/`project_name` 等便于展示 |
| 快照机制 | 参会人、凭证等存人员/银行卡快照列,与源数据(专家/人员)解耦 |
| 金额 | 统一 `decimal` 保留 2 位小数 |
| 开关标记 | 是否、启用等开关字段统一 `char(1)``Y`/`N`Y=是/启用,N=否/停用) |
| 审核状态 | 统一「未提交 / 待审核 / 通过 / 拒绝」四态流转,各表取值见对应字段说明 |
| 单位类型 | `org_type`:赞助方(sponsor/ 执行方(execution);`unit_type`:执行(execution/ 支持(sponsor |
---
## 二、表总览(按域分组)
| 域 | 表 | 说明 |
|---|---|---|
| **组织与人员** | `biz_org` | 机构主体表。赞助方(sponsor)与执行方(execution)统一建模,一个登录账号(user_id)在同一 org_type 下只对应一个机构(uk_org_user_type);是项目/会议/分配等所有「企业归属」字段的指向源。 |
| | `biz_person` | 支持方/执行方员工档案,与 sys_user 登录账号一一关联(user_id 唯一)。角色由 unit_typeexecution/sponsor)推导;项目创建人姓名经本表 user_id 关联取 name。 |
| | `biz_expert` | 医生/专家实名档案,含银行、执业/职称证书与审核信息。audit_status(0未提交/1待审/2通过/3拒绝)作为登录业务校验门槛;参会人、劳务电子签的人员信息以本表为源做快照。 |
| | `biz_department` | 科室字典,专家/人员「科室」下拉选项来源。 |
| | `biz_doctor_title` | 医生职称字典,专家「职称」下拉选项来源。 |
| **项目** | `biz_project` | 项目核心表。金额三列(available/paid_labor/paid_meeting)查询时实时算,done/todo_sessions 实时聚合自会议;is_published 区分保存/发布公示;sponsor_org_id 记支持方归属、lead_user_id 记项目负责人。 |
| | `biz_project_assign` | 项目对执行单位的场次/金额分配,uk_project_unit 保证一项目一执行单位唯一。 |
| | `biz_project_executor_assign` | 执行方内部把项目二次分配给具体执行人(staff_user_id),镜像赞助方分配结构。 |
| | `biz_project_sponsor_assign` | 赞助方给项目分配监察员(monitor_user_id),SUB 赞助方靠 monitor_user_id 反查可见项目。 |
| | `biz_project_plan` | 策划方案投稿/审核表。方向关联 biz_special_plan,审核通过后经 project_no 关联到正式项目。 |
| | `biz_special_plan` | 专项计划,是策划方案「项目方向」的选项来源。 |
| | `biz_project_rating` | 项目履约评分,合规/执行方/赞助方三方四维评分,uk_rating 保证同一评分人对同一项目唯一。 |
| **公示与意向** | `biz_publicity` | 项目公示/公告,announce_type 区分邀请函/支持函/通知/议程,按 project_id 关联项目。 |
| | `biz_publicity_support_intent` | 公示页「支持意向」匿名按钮表,允许 user_id=NULL 不强绑登录,与登录视角强绑表解耦。 |
| | `biz_publicity_execution_intent` | 公示页「执行意向」匿名按钮表,结构同 support_intent。 |
| | `biz_execution_intent` | 登录视角执行意向(强绑 user_id),参会人新增/导入时建幽灵占位记录(del_flag 软删)。 |
| **会议** | `biz_meeting` | 会议核心表。承载阶段流转(current_stage)、材料审核(stage + compliance_approved)、费用汇总(labor_fee/meeting_fee/total_fee)三套状态机;execution_unit_id 记执行方归属。 |
| | `biz_meeting_attendee` | 参会人快照,含银行/费用/签字/协议信息,uk_meeting_user 保证一人一会唯一。 |
| | `biz_meeting_material` | 材料/凭证/发票统一单表,material_type + sub_type 分类,发票金额由 biz_meeting_invoice 回写。 |
| | `biz_meeting_invoice` | 发票 OCR 识别记录,1:1 跟随 material,识别金额回写 material.amount。 |
| | `biz_meeting_executor` | 会议执行人员分配(执行方 org 维度)。 |
| | `biz_meeting_supervisor` | 会议监察员分配(支持方 org 维度)。 |
| | `biz_meeting_audit_log` | 审核流水日志,记录每次审核操作及各角色当时展示状态快照。 |
| | `biz_meeting_settlement` | 结算明细,按费用项拆分小计,settlement_type 区分会务/劳务。 |
| | `biz_invitation` | 项目邀请函(模板/二维码/分享 URL)。 |
| | `biz_labor_voucher` | 劳务电子签,记录专家劳务费凭证与审核状态。 |
| | `biz_labor_protocol_template` | 劳务协议模板配置,生成参会人劳务协议的 HTML 模板源。 |
| **内容与消息** | `biz_article` | 平台协议/隐私政策文章(type: agreement/privacy),富文本正文。 |
| | `biz_resource` | 资料库,分类存储项目模板/会议材料/合规文档等文件。 |
| | `biz_message` | 个人站内通知,SSE 推送落库,biz_type/biz_id 关联业务。 |
| | `biz_support_letter` | 项目支持函,记录支持次数。 |
---
## 三、组织与人员域
### 3.1 biz_org — 支持单位表
机构主体,按 `org_type` 区分赞助方/执行方。一个登录账号(`user_id`)在一个类型下对应一个机构(`uk_org_user_type`)。
| 列 | 类型 | 空 | 默认 | 说明 |
|---|---|---|---|---|
| org_id | bigint | NO | | 主键 |
| org_name | varchar(200) | NO | | 机构名称 |
| org_type | varchar(20) | NO | sponsor | sponsor赞助方 / execution执行方 |
| business_nature | varchar(20) | YES | | 企业性质:私营/国营/中外合资/外资/其他 |
| address | varchar(500) | YES | | 单位地址 |
| tax_no | varchar(50) | YES | | 税号/统一社会信用代码 |
| contact_name | varchar(50) | YES | | 联系人 |
| contact_phone | varchar(20) | YES | | 联系电话 |
| intent_count | int | YES | 0 | 意向项目数 |
| status | varchar(20) | YES | 0 | 合作状态:合作中/待签约/已停用 |
| user_id | bigint | YES | | 主账号 sys_user.user_id(注册时自动关联,一用户一类型一公司) |
| del_flag | char(1) | NO | 0 | 删除标志 0正常 1删除 |
| is_synced | tinyint(1) | NO | 0 | 同步来源标记 0注册 1供应商同步 |
| create_by / create_time / update_by / update_time | | | | 公共字段 |
**索引**PRIMARY(org_id)、uk_org_user_type(user_id,org_type)、idx_org_type_name(org_type,org_name)、idx_org_type_status(org_type,status)、idx_org_user_type_name(user_id,org_type,org_name)
**关联**`biz_person.org_id``biz_project.sponsor_org_id``biz_meeting.execution_unit_id``biz_meeting_executor.executor_org_id``biz_meeting_supervisor.sponsor_org_id``biz_project_executor_assign.executor_org_id` 均指向 `org_id`
---
### 3.2 biz_person — 人员表
执行方/支持方员工,与 `sys_user` 登录账号关联,角色由 `unit_type` 推导。
| 列 | 类型 | 空 | 默认 | 说明 |
|---|---|---|---|---|
| person_id | bigint | NO | 0 | 主键(雪花 ID |
| user_id | bigint | YES | | 关联系统用户 IDUNI |
| name | varchar(50) | NO | | 姓名 |
| phone | varchar(20) | NO | | 手机号(UNI |
| org_id | bigint | YES | | 所属公司 IDFK biz_org.org_id |
| department | varchar(100) | YES | | 部门 |
| position | varchar(50) | YES | | 职务 |
| unit_type | varchar(20) | YES | execution | 所属单位类型:execution执行 / sponsor支持 |
| is_synced | tinyint(1) | NO | 0 | 是否供应商同步用户(1=是) |
| create_by / create_time / update_by / update_time | | | | 公共字段 |
**索引**PRIMARY(person_id)、uk_person_phone(phone)、uk_person_user_id(user_id)、idx_person_org_id(org_id)、idx_person_org_role(org_id)、idx_person_unit_type(unit_type)
**关联**`biz_project.create_user_id` JOIN 本表 `user_id` 取姓名。
---
### 3.3 biz_expert — 专家表
医生/专家,含实名、银行、证书及审核信息,`audit_status` 控制登录业务校验。
| 列 | 类型 | 空 | 默认 | 说明 |
|---|---|---|---|---|
| expert_id | bigint | NO | | 专家 ID |
| user_id | bigint | YES | | 关联系统用户 ID |
| name | varchar(50) | NO | | 姓名 |
| phone | varchar(20) | NO | | 手机号(UNI |
| work_unit | varchar(200) | YES | | 工作单位 |
| department | varchar(100) | YES | | 科室 |
| title | varchar(50) | YES | | 职称:主任医师/副主任医师/主治医师/住院医师 |
| region | varchar(50) | YES | | 地区 |
| id_card | varchar(50) | YES | | 证件号码 |
| id_card_attachments | varchar(1000) | YES | | 身份证正反面 URLCSV |
| bank_card | varchar(50) | YES | | 银行卡号 |
| bank_name | varchar(100) | YES | | 银行名称 |
| bank_branch | varchar(100) | YES | | 开户行(支行) |
| bank_region | varchar(100) | YES | | 开户行省/市(/ 分隔) |
| bank_address | varchar(200) | YES | | 开户行地址 |
| practice_cert_url | varchar(500) | YES | | 执业证书 URL |
| title_cert_url | varchar(500) | YES | | 职称证明 URL |
| audit_status | varchar(20) | YES | 1 | 审核状态:0未提交 1待审核 2通过 3拒绝 |
| audit_opinion | varchar(500) | YES | | 审核意见 |
| audit_by | varchar(64) | YES | | 审核人 |
| audit_time | datetime | YES | | 审核时间 |
| status | char(1) | YES | Y | 状态 Y正常 N禁用 |
| create_by / create_time / update_by / update_time | | | | 公共字段 |
**索引**PRIMARY(expert_id)、uk_expert_phone(phone)、idx_expert_audit(audit_status)
---
### 3.4 biz_department — 科室字典
| 列 | 类型 | 空 | 默认 | 说明 |
|---|---|---|---|---|
| dept_id | bigint | NO | | 主键 |
| name | varchar(64) | NO | | 名称 |
| sort | int | YES | 0 | 排序 |
| status | char(1) | YES | Y | Y=启用 N=停用 |
| create_by / create_time / update_by / update_time | | | | 公共字段 |
**索引**PRIMARY(dept_id)
---
### 3.5 biz_doctor_title — 医生职称字典
| 列 | 类型 | 空 | 默认 | 说明 |
|---|---|---|---|---|
| title_id | bigint | NO | | 主键 |
| name | varchar(64) | NO | | 名称 |
| sort | int | YES | 0 | 排序 |
| status | char(1) | YES | 0 | 状态 |
| create_by / create_time / update_by / update_time | | | | 公共字段 |
**索引**PRIMARY(title_id)
---
## 四、项目域
### 4.1 biz_project — 项目表
项目核心表。金额三列(已支付/可用)为查询时实时算,`done_sessions`/`todo_sessions` 实时聚合自会议。`is_published` 区分保存/发布公示。
| 列 | 类型 | 空 | 默认 | 说明 |
|---|---|---|---|---|
| project_id | bigint | NO | | 项目 ID |
| project_no | varchar(50) | NO | | 项目编号(如 ZH-2026-658UNI |
| project_name | varchar(200) | NO | | 项目名称 |
| project_form | varchar(20) | YES | | 项目形式:线上/线下/线上+线下/其他 |
| total_sessions | int | YES | 0 | 总场次/总期数 |
| done_sessions | int | YES | 0 | 已执行(实时聚合) |
| todo_sessions | int | YES | 0 | 未执行(实时聚合) |
| total_amount | decimal(15,2) | YES | 0.00 | 总金额 |
| available_amount | decimal(15,2) | YES | 0.00 | 可用金额 |
| paid_labor_amount | decimal(15,2) | YES | 0.00 | 已支付劳务费 |
| paid_meeting_amount | decimal(15,2) | YES | 0.00 | 已支付会务费 |
| manage_fee | decimal(15,2) | YES | 0.00 | 管理费及税金 |
| role_labor | text | YES | | 角色劳务 JSON`[{role, customName, amount}]` |
| is_finished | char(1) | YES | N | 是否结题 N否 Y是 |
| is_settled | char(1) | YES | N | 是否结算 N否 Y是 |
| is_published | char(1) | NO | N | 是否已发布公示 N否 Y是 |
| publish_time | datetime | YES | | 发布时间 |
| manager_score | decimal(3,1) | YES | | 合规管理员评均分 |
| lead_user_id | bigint | YES | | 项目负责人 user_idrole_type=manager |
| is_bid_project | char(1) | YES | N | 是否招标项目 Y/N |
| start_time | datetime | YES | | 项目开始时间 |
| end_time | datetime | YES | | 项目结束时间 |
| submit_deadline_days | int | YES | 0 | 提交材料截止天数 |
| support_contract_url | varchar(500) | YES | | 支持合同文件 URL |
| execute_contract_url | varchar(500) | YES | | 执行合同文件 URL |
| invitation_url | varchar(500) | YES | | 邀请函文件 URL |
| support_letter_url | varchar(500) | YES | | 支持函文件 URL |
| publish_url | varchar(500) | YES | | 已发布公告 URL |
| schedule_url | varchar(500) | YES | | 日程文件 URL |
| create_user_id | bigint | YES | | 创建人 user_idJOIN biz_person 取 name |
| sponsor_score | decimal(3,1) | YES | | 支持方评均分 |
| sponsor_org_id | bigint | YES | | 支持方企业 org_id |
| open_deadline | date | YES | | 开通截止时间 |
| open_status | char(1) | NO | N | 开通状态 Y/N |
| is_deleted | tinyint | NO | 0 | 软删除 |
| create_by / create_time / update_by / update_time | | | | 公共字段 |
**索引**PRIMARY(project_id)、uk_project_no(project_no)、idx_project_form(project_form)、idx_is_finished(is_finished)、idx_is_settled(is_settled)、idx_start_end_time(start_time,end_time)
**关联**:一项目多会议(`biz_meeting.project_id`)、多公示(`biz_publicity.project_id`)、多分配(`biz_project_assign` / `biz_project_sponsor_assign` / `biz_project_executor_assign`)、多评分(`biz_project_rating.project_id`)。
---
### 4.2 biz_project_assign — 项目-执行单位分配表
项目对执行单位的分场/金额分配。
| 列 | 类型 | 空 | 默认 | 说明 |
|---|---|---|---|---|
| assign_id | bigint | NO | | 分配 ID |
| project_id | bigint | NO | | 项目 ID |
| execution_unit_id | bigint | NO | | 执行单位 ID |
| sessions | int | YES | 0 | 分配场数 |
| amount | decimal(15,2) | YES | 0.00 | 总金额 |
| remark | varchar(500) | YES | | 备注 |
| status | char(1) | YES | 0 | 状态 0正常 1已撤销 |
| is_deleted | tinyint | NO | 0 | 软删除 |
| create_by / create_time / update_by / update_time | | | | 公共字段 |
**索引**PRIMARY(assign_id)、uk_project_unit(project_id,execution_unit_id)、idx_assign_project(project_id)、idx_assign_unit(execution_unit_id)、idx_assign_exec_user_project(project_id)
---
### 4.3 biz_project_executor_assign — 项目-执行方-执行人分配
执行方内部把项目分配给具体执行人(staff)。
| 列 | 类型 | 空 | 默认 | 说明 |
|---|---|---|---|---|
| id | bigint | NO | | 主键 |
| project_id | bigint | NO | | 项目 ID |
| staff_user_id | bigint | YES | | 执行人 user_id(被分配) |
| assign_desc | varchar(500) | YES | | 分配说明 |
| assign_points | varchar(500) | YES | | 分配要点 |
| executor_org_id | bigint | YES | | 执行方企业 org_id |
| is_deleted | tinyint | YES | 0 | 软删标记 0否 1是 |
| create_by / create_time | | | | 公共字段 |
**索引**PRIMARY(id)、idx_project_id(project_id)
---
### 4.4 biz_project_sponsor_assign — 项目-赞助方-监察员分配记录
赞助方给项目分配监察员。
| 列 | 类型 | 空 | 默认 | 说明 |
|---|---|---|---|---|
| id | bigint | NO | | 主键 |
| project_id | bigint | NO | | biz_project.project_id |
| monitor_user_id | bigint | NO | | sys_user.user_id(分配给的监察员) |
| sponsor_org_id | bigint | YES | | 支持方企业 org_id |
| assign_desc | text | YES | | 分配说明 |
| assign_points | text | YES | | 监察要点 |
| is_deleted | tinyint | NO | 0 | 软删除 |
| create_by / create_time | | | | 公共字段 |
**索引**PRIMARY(id)、idx_monitor_user_id(monitor_user_id)
---
### 4.5 biz_project_plan — 项目策划方案表
策划方案投稿/审核。方向关联 `biz_special_plan`,审核通过后可关联项目。
| 列 | 类型 | 空 | 默认 | 说明 |
|---|---|---|---|---|
| plan_id | bigint | NO | | 策划方案 ID |
| plan_name | varchar(200) | NO | | 策划方案名称 |
| plan_direction | varchar(500) | YES | | 项目方向 |
| plan_direction_id | bigint | YES | | 项目方向-专项计划 ID |
| plan_category | varchar(50) | YES | | 项目类别:会议项目/科研项目/学术项目/指南/对外交流/共识 |
| project_form | varchar(20) | YES | | 项目形式 |
| design_file_url | varchar(500) | YES | | 设计文件 URL |
| subject_direction | varchar(100) | YES | | 学科方向 |
| status | varchar(20) | YES | 1 | BizAuditStatusEnum1待审核 2通过 3拒绝 |
| is_settled | char(1) | YES | N | 是否结算 N否 Y是 |
| project_no | varchar(50) | YES | | 关联项目编号 |
| remark | varchar(500) | YES | | 备注 |
| audit_opinion | varchar(500) | YES | | 审核意见 |
| audit_by | varchar(64) | YES | | 审核人 |
| audit_time | datetime | YES | | 审核时间 |
| submit_time | datetime | YES | | 提交时间 |
| submitter_id | bigint | YES | | 投稿人用户 ID(医生侧投稿归属,经理/admin 录入为 NULL |
| is_deleted | tinyint | NO | 0 | 软删除 |
| create_by / create_time / update_by / update_time | | | | 公共字段 |
**索引**PRIMARY(plan_id)、idx_plan_project_no(project_no)、idx_plan_status(status)、idx_plan_submitter(submitter_id)
---
### 4.6 biz_special_plan — 专项计划表
策划方案“项目方向”选项来源。
| 列 | 类型 | 空 | 默认 | 说明 |
|---|---|---|---|---|
| id | bigint | NO | | 专项计划 ID |
| title | varchar(200) | NO | | 专项计划名称 |
| content_type | varchar(20) | NO | rich | 内容类型 rich=富文本 file=上传文件 |
| content | mediumtext | YES | | 富文本内容 |
| file_url | varchar(500) | YES | | 上传文件 URLPDF/PNG |
| sort_order | int | YES | 0 | 排序,从小到大 |
| status | char(1) | YES | 0 | 状态 0启用 1停用 |
| remark | varchar(500) | YES | | 备注 |
| create_by / create_time / update_by / update_time | | | | 公共字段 |
**索引**PRIMARY(id)、idx_special_plan_status(status,sort_order)、idx_special_plan_create_time(create_time)
---
### 4.7 biz_project_rating — 项目评分表
合规/执行方/赞助方对项目的四维评分,`uk_rating` 保证同一评分人对同一项目唯一。
| 列 | 类型 | 空 | 默认 | 说明 |
|---|---|---|---|---|
| rating_id | bigint | NO | | 主键(雪花 ID |
| project_id | bigint | NO | | 项目 ID |
| project_no | varchar(50) | YES | | 项目编号 |
| project_name | varchar(200) | YES | | 项目名称 |
| rater_id | bigint | YES | | 评分人 ID |
| rater_name | varchar(50) | YES | | 评分人姓名 |
| rater_role | varchar(20) | YES | | 评分人角色 compliance/executor/sponsor |
| quality_score | int | YES | 0 | 履约质量 1-5 |
| response_score | int | YES | 0 | 时效响应 1-5 |
| cooperation_score | int | YES | 0 | 配合度 1-5 |
| compliance_score | int | YES | 0 | 合规安全 1-5 |
| remark | varchar(500) | YES | | 评价备注 |
| rating_time | datetime | YES | | 评分时间 |
| is_deleted | tinyint | NO | 0 | 软删除 |
| create_by / create_time / update_by / update_time | | | | 公共字段 |
**索引**PRIMARY(rating_id)、uk_rating(project_id,rater_id,rater_role)、idx_pr_project(project_id)、idx_pr_rater(rater_id)、idx_pr_rating_time(rating_time)
---
## 五、公示与意向域
### 5.1 biz_publicity — 项目公示/公告
项目公示内容(邀请函/支持函/通知/议程)。`announce_type` 区分类型。
| 列 | 类型 | 空 | 默认 | 说明 |
|---|---|---|---|---|
| id | bigint | NO | | 主键 |
| project_id | bigint | NO | | 项目 ID |
| project_no | varchar(50) | YES | | 项目编号(冗余) |
| project_name | varchar(200) | YES | | 项目名称(冗余) |
| announce_type | varchar(20) | YES | | 公告类型:invitation/support/notice/agenda |
| title | varchar(200) | YES | | 公告标题 |
| file_url | varchar(500) | YES | | 公告文件 URL |
| publish_time | datetime | YES | | 发布时间 |
| remark | varchar(500) | YES | | 备注 |
| status | char(1) | YES | 1 | 状态(0保存 1发布) |
| rating_time | datetime | YES | | 发布时间 |
| create_by / create_time / update_by / update_time | | | | 公共字段 |
**索引**PRIMARY(id)、idx_pub_project(project_id)、idx_pub_project_no(project_no)、idx_pub_announce_type(announce_type)、idx_pub_title(title)、idx_pub_create_time(create_time)
---
### 5.2 / 5.3 biz_publicity_support_intent / biz_publicity_execution_intent — 公示页意向(匿名)
公示页两个匿名意向按钮,独立建表,允许 `user_id=NULL`(不强制登录)。两表结构一致。
| 列 | 类型 | 空 | 默认 | 说明 |
|---|---|---|---|---|
| intent_id | bigint | NO | | 意向 ID |
| project_id | bigint | YES | | 项目 ID |
| project_no | varchar(64) | YES | | 项目编号(冗余) |
| project_name | varchar(255) | YES | | 项目名称(冗余) |
| user_id | bigint | YES | | 用户 ID(按 phone 关联) |
| name | varchar(50) | YES | | 姓名 |
| phone | varchar(20) | YES | | 手机号 |
| work_unit | varchar(200) | YES | | 工作单位 |
| department | varchar(100) | YES | | 部门 |
| position | varchar(100) | YES | | 职务 |
| source | varchar(32) | YES | publicity | 来源 publicity=公示页 |
| intent_status | varchar(32) | YES | 待审核 | 状态:待审核/已通过/已拒绝 |
| remark | varchar(500) | YES | | 备注 |
| create_by / create_time / update_by / update_time | | | | 公共字段 |
**索引**PRIMARY(intent_id)、idx_project_phone(project_id,phone,source)、idx_user_id(user_id)
---
### 5.4 biz_execution_intent — 执行意向表
登录视角的执行意向(强绑用户),用 `del_flag` 软删(参会人新增/导入时建幽灵占位记录)。
| 列 | 类型 | 空 | 默认 | 说明 |
|---|---|---|---|---|
| intent_id | bigint | NO | 0 | 主键(雪花 ID |
| user_id | bigint | YES | | 用户 IDsys_user.user_id |
| project_no | varchar(50) | YES | | 意向项目编号 |
| project_name | varchar(200) | YES | | 意向项目名称 |
| name | varchar(50) | NO | | 姓名 |
| work_unit | varchar(200) | YES | | 工作单位名称 |
| department | varchar(100) | YES | | 部门 |
| position | varchar(50) | YES | | 职务 |
| phone | varchar(20) | NO | | 手机号 |
| onboard_status | varchar(20) | YES | 未入库 | 是否入库:已入库/未入库 |
| del_flag | char(1) | NO | 0 | 删除标记 0正常 1删除 |
| create_time / create_by / update_by / update_time | | | | 公共字段 |
**索引**PRIMARY(intent_id)、idx_user_id(user_id)、idx_ei_phone(phone)、idx_ei_project(project_no)、idx_ei_create_time(create_time)
---
## 六、会议域
### 6.1 biz_meeting — 会议表
会议核心表,含阶段流转、材料审核、费用汇总等状态机。
| 列 | 类型 | 空 | 默认 | 说明 |
|---|---|---|---|---|
| meeting_id | bigint | NO | | 会议 ID |
| business_id | varchar(50) | NO | | 业务会议 IDUNI,如 5643145673 |
| project_id | bigint | YES | | 所属项目 ID |
| execution_unit_id | bigint | YES | | 执行方归属(biz_org.org_id |
| project_no | varchar(50) | YES | | 项目编号 |
| project_name | varchar(200) | YES | | 项目名称 |
| meeting_name | varchar(200) | YES | | 会议名称 |
| period_no | int | YES | 1 | 期数 |
| total_periods | int | YES | 1 | 总期数 |
| project_form | varchar(20) | YES | | 项目形式 |
| start_time | datetime | YES | | 会议开始时间 |
| end_time | datetime | YES | | 会议结束时间 |
| address | varchar(500) | YES | | 会议地址 |
| current_stage | varchar(20) | YES | 0 | 当前阶段:未执行/待监管/监管通过/待整改/待结算/已结算/已结题 |
| supervision_opinion | varchar(500) | YES | | 监察意见 |
| supervision_by | varchar(64) | YES | | 监察人 |
| supervision_time | datetime | YES | | 监察时间 |
| invitation_url | varchar(500) | YES | | 邀请函 URL |
| schedule_url | varchar(500) | YES | | 日程海报 URL |
| poster_url | varchar(500) | YES | | 生成的海报 URL |
| labor_signed | char(1) | YES | N | 签署劳务 N未签 Y已签 |
| is_executed | tinyint | NO | 0 | 是否已执行 |
| execute_time | datetime | YES | | 执行时间 |
| material_audit_stage | varchar(32) | YES | NOT_SUBMITTED | 材料审核阶段 |
| material_audit_time | datetime | YES | | 材料最近审核时间 |
| material_compliance_approved | tinyint | NO | 0 | 材料合规是否已通过(区分 SUBMITTED 内部层级) |
| labor_audit_stage | varchar(32) | YES | NOT_SUBMITTED | 劳务材料审核阶段 |
| service_audit_stage | varchar(32) | YES | NOT_SUBMITTED | 会务材料审核阶段 |
| labor_compliance_approved | tinyint | NO | 0 | 劳务材料合规(一级)是否通过 |
| service_compliance_approved | tinyint | NO | 0 | 会务材料合规(一级)是否通过 |
| submit_deadline | datetime | YES | | 提交截止时间 |
| is_settled | tinyint | NO | 0 | 是否结算 0否 1是 |
| settle_time | datetime | YES | | 结算时间 |
| is_finished | tinyint | NO | 0 | 是否完结 0否 1是 |
| finish_time | datetime | YES | | 完结时间 |
| is_frozen | tinyint | NO | 0 | 是否冻结 0否 1是 |
| freeze_time | datetime | YES | | 冻结时间 |
| labor_fee | decimal(15,2) | NO | 0.00 | 劳务费用(应发金额合计) |
| meeting_fee | decimal(15,2) | NO | 0.00 | 会务费用(总发票覆盖 SUB) |
| total_fee | decimal(15,2) | NO | 0.00 | 总费用 = 劳务 + 会务 |
| fee_calc_status | tinyint | NO | 0 | 费用汇总状态 0未汇总 1已汇总 |
| remark | varchar(500) | YES | | 备注 |
| is_deleted | tinyint | YES | 0 | 软删除 0否 1是 |
| create_by / create_time / update_by / update_time | | | | 公共字段 |
**索引**PRIMARY(meeting_id)、uk_business_id(business_id)、idx_meeting_project(project_id)、idx_meeting_stage(current_stage)
**关联**`biz_meeting_attendee` / `biz_meeting_material` / `biz_meeting_audit_log` / `biz_meeting_settlement` / `biz_labor_voucher` 均以 `meeting_id` 关联。
---
### 6.2 biz_meeting_attendee — 会议参会人
参会人(专家)快照,含银行/费用/签字/协议信息。`uk_meeting_user` 保证一人一会唯一。
| 列 | 类型 | 空 | 默认 | 说明 |
|---|---|---|---|---|
| id | bigint | NO | | 主键 |
| meeting_id | bigint | NO | | 会议 IDFK biz_meeting.meeting_id |
| user_id | bigint | NO | | 参会人 user_idFK sys_user.user_id |
| name | varchar(50) | YES | | 姓名(快照) |
| phone | varchar(20) | YES | | 手机号(快照) |
| work_unit | varchar(200) | YES | | 工作单位(快照) |
| department | varchar(100) | YES | | 科室(快照) |
| title | varchar(50) | YES | | 医务职称(快照) |
| id_card | varchar(50) | YES | | 身份证号(快照) |
| bank_card | varchar(30) | YES | | 银行卡号(快照) |
| bank_name | varchar(100) | YES | | 银行名称(快照) |
| bank_branch | varchar(100) | YES | | 开户银行支行(快照) |
| bank_region | varchar(100) | YES | | 开户行省/市(/ 分隔) |
| bank_address | varchar(200) | YES | | 开户地址(快照) |
| account_name | varchar(100) | YES | | 账户名称/持卡人姓名(快照) |
| id_card_attachments | varchar(1000) | YES | | 身份证正反面 URL(逗号分隔) |
| labor_form | varchar(500) | YES | | 劳务形式(checkboxOther,逗号分隔) |
| fee_pre_tax | decimal(15,2) | YES | | 税前费用 |
| tax | decimal(15,2) | YES | | 税费 |
| fee | decimal(15,2) | YES | | 税后费用(实际支付) |
| vat_and_surcharge | decimal(15,2) | YES | | 增值税及附加成本 |
| summary | varchar(500) | YES | | 摘要 |
| on_site_photos | text | YES | | 现场照片 |
| signed_at | datetime | YES | | 签字时间 |
| signed_ip | varchar(64) | YES | | 签字 IP |
| handsign | longtext | YES | | 手写签名 Base64 |
| labor_protocol | varchar(500) | YES | | 劳务协议 URLOSS |
| labor_protocol_masked | varchar(500) | YES | | 脱敏版协议 URL(身份证/银行卡用 * 替换) |
| is_esigned | tinyint(1) | NO | 0 | 是否已电子签 |
| is_invited | tinyint(1) | NO | 0 | 是否已邀请参会 0否 1是 |
| invitation_url | varchar(512) | YES | | 盖章后个性化邀请函 URL |
| is_deleted | tinyint | YES | 0 | 软删除标记 |
| create_by / create_time / update_by / update_time | | | | 公共字段 |
**索引**PRIMARY(id)、uk_meeting_user(meeting_id,user_id)、idx_user_id(user_id)
---
### 6.3 biz_meeting_material — 会议材料(单表)
材料/凭证/发票统一单表,靠 `material_type` + `sub_type` 分类。发票金额通过 `biz_meeting_invoice` 回写。
| 列 | 类型 | 空 | 默认 | 说明 |
|---|---|---|---|---|
| id | bigint | NO | | 记录 ID |
| meeting_id | bigint | NO | | 会议 ID |
| material_type | varchar(32) | NO | | SERVICE=会务材料 LABOR=劳务材料 SERVICE_VOUCHER=会务凭证 LABOR_VOUCHER=劳务凭证 |
| sub_type | varchar(32) | NO | | M_MATERIAL/M_HOTEL/M_TRAFFIC_BIG/M_TRAFFIC_SMALL/M_EXECUTION/M_DESIGN/M_OTHER/M_SETTLEMENT/M_INVOICE/L_DETAIL/L_AGREEMENT/SV_PAYMENT/LV_PAYMENT |
| file_name | varchar(255) | YES | | 文件名称 |
| oss_url | varchar(500) | NO | | OSS URL |
| amount | decimal(15,2) | YES | 0.00 | 金额(发票专用,其他类型=0) |
| creator_id | bigint | YES | | 提交人 user_id |
| fee_status | tinyint | NO | 1 | 该材料发票金额是否已计算 0未计算 1已计算 |
| extra_oss_url | varchar(500) | YES | | 脱敏版 URL(签到表高斯模糊) |
| masked_json | text | YES | | 电子签到表解析后脱敏 JSON(表头+行,sponsor 预览用) |
| is_deleted | tinyint | YES | 0 | 软删除标记 |
| create_time | datetime | YES | | 创建时间 |
**索引**PRIMARY(id)、uk_meeting_type_sub(meeting_id,material_type,sub_type)、idx_meeting_subtype(meeting_id,sub_type)
---
### 6.4 biz_meeting_invoice — 会议发票识别记录
1:1 跟随 material(仅 `is_invoice=1` 时插入),OCR 识别结果回写 material.amount。
| 列 | 类型 | 空 | 默认 | 说明 |
|---|---|---|---|---|
| id | bigint | NO | | 记录 ID |
| meeting_id | bigint | NO | | 会议 ID |
| material_id | bigint | NO | | FK → biz_meeting_material.id |
| oss_url | varchar(500) | NO | | OSS URL |
| invoice_type | varchar(16) | YES | SUB | MAIN=主发票 SUB=子发票 |
| amount | decimal(15,2) | YES | 0.00 | 价税合计(OCR 识别,同时回写 material |
| creator_id | bigint | YES | | 提交人 user_id |
| recognize_status | varchar(16) | NO | RECOGNIZED | UNRECOGNIZED/RECOGNIZED/FAILED |
| error_msg | varchar(500) | YES | | 识别失败原因 |
| source_filename | varchar(255) | YES | | 原始文件名(zip 解压时记录) |
| invoice_no | varchar(32) | YES | | 发票号码 |
| invoice_date | varchar(16) | YES | | 开票日期 |
| create_time / update_time | | | | 公共字段 |
**索引**PRIMARY(id)、idx_material(material_id)、idx_meeting(meeting_id)、idx_rec_status(recognize_status,create_time)
---
### 6.5 biz_meeting_executor — 会议-执行人员(1:N
| 列 | 类型 | 空 | 默认 | 说明 |
|---|---|---|---|---|
| id | bigint | NO | | 记录 ID |
| meeting_id | bigint | NO | | 会议 IDUNI |
| assigned_by | bigint | YES | | 分配人 user_id |
| executor_org_id | bigint | YES | | 执行方企业 org_id |
| is_deleted | tinyint | YES | 0 | 软删除标记 |
| create_time | datetime | YES | | 创建时间 |
**索引**PRIMARY(id)、uk_meeting_user(meeting_id)
---
### 6.6 biz_meeting_supervisor — 会议-监察员(1:N
| 列 | 类型 | 空 | 默认 | 说明 |
|---|---|---|---|---|
| id | bigint | NO | | 记录 ID |
| meeting_id | bigint | NO | | 会议 IDUNI |
| assigned_by | bigint | YES | | 分配人 user_id |
| sponsor_org_id | bigint | YES | | 支持方企业 org_id |
| is_deleted | tinyint | YES | 0 | 软删除标记 |
| create_time | datetime | YES | | 创建时间 |
**索引**PRIMARY(id)、uk_meeting_user(meeting_id)
---
### 6.7 biz_meeting_audit_log — 会议审核流程日志
记录每次审核操作及各角色当时展示状态(快照)。
| 列 | 类型 | 空 | 默认 | 说明 |
|---|---|---|---|---|
| id | bigint | NO | | 记录 ID |
| meeting_id | bigint | NO | | 会议 ID |
| auditor | varchar(64) | YES | | 审核人(username 或人工填入) |
| opinion | varchar(2000) | YES | | 审核意见 |
| current_stage | varchar(32) | YES | | 当前阶段(INIT / …) |
| audit_type | varchar(16) | YES | | MATERIAL/VOUCHER |
| audit_result | varchar(16) | YES | | APPROVED/REJECTED |
| material_type | varchar(16) | YES | | 材料类型 LABOR/SERVICENULL=会议级操作 |
| executor_stage | varchar(32) | YES | | 执行方当时展示状态 |
| sponsor_stage | varchar(32) | YES | | 支持方当时展示状态 |
| manager_stage | varchar(32) | YES | | 合规当时展示状态 |
| admin_stage | varchar(32) | YES | | 管理员当时展示状态 |
| audit_time | datetime | YES | | 审核时间 |
| is_deleted | tinyint | YES | 0 | 软删除标记 |
| create_time | datetime | YES | | 创建时间 |
**索引**PRIMARY(id)、idx_meeting(meeting_id)、idx_meeting_stage(meeting_id,current_stage)
---
### 6.8 biz_meeting_settlement — 会议结算明细
按费用项拆分的小计,区分会务/劳务两类。
| 列 | 类型 | 空 | 默认 | 说明 |
|---|---|---|---|---|
| id | bigint | NO | | 主键 |
| meeting_id | bigint | YES | | 会议 ID |
| project_no | varchar(50) | YES | | 项目编号 |
| project_name | varchar(200) | YES | | 项目名称 |
| exec_unit | varchar(200) | YES | | 执行单位 |
| fee_type | varchar(50) | NO | | 费用项:场地租赁/设备租赁/餐饮服务/资料印刷/其他杂费/专家劳务费/评审费/差旅费/材料费/其他费用 |
| unit_price | decimal(15,2) | YES | 0.00 | 单价 |
| qty | int | YES | 0 | 数量 |
| subtotal | decimal(15,2) | YES | 0.00 | 小计 |
| remark | varchar(500) | YES | | 备注 |
| audit_status | varchar(20) | YES | 0 | 审核状态:已审核/待审核 |
| settlement_type | varchar(20) | YES | meeting | meeting会务 / labor劳务 |
**索引**PRIMARY(id)、idx_st_meeting(meeting_id)、idx_st_type(settlement_type)
---
### 6.9 biz_invitation — 邀请函表
| 列 | 类型 | 空 | 默认 | 说明 |
|---|---|---|---|---|
| invite_id | bigint | NO | 0 | 主键(雪花 ID |
| project_id | bigint | YES | | 项目 ID |
| project_no | varchar(50) | YES | | 项目编号 |
| title | varchar(200) | YES | | 标题 |
| template_url | varchar(500) | YES | | 邀请函模板 URL |
| qr_code_url | varchar(500) | YES | | 二维码 URL |
| share_url | varchar(500) | YES | | 分享 URL |
| publish_time | datetime | YES | | 发布时间 |
| remark | varchar(500) | YES | | 备注 |
| create_by / create_time / update_by / update_time | | | | 公共字段 |
**索引**PRIMARY(invite_id)、idx_iv_project(project_id)、idx_iv_project_no(project_no)
---
### 6.10 biz_labor_voucher — 劳务电子签表
| 列 | 类型 | 空 | 默认 | 说明 |
|---|---|---|---|---|
| voucher_id | bigint | NO | 0 | 主键(雪花 ID |
| voucher_no | varchar(50) | NO | | 凭证编号(如 LV-2026-001UNI |
| meeting_id | bigint | YES | | 会议 ID |
| meeting_name | varchar(200) | YES | | 会议名称 |
| expert_name | varchar(50) | YES | | 专家姓名 |
| id_card | varchar(50) | YES | | 身份证号 |
| bank_account | varchar(50) | YES | | 银行账号 |
| amount | decimal(15,2) | YES | 0.00 | 金额 |
| submit_date | datetime | YES | | 提交日期 |
| audit_status | varchar(20) | YES | 0 | 审核状态:待审核/已审核/已驳回 |
| audit_opinion | varchar(500) | YES | | 审核意见 |
| audit_by | varchar(64) | YES | | 审核人 |
| audit_time | datetime | YES | | 审核时间 |
| create_by / create_time / update_by / update_time | | | | 公共字段 |
**索引**PRIMARY(voucher_id)、uk_voucher_no(voucher_no)、idx_lv_meeting(meeting_id)、idx_lv_audit_status(audit_status)
---
### 6.11 biz_labor_protocol_template — 劳务协议模板配置
协议模板 HTML(含占位符),用于生成参会人劳务协议。
| 列 | 类型 | 空 | 默认 | 说明 |
|---|---|---|---|---|
| id | bigint | NO | | 主键 |
| template_name | varchar(100) | NO | | 模板名(前端下拉显示) |
| template_content | longtext | NO | | 模板 HTML(含占位符 {name} {phone} 等) |
| default_flag | char(1) | YES | N | 默认标记 Y=默认 N=非默认 |
| sort_order | int | YES | 0 | 排序(前端下拉顺序) |
| status | char(1) | YES | Y | 状态 Y=启用 N=禁用 |
| remark | varchar(500) | YES | | 备注 |
| create_by / create_time / update_by / update_time | | | | 公共字段 |
**索引**PRIMARY(id)、idx_default_flag(default_flag)、idx_status(status)
---
## 七、内容与消息域
### 7.1 biz_article — 平台协议/隐私政策文章
| 列 | 类型 | 空 | 默认 | 说明 |
|---|---|---|---|---|
| id | bigint | NO | | 文章 ID |
| title | varchar(200) | NO | | 标题 |
| type | varchar(20) | NO | | agreement=用户协议 privacy=隐私政策 |
| content | mediumtext | NO | | 正文(HTML/富文本) |
| status | char(1) | YES | Y | 状态 Y启用 N停用 |
| remark | varchar(500) | YES | | 备注 |
| create_by / create_time / update_by / update_time | | | | 公共字段 |
**索引**PRIMARY(id)、idx_article_create_time(create_time)、idx_biz_article_type(type,status)
---
### 7.2 biz_resource — 资料库表
| 列 | 类型 | 空 | 默认 | 说明 |
|---|---|---|---|---|
| resource_id | bigint | NO | 0 | 主键(雪花 ID |
| name | varchar(200) | NO | | 资料名称 |
| category | varchar(50) | YES | | 分类:项目模板/会议材料/合规文档/专家库/培训资料/表单模板 |
| file_size | varchar(20) | YES | | 文件大小 |
| file_url | varchar(500) | YES | | 文件 URL |
| uploader_id | bigint | YES | | 上传人 ID |
| uploader_name | varchar(50) | YES | | 上传人 |
| upload_time | datetime | YES | | 上传时间 |
| status | varchar(20) | YES | 0 | 状态:已发布/草稿 |
| create_by / create_time / update_by / update_time | | | | 公共字段 |
**索引**PRIMARY(resource_id)、idx_res_name(name)、idx_res_category(category)、idx_res_status(status)
---
### 7.3 biz_message — 个人通知消息表
| 列 | 类型 | 空 | 默认 | 说明 |
|---|---|---|---|---|
| msg_id | bigint | NO | | 消息 ID |
| receiver_user_id | bigint | NO | | 接收人 user_id |
| msg_type | char(1) | YES | 1 | 类型 1通知 2待办 3系统 |
| title | varchar(200) | NO | | 标题 |
| content | text | YES | | 消息内容 |
| biz_type | varchar(50) | YES | | 业务类型 auth/project/meeting/agreement |
| biz_id | bigint | YES | | 关联业务 ID |
| is_read | char(1) | YES | 0 | 已读 0否 1是 |
| read_time | datetime | YES | | 已读时间 |
| create_by | varchar(64) | YES | | 发送人 |
| create_time / update_by / update_time | | | | 公共字段 |
**索引**PRIMARY(msg_id)、idx_receiver_time(receiver_user_id,create_time)、idx_receiver_unread(receiver_user_id,is_read)
---
### 7.4 biz_support_letter — 支持函表
| 列 | 类型 | 空 | 默认 | 说明 |
|---|---|---|---|---|
| letter_id | bigint | NO | 0 | 主键(雪花 ID |
| project_id | bigint | YES | | 项目 ID |
| project_no | varchar(50) | YES | | 项目编号 |
| title | varchar(200) | YES | | 标题 |
| file_url | varchar(500) | YES | | 支持函图片 URL |
| publish_time | datetime | YES | | 发布时间 |
| support_count | int | YES | 0 | 支持次数 |
| create_by / create_time / update_by / update_time | | | | 公共字段 |
**索引**PRIMARY(letter_id)、idx_sl_project(project_id)、idx_sl_project_no(project_no)
---
## 八、核心关系速览(逻辑外键)
```
biz_org (org_id) ──┬──< biz_person (org_id)
├──< biz_project.sponsor_org_id
├──< biz_meeting.execution_unit_id
├──< biz_meeting_executor.executor_org_id
├──< biz_meeting_supervisor.sponsor_org_id
├──< biz_project_executor_assign.executor_org_id
└──< biz_project_assign.execution_unit_id
biz_project (project_id) ──┬──< biz_meeting (project_id)
├──< biz_project_assign (project_id)
├──< biz_project_sponsor_assign (project_id)
├──< biz_project_executor_assign (project_id)
├──< biz_project_rating (project_id)
├──< biz_publicity (project_id)
├──< biz_publicity_support_intent (project_id)
├──< biz_publicity_execution_intent (project_id)
├──< biz_invitation (project_id)
└──< biz_support_letter (project_id)
biz_special_plan (id) ──< biz_project_plan.plan_direction_id
biz_meeting (meeting_id) ──┬──< biz_meeting_attendee (meeting_id)
├──< biz_meeting_material (meeting_id)
├──< biz_meeting_audit_log (meeting_id)
├──< biz_meeting_settlement (meeting_id)
├──< biz_labor_voucher (meeting_id)
├──< biz_meeting_executor (meeting_id)
└──< biz_meeting_supervisor (meeting_id)
biz_meeting_material (id) ──< biz_meeting_invoice.material_id
```
---
## 九、ER 图(Mermaid
> 说明:以下用 Mermaid `erDiagram`(乌鸦脚)表示。图中只列出主键 / 唯一键 / 外键及少数关键列,`user_id` 均逻辑指向 `sys_user.user_id`(系统表,非本档范围)。`||` 一,`o{` 零或多,`o|` 零或一。
### 9.1 组织与人员域
```mermaid
erDiagram
SYS_USER ||--o| BIZ_PERSON : "user_id 唯一关联"
SYS_USER ||--o| BIZ_EXPERT : "user_id 关联"
SYS_USER ||--o{ BIZ_ORG : "主账号 user_id"
BIZ_ORG ||--o{ BIZ_PERSON : "org_id 归属"
SYS_USER {
bigint user_id PK
varchar user_name
varchar role_type
}
BIZ_ORG {
bigint org_id PK
varchar org_name
varchar org_type
bigint user_id
}
BIZ_PERSON {
bigint person_id PK
bigint user_id UK
varchar name
varchar phone UK
bigint org_id FK
varchar unit_type
}
BIZ_EXPERT {
bigint expert_id PK
bigint user_id
varchar name
varchar phone UK
varchar audit_status
}
BIZ_DEPARTMENT {
bigint dept_id PK
varchar name
}
BIZ_DOCTOR_TITLE {
bigint title_id PK
varchar name
}
```
### 9.2 项目域
```mermaid
erDiagram
BIZ_ORG ||--o{ BIZ_PROJECT : "sponsor_org_id 支持方"
BIZ_PROJECT ||--o{ BIZ_PROJECT_ASSIGN : "project_id"
BIZ_PROJECT ||--o{ BIZ_PROJECT_EXECUTOR_ASSIGN : "project_id"
BIZ_PROJECT ||--o{ BIZ_PROJECT_SPONSOR_ASSIGN : "project_id"
BIZ_PROJECT ||--o{ BIZ_PROJECT_RATING : "project_id"
BIZ_ORG ||--o{ BIZ_PROJECT_ASSIGN : "execution_unit_id"
BIZ_ORG ||--o{ BIZ_PROJECT_EXECUTOR_ASSIGN : "executor_org_id"
BIZ_ORG ||--o{ BIZ_PROJECT_SPONSOR_ASSIGN : "sponsor_org_id"
BIZ_SPECIAL_PLAN ||--o{ BIZ_PROJECT_PLAN : "plan_direction_id"
BIZ_PROJECT ||--o{ BIZ_PROJECT_PLAN : "project_no 关联"
BIZ_PROJECT {
bigint project_id PK
varchar project_no UK
varchar project_name
bigint sponsor_org_id FK
bigint lead_user_id
}
BIZ_ORG {
bigint org_id PK
varchar org_name
varchar org_type
}
BIZ_PROJECT_ASSIGN {
bigint assign_id PK
bigint project_id FK
bigint execution_unit_id FK
}
BIZ_PROJECT_EXECUTOR_ASSIGN {
bigint id PK
bigint project_id FK
bigint staff_user_id
bigint executor_org_id FK
}
BIZ_PROJECT_SPONSOR_ASSIGN {
bigint id PK
bigint project_id FK
bigint monitor_user_id
bigint sponsor_org_id FK
}
BIZ_PROJECT_RATING {
bigint rating_id PK
bigint project_id FK
bigint rater_id
varchar rater_role
}
BIZ_SPECIAL_PLAN {
bigint id PK
varchar title
}
BIZ_PROJECT_PLAN {
bigint plan_id PK
varchar plan_name
bigint plan_direction_id FK
varchar project_no FK
bigint submitter_id
}
```
### 9.3 公示与意向域
```mermaid
erDiagram
BIZ_PROJECT ||--o{ BIZ_PUBLICITY : "project_id"
BIZ_PROJECT ||--o{ BIZ_PUBLICITY_SUPPORT_INTENT : "project_id"
BIZ_PROJECT ||--o{ BIZ_PUBLICITY_EXECUTION_INTENT : "project_id"
BIZ_PROJECT ||--o{ BIZ_EXECUTION_INTENT : "project_no 关联"
BIZ_PROJECT {
bigint project_id PK
varchar project_no UK
varchar project_name
}
BIZ_PUBLICITY {
bigint id PK
bigint project_id FK
varchar announce_type
}
BIZ_PUBLICITY_SUPPORT_INTENT {
bigint intent_id PK
bigint project_id FK
bigint user_id
varchar phone
}
BIZ_PUBLICITY_EXECUTION_INTENT {
bigint intent_id PK
bigint project_id FK
bigint user_id
varchar phone
}
BIZ_EXECUTION_INTENT {
bigint intent_id PK
bigint user_id
varchar project_no FK
varchar phone
}
```
### 9.4 会议域
```mermaid
erDiagram
BIZ_PROJECT ||--o{ BIZ_MEETING : "project_id"
BIZ_PROJECT ||--o{ BIZ_INVITATION : "project_id"
BIZ_MEETING ||--o{ BIZ_MEETING_ATTENDEE : "meeting_id"
BIZ_MEETING ||--o{ BIZ_MEETING_MATERIAL : "meeting_id"
BIZ_MEETING_MATERIAL ||--o| BIZ_MEETING_INVOICE : "material_id"
BIZ_MEETING ||--o{ BIZ_MEETING_AUDIT_LOG : "meeting_id"
BIZ_MEETING ||--o{ BIZ_MEETING_SETTLEMENT : "meeting_id"
BIZ_MEETING ||--o{ BIZ_LABOR_VOUCHER : "meeting_id"
BIZ_MEETING ||--o{ BIZ_MEETING_EXECUTOR : "meeting_id"
BIZ_MEETING ||--o{ BIZ_MEETING_SUPERVISOR : "meeting_id"
BIZ_PROJECT {
bigint project_id PK
varchar project_no UK
varchar project_name
}
BIZ_MEETING {
bigint meeting_id PK
varchar business_id UK
bigint project_id FK
bigint execution_unit_id
varchar current_stage
}
BIZ_MEETING_ATTENDEE {
bigint id PK
bigint meeting_id FK
bigint user_id
}
BIZ_MEETING_MATERIAL {
bigint id PK
bigint meeting_id FK
varchar material_type
varchar sub_type
}
BIZ_MEETING_INVOICE {
bigint id PK
bigint meeting_id FK
bigint material_id FK
}
BIZ_MEETING_AUDIT_LOG {
bigint id PK
bigint meeting_id FK
varchar audit_type
}
BIZ_MEETING_SETTLEMENT {
bigint id PK
bigint meeting_id FK
varchar settlement_type
}
BIZ_LABOR_VOUCHER {
bigint voucher_id PK
varchar voucher_no UK
bigint meeting_id FK
}
BIZ_MEETING_EXECUTOR {
bigint id PK
bigint meeting_id UK
bigint executor_org_id
}
BIZ_MEETING_SUPERVISOR {
bigint id PK
bigint meeting_id UK
bigint sponsor_org_id
}
BIZ_INVITATION {
bigint invite_id PK
bigint project_id FK
varchar project_no
}
```
### 9.5 内容与消息域
```mermaid
erDiagram
BIZ_PROJECT ||--o{ BIZ_SUPPORT_LETTER : "project_id"
BIZ_PROJECT {
bigint project_id PK
varchar project_no UK
}
BIZ_SUPPORT_LETTER {
bigint letter_id PK
bigint project_id FK
varchar project_no
}
BIZ_ARTICLE {
bigint id PK
varchar title
varchar type
}
BIZ_RESOURCE {
bigint resource_id PK
varchar name
varchar category
}
BIZ_MESSAGE {
bigint msg_id PK
bigint receiver_user_id
varchar biz_type
bigint biz_id
}
```