我们不换算口径,
我们只做字段映射
评审最常问的一句是"你凭什么说三套系统能一次录入"。这一页把映射表原样公开:哪些字段复用、哪些是各自独有、缺了怎么标。凡是需要"换算"才能对上口径的地方,我们一律不做——那是数据造假最容易发生的地方。
10 个输入字段,填满 22 个报文槽位
算法:直连直报 8 槽 + 全国备案 8 槽 + 智慧动监 6 槽 = 22 槽,去重后只需 10 个输入字段,22 − 10 = 12 次重复劳动被消掉,22 ÷ 10 ≈ 2.2 倍复用。这个数不是估算,是 reportTargets 里写死的字段规格算出来的。
映射表(与本页同源,随代码版本变动)
| 我们的字段 | 直连直报 | 全国备案 | 智慧动监 | 规则 |
|---|---|---|---|---|
farm_code | 养殖场代码 | 主体编码 | 主体编码 | 平台内唯一编码,不由用户填写 |
farm_name | 养殖场名称 | 主体名称 | — | 取自"一户一档",改名需走档案变更留痕 |
period | 统计期 | 报告期 | 月份 | 统一 YYYY-MM;各系统展示格式不同,值相同 |
stock_total | 期末存栏(头) | 存栏量(头) | 存栏(头) | 同一数值,三个系统各自叫法不同,不做换算 |
cows | 能繁母牛存栏(头) | 能繁母牛存栏(头) | — | 智慧动监不采集此项 |
births | 本期出生(头) | 新生犊牛(头) | — | 仅名称差异,取值一致 |
deaths | 本期死亡(头) | 死亡头数 | — | 须有耳标事件支撑,无事件不允许填死亡 |
sold | 本期出栏(头) | 出栏头数 | 出栏(头) | 出栏与屠宰分开记,不合并 |
immune | — | — | 免疫数(头) | 智慧动监独有,来自免疫台账 |
tags_issued | — | — | 耳标发放(枚) | 智慧动监独有,平台不另发码 |
| 槽位合计 | 8 | 8 | 6 | 覆盖率分母 = 各目标自己的槽位数,不共用 |
覆盖率怎么算,缺口怎么标
覆盖率 = 已填字段 ÷ 该目标报文的槽位总数。三份报文各算各的,不取平均糊弄成一格。 缺哪个字段就点名哪一个,例如"本期出生(头)、本期死亡(头)",而不是给一句"资料不完整"。
同一批数据,三个目标给出三个覆盖率——这是正确行为,不是 bug。把它取平均成"58.3%"才是错的,因为三个目标的责任人不同、补正成本也不同。
我们明确不做的换算
公报口径含奶牛。要肉牛数,只能取行业汇编的肉牛口径,两者相差的正是奶牛存栏,不能相减推算。
500kg → 600kg 的口径变更会让头均数凭空 +20%。跨断点只报绝对值,不做同比。
定点屠宰覆盖率约 2%,反推出来的"出栏"没有任何意义,只会误导决策。
陕西集市价、全国批发价、全国集贸均价不可比。合成一个数就等于制造了一个不存在的指标。
三档降级:拿不到授权时我们怎么活
与陕西智慧动监打通,耳标、免疫、检疫、落地报告四类数据自动取回。需要省级授权,我们无法单方面决定。
按周/月导出官方数据,人工核对后导入。覆盖率不降,时效降——所以大屏会标"数据截至某日"。
手填 + 检疫证扫描件挂接。大屏相应降级:产业规模类改为静态事实卡并标注来源与期次,不假装有实时数。
当前线上处于 B 档(定期导出导入)。档位不是宣传口径,是运维事实:可在「平台实况」页与后台设置页同时核到。
想当场验一遍映射?
给我们 5 个你场里真实的耳标号,40 分钟内把三份报文与各自的缺口清单出给你看。