gaoluyang
3 天以前 d39e4f7d839167c16425086dfa2f8747bccfdff9
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/invoice/CrmInvoiceService.java
@@ -1,11 +1,14 @@
package cn.iocoder.yudao.module.crm.service.invoice;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.crm.controller.admin.invoice.vo.invoice.CrmInvoiceEntryReqVO;
import cn.iocoder.yudao.module.crm.controller.admin.invoice.vo.invoice.CrmInvoiceImportExcelVO;
import cn.iocoder.yudao.module.crm.controller.admin.invoice.vo.invoice.CrmInvoiceImportRespVO;
import cn.iocoder.yudao.module.crm.controller.admin.invoice.vo.invoice.CrmInvoicePageReqVO;
import cn.iocoder.yudao.module.crm.controller.admin.invoice.vo.invoice.CrmInvoiceSaleOutRespVO;
import cn.iocoder.yudao.module.crm.controller.admin.invoice.vo.invoice.CrmInvoiceSaveReqVO;
import cn.iocoder.yudao.module.crm.dal.dataobject.invoice.CrmInvoiceDO;
import cn.iocoder.yudao.module.crm.dal.dataobject.receivable.CrmReceivablePlanDO;
import jakarta.validation.Valid;
import java.math.BigDecimal;
@@ -46,6 +49,32 @@
    void updateInvoice(@Valid CrmInvoiceSaveReqVO updateReqVO);
    /**
     * 开票申请录入发票
     *
     * 仅审批通过的开票申请可录入;录入后开票进入「已录入」状态,可被回款单关联。
     *
     * @param reqVO 录入信息
     */
    void entryInvoice(@Valid CrmInvoiceEntryReqVO reqVO);
    /**
     * 获得开票可选的销售出库单
     *
     * @param saleOrderId      销售订单编号
     * @param excludeInvoiceId 需排除的开票编号,可为空
     * @return 出库单列表(含已开票、剩余可开票金额)
     */
    List<CrmInvoiceSaleOutRespVO> getSaleOutListForInvoice(Long saleOrderId, Long excludeInvoiceId);
    /**
     * 获得开票单对应的收款节点
     *
     * @param invoiceId 开票编号
     * @return 收款节点列表
     */
    List<CrmReceivablePlanDO> getPaymentNodeListByInvoiceId(Long invoiceId);
    /**
     * 更新开票流程审批结果
     *
     * @param id        开票编号