支持预设原料和营养简介

This commit is contained in:
2025-11-19 19:58:09 +08:00
parent a74ab4e5e7
commit 365d69e0c6
2 changed files with 178 additions and 8 deletions

View File

@@ -368,7 +368,7 @@
"黄曲霉毒素B1 (μg/kg)": 15 "黄曲霉毒素B1 (μg/kg)": 15
}, },
"小苏打": { "小苏打": {
"Na": 27.0, "钠 (%)": 27.0,
"干物质 (%)": 100, "干物质 (%)": 100,
"水分 (%)": 0 "水分 (%)": 0
}, },
@@ -1603,8 +1603,8 @@
"钙 (%)": 5.50 "钙 (%)": 5.50
}, },
"食盐": { "食盐": {
"Cl": 60.0, "氯 (%)": 60.0,
"Na": 39.0, "钠 (%)": 39.0,
"干物质 (%)": 100, "干物质 (%)": 100,
"水分 (%)": 0 "水分 (%)": 0
}, },
@@ -1736,5 +1736,147 @@
"蛋+胱氨酸 (%)": 1.95, "蛋+胱氨酸 (%)": 1.95,
"钙 (%)": 2.80 "钙 (%)": 2.80
} }
},
"descriptions": {
"raw_materials": {
"DL-蛋氨酸98": "饲料级合成蛋氨酸几乎100%可利用,是猪限制性氨基酸补充的首选来源,可显著提高生长速度和饲料转化率。",
"L-色氨酸98": "饲料级合成色氨酸,猪的第四限制性氨基酸,缺乏时严重影响采食量和生长,补充可提升猪只食欲和免疫力。",
"L-苏氨酸98": "饲料级合成苏氨酸,猪的第三限制性氨基酸,主要影响蛋白沉积和免疫器官发育,仔猪阶段尤为重要。",
"L-赖氨酸HCl 98": "饲料级赖氨酸盐酸盐,猪的第一限制性氨基酸,低蛋白日粮配方核心,降低氮排放的同时维持生长性能。",
"乳清粉": "仔猪最优质的乳源蛋白和乳糖来源,提高采食量、促进肠道发育、缓解断奶应激,是教槽料和保育料黄金原料。",
"兔肉粉": "高蛋白高消化率动物蛋白源,氨基酸平衡好,适口性佳,适合高档仔猪料和母猪料使用。",
"全株玉米青贮": "粗饲料来源,提供有效纤维,调节成年母猪肠道健康,降低便秘,价格低廉。",
"双低菜籽粕": "双低菜粕,硫甙和异硫氰酸酯含量低,可部分替代豆粕使用,但仍需注意赖氨酸利用率和甲状腺影响。",
"向日葵籽": "高油分能量原料,富含亚油酸,但纤维高,猪的利用率一般,多用于母猪料。",
"啤酒糟干": "高蛋白高纤维副产品,适口性好,可用于生长肥育猪和母猪料,注意霉菌毒素风险。",
"啤酒花渣": "啤酒副产物,湿态使用时适口性好,可降低母猪便秘,但干物质低、易发霉。",
"国产鱼粉60": "中等品质鱼粉,蛋白高但新鲜度一般,挥发性盐基氮和组胺需关注,仔猪料谨慎使用。",
"土豆蛋白": "高消化率植物浓缩蛋白,氨基酸平衡好,是优质替代血浆和鱼粉的原料之一。",
"大豆油": "高能量油脂,猪利用率极高,用于提高日粮能量浓度,改善皮毛光亮度。",
"大豆粕44": "普通豆粕蛋白43.8%左右抗营养因子较高需关注脲酶和KOH溶解度。",
"大豆粕46": "优质豆粕,蛋白更高,抗营养因子更低,是猪料最常用蛋白原料。",
"大豆粕48": "高蛋白豆粕,抗营养因子最低,低蛋白日粮配方的理想蛋白源。",
"大麦": "能量稍低于玉米纤维较高可部分替代玉米注意DON毒素风险。",
"小苏打": "缓冲剂和钠源,缓解热应激、改善母猪泌乳期酸中毒。",
"小麦": "能量与玉米接近,但黏性大,易导致肠道问题,仔猪料慎用。",
"小麦次粉": "小麦加工副产品蛋白和磷较高但DON和ZEN风险高限量使用。",
"小麦麸": "高纤维原料,用于母猪料促进肠道蠕动,降低便秘。",
"木薯干": "高能量淀粉源,几乎不含蛋白,价格低廉,但需搭配优质蛋白。",
"杂交构树叶粉": "新型蛋白饲料资源,蛋白中等,富含黄酮,但单宁和草酸高,需限量并配合脱毒处理。",
"构树叶粉(老叶高纤维)": "老叶构树粉,纤维更高,适合母猪粗饲料使用。",
"柠檬酸渣": "湿态副产品,适口性好,可用于母猪料降低成本。",
"棉籽粕": "蛋白较高,但游离棉酚严重影响公猪生育力和生长,需严格限量或脱毒。",
"棕榈油": "饱和脂肪酸高,能量高,但熔点高,冬季易凝固,仔猪利用率稍差。",
"棕榈粕": "高纤维高脂肪副产品,能量一般,多用于母猪料。",
"椰子粕": "蛋白和能量中等,适口性好,可部分替代豆粕。",
"燕麦": "能量和脂肪较高,适口性佳,但价格贵,一般少用。",
"燕麦草": "粗饲料,母猪用以增加饱腹感和肠道健康。",
"猪肺粉": "优质动物蛋白,消化率高,适口性极佳,适合高档仔猪料。",
"玉米": "猪最主要的能量原料,淀粉消化率高,毒素风险需关注。",
"玉米DDGS": "高蛋白高脂肪玉米副产品,磷利用率高,适合生长肥育猪和母猪。",
"玉米油": "优质植物油,富含不饱和脂肪酸,能量最高油脂之一。",
"玉米胚芽粕": "蛋白和脂肪较高,磷利用率好,可部分替代豆粕和油。",
"玉米蛋白粉60": "高蛋白高蛋氨酸,色素来源,用于改善猪皮红毛亮。",
"玉米青贮": "粗饲料,母猪用以调节肠道,降低饲料成本。",
"瓜子粕": "葵花籽粕的别称,蛋白较高,纤维也高。",
"甜菜粕": "高可溶性纤维,母猪极佳的防便秘原料。",
"石粉": "最常用的钙源,价格低廉,注意粒度影响吸收率。",
"碎米": "能量接近玉米,蛋白稍低,适口性好。",
"磷酸氢钙": "猪最常用磷钙来源,有效磷高。",
"稻草粉": "最廉价粗纤维来源,母猪限量使用防便秘。",
"稻谷": "带壳稻子,能量低于玉米,纤维高。",
"稻谷糠": "米糠的一种,高脂肪高磷,需注意酸败。",
"米糠": "高能量高磷副产品,注意黄曲霉毒素和酸败。",
"米糠粕": "脱脂米糠,蛋白较高,能量降低。",
"红薯干": "高淀粉低蛋白能量原料,类似木薯。",
"肉粉": "普通肉粉,蛋白和灰分波动大,质量不稳定。",
"肉骨粉50": "含骨较高,钙磷比例好,但蛋白较低。",
"脱脂奶粉": "优质乳蛋白源,仔猪料黄金原料。",
"膨化全脂大豆": "经过高温膨化的全脂大豆,抗营养因子破坏彻底,仔猪可用。",
"芝麻粕": "蛋白高,蛋氨酸丰富,但草酸高,需限量。",
"花生秧粉": "粗饲料,母猪用。",
"花生粕": "蛋白高,但黄曲霉毒素风险极高,猪场慎用。",
"苜蓿草块": "优质粗饲料,富含维生素和未知生长因子,母猪和仔猪都适用。",
"苜蓿草粉": "蛋白较高,但皂苷和香豆素可能影响采食。",
"苹果渣": "湿态副产品,适口性好,母猪喜欢。",
"菜籽粕": "普通菜粕,硫甙高,对甲状腺影响大,猪限量使用。",
"葡萄糖": "快速能量源,教槽料常用,缓解应激。",
"葵花籽粕": "高纤维蛋白源,赖氨酸低,需补充赖氨酸。",
"蔗糖": "高能量碳水,教槽料诱食用。",
"虾粉": "优质动物蛋白,含虾青素,改善体色。",
"蚕蛹粉": "高蛋白高脂肪,氨基酸平衡好,但脂肪易氧化。",
"蚕豆": "蛋白较高,淀粉消化率好,但含抗营养因子。",
"蟹粉": "高蛋白高灰分动物蛋白,钙磷丰富。",
"血浆蛋白粉": "仔猪断奶料黄金功能性蛋白IgG高促进肠道发育和免疫。",
"血粉": "赖氨酸极高,但适口性差,需喷涂使用。",
"豆磷脂": "高能量乳化剂,促进脂肪消化,改善皮毛。",
"豌豆": "蛋白中等,淀粉消化好,可部分替代玉米和豆粕。",
"豌豆蛋白": "豌豆浓缩蛋白,蛋白高,抗营养因子低。",
"进口鱼粉65": "高品质鱼粉,新鲜度好,仔猪和母猪料优质蛋白源。",
"食盐": "提供钠和氯,调节电解质平衡。",
"饲料酵母粉": "富含核苷酸和小肽,促进肠道健康和免疫。",
"高粱": "能量接近玉米,但单宁高影响消化率,需选低单宁品种。",
"鱼油": "富含DHA和EPA促进脑发育和抗炎母猪和仔猪推荐。",
"鸡肉粉": "优质陆基动物蛋白,消化率高,适口性好。",
"鸭肉粉": "与鸡肉粉类似,脂肪稍高。",
"鹅肉粉": "蛋白和脂肪中等,质量稳定。"
},
"nutrients": {
"可消化蛋氨酸 (SID %)": "猪第二限制性氨基酸,直接影响瘦肉率和生长速度。",
"可消化色氨酸 (SID %)": "猪第四限制性氨基酸,影响采食量、情绪和免疫力,缺乏时猪只易应激。",
"可消化苏氨酸 (SID %)": "猪第三限制性氨基酸,影响肠道黏膜和免疫器官发育。",
"可消化赖氨酸 (SID %)": "猪第一限制性氨基酸,决定蛋白沉积效率,低蛋白日粮核心指标。",
"干物质 (%)": "原料实际含固体比例,影响贮存和配方计算。",
"总蛋氨酸 (%)": "原料中总的蛋氨酸含量,需结合消化率使用。",
"总色氨酸 (%)": "原料中总的色氨酸含量,猪最易缺乏的氨基酸之一。",
"总苏氨酸 (%)": "原料中总的苏氨酸含量,仔猪阶段需求高。",
"总赖氨酸 (%)": "原料中总的赖氨酸含量,第一限制性氨基酸。",
"水分 (%)": "原料含水量,过高易发霉,影响贮存和营养浓度。",
"粗蛋白 (%)": "饲料蛋白质含量的最基本指标,猪生长核心营养。",
"粗脂肪 (%)": "提供浓缩能量,改善适口性和皮毛光泽。",
"粗纤维 (%)": "影响肠道健康,母猪需要适量以防便秘,生长猪过高降低能量。",
"粗灰分 (%)": "矿物质总含量,过高可能影响消化率。",
"钙 (%)": "骨骼发育、神经肌肉功能必需,母猪缺钙易瘫痪。",
"总磷 (%)": "骨骼和能量代谢必需,但过量排泄污染环境。",
"有效磷 (%)": "猪实际可利用的磷,植物性原料植酸磷利用率低,动物性高。",
"代谢能 (kcal/kg)": "猪实际可利用的能量,最重要的能量指标。",
"净能 (kcal/kg)": "更精确的能量体系,考虑热增耗,现代配方趋势。",
"消化能 (kcal/kg)": "猪消化道可吸收的能量,介于代谢能和净能之间。",
"乳糖 (%)": "仔猪最易利用的糖源,促进乳酸菌生长,断奶料关键。",
"盐分 (%)": "提供钠氯,调节渗透压和胃酸。",
"蛋+胱氨酸 (%)": "含硫氨基酸总量,影响毛发生长和抗氧化。",
"挥发性盐基氮 (mg/100g)": "鱼粉新鲜度指标,超标说明腐败,影响适口性和安全性。",
"组胺 (mg/kg)": "鱼粉腐败产物,高时引起猪过敏和腹泻。",
"胰蛋白酶抑制因子 (TIU/mg)": "豆粕抗营养因子,过高抑制蛋白消化,影响生长。",
"脲酶活性 (ΔpH)": "豆粕加热程度指标,太高说明生,太低说明过熟。",
"KOH蛋白溶解度 (%)": "豆粕加热是否合适的关键指标78-85%最优。",
"黄曲霉毒素B1 (μg/kg)": "最强致癌霉菌毒素,严重影响肝脏和免疫力,必须严格控制。",
"呕吐毒素DON (μg/kg)": "导致猪呕吐、拒食和免疫抑制,麦类原料常见。",
"玉米赤霉烯酮ZEN (μg/kg)": "雌激素样毒素,导致母猪假发情和繁殖障碍。",
"游离棉酚 (mg/kg)": "影响公猪精子活力和生长,棉粕核心毒素。",
"硫甙 (μmol/g)": "菜粕中导致甲状腺肿大的前体物质,双低菜粕已大幅降低。",
"单宁 (mg/kg)": "影响蛋白消化率和适口性,高粱和构树常见。",
"草酸 (mg/kg)": "与钙结合降低钙吸收,芝麻粕和构树含量高。",
"免疫球蛋白IgG (%)": "血浆蛋白粉核心功能成分,提升仔猪免疫力和肠道成熟。",
"钠 (%)": "钠元素主要维持猪体内酸碱平衡、渗透压和神经肌肉正常功能。母猪泌乳期和高温季节需求大幅增加缺钠会导致猪只食欲下降、啃墙、异食癖甚至生长停滞。日粮钠水平一般控制在0.15%-0.35%,过高易引起盐中毒。",
"氯 (%)": "氯元素,与钠共同维持电解质平衡,是胃酸(盐酸)的主要成分。氯不足会影响胃酸分泌,导致消化不良、食欲减退。猪只呕吐或腹泻时氯流失严重,易出现酸中毒。高氯日粮(>0.5%)会加重热应激和饮水量,湿粪便增多。",
"异硫氰酸酯 (μmol/g)": "菜粕、芥子粕等十字花科原料中的辛辣毒素,刺激性强,高量会导致甲状腺肿大、采食量下降、生长受阻,双低品种已大幅降低,但仍需关注限量。",
"氢氰酸 (mg/kg)": "木薯、苦杏仁等原料中潜在剧毒物质阻断细胞呼吸极微量即可引起猪中毒死亡。构树原料标0为已脱毒处理使用前必须确认氢氰酸含量合格。",
"总黄酮 (mg/kg)": "构树等植物次生代谢物,具有抗氧化、抗菌、改善血管功能的作用,对母猪繁殖性能和仔猪抗应激有一定正面作用,但过量也可能影响适口性。",
"生物碱 (mg/kg)": "构树等原料中潜在有害物质,高量会引起猪神经症状、食欲下降甚至中毒,使用时需严格控制比例。",
"沙门氏菌": "进口鱼粉卫生指标必须为0即阴性。一旦检出阳性整批原料禁止用于猪饲料否则极易引发仔猪副伤寒和全身感染。",
"总棉酚 (mg/kg)": "棉粕中主要毒素,包括游离棉酚和结合棉酚。高量引起公猪精子畸形、母猪流产、生长猪肝肾损伤。生长育肥猪建议总棉酚<300mg/kg种猪<100mg/kg。",
"环丙烯酸 (mg/kg)": "棉粕中另一种毒素,与棉酚协同作用,破坏赖氨酸利用率,严重影响蛋白质沉积。优质脱酚棉粕应<500mg/kg。",
"硫酸盐 (mg/kg)": "玉米DDGS发酵副产物高硫酸盐>8000mg/kg常见易导致猪脑软化症硫中毒生长猪日粮硫酸盐建议不超过4000mg/kg。",
"噁唑烷硫酮 (μmol/g)": "老品种菜粕中甲状腺肿诱导物与异硫氰酸酯协同作用双低菜粕已降至10μmol/g以下普通菜粕可高达50-100μmol/g使用时需大幅限量或添加碘。",
"绿原酸 (mg/kg)": "葵花籽粕、构树等原料中多酚类物质强抗氧化但也抑制蛋白酶活性高量降低蛋白消化率一般控制在2000mg/kg以下。",
"T-2/HT-2毒素 (μg/kg)": "镰刀菌毒素强细胞毒性导致猪口腔溃疡、拒食、呕吐、免疫抑制、皮肤坏死。欧盟限量100-250μg/kg中国建议<500μg/kg。",
"大豆抗原蛋白-球蛋白 (mg/kg)": "大豆中主要抗原蛋白,引起仔猪肠道过敏、腹泻、生长受阻。优质豆粕<2000mg/kg发酵或膨化大豆可降至检测不出。",
"植酸磷 (%)": "植物性原料中磷的主要存在形式猪利用率仅20-40%,过高造成磷浪费和环境污染,也是锌、钙等矿物质的螯合剂,影响微量元素吸收。",
"大豆抗原蛋白-β-伴球蛋白 (mg/kg)": "大豆中最强过敏原之一,比球蛋白更难破坏,仔猪断奶料必须严格控制<100mg/kg否则严重腹泻。",
"寡糖-棉子糖+水苏糖 (%)": "豆粕中难消化寡糖引起肠道胀气和腹泻。普通豆粕5-6%低寡糖品种或发酵豆粕可降至1%以下。",
"皂苷 (mg/kg)": "苜蓿等原料中苦味物质高量严重影响适口性和肠道健康苜蓿草粉一般2000-5000mg/kg使用比例不宜超过10%。",
"香豆素 (mg/kg)": "苜蓿、甜菜粕等中抗凝血物质,高量导致出血倾向,苜蓿草粉通常<1000mg/kg需限量使用。"
}
} }
} }

View File

@@ -52,7 +52,7 @@ func SeedFromPreset(ctx context.Context, db *gorm.DB, presetDir string) error {
dataType := gjson.GetBytes(jsonData, "type") dataType := gjson.GetBytes(jsonData, "type")
if !dataType.Exists() { if !dataType.Exists() {
logger.Warnf("警告: 文件 '%s' 中缺少 'type' 字段,已跳过\n", filePath) logger.Warnf("警告: 文件 '%s' 中缺少 'type' 字段,已跳过", filePath)
continue continue
} }
dataTypeStr := dataType.String() dataTypeStr := dataType.String()
@@ -67,7 +67,7 @@ func SeedFromPreset(ctx context.Context, db *gorm.DB, presetDir string) error {
case "nutrient": case "nutrient":
seederFunc = seedNutrients seederFunc = seedNutrients
default: default:
logger.Warnf("警告: 文件 '%s' 中存在未知的 type: '%s',已跳过\n", filePath, dataTypeStr) logger.Warnf("警告: 文件 '%s' 中存在未知的 type: '%s',已跳过", filePath, dataTypeStr)
continue continue
} }
@@ -100,16 +100,44 @@ func seedNutrients(tx *gorm.DB, jsonData []byte) error {
return fmt.Errorf("JSON源文件校验失败: %w", err) return fmt.Errorf("JSON源文件校验失败: %w", err)
} }
// 2. 将通过校验的、干净的数据写入数据库 // 2. 解析简介信息
descriptionsNode := gjson.GetBytes(jsonData, "descriptions")
rawMaterialDescriptions := make(map[string]string)
nutrientDescriptions := make(map[string]string)
if descriptionsNode.Exists() {
descriptionsNode.Get("raw_materials").ForEach(func(key, value gjson.Result) bool {
rawMaterialDescriptions[key.String()] = value.String()
return true
})
descriptionsNode.Get("nutrients").ForEach(func(key, value gjson.Result) bool {
nutrientDescriptions[key.String()] = value.String()
return true
})
}
// 3. 将通过校验的、干净的数据写入数据库
for rawMaterialName, nutrients := range parsedData { for rawMaterialName, nutrients := range parsedData {
var rawMaterial models.RawMaterial var rawMaterial models.RawMaterial
if err := tx.Where(models.RawMaterial{Name: rawMaterialName}).FirstOrCreate(&rawMaterial).Error; err != nil { // 将 Description 放入 Create 对象中
err := tx.Where(models.RawMaterial{Name: rawMaterialName}).
FirstOrCreate(&rawMaterial, models.RawMaterial{
Name: rawMaterialName,
Description: rawMaterialDescriptions[rawMaterialName],
}).Error
if err != nil {
return fmt.Errorf("预设原料 '%s' 失败: %w", rawMaterialName, err) return fmt.Errorf("预设原料 '%s' 失败: %w", rawMaterialName, err)
} }
for nutrientName, value := range nutrients { for nutrientName, value := range nutrients {
var nutrient models.Nutrient var nutrient models.Nutrient
if err := tx.Where(models.Nutrient{Name: nutrientName}).FirstOrCreate(&nutrient).Error; err != nil { // 将 Description 放入 Create 对象中
err := tx.Where(models.Nutrient{Name: nutrientName}).
FirstOrCreate(&nutrient, models.Nutrient{
Name: nutrientName,
Description: nutrientDescriptions[nutrientName],
}).Error
if err != nil {
return fmt.Errorf("预设营养素 '%s' 失败: %w", nutrientName, err) return fmt.Errorf("预设营养素 '%s' 失败: %w", nutrientName, err)
} }