yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseOrderService.java
@@ -11,11 +11,12 @@
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
 * ERP 采购订单 Service 接口
 *
 * @author 芋道源码
 * @author 超级管理员
 */
public interface ErpPurchaseOrderService {
@@ -41,6 +42,41 @@
     * @param status 状态
     */
    void updatePurchaseOrderStatus(Long id, Integer status);
    /**
     * 提交采购订单审批
     *
     * 仅【未提交】或【审核不通过】状态可提交;提交后进入【审批中】,并清空上一轮审核信息。
     *
     * @param id 编号
     */
    void submitPurchaseOrder(Long id);
    /**
     * 获取采购订单的审批人编号集合(或签:任一人审核即可)
     *
     * @return 审批人用户编号
     */
    Set<Long> getPurchaseOrderApproverUserIds();
    /**
     * 审核采购订单(通过 / 不通过)
     *
     * 仅配置内的审批人可执行;审核不通过时必须填写驳回原因,单据退回后可重新修改并提交。
     *
     * @param id 编号
     * @param pass 是否审核通过
     * @param reviewRemark 审核意见
     */
    void auditPurchaseOrder(Long id, Boolean pass, String reviewRemark);
    /**
     * 更新采购订单审批结果(BPM 回调)
     *
     * @param id 编号
     * @param bpmResult BPM 审批结果
     */
    void updatePurchaseOrderAuditStatus(Long id, Integer bpmResult);
    /**
     * 更新采购订单的入库数量
@@ -125,6 +161,15 @@
    List<ErpPurchaseOrderDO> getPurchaseOrderList(List<Long> ids);
    /**
     * 按来源查询采购订单列表
     *
     * @param sourceType 来源类型
     * @param sourceId   来源单据编号
     * @return 采购订单列表
     */
    List<ErpPurchaseOrderDO> getPurchaseOrderListBySource(Integer sourceType, Long sourceId);
    /**
     * 更新采购订单的入库状态
     *
     * 根据明细入库数量自动计算订单状态:
@@ -136,4 +181,14 @@
     */
    void updatePurchaseOrderInStatus(Long orderId);
    /**
     * 确认收货
     *
     * 生成到货通知单,状态为待入库
     *
     * @param id 采购订单编号
     * @return 到货通知单编号
     */
    Long confirmReceipt(Long id);
}