# 隔离圈位管理 — 功能需求 ## 1. 文档说明 | 项 | 说明 | | --- | --- | | 模块名称 | 隔离圈位管理(交易市场平台) | | 目标 | 在业务后台维护交易市场**隔离圈位台账**(圈位编号、备注等),并维护**全局默认隔离天数**等参数,为入场检疫、隔离观察、圈位分配等后续业务提供基础主数据 | | 关联系统 | 业务后台;本模块为圈位与隔离参数的**主档维护**,不替代牲畜入圈登记、隔离期满判定、自动出圈等作业流程(若需联动,另出集成需求) | | 修订依据 | 同目录 `隔离圈位管理-草稿.md`、界面原型(`隔离圈位管理.png`) | 本文档仅描述**功能需求与业务规则**,不涉及库表结构、接口路径、请求体字段命名、HTTP 报文及技术栈选型。 --- ## 2. 术语与业务对象 ### 2.1 隔离圈位(一条台账记录) - 表示交易市场内用于**隔离观察**的一个物理或逻辑**圈位**(栏位)。 - 由运营人员在后台**登记与维护**;保存成功后出现在圈位列表,供后续业务按圈位编号引用、分配或展示状态。 - 单条记录包含:**圈位编号**、**备注**(选填)及审计信息(创建人、时间等,与项目其他台账一致)。 ### 2.2 圈位编号 - **系统自动生成**,用户**不可手工录入或修改**(新增弹窗中只读或「保存后自动生成」占位;修改、查看时只读)。 - 格式:**2 位数字**字符串,建议左侧补零(如 `01`、`02` … `99`)。 - **全局唯一**:同一系统内未删除的圈位不得重复;编号用尽(如已达 `99`)时拒绝继续新增并提示「圈位编号已达上限,请联系管理员」。 - 生成时机:用户点击新增「确定」且校验通过后分配。 > **说明:** 草稿写「修改时所有均可修改」指**业务可编辑字段**;**圈位编号不在可改范围内**,与自动生成语义一致。 ### 2.3 备注(圈位) - 对圈位的补充说明(如位置、容量提示等)。 - **选填**;有内容时长度 **1~50** 个字符(去除首尾空白后计数);仅空白视为未填。 ### 2.4 默认隔离天数(全局配置) - 与单条圈位台账**相互独立**,表示系统级**默认隔离观察天数**(单位:**天**)。 - 通过列表页工具栏 **「设置隔离天数」** 进入专用弹窗维护;**全系统仅保留一份当前生效配置**(再次保存即覆盖更新,不产生多条并列「当前默认」)。 - 业务含义:后续入圈、检疫等流程在需要「默认隔离期」时,优先引用此处配置;具体引用规则由下游模块定义,本模块只负责维护数值与备注。 - 字段:**默认隔离天数**(必填)、**备注**(选填,≤50 字)。 #### 2.4.1 默认隔离天数取值规则 | 规则 | 说明 | | --- | --- | | 类型 | **正整数**(不含小数、不含字母) | | 必填 | 保存时不得为空 | | 建议范围 | **1~3650** 天(评审可按业务调整为 1~999 等;超出上限拒绝保存并提示) | | 展示 | 输入框旁或标签标明单位「天」 | ### 2.5 删除与可见性 - 圈位删除采用与项目其他业务台账一致的**逻辑删除**:删除后默认不在列表与常规查询中展示,数据保留供审计。 - **本期不提供**回收站界面。 - 若圈位已被入圈登记、检疫单、栏位占用等下游业务引用,**宜禁止删除**并提示「存在关联业务,无法删除」(**默认建议禁止**)。 ### 2.6 列表筛选项与记录字段的关系 | 筛选项 | 与记录字段关系 | | --- | --- | | 圈位编号 | 选填;对「圈位编号」**模糊**匹配(包含输入片段即可,如输入 `1` 可命中 `01`、`11` 等,与项目全局模糊查询一致) | | (无其他筛选项) | 原型仅提供圈位编号筛选;空则不过滤 | --- ## 3. 功能范围 **本期实现:** | 能力 | 说明 | | --- | --- | | 圈位列表 | 圈位编号模糊筛选;分页;见 **§5.2** | | 新增圈位 | 录入备注;编号自动生成;见 **§5.1** | | 修改圈位 | 仅备注可改;见 **§5.3** | | 查看圈位 | 只读展示;见 **§5.4** | | 删除圈位 | 单条删除;见 **§5.5** | | 设置隔离天数 | 维护全局默认隔离天数及备注;见 **§5.6** | | 工具栏 | 搜索、重置、新增;**设置隔离天数**(与列表同页,见原型) | **本期不实现(除非后续单独立项):** - 圈位占用状态、在栏牲畜清单、实时空满率看板 - 按备注、按占用状态的列表筛选 - 批量导入/导出、编号手工指定 - 单圈位单独设置隔离天数(本期仅全局默认) - 隔离期满自动提醒、与检疫流程的自动联动 --- ## 4. 业务流程概览 ### 4.1 总览 ```mermaid flowchart TD A[进入隔离圈位管理] --> B{用户操作} B -->|维护圈位| C[圈位台账分支] B -->|维护参数| D[设置隔离天数] C --> E{圈位操作} E -->|新增| F[填写备注并保存] F --> G[系统分配圈位编号] G --> H[刷新圈位列表] E -->|查询| I[输入编号片段模糊搜索] I --> H E -->|查看/编辑/删除| J[行内或详情操作] J --> H D --> K[填写默认天数与备注] K --> L{校验} L -->|通过| M[保存全局配置] L -->|未通过| D M --> H ``` ### 4.2 典型使用顺序 1. 管理员首次进入模块,通过 **「设置隔离天数」** 配置全局默认隔离期(如 7 天)及说明备注。 2. 运营人员按现场布局 **新增** 圈位,系统分配 `01`、`02` … 等编号,必要时填写备注。 3. 日常按圈位编号 **模糊** 查询台账。 4. 圈位信息变更时 **修改** 备注(编号不变);废弃圈位在确认无关联后 **删除**。 5. 隔离政策调整时,再次打开 **设置隔离天数** 更新全局默认值(不影响已发生的历史业务数据,仅影响后续按默认天数计算的流程)。 ### 4.3 圈位台账与全局配置的关系 | 维度 | 圈位台账 | 默认隔离天数配置 | | --- | --- | --- | | 数据粒度 | 多条(每个圈位一条) | 全系统一份当前生效值 | | 入口 | 新增 / 行内编辑 | 工具栏「设置隔离天数」 | | 列表是否展示 | 是 | 否(不在列表列中展示) | | 删除 | 支持单条逻辑删除 | 不支持「删除配置」;仅支持修改覆盖 | --- ## 5. 详细功能需求 ### 5.1 新增隔离圈位 #### 5.1.1 业务字段 | 字段 | 必填 | 规则摘要 | | --- | --- | --- | | 圈位编号 | — | **只读**;保存成功后展示系统生成的 2 位数字编号 | | 备注 | 否 | 文本;**0~50** 字(有内容时按 1~50 校验) | #### 5.1.2 保存与取消 | 操作 | 行为 | | --- | --- | | **确定** | 校验通过后保存;分配圈位编号;关闭弹窗并**刷新圈位列表** | | **取消** | 关闭弹窗,不保存 | #### 5.1.3 校验摘要 | 规则 | 说明 | | --- | --- | | 备注长度 | 超过 50 字拒绝保存 | | 编号上限 | 已达 `99` 且无法再分配时拒绝新增 | --- ### 5.2 查询隔离圈位列表 #### 5.2.1 筛选 | 条件 | 规则 | | --- | --- | | 圈位编号 | 选填;**模糊**匹配(**§2.6**) | #### 5.2.2 列表规则 - 默认每页 **20** 条。 - 默认排序:**圈位编号升序**(产品若选用创建时间倒序,须全文一致;**默认建议编号升序**)。 - 工具栏:**搜索**、**重置**、**新增**;**设置隔离天数**(位置与原型一致,通常位于筛选区右侧或列表卡片标题栏)。 #### 5.2.3 展示列(与原型一致) 圈位编号、备注、操作。 | 列 | 展示说明 | | --- | --- | | 圈位编号 | 2 位数字编号 | | 备注 | 过长省略;详情可看全文;无内容展示「—」或留空(与项目统一空值展示一致) | | 操作 | 查看、编辑、删除(权限见 **§6**) | --- ### 5.3 修改隔离圈位 | 项 | 要求 | | --- | --- | | 入口 | 列表「编辑」;详情可提供「编辑」 | | 不可改字段 | **圈位编号**(只读) | | 可改范围 | **备注** | | 校验 | 同 **§5.1.3** | | 保存 | **确定** 保存并刷新列表;**取消** 放弃 | --- ### 5.4 查看隔离圈位详情 | 项 | 要求 | | --- | --- | | 展示内容 | 圈位编号、备注全文 | | 只读 | 全部不可编辑 | | 操作 | 可提供 **编辑**、**删除**(与列表权限一致);**关闭** 返回列表 | | 审计信息 | 宜含创建人、创建时间、修改人、修改时间(与项目其他台账一致) | | 全局隔离天数 | **不在此展示**(属于全局配置,非单条圈位属性) | --- ### 5.5 删除隔离圈位 | 项 | 要求 | | --- | --- | | 入口 | 列表「删除」;详情可提供「删除」 | | 确认 | 删除前**二次确认**(宜展示圈位编号,有备注时一并展示) | | 删除方式 | **逻辑删除**(**§2.5**) | | 关联约束 | 存在下游引用时**拒绝删除**并提示原因 | | 批量删除 | **本期不提供** | --- ### 5.6 设置隔离天数(全局配置) #### 5.6.1 入口与界面 | 项 | 要求 | | --- | --- | | 入口 | 列表页 **「设置隔离天数」** 按钮(与原型一致) | | 展现形式 | 独立弹窗(标题宜为「设置隔离天数」或「默认隔离天数」) | | 与圈位新增区别 | 不分配圈位编号、不增加列表行 | #### 5.6.2 业务字段 | 字段 | 必填 | 规则摘要 | | --- | --- | --- | | 默认隔离天数 | 是 | 正整数;单位 **天**;范围见 **§2.4.1** | | 备注 | 否 | 文本;**0~50** 字 | #### 5.6.3 打开弹窗时的数据回显 | 场景 | 行为 | | --- | --- | | 已配置过 | 回显当前生效的默认隔离天数与备注 | | 从未配置 | 字段为空;用户填写后首次保存即建立当前配置 | #### 5.6.4 保存与取消 | 操作 | 行为 | | --- | --- | | **确定** | 校验通过后**覆盖保存**全局配置;关闭弹窗;**不要求**刷新圈位列表(无列表列变化);宜给出「保存成功」类提示 | | **取消** | 关闭弹窗,不保存 | #### 5.6.5 校验摘要 | 规则 | 说明 | | --- | --- | | 默认隔离天数 | 为空、非整数、小于 1 或超过约定上限时拒绝保存 | | 备注 | 超过 50 字拒绝保存 | --- ## 6. 操作与权限矩阵(汇总) 在**已授权**前提下: | 操作 | 列表/详情/弹窗 | 说明 | | --- | --- | --- | | 查询列表、筛选 | 列表页 | 需列表查询权限 | | 新增圈位 | 「新增」 | 需新增权限 | | 查看圈位 | 行内/详情 | 需查看权限 | | 修改圈位 | 行内/详情 | 需修改权限;编号不可改 | | 删除圈位 | 行内/详情 | 需删除权限 | | 设置隔离天数 | 工具栏按钮及配置弹窗 | 需配置类权限(**默认建议**独立按钮权限;若项目惯例合并到修改权限,须在实施说明中明确) | 无权限的按钮**不展示或禁用**(与若依按钮权限惯例一致)。 --- ## 7. 与同类台账模块对照(便于评审) | 维度 | 承销商/供应商等台账 | 隔离圈位管理(本模块) | | --- | --- | --- | | 编号规则 | 2 位自动、不可改 | 同左 | | 列表筛选 | 承销商等为编号模糊等 | 仅**圈位编号模糊** | | 业务字段复杂度 | 多字段 | 圈位仅**备注**;另含**全局隔离天数** | | 全局配置 | 无 | **设置隔离天数**(单份生效配置) | | 列表列 | 多列 | 编号、备注、操作 | --- ## 8. 异常与提示(业务侧) | 场景 | 提示方向(示例) | | --- | --- | | 备注超长 | 备注长度不能超过 50 个字符 | | 未填默认隔离天数 | 请输入默认隔离天数 | | 隔离天数非正整数 | 请输入正确的隔离天数(正整数,单位:天) | | 隔离天数超范围 | 隔离天数不能超过 N 天 | | 编号用尽 | 圈位编号已达上限,请联系管理员 | | 删除受阻 | 存在关联业务,无法删除 | **本期不涉及** HTTP 响应结构、错误码表等技术约定(草稿中的统一返回格式由技术方案另行描述)。 --- ## 9. 非功能需求(摘要) | 项 | 要求 | | --- | --- | | 易用性 | 圈位编号只读状态明确;「设置隔离天数」与「新增圈位」入口区分清晰,避免误操作 | | 一致性 | 逻辑删除、分页、模糊筛选、校验风格与交易市场平台其他台账模块一致 | | 可理解性 | 全局默认隔离天数与单条圈位备注用途区分,界面文案宜体现「默认」「全局」含义 | --- ## 10. 修订记录 | 版本 | 说明 | | --- | --- | | 1.0 | 初版:依据草稿与原型;圈位 CRUD + 全局默认隔离天数;编号 2 位自动生成、列表模糊筛选;剔除库表、接口、技术栈与 HTTP 约定 |