diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/InvoiceReceiptServiceImpl.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/InvoiceReceiptServiceImpl.java index ab22b0d4..ee20b4fd 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/InvoiceReceiptServiceImpl.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/InvoiceReceiptServiceImpl.java @@ -75,6 +75,7 @@ import org.springblade.transport.pojo.entity.CustomerContact; import org.springblade.transport.pojo.entity.CustomerInvoiceInfo; import org.springblade.transport.pojo.entity.FormalSettlement; import org.springblade.transport.pojo.entity.FormalSettlementDetail; +import org.springblade.transport.pojo.entity.FormalSettlementInvoice; import org.springblade.transport.pojo.entity.InvoiceReceipt; import org.springblade.transport.pojo.entity.InvoiceReceiptRecord; import org.springblade.transport.pojo.entity.InvoiceReceiptSettlement; @@ -981,7 +982,14 @@ public class InvoiceReceiptServiceImpl extends BaseServiceImpl matchedByInvoiceNo = formalSettlementInvoiceMapper.selectList( + Wrappers.lambdaQuery() + .eq(FormalSettlementInvoice::getFormalSettlementId, settlementId)) + .stream() + .filter(row -> Func.isNotBlank(row.getInvoiceNo())) + .collect(Collectors.toMap(FormalSettlementInvoice::getInvoiceNo, + row -> money(row.getMatchedAmount()), (left, right) -> left)); settlementRelationMapper.delete(Wrappers.lambdaQuery() .eq(InvoiceReceiptSettlement::getFormalSettlementId, settlementId)); for (InvoiceReceipt receipt : matchedReceipts) { @@ -991,9 +999,10 @@ public class InvoiceReceiptServiceImpl extends BaseServiceImpl= 0 ? "completed" : "partial"; settlement.setInvoiceAmount(invoiceAmount);