liu
2 天以前 429866e3d0a2eee95916407b2e1dfa7de6f407ea
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseInvoiceService.java
@@ -6,6 +6,7 @@
import cn.iocoder.yudao.module.erp.dal.dataobject.purchase.ErpPurchaseInvoiceDO;
import jakarta.validation.Valid;
import java.math.BigDecimal;
import java.util.Collection;
import java.util.List;
import java.util.Map;
@@ -42,22 +43,6 @@
    void deletePurchaseInvoice(Long id);
    /**
     * 提交来票审批
     *
     * @param id 编号
     * @param userId 用户编号
     */
    void submitPurchaseInvoice(Long id, Long userId);
    /**
     * 更新来票审批结果(BPM 回调)
     *
     * @param id 编号
     * @param bpmResult BPM 审批结果
     */
    void updatePurchaseInvoiceAuditStatus(Long id, Integer bpmResult);
    /**
     * 获得来票
     *
     * @param id 编号
@@ -92,28 +77,27 @@
    PageResult<ErpPurchaseInvoiceDO> getPurchaseInvoicePage(ErpPurchaseInvoicePageReqVO pageReqVO);
    /**
     * 根据采购订单编号和审批状态获得来票列表
     * 根据采购订单编号获得来票列表
     *
     * @param orderId 采购订单编号
     * @param auditStatuses 审批状态集合
     * @return 来票列表
     */
    List<ErpPurchaseInvoiceDO> getPurchaseInvoiceListByOrderIdAndStatus(Long orderId, Collection<Integer> auditStatuses);
    List<ErpPurchaseInvoiceDO> getPurchaseInvoiceListByOrderId(Long orderId);
    /**
     * 根据供应商编号和审批状态获得来票列表
     * 根据供应商编号获得来票列表
     *
     * @param supplierId 供应商编号
     * @param auditStatuses 审批状态集合
     * @return 来票列表
     */
    List<ErpPurchaseInvoiceDO> getPurchaseInvoiceListBySupplierIdAndStatus(Long supplierId, Collection<Integer> auditStatuses);
    List<ErpPurchaseInvoiceDO> getPurchaseInvoiceListBySupplierId(Long supplierId);
    /**
     * 获得待审核来票数量
     * 根据采购订单编号列表,统计每个订单的来票金额合计(用于计算剩余可开票金额)
     *
     * @return 数量
     * @param orderIds 采购订单编号列表
     * @return Map<采购订单编号, 来票金额合计>
     */
    Long getAuditInvoiceCount();
    Map<Long, BigDecimal> getPurchaseInvoicePriceSumMapByOrderIds(Collection<Long> orderIds);
}