| | |
| | | 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; |
| | |
| | | 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 开票编号 |