From cb4aec5b22315a23e118cbce4701d38cce345df7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E6=B3=89=E4=BD=B3?= <1107186916@qq.com> Date: Mon, 2 Nov 2026 18:10:44 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=BB=93=E7=AE=97=E5=8D=95=E5=8F=91?= =?UTF-8?q?=E7=A5=A8=E6=98=8E=E7=BB=86=E8=AF=A6=E6=83=85=E5=9B=9E=E6=98=BE?= =?UTF-8?q?=E6=94=B6=E7=A5=A8=E5=8D=95=E6=8C=87=E5=AE=9A=E5=BA=94=E4=BB=98?= =?UTF-8?q?=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pojo/entity/FormalSettlementInvoice.java | 4 ++++ .../service/impl/FormalSettlementServiceImpl.java | 13 ++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/FormalSettlementInvoice.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/FormalSettlementInvoice.java index ad5c6265..00069def 100644 --- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/FormalSettlementInvoice.java +++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/FormalSettlementInvoice.java @@ -8,6 +8,7 @@ */ package org.springblade.transport.pojo.entity; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -39,4 +40,7 @@ public class FormalSettlementInvoice extends TenantEntity { private BigDecimal availableInvoiceAmount; private BigDecimal matchedAmount; private String attachmentJson; + @TableField(exist = false) + @Schema(description = "收票单金蝶推送状态(unsynced未推送/pushed已保存收票单/assigned已指定应付/failed推送失败),详情回显用") + private String kingdeePushStatus; } 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 0fb96a73..cdc92d6f 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 @@ -450,13 +450,14 @@ public class FormalSettlementServiceImpl extends BaseServiceImpl receiptMap = Map.of(); if (!receiptRelations.isEmpty()) { List receiptIds = receiptRelations.stream() .map(InvoiceReceiptSettlement::getInvoiceReceiptId) .filter(Objects::nonNull) .distinct() .toList(); - Map receiptMap = receiptIds.isEmpty() ? Map.of() + receiptMap = receiptIds.isEmpty() ? Map.of() : invoiceReceiptMapper.selectByIds(receiptIds).stream() .filter(receipt -> !TransportBusiConstant.VOIDED.equals(receipt.getApprovalStatus()) && !Objects.equals(receipt.getIsDeleted(), 1)) @@ -479,6 +480,16 @@ public class FormalSettlementServiceImpl extends BaseServiceImpl invoices = new ArrayList<>(invoiceMap.values()); + // 发票行回显收票单金蝶推送状态(是否已指定应付展示用):认领收票按票号匹配本单已认领收票登记 + Map receiptByInvoiceNo = receiptMap.values().stream() + .filter(receipt -> Func.isNotBlank(receipt.getInvoiceNo())) + .collect(Collectors.toMap(InvoiceReceipt::getInvoiceNo, Function.identity(), (left, right) -> left)); + for (FormalSettlementInvoice invoice : invoices) { + InvoiceReceipt receipt = receiptByInvoiceNo.get(invoice.getInvoiceNo()); + if (receipt != null) { + invoice.setKingdeePushStatus(receipt.getKingdeePushStatus()); + } + } for (int index = 0; index < invoices.size(); index++) { invoices.get(index).setLineNo(index + 1); }