一只蛋的成本怎么算?——都尔霍姆蛋鸡养殖管理系统的开发逻辑与框架

第 87 篇  |  2026-08-26  |  分类:农业养殖 · 蛋鸡ERP · AI决策  |  阅读约 10 分钟
一句话:这是一套给「高床有机平养海兰褐蛋鸡场」用的生产+成本一体化系统——鸡舍管理员手机填报 A/B/C/废品蛋,系统自动算出产蛋率、料蛋比、单枚成本,再用 6 张驾驶舱图表 + AI 决策中心告诉场长"明天该干什么"。客户要求:不是记录系统,是驱动系统——每个模块都闭环,填的单据要好看,还要打印、导入导出、备份恢复、一键重置、分权管理。

一、客户到底要什么?——需求还原

客户是都尔霍姆蛋鸡养殖场:两个基地(贺胜农场、双溪农场),高床有机平养海兰褐蛋鸡,每天人工清点鸡蛋,一箱 360 枚。他们发来的需求说明书非常专业,我逐条拆解成开发任务:

需求维度客户原话(提炼)我们做了什么
角色权限5 类人:鸡舍管理员/技术负责人/仓库/饲料配制员/场长服务端 RBAC,鸡舍管理员只能看自己的舍、看不到成本
鸡蛋分级A蛋+B蛋=合格,C蛋=次品,破蛋=废品蛋录入表单按客户术语分 4 档,系统自动合并 A+B=合格
生产计算只填必填项,其余自动算13 项自动计算:期末存栏/产蛋率/均蛋重/料蛋比/存活率/合格率…
标准对比和海兰褐标准曲线对比内置海兰褐 1-80 周体重/采食/产蛋率标准,偏离自动标红
物资闭环兽药疫苗先入总仓,领用下发才算成本入库→出库领用→自动扣库存→成本自动抓取
饲料车间原料/配方/成品独立于总仓原料仓+配方库+配料生产(自动扣料)+调拨鸡舍
成本核算按鸡舍+批次滚动,算单枚鸡蛋成本直接成本自动抓取+分摊(按存栏权重)+淘汰鸡冲减→单枚/斤蛋成本
AI 决策系统必须有 AI,客户掌握经营状况AI 决策中心:健康评分+诊断+行动清单+趋势预判

二、整体框架:Node.js 服务端 + H5 单页

技术选型延续 Y2Ksoft 的成熟套路,但这次是服务端正式版(不是演示版):

// 技术栈
后端    Node.js (Express) + node:sqlite(零依赖数据库)
前端    单页 H5(index.html + app.js),手机微信/电脑双端自适应
存储    SQLite 单文件 farm.db,全量真实持久化
权限    服务端 requireAuth + requireRole 双重校验(前端菜单只是隐藏,后端才拦截)
AI     /api/ai/suggestions 规则引擎(可配 LLM_API_KEY 升级真大模型)

// 数据表(26 张,业务闭环全覆盖)
users sessions bases houses batches materials
wh_stock wh_records feed_raw feed_finished formulas
feed_produce feed_dispatch feed_raw_recs daily
immunizations medications weights lights antibodies
monthly_costs incomes settlements ai_suggestions attachments tasks

为什么用 node:sqlite?服务器 Node 20 不支持,我们装 Node 22 到 /opt,服务开箱即用、数据库就一个文件,备份恢复 = 下载/上传一个文件,客户现场部署最简单。

三、核心开发逻辑:三层闭环

1️⃣ 填报层 → 自动计算(calcDaily)

鸡舍管理员在手机上只填 A/B/C/废品蛋枚数 + 存栏 + 死淘 + 饲料,服务端实时算出 13 项指标并和海兰褐标准对比:

function calcDaily(rec, batch){
  const end = rec.open - rec.dead - rec.cull;          // 期末存栏
  const a=rec.a_cnt, b=rec.b_cnt, c=rec.c_cnt, w=rec.waste_cnt;
  const qualCnt = a+b;                                   // 合格蛋 = A蛋+B蛋(客户术语)
  const subCnt  = c, brkCnt = w;                         // C蛋=次品, 破蛋=废品
  layRate:  eggsTotal / end * 100                          // 产蛋率
  avgEggWt: total_kg*1000 / eggsTotal                      // 均蛋重
  fcr:      feed_kg / total_kg                             // 料蛋比
  cases:    qualCnt / 360                                  // 合格件数(1件=360枚)
  deviation: |理论枚数-实际枚数| / 理论枚数                 // 重量校验,>5% 标红
  flags:    产蛋率低于标准 / 死淘偏高 / 料蛋比偏高          // 自动预警
}

2️⃣ 单据层 → 审核闭环

所有单据走「草稿 → 提交 → 审核」三步,审核通过才生效:总仓出库要审核、饲料调拨要审核、生产日报要审核。审核中心集中处理,全程留痕(谁提交、谁审核、什么时候)。

3️⃣ 成本层 → 批次滚动累计

// 单枚鸡蛋成本(核心公式)
净投入 = 鸡苗成本 + 饲料总费用 + 总仓领用(兽药疫苗耗材)
        + 分摊人工/水电/折旧 + 其他耗材 − 淘汰鸡变卖收入
单枚成本 = 净投入 ÷ 批次累计实际产蛋枚数(人工清点)
斤蛋成本 = 净投入 ÷ 批次产蛋总斤数
// 分摊规则可切换:按存栏权重自动分摊 / 直接指定鸡舍金额

四、驾驶舱:6 张图让客户"看得懂"

客户说不喜欢干巴巴的表格,更不喜欢挤成一团的数字。我们参考陆龙江 ERP 的图表风格,把驾驶舱做成 6 张图、每张都带数字:

图表形式客户看懂什么
近14天产蛋率趋势多折线 + 海兰褐标准虚线我的鸡和标准差多少
产蛋计划燃尽图计划剩余线 vs 实际剩余线今天该产多少、还差多少
各鸡舍产蛋率排行水平条形 + 标准竖线哪个舍达标、哪个舍拖后腿
近14天均蛋重趋势多折线 + 标准蛋重蛋重有没有正常长大
蛋品质量帕累托柱状 + 累计%折线(双Y轴)合格蛋占 98%,次品废品是少数
疫苗/物料到期水平条(30/60/90天分色)哪些苗要到期该补了

数字防重叠的细节:折线图数据点多时,只标「峰值点 + 末尾点」,末尾 4 条线上下错开(-6/-19/+12/+23),标准虚线不标数字,图例里显示最新值——客户一眼看清,不会糊成一团。

五、AI 决策中心:客户要的"掌握经营状况"

客户原话:"整个系统必须有 AI 来决策、来控制整个系统的变化情况,这样客户才能掌握自己的经营状况、做成改变和变化"。我们做了规则引擎版(可升级真 LLM):

客户每天登录 → 看分数 → 看问题清单 → 照着行动 → 数据改善 → 分数上升。系统替他盯指标,他做决策——这才是"驱动型系统"。

六、系统截图(12 张,实拍 4K)

以下全部为系统真实界面(演示数据 7.5 个月 / 613 条生产记录 / 4 个在产批次),方便客户直接看效果:

01 · 登录页(第一印象)
客户提供的真实鸡舍照片做背景 + 左右双栏布局(左品牌区 + 右玻璃登录卡),四季贵州水色光球氛围。
登录页
02 · 运营驾驶舱(核心)
4 大 KPI + 6 张图表(产蛋率趋势/燃尽图/鸡舍排行/蛋重趋势/蛋品帕累托/疫苗到期)+ 预警中心 + 在产鸡舍一览。
运营驾驶舱
03 · AI 决策中心
健康评分仪表 + 维度诊断 + 行动清单(按优先级)+ 趋势预判,客户每天打开就知道"该做什么"。
AI决策中心
04 · 每日生产填报(客户术语)
手机主表单:A蛋/B蛋/C蛋(次品)/废品蛋四档录入,自动合并 A+B=合格、自动算产蛋率/件数/校验,海兰褐标准偏离标红。
每日生产填报
05 · 技术台账
免疫记录(带到期提醒)/ 用药保健(仅追溯)/ 每周体重均匀度(vs 标准曲线)/ 光照变更 / 抗体检测。
技术台账
06 · 物资总仓
兽药疫苗耗材先入总仓 → 领用下发鸡舍自动扣库存计成本,低库存/临期预警,台账完整。
物资总仓
07 · 饲料车间
原料仓/配方库/配料生产(自动扣原料+增成品)/调拨鸡舍(自动计成本),独立于总仓。
饲料车间
08 · 批次成本核算
成本看板(批次卡+单枚/斤蛋成本)/ 直接成本自动抓取 / 月度分摊 / 淘汰鸡冲减 / 纵向对比分组柱 / 批次结算归档。
批次成本核算
09 · 报表与数据看板
单舍全周期追溯:产蛋率/蛋重/料蛋比/死淘/饲料消耗曲线,全部与海兰褐标准对比。
报表与看板
10 · 单据审核中心
所有单据草稿→提交→审核三步闭环,集中审批、全程留痕,审核通过才生效。
单据审核中心
11 · 基础档案 + 12 · 用户与权限
基地/鸡舍(含月折旧)/批次(鸡苗总金额+计划淘汰)/物料档案;用户增删改、角色+鸡舍分配、禁用启用、重置密码。
基础档案 用户与权限

七、踩过的坑(给后来者)

🐔 演示地址:https://www.y2ksoft.cn/duerholm/login.html(账号 admin / admin123 场长)
📱 角色账号:tech/tech123 技术负责人 | wh/wh123 仓库 | feed/feed123 饲料 | house/house123 鸡舍管理员
🤖 AI 决策:登录后左侧「AI 决策中心」,看健康评分和行动清单
📊 驾驶舱:登录即见 6 张图表(燃尽图/帕累托/排行/趋势)