# 风险因子设置 — 功能需求 ## 1. 文档说明 | 项 | 说明 | | --- | --- | | 模块名称 | 风险因子设置(界面标题可为「风险因子权重」,见原型) | | 目标 | 配置疾病风险评估模型中各因子的**权重**,保证五项权重均为正数且**合计为 1**,供后续风险计算或预警模块引用 | | 关联系统 | 业务后台;与「疾病检测与上报」体系内疫情上报、实验室检测等模块的衔接由产品统一规划 | | 修订依据 | 同目录 `风险因子设置-草稿.md`、界面原型 `风险因子设置.png` | 本文档仅描述**功能需求与业务规则**,不涉及库表结构、接口路径、请求体字段命名及技术栈选型。 --- ## 2. 术语与因子说明 ### 2.1 风险因子(固定五项) 本模块维护的因子集合**固定**为下表五项,用户**不可**新增、删除或重命名因子(若需扩展因子项,须单独修订需求与原型)。 | 序号 | 因子名称 | 业务含义(摘要) | | --- | --- | --- | | 1 | **养殖密度** | 养殖场所或区域单位面积/单位规模上的畜禽承载程度,密度越高通常意味着传播风险上升 | | 2 | **交通流动性** | 人员、物资、畜禽调运等与外部交流的频繁程度 | | 3 | **检疫强度** | 检疫、免疫、监测等防控措施的执行力度(强度越高,一般表示防控越严) | | 4 | **气象适宜度** | 温湿度、降水等气象条件对病原体存活与传播的有利程度 | | 5 | **既往发病水平** | 历史疫情、阳性检出、上报记录等反映的基线发病水平 | ### 2.2 权重 | 项 | 说明 | | --- | --- | | 含义 | 某因子在综合风险评分中的占比 | | 取值 | **正数**;五项权重**之和必须等于 1**(见 **§2.3**) | | 展示 | 建议以小数形式录入与展示(如 `0.20`);是否同时展示百分比(如 `20%`)由界面统一,**录入口径以小数为准** | | 精度 | 小数位数与项目全局数字规范一致(建议保留 **2~4** 位);保存与「和为 1」校验须在**同一精度规则**下比较 | ### 2.3 权重合计约束(核心规则) | 规则 | 说明 | | --- | --- | | **和为 1** | 五项权重相加的结果**必须等于 1**(在约定精度下比较,见下) | | 精度比较 | 例如保留 4 位小数时,允许误差 `|Σ − 1| ≤ 0.0001`;具体容差须在实现前与产品确认并全文统一 | | 实时提示 | 录入过程中宜在页面展示**当前合计**(如「当前合计:0.85」),并在合计 ≠ 1 时提示用户调整 | | 保存拦截 | 合计不为 1 时**不允许保存**,并给出明确提示(如「五项权重之和须等于 1」) | ### 2.4 配置记录说明 - 本模块为**全局参数配置**,通常仅维护**一套**当前生效的权重(非分页台账、非按地区多套配置的复杂模型,除非产品另行约定「按区划多套权重」)。 - 是否保留历史版本、回滚上一版权重,本期草稿与原型**未要求**;若需要须单独立项。 - 权重保存成功后,下游风险计算宜使用**最新已保存**的权重;未保存前的临时输入**不得**参与正式计算。 --- ## 3. 功能范围 **本期实现:** - 风险因子权重**查看**(进入页面加载当前生效配置) - 风险因子权重**保存**(一次性提交五项权重) - 五项权重的必填、正数、合计为 1 等校验 - 保存成功/失败的用户提示(见 **§8**) **本期不实现:** - 因子项的新增、删除、排序、自定义名称 - 按区域、牧场、疫情类型等维护**多套**权重方案(若需要另出需求) - 权重变更审批流、版本对比、定时生效 - 基于权重自动跑分、地图预警等(属下游模块,不在本文档范围) --- ## 4. 业务流程概览 ```mermaid flowchart LR A[进入风险因子设置页] --> B[加载当前权重] B --> C[查看/修改五项权重] C --> D{合计=1且各项为正数?} D -->|否| C D -->|是| E[点击保存] E --> F[保存成功] F --> B ``` 1. **进入**:具备权限的用户打开「风险因子设置/风险因子权重」页面。 2. **加载**:系统展示当前生效的五项权重;若从未配置,可按产品约定展示默认值(如各项 `0.2`)或空表单项并提示须完成首次配置。 3. **调整**:用户修改一项或多项权重;页面实时刷新合计。 4. **保存**:用户点击「保存」→ 通过校验后写入并提示成功;未通过校验则停留在当前页并标明原因。 5. **使用**:其它业务模块读取**已保存**的权重参与风险相关计算(引用规则由下游需求定义)。 --- ## 5. 详细功能需求 ### 5.1 页面展示与加载 | 项 | 规则 | | --- | --- | | 页面标题 | 与原型一致,建议为 **「风险因子权重」** 或产品确认的等价文案 | | 表单项 | 固定展示 **§2.1** 五项因子,每项对应一个权重输入框;标签与原型一致 | | 占位提示 | 输入框占位符宜为「请输入权重」等与原型一致 | | 辅助说明 | 每项输入旁或下方宜标注 **「正数」**(与原型一致);页面底部或合计区标注 **「权重之和 = 1」** | | 加载 | 进入页面时自动加载当前生效配置;加载中宜有等待态,失败时提示并可重试 | **首次无数据(若存在):** - 五项可为空或预填建议默认值;**保存时仍须满足**正数且合计为 1。 - 是否允许「全空不可保存」与「预填 0.2×5」由产品择一并在实现说明中固定。 --- ### 5.2 权重录入与校验 | 因子 | 规则 | | --- | --- | | 养殖密度 | **必填**;**正数**(大于 0) | | 交通流动性 | **必填**;**正数** | | 检疫强度 | **必填**;**正数** | | 气象适宜度 | **必填**;**正数** | | 既往发病水平 | **必填**;**正数** | **汇总校验:** | 规则 | 说明 | | --- | --- | | 正数 | 拒绝 0、负数、非数字;是否拒绝「正无穷」等等价异常由实现约定 | | 合计 | 五项之和 **= 1**(按 **§2.3** 精度规则) | | 单项上限 | 因合计为 1 且各项为正,隐含每项 **< 1**;无需单独配置上限除非产品要求(如单项不得超过 0.8) | **交互建议:** - 修改任一项时,**实时计算并展示**五项合计。 - 合计 ≠ 1 时,「保存」可置灰或点击后提示,避免误提交。 - 各字段校验失败时,错误提示宜**可区分**(未填、非正数、合计不为 1)。 --- ### 5.3 保存权重 | 项 | 规则 | | --- | --- | | 触发 | 用户点击 **「保存」** 按钮(与原型一致) | | 前置校验 | 须先通过 **§5.2** 全部校验;未通过则不提交 | | 确认 | 是否二次确认由产品约定;原型未要求弹窗确认,默认可**直接保存** | | 成功 | 提示保存成功;页面展示与刚保存一致的权重;宜记录操作人、操作时间(若系统有审计字段) | | 失败 | 提示失败原因(网络、权限、服务端业务错误等),**不**部分更新五项中的若干项(须保证五项作为一套配置原子更新) | **并发与覆盖:** - 若两人同时修改,以后保存者覆盖或提示「配置已被他人更新」由实现阶段约定;需求层要求:**避免**出现长期不一致的五项组合(如仅三项更新成功)。 --- ### 5.4 查看与权限(无列表) - 本模块**无**分页列表、详情弹窗、删除单条等台账操作。 - **查看**即进入配置页阅读当前五项权重。 - **修改**即在同一页面编辑并保存。 在**已授权**前提下(菜单与按钮级权限按项目角色配置): | 操作 | 说明 | | --- | --- | | 查看/进入页面 | 具备查询或列表类权限即可进入并加载 | | 保存 | 具备修改/保存类权限方可点击保存并成功提交 | 具体权限标识在权限配置文档中定义,本文档不展开。 --- ## 6. 操作权限矩阵(汇总) | 能力 | 查看当前权重 | 修改并保存 | | --- | --- | --- | | 有查询权限 | ✓ | — | | 有保存/修改权限 | ✓ | ✓ | > 若菜单仅配置一个「风险因子设置」入口,常见做法为:进入需 `list` 或 `query`,保存需 `edit` 或 `save`(实现时与后端权限命名对齐即可)。 --- ## 7. 错误与提示约定 面向使用方的提示宜**语义明确、可区分**,例如: | 场景 | 提示方向(示例) | | --- | --- | | 某项未填 | 「请填写【养殖密度】权重」 | | 非正数 | 「【交通流动性】权重须为正数」 | | 合计不为 1 | 「五项权重之和须等于 1,当前合计为 x.xx」 | | 加载失败 | 「权重配置加载失败,请稍后重试」 | | 保存成功 | 「保存成功」 | | 无保存权限 | 「无权限修改风险因子权重」 | 本文档**不约定** HTTP 状态码、错误码字段名及接口报文结构(草稿中的统一 `code/msg/data` 属实现层,不写入本文档)。 --- ## 8. 非功能需求(建议) | 类别 | 建议 | | --- | --- | | 权限 | 仅管理员或业务配置角色可保存;普通用户只读或不可见菜单 | | 审计 | 保存记操作日志:操作人、时间、变更前后权重(若系统支持) | | 性能 | 单页五项数值,加载与保存响应满足后台常规体验即可 | | 双语 | 因子名称与提示符合项目 i18n 规范(汉语 + 藏文,若适用) | | 扩展 | 多套权重方案、因子项可配置、版本回滚、与风险评分的公式联动 | --- ## 9. 修订说明(相对草稿) | 草稿条目 | 优化处理 | | --- | --- | | 仅列五项权重与「和=1」 | 扩展为 **§2** 因子含义、**§2.3** 精度与实时合计、**§5** 分节 | | 编号跳跃(1 后直接 6、7) | 重整章节;移除技术栈与接口响应格式 | | 「养殖标准管理」类笔误风险 | 模块定为 **风险因子设置**,与目录、原型一致 | | 未说明是否列表/多版本 | 明确为**全局单套配置**(**§2.4**) | | 无流程图 | 增补 **§4** 流程图与操作矩阵 | | 原型「正数」 | 明确为 **> 0**,且与「和为 1」联立(**§5.2**) | --- ## 10. 功能需求追溯(自查) | 能力 | 对应章节 | | --- | --- | | 五项因子固定展示 | §2.1、§5.1 | | 正数、必填 | §5.2 | | 权重之和 = 1 | §2.3、§5.2、§5.3 | | 保存 | §5.3、§4 | | 权限与提示 | §6、§7 | | 不含接口/库表 | 全文 | --- ## 11. 与相关文档关系 | 文档 | 关系 | | --- | --- | | `风险因子设置-草稿.md` | 初稿功能列表 | | `风险因子设置.png` | 界面原型 | | 《风险因子设置技术方案》 | 库表、接口、权限标识 | | 《疫情上报功能需求》等 | 同属「疾病检测与上报」,下游可引用本权重 |