package cn.iocoder.yudao.module.mes.service.itemrequisition;

import cn.iocoder.yudao.module.mes.dal.dataobject.plan.PlanDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.task.TaskDO;
import cn.iocoder.yudao.module.mes.service.itemrequisition.entity.ItemRequisitionAndStock;

import java.util.List;

/**
 * 物料分析 Service 接口
 *
 * @author 内蒙必硕
 */
public interface ItemAnalysisService {

    /**
     * 分析任务单的物料需求
     *
     * @param taskDO 生产任务单
     * @return 物料需求
     */
    public List<ItemRequisitionAndStock> getItemAnalysis(TaskDO taskDO);

    /**
     * 分析计划的物料需求
     *
     * @param plan 生产计划
     * @return 物料需求
     */
    public List<ItemRequisitionAndStock> getItemAnalysis(PlanDO plan);

    List<ItemRequisitionAndStock> getItemAnalysis(Long productId, Long number);

    /**
     * 分析销售单的物料需求
     *
     * @param orderId 销售单
     * @return 物料需求
     */
    public List<ItemRequisitionAndStock> getItemAnalysis(Long orderId);

}