# 牦牛资产档案管理 — 功能需求 ## 1. 文档说明 | 项 | 说明 | | --- | --- | | 模块名称 | 牦牛资产档案管理(牧业金融 · 生物资产) | | 目标 | 集中检索、同步与查阅单头牦牛资产档案及多维生产数据,支撑牧业金融生物资产监管、风险识别与第三方生产管理系统对接 | | 关联系统 | 业务后台;档案数据主要来自**第三方生产管理系统**同步,所属牧场与「牧场管理」等主数据宜建立映射展示 | | 修订依据 | 同目录 `牦牛资产档案管理功能需求-草稿.md`、界面原型(`Snipaste_2026-05-19_12-31-33.jpg` 列表;`Snipaste_2026-05-19_19-20-06.jpg` 等详情) | 本文档仅描述**功能需求与业务规则**,不涉及库表结构、接口路径、请求体字段命名、技术栈选型及实现方案。 --- ## 2. 术语与枚举 ### 2.1 牦牛资产档案 - 以**单头牦牛**为粒度的一条档案;业务主键为**牦牛编号**(与第三方一致,本系统内宜唯一)。 - 档案由第三方同步写入/更新;本模块以**查询、同步、只读详情**为主,**不提供**在界面手工新建、编辑、删除整头档案(本地补录若需要须单独需求)。 - 列表展示**摘要指标**;详情按**八个信息块**展开(见 **§5.5**):基础、系谱、个体生理、生长性状、繁殖性能、饲喂数据、牦牛圈舍、牦牛批次。 ### 2.2 资产状态 用于列表筛选与详情「基础信息」展示;取值与第三方映射关系在技术方案中维护。 | 状态 | 含义概要 | | --- | --- | | 正常 | 在栏饲养,档案有效 | | 死淘 | 死亡或淘汰,资产业务终止 | | 丢失 | 丢失或无法追踪 | | 出栏 | 已出栏或出售离场 | **字典约定(与草稿一致)**:性别为公/母;来源为自繁/外购/引进;养殖方式为半舍饲/散养/圈养(与第三方同步,展示以同步值为准)。 ### 2.3 第三方与指标扩展 - **第三方生产管理系统**:外部牦牛/牧场生产平台;用户点击「**同步**」拉取或更新档案及子表数据。 - **指标非最终版**:原型与草稿均说明,当前列表与详情字段**不一定是最终对接的全部指标**;后续对接可增加、删减或改名,系统宜支持配置化展示(见 **§3、§8**)。 ### 2.4 列表字段含义 | 字段 | 说明 | | --- | --- | | 牦牛编号 | 唯一编号 | | 所属牧场 | 当前归属牧场名称 | | 性别 | 公/母等(与第三方字典一致) | | 月龄 | 单位**月**;宜由出生日期与当前日期计算,与第三方冲突时以产品约定为准(默认:展示优先系统计算,同步可覆盖) | | 实时体温 | 最近体温,**℃** | | 实时运动量 | 最近运动量,**步**(或第三方单位,界面须标注) | | 资产状态 | **§2.2** | | 变更日期 | 资产状态最近变更日 **YYYY-MM-DD**;无单独状态流水时可为最近同步/更新时间 | --- ## 3. 功能范围 **本期实现:** | 能力 | 说明 | | --- | --- | | 档案列表 | 牦牛编号模糊、资产状态精确筛选;分页;列见 **§5.1** | | 同步 | 从第三方拉取/更新档案及子数据,见 **§5.3** | | 查看详情 | 只读;八块信息 + 图表,见 **§5.4、§5.5** | | 工具栏 | 搜索、重置、同步 | **本期不实现:** - 本模块内手工维护整头档案(增删改表单) - 抵押/投保/出栏等业务流程审批(仅展示状态) - 与信贷、保单系统联动下单 - 电子围栏、轨迹回放等高级物联能力(「位置」仅文本/坐标展示除外) --- ## 4. 业务流程 ```mermaid flowchart TD T[第三方生产管理系统] -->|用户触发同步| S[本系统档案库] S --> L[列表检索] L -->|查看| D[档案详情] D --> B1[基础信息/系谱/个体生理] D --> B2[生长性状/繁殖性能] D --> B3[饲喂数据] L -->|再次同步| S ``` 1. 授权用户执行**同步**,写入或更新档案及多维子数据。 2. 按编号、状态筛选,浏览列表摘要。 3. 进入**详情**,分块查看基础、系谱、生理曲线、生长、繁殖、饲喂;生长性状支持列表与曲线(含预测)切换。 4. 需要时再次**同步**刷新数据。 --- ## 5. 详细功能需求 ### 5.1 档案列表 **筛选** | 条件 | 规则 | | --- | --- | | 牦牛编号 | 选填;**模糊**匹配;空则不过滤 | | 资产状态 | 选填;**精确**匹配 **§2.2**;空则不过滤 | **列表规则** - 默认每页 **20** 条;默认排序:**变更日期倒序**(或与「最近同步时间」统一,评审确认一项)。 - 支持**重置**筛选。 - 无实时物联数据时,体温、运动量显示「—」或「暂无」。 - 操作列仅 **查看**;无编辑、删除。 **展示列(与列表原型一致)** 牦牛编号、所属牧场、性别、月龄(月)、实时体温、实时运动量、资产状态、变更日期、操作。 --- ### 5.2 列表工具栏 | 按钮 | 行为 | | --- | --- | | 搜索 | 按当前条件刷新列表 | | 重置 | 清空筛选 | | 同步 | **§5.3**;执行中防重复提交;需独立权限 | --- ### 5.3 第三方同步(手动 — 生物资产全量) | 项 | 要求 | | --- | --- | | 触发 | 用户点击列表「**同步**」;**不**包含 IoT 物联数据 | | 权限 | 仅同步权限角色可执行 | | 范围 | **五段顺序**全量:养殖场 → 圈舍 → 生产计划 → 批次 → **入栏建档(牦牛档案)** | | 入栏接口 | `GET /open-api/v1/farming/entry-filings`(字段见草稿 `20260611111807_455_398.jpg`) | | 鉴权 | 与牧场管理同源:`third-party.farming` 配置 `base-url`、`app-key`、`app-secret` | | 合并键 | 优先 **cattleId**(`external_id`);辅以 **cattleNo** 作为 `yak_no`;**earTagNumber** 独立落库 `ear_tag_number` | | 分页 | `pageNum`/`pageSize`≤200 直至取完 | | 反馈 | 提示成功/失败;摘要含各段及入栏建档新增/更新/失败头数(前端兼容顶层 `insertCount` 等) | | 牧场映射 | `farmId` → `biz_pasture.external_id`;失败则冗余 `farmName` | | 失败 | 第三方不可用须明确提示,**不得**误删已有档案 | | 子数据 | 入栏列表同步主表;生理/生长等子表待详情接口对接后增量覆盖 | ### 5.3.1 IoT 数据定时同步(后台) | 项 | 要求 | | --- | --- | | 触发 | **定时任务**每日凌晨 **1:00**;**无**列表页按钮 | | 数据 | 牛只称重、耳标温度步数、牦牛定位项圈、环境监测 | | 接口 | `/open-api/v1/iot/weighings`、`/ear-tags`、`/collar-locations`、`/env-monitoring` | | 全量条件 | 对应本地表 `biz_yak_weighing_record` / `biz_yak_ear_tag_record` / `biz_yak_collar_location` / `biz_env_monitoring_record` **无任何行**(`count(*)=0`,含逻辑删除行) | | 增量条件 | 表内有数据时,按事件时间与配置水印增量拉取 | | 初始化 | 执行 `sql/biz_sys_job_iot_data_incremental_sync.sql` 并在「系统管理-定时任务」启用 | 同步成功后,列表与详情展示最近一次**入栏建档**手动同步结果;IoT 数据供详情/预警等模块读取,宜标注数据来源与采集时间(**§8**)。 --- ### 5.4 详情页总体 | 项 | 要求 | | --- | --- | | 入口 | 列表「查看」 | | 权限 | 查询权限即可 | | 模式 | **只读**;不提供保存、编辑按钮 | | 布局 | 建议顶部摘要条:牦牛编号、所属牧场、资产状态、性别、月龄;下方分块展示 **§5.5**(与详情原型一致,可滚动单页或多 Tab) | | 系谱跳转 | 父亲编号、母亲编号若在本系统存在,宜可跳转其详情(新窗口或路由切换) | --- ### 5.5 详情信息块 #### (1)基础信息 | 字段 | 格式/单位 | | --- | --- | | 牦牛编号 | — | | 所属牧场 | — | | 批次编号 | — | | 性别 | 公/母 | | 出生日期 | YYYY-MM-DD | | 月龄 | 月 | | 入栏日期 | YYYY-MM-DD | | 入栏体重 | kg | | 来源 | 自繁/外购/引进 | | 养殖方式 | 半舍饲/散养/圈养 | | 资产状态 | **§2.2** | | 状态变更原因 | 文字 | | 圈舍位置 | — | | 预计出栏日期 | YYYY-MM-DD | | 补饲方案 | 文字 | #### (2)系谱信息 | 字段 | 说明 | | --- | --- | | 牦牛编号 | 当前个体 | | 父亲编号 | 无则「—」 | | 母亲编号 | 无则「—」 | #### (3)个体生理 + 曲线图 **当前值(与原型「个体生理」区一致)** | 字段 | 单位 | | --- | --- | | 实时体温 | ℃ | | 实时运动量 | 步(或第三方单位) | | 环境温度 | ℃ | | 位置 | 文字或坐标描述 | | 采集时间 | 上述实时值对应时间 | **曲线图(原型底部「曲线图」区域)** - 展示**近一个月**体温、运动量、环境温度的趋势。 - 支持图例区分指标;无数据时段断点或留空。 - 时间粒度与第三方一致(按日/按采集点)。 #### (4)生长性状 **列表模式(默认)** | 列 | 单位 | | --- | --- | | 日龄 | 天 | | 体重 | kg | | 体高 | cm | | 胸围 | cm | | 体长 | cm | | 采集时间 | 日期时间 | - 按采集时间或日龄**倒序**(最新在上)。 - 区块右上角 **切换**:由列表变为**曲线图**。 **曲线模式(切换后)** - 至少支持体重等指标曲线;可选展示体高、胸围、体长(有数据则展示)。 - **实测**与**未来预测**同时展示,**不同颜色线段**区分(与原型红字说明一致)。 - 无预测数据时仅展示实测。预测来源(第三方或内置模型)实施阶段与业务确认。 #### (5)繁殖性能 **列表展示**(可多行,按胎次/事件) | 列 | 单位/说明 | | --- | --- | | 分娩日期 | YYYY-MM-DD | | 日龄 | 天 | | 胎次 | — | | 产犊间隔 | 天 | | 产犊数量 | 头 | | 成活牦牛数量 | 头 | | 犊牛成活率 | 百分比或比例,须标注口径 | | 犊牛出生体重 | kg | | 是否难产 | 是/否或字典 | #### (6)饲喂数据 **列表展示**(可多行,按日龄区间) | 列 | 单位 | 规则 | | --- | --- | --- | | 补饲对象 | — | 个体/圈舍群体/批次群体 | | 开始日龄 | 天 | 开始日龄 ≤ 结束日龄 | | 结束日龄 | 天 | — | | 饲料类型 | 字典 | 与第三方一致 | | 总补饲量 | kg | 正数 | | 日补饲量 | kg | 正数 | 同一牦牛多条饲喂记录区间**是否允许重叠**默认允许(与第三方一致);若需互斥校验另定需求。 #### (7)牦牛圈舍 | 列 | 说明 | | --- | --- | | 圈舍名称 | — | | 牦牛编号 | 当前个体 | #### (8)牦牛批次 | 列 | 说明 | | --- | --- | | 批次编号 | — | | 牦牛编号 | 当前个体 | --- ## 6. 权限矩阵 | 操作 | 条件 | | --- | --- | | 查看列表 | 列表权限 | | 查看详情 | 查询权限 | | 同步 | 同步权限(建议独立于查询) | | 新增/编辑/删除档案 | 本期无 | --- ## 7. 提示与错误约定 采用项目统一提示方式;**不约定** HTTP 字段。宜区分: - 同步成功/失败/进行中; - 第三方不可用; - 无同步权限; - 列表无数据; - 详情某块暂无数据; - 系谱关联个体不存在时的跳转提示。 --- ## 8. 非功能需求(建议) | 类别 | 建议 | | --- | --- | | 性能 | 列表分页;大批量同步宜异步+进度 | | 审计 | 记录同步操作人、时间、结果摘要 | | 权限 | 按牧场/组织过滤可见档案 | | 扩展 | 字段与 Tab 可配置;对接版本变更说明 | | 时效 | 标注最近同步时间,避免误解实时性 | | 双语 | i18n(汉语 + 藏文) | --- ## 9. 相对草稿的修订说明 | 草稿问题 | 处理 | | --- | --- | | 缺条目「2」、编号乱 | 重整为 §5 分节 | | 技术栈、code/msg/data | 已移除 | | 未区分列表/详情/同步 | §5.1~5.5 分列 | | 指标非最终 | §2.3、§3、§8 | | 详情六块分散 | 合并 §5.5;草稿增圈舍/批次及字段后扩展为八块 | | 资产状态简化为 4 项 | §2.2 对齐草稿:正常/死淘/丢失/出栏 | | 性别/来源/养殖方式 | §2.2、§5.5(1)补充草稿字典 | | 生长「切换+预测」 | §5.5(4)曲线模式单独说明 | | 生理与曲线图关系 | §5.5(3)区分当前值与近一月曲线 | | 列表缺分页、重置 | §5.1、§5.2 | | 入栏建档 OpenAPI 对接 | §5.3 明确 `entry-filings` 接口、字段映射与 `external_id` 合并键 | | 全量/IoT 分离 | §5.3 手动五段全量;§5.3.1 IoT 定时 1:00、全量/增量策略 | --- ## 10. 需求追溯 | 能力 | 章节 | | --- | --- | | 列表筛选 | §5.1 | | 资产状态 | §2.2 | | 同步 | §5.3、§5.3.1 | | 详情八块 | §5.5 | | 生理曲线 | §5.5(3) | | 生长列表/曲线/预测 | §5.5(4) | | 繁殖、饲喂 | §5.5(5)(6) | | 圈舍、批次 | §5.5(7)(8) | | 第三方与扩展 | §2.3、§8 |