1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package com.ruoyi.production.util;
 
import com.ruoyi.production.pojo.ProductionOrder;
import lombok.experimental.UtilityClass;
 
import java.math.BigDecimal;
 
/**
 * 工单计划数量计算工具类。
 * 扁平 BOM 只维护“物料规格 + 消耗工序”,不配置任何数量,
 * 因此工序工单的计划数量统一取生产订单的下单数量。
 */
@UtilityClass
public class TaskPlanQuantityUtil {
 
    /**
     * 按生产订单数量解析工单计划数量。
     */
    public BigDecimal resolveTaskPlanQuantity(ProductionOrder productionOrder) {
        return defaultDecimal(productionOrder == null ? null : productionOrder.getQuantity());
    }
 
    /**
     * 默认BigDecimal值
     */
    public BigDecimal defaultDecimal(BigDecimal value) {
        return value == null ? BigDecimal.ZERO : value;
    }
 
}