diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/FormalSettlementServiceImpl.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/FormalSettlementServiceImpl.java index 6dec9268..60b6a2ad 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/FormalSettlementServiceImpl.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/FormalSettlementServiceImpl.java @@ -231,20 +231,24 @@ public class FormalSettlementServiceImpl extends BaseServiceImpl rows) { - if (Func.isEmpty(rows)) { + // 已指定应付仅付款结算单(先票后款 A302-6)有,收款结算单不参与聚合,避免无意义查询与字段下发 + List payableRows = rows.stream() + .filter(row -> "payable".equals(row.getSettlementType())) + .toList(); + if (Func.isEmpty(payableRows)) { return; } List relations = invoiceReceiptSettlementMapper.selectList( Wrappers.lambdaQuery() .in(InvoiceReceiptSettlement::getFormalSettlementId, - rows.stream().map(FormalSettlementVO::getId).filter(Objects::nonNull).toList())); + payableRows.stream().map(FormalSettlementVO::getId).filter(Objects::nonNull).toList())); if (relations.isEmpty()) { return; } @@ -263,7 +267,7 @@ public class FormalSettlementServiceImpl extends BaseServiceImpl new ArrayList<>()) .add(receipt); } - for (FormalSettlementVO vo : rows) { + for (FormalSettlementVO vo : payableRows) { List claimed = receiptsBySettlement.get(vo.getId()); if (Func.isEmpty(claimed)) { continue;