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 {
@@ -45,18 +46,29 @@
    /**
     * 提交采购订单审批
     *
     * 仅【未提交】或【审核不通过】状态可提交;提交后进入【审批中】,并清空上一轮审核信息。
     *
     * @param id 编号
     * @param processDefinitionKey 流程定义 Key
     * @param userId 用户编号
     */
    void submitPurchaseOrder(Long id, String processDefinitionKey, Long userId);
    void submitPurchaseOrder(Long id);
    /**
     * 获取采购订单审批流程列表
     * 获取采购订单的审批人编号集合(或签:任一人审核即可)
     *
     * @return 流程定义列表
     * @return 审批人用户编号
     */
    List<Map<String, Object>> getPurchaseOrderApproveProcessDefinitionList();
    Set<Long> getPurchaseOrderApproverUserIds();
    /**
     * 审核采购订单(通过 / 不通过)
     *
     * 仅配置内的审批人可执行;审核不通过时必须填写驳回原因,单据退回后可重新修改并提交。
     *
     * @param id 编号
     * @param pass 是否审核通过
     * @param reviewRemark 审核意见
     */
    void auditPurchaseOrder(Long id, Boolean pass, String reviewRemark);
    /**
     * 更新采购订单审批结果(BPM 回调)
@@ -149,6 +161,15 @@
    List<ErpPurchaseOrderDO> getPurchaseOrderList(List<Long> ids);
    /**
     * 按来源查询采购订单列表
     *
     * @param sourceType 来源类型
     * @param sourceId   来源单据编号
     * @return 采购订单列表
     */
    List<ErpPurchaseOrderDO> getPurchaseOrderListBySource(Integer sourceType, Long sourceId);
    /**
     * 更新采购订单的入库状态
     *
     * 根据明细入库数量自动计算订单状态: