# 畜牧医疗资源管理 — 功能需求 ## 1. 文档说明 | 项 | 说明 | | --- | --- | | 模块名称 | 畜牧医疗资源管理(牧业疫病诊疗服务) | | 目标 | 在业务后台统一维护**兽医人员、专家团队、诊疗机构、医疗设备**四类医疗资源,支持分类检索、发布至移动端展示,并为诊疗预约、兽医/机构端登录等下游能力提供主数据 | | 关联系统 | 业务后台;移动端资源展示;平台账号体系 | | 修订依据 | 同目录 `畜牧医疗资源管理功能需求-草稿.md`、界面原型(列表 Tab、新增动态表单) | 本文档**仅描述功能需求与业务规则**,不涉及数据库表结构、接口路径、请求体字段命名、HTTP 报文、权限标识命名及技术栈选型。 --- ## 2. 术语与业务对象 ### 2.1 医疗资源(一条台账记录) - 表示可在后台登记、经发布后在移动端对外展示的一类**牧业疫病诊疗相关资源**。 - 由授权用户在后台**手工维护**;外部系统自动落账可在实施阶段扩展,**本期默认手工登记为主**。 - 每条记录归属**唯一资源类型**;类型在首次保存后**不可变更**(若需改类型,应删除后按新类型重新登记)。 ### 2.2 资源类型(固定四类) 类型编码来自资讯类别 **`parentCode=004`、`categoryType=6`**(接口 `GET /category/informationCategory/children`),落库字段 `resource_type` 为 **varchar**,存叶子 **`code`**(如 `004001` 兽医人员)。 | 编码 | 类型名称 | 业务定位 | 典型用途 | | --- | --- | --- | --- | | `004001` | **兽医人员** | 个体执业兽医 | 展示资质与服务能力;多种接诊方式;可分配登录账号 | | `004002` | **专家团队** | 科研或临床专家集体 | 展示团队实力;**不**分配登录账号 | | `004003` | **诊疗机构** | 动物诊所/动物医院 | 展示机构资质、地址与服务容量;可分配登录账号 | | `004004` | **医疗设备** | 可对外介绍或预约关联的设备 | 展示设备信息;**不**分配登录账号 | 用户**不可**自定义第五类或修改上述类型含义(扩展须在资讯类别中维护后由系统识别)。 ### 2.3 界面组织方式 | 形态 | 规则 | | --- | --- | | **分库列表** | 四个 **Tab**:兽医人员库、专家团队库、诊疗机构库、医疗设备库;**切换 Tab 即切换当前资源类型**,列表仅展示该类型 | | **资源类型筛选** | 顶部下拉与 **Tab 联动**:切换 Tab 时下拉同步;在下拉选择类型时切换到对应 Tab | | **动态表单** | 新增/编辑时按资源类型**切换字段集**;不得混用其他类型的必填项 | ### 2.4 发布状态与移动端 用**发布状态**控制移动端是否展示;并与后台「能否改删」绑定(见 **§6**)。 | 状态 | 含义 | 移动端 | 后台维护(摘要) | | --- | --- | --- | --- | | **未发布** | 已保存,未对外开放 | 不可见 | 可查看、编辑、删除、发布;兽医/机构可「分配账号」(未分配过) | | **已发布** | 已对移动端生效 | 可见、可被下游引用 | **仅可查看、下架**;不可编辑、删除、新分配账号 | | **已下架** | 曾发布,已撤回对外展示 | 不可见 | **权限同未发布**:可编辑、删除、再次发布;列表宜单独显示「已下架」标签 | **允许的状态迁移:** ```mermaid stateDiagram-v2 [*] --> 未发布: 新增保存 未发布 --> 已发布: 发布 已发布 --> 已下架: 下架 已下架 --> 已发布: 再次发布 ``` > **已发布**期间:任何修改、删除、分配账号操作均应拒绝并提示先下架。 ### 2.5 删除与可见性 - 采用**逻辑删除**:删除后默认不在列表展示,数据保留供审计;**本期无**回收站。 - **已发布**须先**下架**再删除。 - **已分配账号**(兽医/机构):删除资源时**同时删除**关联的平台用户账号(与草稿 §10 一致)。 - 若存在有效预约等下游引用,**宜禁止删除**并提示「存在关联业务,无法删除」(默认建议)。 ### 2.6 列表筛选与字段关系 | 筛选项 | 规则 | | --- | --- | | 资源类型 | 与当前 **Tab** 一致;精确匹配 | | 资源名称 | 选填;对展示名称(姓名/团队名/机构名/设备名)**模糊**匹配 | | 发布状态 | 选填;**未发布 / 已发布 / 已下架** 精确筛选;空则不过滤 | --- ## 3. 功能范围 ### 3.1 本期实现 | 能力 | 说明 | | --- | --- | | 四类资源 Tab 列表 | 分页、筛选;**§5.1** | | 新增 | 动态表单;保存为 **未发布**;**§5.2~§5.7** | | 修改 | 仅 **未发布、已下架**;**§5.8** | | 查看 | 全状态只读;**§5.9** | | 逻辑删除 | 仅 **未发布、已下架**;**§5.10** | | 发布 / 下架 | 同步/撤回移动端;**§5.11** | | 分配账号 | 仅兽医、机构;每条仅成功一次;**§5.12** | | 照片 | 单图上传;**§5.2** | ### 3.2 本期不实现 - **地图标点**(机构库、设备库原型有入口,本期隐藏或置灰并说明后续提供) - 移动端页面本身、在线预约执行、排班自动调度 - 专家团队/医疗设备的账号分配 - 批量导入导出、资源类型自定义 --- ## 4. 业务流程 ### 4.1 模块总览 ```mermaid flowchart TD A[进入模块] --> B[选择 Tab / 资源类型] B --> C[列表查询] C --> D{操作} D --> E[新增 → 未发布] D --> F[查看] D --> G[编辑] D --> H[删除] D --> I[发布] D --> J[下架] D --> K[分配账号] G --> L{未发布或已下架?} L -->|否| M[拒绝] L -->|是| N[保存] H --> O{未发布或已下架?} O -->|否| P[拒绝] O -->|是| Q[逻辑删除] I --> R[已发布 → 同步移动端] J --> S[已下架 → 撤回移动端] ``` ### 4.2 典型运营顺序 1. 在对应 Tab **新增**并上传照片 → **未发布**。 2. (可选)兽医/机构 **分配账号**。 3. **发布** → 移动端可见。 4. 信息有误 → **下架** → **编辑** → **再次发布**。 5. 废弃 → **下架**(若仍发布中)→ **删除**。 ### 4.3 新增:类型与表单 用户点击 **新增** → **必选资源类型** → 展示对应字段集 → 校验通过 → 保存为 **未发布**(类型保存后不可改)。 --- ## 5. 详细功能需求 ### 5.1 列表与查询 | 项 | 规则 | | --- | --- | | Tab | 四个固定 Tab,与四类资源一一对应 | | 分页 | 默认每页 **20** 条 | | 排序 | 默认 **创建时间倒序** | | 展示列 | **通用**:资源类型、展示名称、发布状态、创建时间、操作。**分类型**:介绍摘要、联系方式、隶属单位、地址/级别/型号等(与原型一致,长文本可省略) | | 工具栏 | **搜索**、**重置**、**新增** | | 操作列 | 见 **§6**;各状态均宜有 **查看** | --- ### 5.2 新增(通用规则) | 项 | 规则 | | --- | --- | | 资源类型 | **必选**;决定表单字段;保存后**不可改** | | 初始状态 | **未发布** | | 照片 | **选填**;**单图**;**jpg / jpeg / png**;**≤ 10MB** | | 联系方式 | 该类型要求的字段均 **必填** + **大陆手机号**校验(**兽医人员选填**,填写时校验格式) | | 文本 | 字数按**字符**计;trim 后校验 | --- ### 5.3 字段适用矩阵 | 业务字段 | 兽医 | 团队 | 机构 | 设备 | | --- | --- | --- | --- | --- | | 展示名称 | ✓ | ✓ | ✓ | ✓ | | 照片 | ○ | ○ | ○ | ○ | | 介绍 | ○ | ○ | ○ | ○ | | 联系方式 | ○ | ○ | ○ | — | | 隶属单位 | ○ | ○ | — | ○ | | 详细地址 | ○ | — | ○ | — | | 接诊方式(多选) | ✓ | — | — | — | | 服务区域 | ○ | — | — | — | | 收费标准(元/小时,正数) | ○ | — | — | — | | 服务时段 / 服务周日 | ○ | — | ○ | — | | 单日最大接诊人数 | — | — | ○ | — | | 成立时间 / 团队规模 | — | ○/○ | — | — | | 团队成员(选填) | — | ○ | — | — | | 负责人 | — | ○ | ○ | — | | 机构级别(单选) | — | — | ✓ | — | | 设备型号 | — | — | — | ○ | > **○** 表示选填;**✓** 表示该类型下必填(若列有对应字段)。各类型资料类字段见 **§5.4**~**§5.7**。 --- ### 5.4 兽医人员 | 字段 | 规则 | | --- | --- | | 兽医姓名 | **必填**;**1~10** 字 | | 兽医照片 | **选填**;若上传须符合 **§5.2** 图片规则 | | 兽医介绍 | **选填**;若有内容 **≤500** 字 | | 联系方式 | **选填**;若填写须为大陆手机号 | | 隶属单位 | **选填**;若有内容 **≤20** 字 | | 详细地址 | **选填**;若有内容 **≤100** 字 | | 接诊方式 | **必填**;**多选**至少一项:定点接诊、上门接诊、在线接诊 | | 服务区域 | **选填**;若有内容 **≤100** 字 | | 收费标准 | **选填**;若填写须为**正数**;单位 **元/小时** | | 服务时段 | **选填**;若填写须为 **HH:mm** 起止;结束 **≥** 开始 | | 服务周日 | **选填**;**多选** 周一至周日 | --- ### 5.5 专家团队 | 字段 | 规则 | | --- | --- | | 团队名称 | **必填**;**1~10** 字 | | 团队照片 | **选填**;若上传须符合 **§5.2** 图片规则 | | 团队介绍 | **选填**;若有内容 **≤500** 字 | | 成立时间 | **选填**;若填写须为 **YYYY-MM-DD**;不宜为未来日期 | | 团队规模 | **选填**;若填写须为**正整数**;单位 **人** | | 团队成员 | **选填**;≤ **500** 字 | | 团队负责人 | **选填**;若有内容 **≤10** 字 | | 联系方式 | **选填**;若填写须为大陆手机号 | | 隶属单位 | **选填**;若有内容 **≤20** 字 | --- ### 5.6 诊疗机构 | 字段 | 规则 | | --- | --- | | 机构名称 | **必填**;**1~10** 字 | | 机构照片 | **选填**;若上传须符合 **§5.2** 图片规则 | | 机构介绍 | **选填**;若有内容 **≤500** 字 | | 机构级别 | **必填**;**单选**:动物诊所、动物医院 | | 详细地址 | **选填**;若有内容 **≤100** 字 | | 负责人 | **选填**;若有内容 **≤10** 字 | | 联系方式 | **选填**;若填写须为大陆手机号 | | 服务时段 / 服务周日 | **选填**;若填写规则同兽医 **§5.4** 中「服务时段」「服务周日」 | | 单日最大接诊人数 | **选填**;若填写须为**正整数**;单位 **人**(供预约模块判断,本模块不执行预约) | --- ### 5.7 医疗设备 | 字段 | 规则 | | --- | --- | | 设备名称 | **必填**;**1~10** 字 | | 设备型号 | **选填**;若有内容 **≤10** 字 | | 设备照片 | **选填**;若上传须符合 **§5.2** 图片规则 | | 设备介绍 | **选填**;若有内容 **≤500** 字 | | 隶属单位 | **选填**;若有内容 **≤20** 字 | --- ### 5.8 修改 | 项 | 规则 | | --- | --- | | 允许 | **未发布**、**已下架** | | 拒绝 | **已发布** → 「已发布资源请先下架后再编辑」 | | 范围 | 除资源类型外,该类型全部字段可改;校验同新增 | | 保存后 | **不自动发布** | --- ### 5.9 查看 - **任意状态**可查看;只读展示全部业务字段、发布状态、是否已分配账号(兽医/机构)、审计信息。 - **已发布**:不提供编辑入口;**未发布/已下架** 可提供「编辑」。 --- ### 5.10 逻辑删除 | 项 | 规则 | | --- | --- | | 允许 | **未发布**、**已下架** | | 拒绝 | **已发布** → 须先下架 | | 方式 | **本期单条**;二次确认;展示资源名称 | | 副作用 | `del_flag` 置删除;删除照片物理文件;**若 `account_assigned=已分配`**,同步删除 `sys_user` 对应账号 | --- ### 5.11 发布与下架 | 操作 | 前置 | 结果 | | --- | --- | --- | | **发布** | **未发布** 或 **已下架**;数据完整合法 | **已发布**;**同步移动端** | | **发布**(拒) | 已 **已发布** | 「该资源已发布」 | | **下架** | **已发布** | **已下架**;**撤回移动端** | | **下架**(拒) | 未发布 / 已下架 | 「仅已发布资源可下架」 | 发布、下架宜二次确认。已下架记录可 **再次发布**。 --- ### 5.12 分配账号(兽医、机构) | 项 | 规则 | | --- | --- | | 范围 | **仅** 兽医人员库、诊疗机构库 | | 次数 | **每条仅成功一次**;已分配则不可重复 | | 默认登录名 | **展示名称汉语拼音(全拼、无空格、小写)** + **该条资源唯一业务编号** | | 默认角色 | **兽医** → 预置兽医端角色(草稿:**编号 100**)。**机构** → 预置机构端角色(草稿:**编号 102**)。以系统角色配置为准 | | 与发布 | **默认未发布可分配**;**已发布不可新分配** | | 失败 | 明确原因;**不**记为已分配,可重试(仍仅一次成功) | --- ### 5.13 地图标点(本期不实现) 机构库、设备库原型含「地图标点」;**本期不做**。预留:后续维护坐标,与详细地址并存。 --- ## 6. 操作与权限矩阵 | 操作 | 未发布 | 已发布 | 已下架 | | --- | --- | --- | --- | | 查看 | ✓ | ✓ | ✓ | | 编辑 | ✓ | — | ✓ | | 删除 | ✓ | — | ✓ | | 发布 | ✓ | — | ✓ | | 下架 | — | ✓ | — | | 分配账号 | ✓(未分配) | — | ✓(未分配) | 列表级:**新增**、**搜索**、**重置** 需对应权限。无权限按钮不展示或禁用。 --- ## 7. 与下游衔接 | 下游 | 本模块提供 | | --- | --- | | 移动端展示 | 仅 **已发布** 且未删除的记录 | | 诊疗预约 | 兽医:服务时段、服务周日、接诊方式;机构:服务时段、服务周日、单日最大接诊人数 | | 兽医/机构登录 | 分配账号产生的平台账号 | --- ## 8. 提示约定(示例) | 场景 | 示例文案 | | --- | --- | | 必填/超长 | 「请填写【团队名称】」「【兽医介绍】不能超过 500 字」 | | 手机号/时段/收费 | 「联系方式格式不正确」「结束时间不能早于开始时间」「收费标准须为正数」 | | 图片 | 「仅支持 jpg/jpeg/png,且不超过 10MB」 | | 发布态 | 「已发布资源请先下架后再操作」「该资源已发布」「仅已发布资源可下架」 | | 账号 | 「该资源已分配账号,不可重复分配」「账号创建失败:{原因}」 | --- ## 9. 非功能建议 权限分按钮;发布/下架/分配账号/删除记审计日志;分库分页性能可接受;四类用语与原型、移动端一致;界面支持 i18n。 --- ## 10. 修订记录 | 版本 | 说明 | | --- | --- | | 2.0 | 依据草稿与原型重写:状态机、操作矩阵、字段矩阵、流程图;无库表/接口;Tab 与筛选联动;列表名称模糊;角色 100/102 | | 2.1 | 对齐草稿 §10:逻辑删除时联动删除已分配平台账号 | | 2.2 | 对齐草稿 §2:兽医人员不含「单日最大接诊人数」;仅诊疗机构必填;保存兽医时该字段不落库 |