gaoluyang
昨天 8c65f898ed6e5b0c7a94c792c4562f6ec831dccd
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpSupplierStatementServiceImpl.java
@@ -62,8 +62,7 @@
                reqVO.getSupplierId(), reqVO.getBeginTime(), reqVO.getEndTime(), orderStatuses);
        List<ErpPurchaseInvoiceDO> invoices = purchaseInvoiceMapper.selectListBySupplierIdAndInvoiceTimeBetween(
                reqVO.getSupplierId(), reqVO.getBeginTime(), reqVO.getEndTime());
        List<Integer> paymentStatuses = List.of(ErpAuditStatus.PROCESS.getStatus(),
                ErpAuditStatus.APPROVING.getStatus(), ErpAuditStatus.APPROVE.getStatus());
        List<Integer> paymentStatuses = List.of(ErpAuditStatus.APPROVE.getStatus());
        List<ErpFinancePaymentDO> payments = financePaymentMapper.selectListBySupplierIdAndPaymentTimeBetween(
                reqVO.getSupplierId(), reqVO.getBeginTime(), reqVO.getEndTime(), paymentStatuses);
@@ -71,10 +70,10 @@
        Map<Long, BigDecimal> invoicedMap = CollUtil.isEmpty(orders) ? Collections.emptyMap()
                : purchaseInvoiceService.getPurchaseInvoicePriceSumMapByOrderIds(
                orders.stream().map(ErpPurchaseOrderDO::getId).toList());
        // 4. 来票已付金额(按所有有效付款单汇总)
        // 4. 来票已付金额仅按已审核付款单汇总;审批中款项仍占额度,但尚未实际付款。
        Map<Long, BigDecimal> paidMap = CollUtil.isEmpty(invoices) ? Collections.emptyMap()
                : financePaymentMapper.selectPaymentPriceMapByInvoiceId(
                invoices.stream().map(ErpPurchaseInvoiceDO::getId).toList());
                : financePaymentMapper.selectPaymentPriceMapByInvoiceIdAndStatus(
                invoices.stream().map(ErpPurchaseInvoiceDO::getId).toList(), paymentStatuses);
        // 5. 来票关联订单号
        Set<Long> invoiceOrderIds = invoices.stream().map(ErpPurchaseInvoiceDO::getPurchaseOrderId)
                .filter(Objects::nonNull).collect(Collectors.toSet());
@@ -161,7 +160,7 @@
    @Override
    public List<ErpSupplierStatementSummaryRespVO> getSupplierSummaryList(ErpSupplierStatementSummaryReqVO reqVO) {
        // 1. 口径与单个供应商详情保持一致:订单按审核状态过滤、来票不过滤状态、付款含未审核/审批中/已审核
        // 1. 口径与单个供应商详情保持一致:订单按审核状态过滤、来票不过滤状态、付款只计已审核。
        List<Integer> orderStatuses = Boolean.TRUE.equals(reqVO.getIncludeUnapprovedOrder())
                ? List.of(ErpAuditStatus.PROCESS.getStatus(), ErpAuditStatus.APPROVING.getStatus(),
                ErpAuditStatus.APPROVE.getStatus())
@@ -170,8 +169,7 @@
                reqVO.getBeginTime(), reqVO.getEndTime(), orderStatuses);
        List<ErpPurchaseInvoiceDO> invoices = purchaseInvoiceMapper.selectListByInvoiceTimeBetween(
                reqVO.getBeginTime(), reqVO.getEndTime());
        List<Integer> paymentStatuses = List.of(ErpAuditStatus.PROCESS.getStatus(),
                ErpAuditStatus.APPROVING.getStatus(), ErpAuditStatus.APPROVE.getStatus());
        List<Integer> paymentStatuses = List.of(ErpAuditStatus.APPROVE.getStatus());
        List<ErpFinancePaymentDO> payments = financePaymentMapper.selectListByPaymentTimeBetween(
                reqVO.getBeginTime(), reqVO.getEndTime(), paymentStatuses);