| | |
| | | import cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.invoice.ErpPurchaseInvoicePageReqVO; |
| | | import cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.invoice.ErpPurchaseInvoiceSaveReqVO; |
| | | import cn.iocoder.yudao.module.erp.dal.dataobject.purchase.ErpPurchaseInvoiceDO; |
| | | import cn.iocoder.yudao.module.erp.dal.dataobject.purchase.ErpPurchaseInvoiceOrderDO; |
| | | import jakarta.validation.Valid; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.Collection; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | |
| | | 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 编号 |
| | |
| | | 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(); |
| | | /** |
| | | * 获得采购订单的已来票金额合计 |
| | | * |
| | | * @param orderIds 采购订单编号集合 |
| | | * @param excludeInvoiceId 需排除的来票编号(编辑来票时为该来票自身,可为空) |
| | | * @return 采购订单编号 -> 已来票金额 |
| | | */ |
| | | Map<Long, BigDecimal> getPurchaseInvoicePriceSumMapByOrderIds(Collection<Long> orderIds, Long excludeInvoiceId); |
| | | |
| | | /** |
| | | * 获得来票的采购订单分摊明细 |
| | | * |
| | | * @param invoiceId 来票编号 |
| | | * @return 分摊明细列表 |
| | | */ |
| | | List<ErpPurchaseInvoiceOrderDO> getPurchaseInvoiceOrderListByInvoiceId(Long invoiceId); |
| | | |
| | | /** |
| | | * 获得来票的采购订单分摊明细(批量) |
| | | * |
| | | * @param invoiceIds 来票编号列表 |
| | | * @return 分摊明细列表 |
| | | */ |
| | | List<ErpPurchaseInvoiceOrderDO> getPurchaseInvoiceOrderListByInvoiceIds(Collection<Long> invoiceIds); |
| | | |
| | | /** |
| | | * 获得采购订单的分摊明细(批量,用于统计订单已来票金额) |
| | | * |
| | | * @param purchaseOrderIds 采购订单编号列表 |
| | | * @return 分摊明细列表 |
| | | */ |
| | | List<ErpPurchaseInvoiceOrderDO> getPurchaseInvoiceOrderListByPurchaseOrderIds(Collection<Long> purchaseOrderIds); |
| | | |
| | | } |