配置方案选商品时亩成本计算说明
一、场景说明
在后台配置方案时,运营人员为某个作物的某个病虫害选择治疗商品,此时需要展示该商品的亩成本,作为方案配置的参考依据。
关键点:此场景下,亩成本按 1亩 计算,而非前端用户填写的实际面积。目的是让运营人员了解该商品在“每亩推荐用量”下的标准成本。
二、基础规则
- 顶部防治对象只读。
- 商品列表仅展示能治疗至少一个当前防治对象且支持当前方案所选用药方式的商品。
- 不满足条件的商品置灰禁用,并显示“不支持”或“用药方式不适配”。
- 亩成本为估算参考值,仅用于方案配置时的成本对比。
- 若商品未配置针对该病虫害的每亩推荐用量,则亩成本显示“-”(暂无数据)。
三、计算逻辑
- 根据用药方式计算 1 亩的总需求量。 默认用药方式按亩。已知该商品针对该病虫害的每亩推荐用量为 100ml/亩,则 1亩总需求量 = 100ml/亩 × 1亩 = 100ml。
- 根据包装偏好匹配规格。 按“系统推荐(优先大规格)”进行匹配。商品规格列表示例:1KG(1000ml/瓶,单价100元)、500g(500ml/瓶,单价50元)、200ml(200ml/瓶,单价20元)。优先用大规格,剩余不足用小规格补足。
- 计算推荐规格总价。 遍历规格,按大规格优先匹配,累加所有匹配规格的数量 × 单价。
- 亩成本。 亩成本 = 推荐规格总价 ÷ 1亩 = 推荐规格总价。
四、计算示例
示例1:需求量 ≤ 最大规格(1瓶即可覆盖)
| 参数 | 数值 |
|---|---|
| 每亩推荐用量 | 100ml/亩 |
| 1亩总需求量 | 100ml |
| 最大规格容量 | 1000ml(1KG/瓶) |
| 匹配结果 | 1瓶 1KG(1000ml ≥ 100ml) |
| 推荐规格总价 | 100元 × 1瓶 = 100元 |
| 亩成本 | 100元/亩 |
示例2:需求量 > 最大规格(需要多规格组合)
| 参数 | 数值 |
|---|---|
| 每亩推荐用量 | 3300ml/亩 |
| 1亩总需求量 | 3300ml |
| 最大规格容量 | 1000ml(1KG/瓶) |
| 匹配过程 | 1KG:需要3瓶(3000ml),剩余300ml 500g(500ml):需要1瓶(500ml) |
| 推荐规格总价 | 100元×3瓶 + 50元×1瓶 = 350元 |
| 亩成本 | 350元/亩 |
五、算法步骤
总需求量 = 每亩推荐用量 × 1亩
remaining = 总需求量
result = []
按规格基础单位数值从大到小排序
遍历规格:
若 remaining <= 0 跳出
need = ceil(remaining / 规格基础单位数值)
result 记录该规格的数量、单价、小计
remaining = remaining - need × 规格基础单位数值
若 remaining > 0(所有规格用完仍不足):
取最小规格数量 +1,标记库存不足
亩成本 = sum(每种规格 数量 × 单价)
六、备注
- 亩成本为估算参考值,仅用于方案配置时的成本对比。
- 前端用户实际购买时,根据真实面积重新计算总价和亩成本。
- 若商品未配置针对该病虫害的每亩推荐用量,则亩成本显示“-”(暂无数据)。
当前发布方案页中的“开发备注”入口,已统一跳转到本说明页查看规则,不再在原页面内额外展示一套手机弹窗示意。