邀请发送 (菜单暂隐藏, 待确认参数见 发送邀请-待确认参数.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) 入库
1097 lines
48 KiB
Markdown
1097 lines
48 KiB
Markdown
# 数据库设计文档 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_type(execution/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 | | 关联系统用户 ID(UNI) |
|
||
| name | varchar(50) | NO | | 姓名 |
|
||
| phone | varchar(20) | NO | | 手机号(UNI) |
|
||
| org_id | bigint | YES | | 所属公司 ID(FK 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 | | 身份证正反面 URL(CSV) |
|
||
| 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-658,UNI) |
|
||
| 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_id(role_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_id(JOIN 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 | BizAuditStatusEnum:1待审核 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 | | 上传文件 URL(PDF/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 | | 用户 ID(sys_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 | | 业务会议 ID(UNI,如 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 | | 会议 ID(FK biz_meeting.meeting_id) |
|
||
| user_id | bigint | NO | | 参会人 user_id(FK 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 | | 劳务协议 URL(OSS) |
|
||
| 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 | | 会议 ID(UNI) |
|
||
| 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 | | 会议 ID(UNI) |
|
||
| 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/SERVICE;NULL=会议级操作 |
|
||
| 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-001,UNI) |
|
||
| 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
|
||
}
|
||
```
|
||
|